python - sklearn cross_val_score如何使用kfold?
问题描述
我是机器学习的新手,我试图了解cross_val_score
使用 Kfold 将数据拆分为 k 折。
kf = KFold(n_splits=2)
cv_results =cross_val_score(model, X_train, Y_train, cv=kf)
我知道kfold
拆分数据,但我尝试将其打印出来
dataset = [[1,1,1],[2,2,2],[3,3,3],[4,4,4],[5,5,5],[6,6,6],[7,7,7],[8,8,8]]
kf = KFold(n_splits=2)
print kf
>>> KFold(n_splits=2, random_state=None, shuffle=False)
它没有显示 k 折叠,但是如何cross_val_score
获得所有折叠?
解决方案
您需要调用 Kf.split(dataset)
以实际拆分数据。单击此处查看 KFold 的工作原理
只是为了说清楚,KFold
是一个类而不是一个函数。
kf = KFold(n_splits=2)
创建一个 KFold 对象。并且print kf
只会打印出类对象。
当您调用时,cross_val_score(model, X_train, Y_train, cv=kf)
您将对象传递kf
给 cross_val_score 函数,该函数kf.split(X_train)
将被调用以拆分X_train
为 2 折。Y_train
也会被类似地拆分。
推荐阅读
- css - 选中时复选框的交叉标签
- android - 我在片段中使用了 MVVM,但是当我单击后退按钮时它不会转到上一个片段?
- django - 使用模板显示用户的组名
- java - Spring boot:使用 xml 的构造函数注入给出“已经有 n 个 bean 方法”
- c# - Winform中DatagridView最后添加一个空行
- python - 带有 $ 或嵌套子句的 Mongodb 聚合
- ios - 离线卫星地图在 iOS 上加载太慢
- expression - 结果始终基于修复列 qlikview 表达式
- python - 使用python快速插入(冲突)许多行到postges-DB
- angular - 将自定义组件库中的数据注入其服务