如何解决如何在kfold交叉验证中获取每个折叠的训练和测试数据?
如何在交叉验证中访问每个折叠的训练和测试数据?我想将这些保存在 .csv 文件中。我尝试使用生成索引的 split
函数,但它返回一个生成器对象,而不是索引。
from sklearn.model_selection import StratifiedKFold,KFold
import numpy as np
X,y = np.ones((50,1)),np.hstack(([0] * 45,[1] * 5))
skf = StratifiedKFold(n_splits=3)
x = skf.split(X,y,groups)
x
Output:
<generator object _BaseKFold.split at 0x7ff195979580>
解决方法
StratifiedKFold
返回一个生成器,因此您可以按如下方式对其进行迭代:
skf = StratifiedKFold(n_splits=3)
for train_index,test_index in skf.split(X,y):
X_train,X_test = X[train_index],X[test_index]
y_train,y_test = y[train_index],y[test_index]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。