添加指定测试集和训练集的列是一种好习惯吗?

时间:2018-04-12 10:48:45

标签: r training-data test-data

我在一段时间后发现了一个教程,但无法再次找到它在火车和测试集中创建了一个额外的列,指定了作为训练集的真或假。我有代码但无法找到我找到的地方。

titanic.train$IsTrainingSet <- TRUE
titanic.test$IsTrainingSet <- FALSE

这是好习惯还是坏习惯?我只是很好奇,因为我喜欢在执行数据清理和操作后分割数据是多么容易,如下所示。

titanic.train <- titanic.full[titanic.full$IsTrainingSet == TRUE,]
titanic.test <- titanic.full[titanic.full$IsTrainingSet == FALSE,]

我知道可能会有“做你想做的事情”的答案,但我不知道这是不是因为任何原因在数据中添加另一列的不良做法。

1 个答案:

答案 0 :(得分:0)

将扩大我的评论。 OP所指的教程就在这里

https://www.kaggle.com/hiteshp/head-start-for-data-scientist

本教程的作者将两组放在一起查看所有数据。现在是一个警告:在做这样的事情之前你应该检查两个集合是否具有相同的特征(或者有时候说它们来自同一个分布),否则你最终可能会得出非常错误的结论。更好的是比较两组以检查测试集是否代表训练集。这会更有帮助。

有时开发/测试集来自不同的来源,所以要注意做这样的事情,因为它可能很危险。

我希望它有所帮助,翁贝托