python - scikit learn train_test_split for loop
问题描述
我想通过循环 train_test_split 创建 5 个不同的训练和测试集,例如:
for i in range(0,5):
X_train, X_test, y_train, y_test = train_test_split(features, y, test_size=0.2, random_state=i)
我想创建一个存储 5 个不同拆分的列表,并且我可以从每个拆分运行测试。我的问题是我应该如何创建一个列表来存储 X_train、X_test、y_train、y_test 以及之后如何调用列表中的每个拆分来运行测试?对于测试,我的意思是运行 ml 算法。
解决方案
我的建议是一个简单的解决方案:
datas = []
for i in range(0,5):
a,b,c,d = train_test_split(features, y, test_size=0.2, random_state=i)
datas.append((a,b,c,d)
如果您想从数据中获取任何集合,您可以使用此代码。例如,您想使用索引 3。
X_train, X_test, y_train, y_test = datas[3]
推荐阅读
- python - 终止调用gdal函数的python线程
- python - Same repeated output for loop in Python 3.6
- java - Hibernate 5 Multitenancy DATABASE appraoch:面临关闭 hikari 连接池的问题
- python - Unittest - 比较没有顺序的列表列表
- c++ - 对象更改时,运算符<<不能在同一行输出
- java - Why does my first Hello World Java program give an error on Visual Studio when using System.out to print to screen?
- android - Android Recyclerview Remove Animation 应用于所有项目奇怪的行为
- javascript - 从本地文件中删除/编辑 HTML 标签
- powershell - 更新了如何编辑我的脚本以将附加字段导入 mailchimp
- reactjs - React 在创建上下文时说:“找不到命名空间......”