关于sklearn数据集随机切分(train_test_split)
train_test_split的作用是:
给定数据集X和类别标签y,将数据集按一定比例随机切分为训练集和测试集。
代码:
from sklearn.model_selection import train_test_split # 更新
# 生成20个句子,前15个和后5个类别分别对应1和2
X = [[u"这是", u"第1个", u"测试"]] * 15 + [[u"这是", u"第2个", u"测试"]] * 5
y = [1] * 15 + [2] * 5
# 随机抽取20%的测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
print(len(X_train), len(X_test))
# 查看句子和标签是否仍然对应
for i in range(len(X_test)):
print("".join(X_test[i]), y_test[i])
输出:
16 4
这是第1个测试 1
这是第1个测试 1
这是第1个测试 1
这是第1个测试 1
是随机的20%
在运行一次:
16 4
这是第1个测试 1
这是第2个测试 2
这是第2个测试 2
这是第1个测试 1
切分后的训练集和测试集标签仍然一一对应。