如何在sklearn中分别创建训练数据集和测试数据集?

时间:2018-10-16 15:48:02

标签: python scikit-learn

我有一个固定的训练数据集文件train.csv和另一个测试数据集文件test.csv。我知道sklearn中的train_test_split()方法可以完成拆分工作。但是我想分别从每个文件中分别创建2个数据集。

我已经测试

# The X,Y and X_, Y_ following are training and test samples/labels (dataframes)
trainX, testX, trainY, testY = train_test_split( X, Y, test_size = 0)
trainX_, testX_, trainY_, testY_ = train_test_split( X_, Y_, test_size = 1.0)  
                                 # not accepted parameter
# ...
dtree = tree.DecisionTreeClassifier(criterion="gini")
dtree.fit(trainX, trainY)
...
Y_pred = dtree.predict(testX_)

trainX, trainY进行训练,以testX_, testY_进行预测。
 但是,train_test_split()方法不接受test_size=1.0,从而导致失败。

那么分别创建训练和测试数据集的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

train_test_split的目的是使用随机采样创建火车和测试集。如果您想将所有X_, y_用作测试的保留集,则根本不需要拆分它,而只需拆分X, y。如果您已经有2个文件,则可以使用dtree.fit(X, y)dtree.score(X_, y_),前提是您对这两组数据都是准确且随机的数据样本感到满意