在scikit学习,你得到的工具train_test_split
from sklearn.cross_validation import train_test_split
from sklearn import datasets
# Use Age and Weight to predict a value for the food someone chooses
X_train, X_test, y_train, y_test = train_test_split(table['Age', 'Weight'],
table['Food Choice'],
test_size=0.25)
# Another example using the sklearn pre-loaded datasets:
iris = datasets.load_iris()
X_iris, y_iris = iris.data, iris.target
X, y = X_iris[:, :2], y_iris
X_train, X_test, y_train, y_test = train_test_split(X, y)
这打破了以
- 输入的数据进行训练
- 输入,用于评估数据
- 输出为培训数据
- 输出评估数据
。您还可以添加一个关键字参数:test_size = 0.25改变用于训练的数据的百分比和测试
要拆分单一数据集,你可以使用这样的呼吁得到40%的测试数据:
>>> data = np.arange(700).reshape((100, 7))
>>> training, testing = train_test_split(data, test_size=0.4)
>>> print len(data)
100
>>> print len(training)
60
>>> print len(testing)
40
这个函数是否理解它应该根据目标/标签变量拆分数据?它不是写在文档中的任何地方。 – poiuytrez 2014-10-27 13:08:07
我增加了另一个例子,您明确选择变量和目标 – 2014-10-27 13:12:42
...另一个随机将输入“数据”分成两个数组 - 60:40 – 2014-10-27 13:23:00