如何将给定的数据集分为训练集和测试集以及它们的正确标签。
有一个通过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]]