GridSearchCV.Best_Score不同于CROSS_VAL_Score(GridSearchCV.

GridSearchCV.best_score not same as cross_val_score(GridSearchCV.best_estimator_)(GridSearchCV.Best_Score不同于CROSS_VAL_Score(GridSearchCV.Best_Estiator_))

本文介绍了GridSearchCV.Best_Score不同于CROSS_VAL_Score(GridSearchCV.Best_Estiator_)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

考虑以下网格搜索:
grid = GridSearchCV(clf, parameters, n_jobs =-1, iid=True, cv =5)
grid_fit = grid.fit(X_train1, y_train1)

根据SkLearning的资源,grid_fit.best_score_ 返回Best_Estiator的交叉验证的平均分数

对我来说,这意味着:

cross_val_score(grid_fit.best_estimator_, X_train1, y_train1, cv=5)

应与:

完全相同

grid_fit.best_score_

然而,我得到了这两个数字之间的10%的差异。我错过了什么?

我正在对专有数据使用网格搜索,所以我希望有人在过去遇到过类似的东西,并且可以在没有完全可重现的示例的情况下指导我。如果它不够清楚,我会试着用虹膜数据集重现这一点。

推荐答案

当向GridSearchCV(..., cv=int_number)参数传递整数时,StratifiedKFold将用于交叉验证拆分。因此,数据集将被StratifiedKFold随机拆分。这可能会影响准确度,从而影响最佳分数。

这篇关于GridSearchCV.Best_Score不同于CROSS_VAL_Score(GridSearchCV.Best_Estiator_)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:GridSearchCV.Best_Score不同于CROSS_VAL_Score(GridSearchCV.