添加指定测试集和训练集的列是一种好习惯吗?
Is it good practice to add a column specifying test set and train set?
我不久前找到了一个教程,但找不到了,它在训练集和测试集中都创建了一个额外的列,指定 true 或 false 作为训练集。我有代码,但找不到找到它的地方。
titanic.train$IsTrainingSet <- TRUE
titanic.test$IsTrainingSet <- FALSE
这是好的做法还是坏的做法?我很好奇,因为我喜欢在执行如下所示的数据清理和操作后拆分数据是多么容易。
titanic.train <- titanic.full[titanic.full$IsTrainingSet == TRUE,]
titanic.test <- titanic.full[titanic.full$IsTrainingSet == FALSE,]
我知道可能会有 "do what you want to do" 的答案,但我只是不知道出于任何原因向数据添加另一列是否是不好的做法。
将扩展我的评论。 OP 所指的教程在这里
https://www.kaggle.com/hiteshp/head-start-for-data-scientist
教程作者把两组放在一起来看所有的数据。现在警告:在做类似的事情之前,你应该检查这两个集合是否具有相同的特征(或者有时说它们来自相同的分布),否则你最终可能会得出非常错误的结论。更好的办法是比较两组以检查测试集是否代表训练集。那会更有帮助。
有时 dev/test 集来自不同的来源,因此请注意做类似的事情,因为这可能很危险。
希望对你有所帮助,翁贝托
我不久前找到了一个教程,但找不到了,它在训练集和测试集中都创建了一个额外的列,指定 true 或 false 作为训练集。我有代码,但找不到找到它的地方。
titanic.train$IsTrainingSet <- TRUE
titanic.test$IsTrainingSet <- FALSE
这是好的做法还是坏的做法?我很好奇,因为我喜欢在执行如下所示的数据清理和操作后拆分数据是多么容易。
titanic.train <- titanic.full[titanic.full$IsTrainingSet == TRUE,]
titanic.test <- titanic.full[titanic.full$IsTrainingSet == FALSE,]
我知道可能会有 "do what you want to do" 的答案,但我只是不知道出于任何原因向数据添加另一列是否是不好的做法。
将扩展我的评论。 OP 所指的教程在这里
https://www.kaggle.com/hiteshp/head-start-for-data-scientist
教程作者把两组放在一起来看所有的数据。现在警告:在做类似的事情之前,你应该检查这两个集合是否具有相同的特征(或者有时说它们来自相同的分布),否则你最终可能会得出非常错误的结论。更好的办法是比较两组以检查测试集是否代表训练集。那会更有帮助。
有时 dev/test 集来自不同的来源,因此请注意做类似的事情,因为这可能很危险。
希望对你有所帮助,翁贝托