X_train, X_test, y_train, y_test = train_test_split(X,y, random_state=42)
(1) 参数 y 是目标类别。那么 X 是什么?X 是包含目标类别属性的整个数据集,还是不包含目标类别属性的数据集?
(2) 如果我们有单独的训练和测试数据文件(train.csv, test.csv),我们如何获得 X_train, X_test, y_train, y_test?
回答:
对于机器学习的新手来说,总是感到奇怪的是“test”这个名称被用于两种不同的含义,第一种是作为“验证(valid)”,第二种是作为“真正的(real)”测试。train_test_split
将原始训练数据(X)分割成缩减的训练数据(X_train)和验证数据(X_test),如果在分割前不移除目标类别,那么目标类别会存在于这两部分中。谈到文件 train.csv 和 test.csv,我们谈论的是带有目标类别的训练数据和不带目标类别的“真正”测试数据 – train_test_split
与它们无关。