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



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

有一个通过sklearn库的实现:

from sklearn.cross_validation import train_test_split
train, test = train_test_split(df, test_size = 0.2)

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

问题是它没有把目标/标签和数据集放在一起。因此,我们无法跟踪哪个标签属于哪个数据点…

是否有办法绑定数据点和它们的标签,然后将数据集分成训练和测试?

sklearn.cross_validation.train_test_split本质上是取一个可变数目的数组,它将对这些数组进行分割

*arrays:数组或scipy的序列。相同形状的稀疏矩阵[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]]

最新更新