python - K-fold 交叉验证实现
问题描述
我目前正在使用 LGBM 回归模型来预测不同商店产品的单位销售额,我想执行 K 折交叉验证。
我正在使用以下代码:
model_lgb_base=lgb.LGBMRegressor(objective='regression',)
model_lgb_base.fit(x_train,y_train)
from sklearn.model_selection import cross_val_score
cv = KFold(n_splits=10, random_state=42, shuffle=False)
accuracy = cross_val_score(estimator=model_lgb_base, X = x_train, y = y_train, cv=10, scoring = 'r2')
print(accuracy)
accuracy.std()
#Predicting the test set results
y_pred = model_lgb_base.predict(x_valid)
[0.77916146 0.78209908 0.78333999 0.78286847 0.7831663 0.78029406
0.78534152 0.77421018 0.78810446 0.77937227]
我正确使用它吗?我想使用 10 折交叉验证来训练模型并返回最佳模型。
解决方案
推荐阅读
- vim - 你可以在 Vim 的光标下打开文件功能中使用通配符吗?
- r - 具有子行的数据表中的空白(或缺失)列名
- c# - Topshelf开始陷入无限循环
- laravel - 表单中的“TypeError:无法读取未定义的属性'标题'”
- reactjs - 在使用 react-router 触发新路由之前等待状态更改?
- ionic-framework - “节点未被识别为内部或外部命令”和“[ERROR] ng 已意外关闭(退出代码 1)。”在运行“离子服务”时
- javascript - 如何为不同的数据集更改不同的工具提示
- sql - 使用空值取消透视多列
- audit.net - 如何使用 Entity Framework Provider 创建审计数据库表?
- asp.net-core - 应用程序池回收后,Hangfire 重复作业停止