我正在使用GridSearchCV
最佳参数,但是我不确定如何实际使用最佳参数,即在下面的代码的第三行中,更改第一行后,我的结果不会改变(例如,如果我更改了参数空格,或将查全率替换为精度等)
cv = GridSearchCV(pipeline, parameters, cv=len(range(2014,2019)), scoring='recall', refit=True)
cv.fit(X,y)
y_pred = cross_val_predict(cv, X, y, cv=len(range(2014,2019)))
有没有一种方法可以确保GridSearchCV
在我每次打电话时都使用确定的最佳参数cv.predict
?
GridSearchCV
除非您设置,否则默认情况下已经完成了您想要的操作refit=False
。如GridSearchCV
文档所述:
refit:布尔值或字符串,默认为True。
使用在整个数据集中找到的最佳参数来重新拟合估计量。对于多指标评估,这需要是一个字符串,表示计分器用于查找最佳参数,以在最后重新拟合估计器。
调整后的估算器可从该
best_estimator_
属性获得,并允许predict
直接在此GridSearchCV
实例上使用。同样对于多指标评估而言,属性和仅在设置了重新调整后才可用
best_index_
,best_score_
并且best_params_
将通过此特定计分器确定所有属性。请参阅评分参数,以了解有关多指标评估的更多信息。
因此,每当您调用cv.predict
经过调整的最佳估算器时,都会进行预测。
在您的情况下,结果是相同的,可能是因为最佳估算器在所有指标上得分最高。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句