首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >学习和预测误差分析(Scikit GridSearchCV )

学习和预测误差分析(Scikit GridSearchCV )
EN

Stack Overflow用户
提问于 2020-09-25 03:06:01
回答 2查看 102关注 0票数 0

我想手动分析我的ML模型(无论哪个)所做的错误,将其预测与标签进行比较。根据我的理解,这应该在验证集的实例上完成,而不是在训练集上。我通过GridSearchCV训练我的模型,提取best_estimator_,在交叉验证期间表现最好的那个,然后在整个数据集上重新训练。

因此,我的问题是:如果我的最佳模型在整个训练集上重新训练,我如何在验证集上获得预测以与标签进行比较(而不接触测试集)?

一种解决方案是在执行GridSearchCV之前进一步拆分训练集,但我猜肯定有更好的解决方案,例如在交叉验证期间获得对验证集的预测。有没有办法让这些预测成为最好的估计器?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-30 21:56:31

我理解了我的概念错误,我会在这里发帖,因为它可能会对我这样的ML初学者有所帮助!

应该可行的解决方案是以与GridSearchCV中相同的方式使用cross_val_predict拆分折叠。事实上,cross_val_predict在每个折叠上重新训练模型,并且不使用以前训练的模型!因此,结果与在GridSearchCV期间获得对验证集的预测是相同的。

票数 1
EN

Stack Overflow用户

发布于 2020-09-29 19:58:35

您可以使用从GridSearchCV获得的模型计算验证曲线。请阅读文档here。您只需要为要检查的超参数和一个评分函数定义数组。下面是一个示例:

代码语言:javascript
复制
train_scores, valid_scores = validation_curve(model, X_train, y_train, "alpha", np.logspace(-7, 3, 3), cv=5, scoring="accuracy")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64052850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档