我有一个固定的训练数据集文件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
,从而导致失败。
那么分别创建训练和测试数据集的正确方法是什么?
答案 0 :(得分:1)
train_test_split的目的是使用随机采样创建火车和测试集。如果您想将所有X_, y_
用作测试的保留集,则根本不需要拆分它,而只需拆分X, y
。如果您已经有2个文件,则可以使用dtree.fit(X, y)
和dtree.score(X_, y_)
,前提是您对这两组数据都是准确且随机的数据样本感到满意