python - 如何将数据拆分为火车的前 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
解决方案
最简单的方法是使用 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)
推荐阅读
- docker - 在 docker 映像上运行的“flutter test”导致 testfile.dill.track.dill 更改,然后在 CI 环境中导致测试失败
- php - 在静态方法中使用 wordpress 钩子
- javascript - 从 PHP 脚本中调用 Javascript 函数
- django - Django搜索表单没有上升验证错误
- javascript - 如何更改绑定到 Razor 页面上模型的特定文本的字体颜色?
- python-3.x - 如何将 scikit-learn esimator 结果留在 dask 分布式系统中?
- intellij-idea - IntelliJ 管理剪贴板历史记录
- python - Python:导入请求得到很多错误 MacOS
- scala - 如何在不使用 SQL 的情况下将 Dataframe 的多行转换为 Scala 中的单行(使用 Dataframe API)?
- .net-core - 将 SignalR IHubContext 绑定到 net core 2.1 中的 Ninject 内核