机器学习 - 将数据划分为测试和训练集

时间:2015-09-24 05:57:21

标签: machine-learning scikit-learn

如何将给定数据集划分为训练集和测试集以及正确的标签。

通过sklearn库有一个相同的实现:

error: cannot find symbol

return x;

symbol: variable x
location: class A

其中df是原始数据集....例如:字符串列表

问题在于它不会将目标/标签与数据集一起使用。所以我们无法跟踪哪个标签属于哪个数据点...

有没有办法绑定数据点及其标签,然后将数据集拆分为训练和测试?

1 个答案:

答案 0 :(得分:4)

sklearn.cross_validation.train_test_split本质上需要一个可变数量的数组,它将分裂

  

*数组:具有相同形状的数组序列或scipy.sparse矩阵[0]

     

<强>返回
  拆分:数组列表,长度= 2 * len(数组)   列表包含输入数组的训练测试分割。

所以你可以沿着标签列表添加:

from sklearn import cross_validation

df = ['the', 'quick', 'brown', 'fox']
labels = [0, 1, 0, 0]

>> cross_validation.train_test_split(df, labels, test_size=0.2)
[['quick', 'fox', 'the'], ['brown'], [1, 0, 0], [0]]