首页 > 解决方案 > 如何将数据拆分为火车的前 808698 行,其余的行作为测试?

问题描述

我有两个数据集,分别是测试和训练。我将它们收集在一个 csv 中。我想拆分我的数据以进行训练和测试。但它不应该是随机的。我需要拆分火车的前 808699 行,其余的行作为测试?

我试图阅读两个不同的 csv 但我不能。

from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test=train_test_split(x,y,train_size=808698,test_size=121918,random_state=1)
ValueError: train_size=808698 should be either positive and smaller than the number of samples 121921 or a float in the (0, 1) range

标签: pythonscikit-learntrain-test-split

解决方案


最简单的方法是使用 train_test_split(sklearn 模块)将 shuffle 设置为 False。Shuffle 优先于 random_state 参数。因此,如果将 shuffle 设置为 FALSE,则数据集中的前 n 个观察值(即 90 行)将进入训练数据集,最后 10 行将进入测试数据集。您的代码将是:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=121918/930616, shuffle=False)

推荐阅读