机器学习——将数据划分为测试集和训练集
Machine Learning- Dividing data into test and train sets
如何将给定的数据集划分为训练集和测试集以及它们的正确标签。
通过 sklearn 库有一个相同的实现:
from sklearn.cross_validation import train_test_split
train, test = train_test_split(df, test_size = 0.2)
其中 df 是原始数据集....例如:字符串列表
问题在于它没有将 target/labels 与数据集一起使用。所以我们无法追踪哪个标签属于哪个数据点...
有什么方法可以绑定数据点和它们的标签,然后将数据集拆分成训练和测试?
sklearn.cross_validation.train_test_split
本质上采用可变数量的数组,它将拆分
*arrays : sequence of arrays or scipy.sparse matrices with same shape[0]
Returns:
splitting : list of arrays, length=2 * len(arrays)
List containing train-test split of input array.
因此您只需在标签列表中添加:
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]]
如何将给定的数据集划分为训练集和测试集以及它们的正确标签。
通过 sklearn 库有一个相同的实现:
from sklearn.cross_validation import train_test_split
train, test = train_test_split(df, test_size = 0.2)
其中 df 是原始数据集....例如:字符串列表
问题在于它没有将 target/labels 与数据集一起使用。所以我们无法追踪哪个标签属于哪个数据点...
有什么方法可以绑定数据点和它们的标签,然后将数据集拆分成训练和测试?
sklearn.cross_validation.train_test_split
本质上采用可变数量的数组,它将拆分
*arrays : sequence of arrays or scipy.sparse matrices with same shape[0]
Returns:
splitting : list of arrays, length=2 * len(arrays) List containing train-test split of input array.
因此您只需在标签列表中添加:
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]]