考虑以下网格搜索:
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
随机拆分。这可能会影响准确度,从而影响最佳分数。
上一篇:如何按索引定制skLearning交叉验证迭代器?索引、迭代、skLearning
下一篇:Caret:组合分层的createMultiFold(重复CV)和groupKFold组合、Caret、createMultiFold、groupKFold