数据集中的唯一标识符,索引问题

Posted

技术标签:

【中文标题】数据集中的唯一标识符,索引问题【英文标题】:unique identifier in a dataset, index problems 【发布时间】:2020-09-25 11:46:44 【问题描述】:

我的问题是关于使用 Scikit-Learn 和 TensorFlow 进行动手机器学习的书, 有一段文字说:

如果使用行索引作为唯一标识符,则需要确保新数据 被附加到数据集的末尾,并且不会删除任何行。

我不明白为什么删除一行会导致问题, 如果我删除一行数据,然后使用hashlib拆分数据得到训练集和测试集,测试集是相同的,没有明显删除行,测试集没有改变,索引不变, 那么删除行和添加行(不在数据末尾)有什么问题?

【问题讨论】:

【参考方案1】:

我认为这是一个一般提示/良好做法。 1. 如果您按索引拆分(例如第一个 80% 索引和接下来的 20%)或者您正在执行时间序列项目,那么您放置行的位置非常重要。 2. 如果您认为您正在追加行,但您正在覆盖它们,您可能会在不知不觉中丢失数据。

【讨论】:

以上是关于数据集中的唯一标识符,索引问题的主要内容,如果未能解决你的问题,请参考以下文章

mysql中的键和索引

数据库索引分类

SQLServer 唯一键约束和唯一索引有啥区别

主键外键索引说明

索引介绍及索引的分类

SQL 设计问题。唯一索引/约束与代理键