考虑以下gridsearch:grid = GridSearchCV(clf, parameters, n_jobs =-1, iid=True, cv =5)
grid_fit = grid.fit(X_train1, y_train1)
根据Sklearn的资源,grid_fit.best_score_
返回best_estimator的平均交叉验证分数。
对我来说,这意味着:cross_val_score(grid_fit.best_estimator_, X_train1, y_train1, cv=5)
应该与以下内容完全相同:grid_fit.best_score_
。
但是,我得到两个数字之间10%的差异。我想念什么?
我正在对专有数据使用gridsearch,所以我希望有人在过去遇到过类似情况,并且可以在没有完全可复制的示例的情况下为我提供指导。如果不够清晰,我将尝试使用Iris数据集重现此内容...
最佳答案
当将整数传递给GridSearchCV(..., cv=int_number)
参数时, StratifiedKFold
将用于交叉验证拆分。因此,数据集将被StratifiedKFold
随机分割。这可能会影响准确性,因此会影响最佳分数。