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

3

如何将给定的数据集划分为训练集和测试集,并保留它们的正确标签。

可以使用sklearn库实现相同的功能:

from sklearn.cross_validation import train_test_split

train, test = train_test_split(df, test_size = 0.2)

这里的 df 是原始数据集,例如:字符串列表。

问题在于,它没有将目标/标签与数据集一起使用。因此,我们无法跟踪哪个标签属于哪个数据点...

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


1
你上面的代码片段中的 df 是什么? - Ami Tavory
df是原始数据集或语料库。 - mach
1个回答

4

sklearn.cross_validation.train_test_split 可以将变量数量的数组拆分。

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

返回值:
splitting : 数组列表, 长度为2 * len(arrays) 包含输入数组的训练集和测试集的列表。

因此,您可以沿着标签列表添加:

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]]

这里的返回值是:分割:数组列表,长度为2 * len(arrays)。包含输入数组的训练-测试拆分的列表。这是什么意思?我该如何阅读这些类型的文档? - Mahdi Amrollahi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接