我明白实际上并不存在所谓的“最佳模型”,因为是否最佳取决于你希望在哪些评估指标上获得最佳值。那么我的问题是,RandomizedSearchCV
使用什么指标来决定哪些是最佳参数?
回答:
我希望你指的是RandomizedSearchCV。默认情况下,它使用给定估算器的评分值,你可以通过更改scoring
参数来修改它。
来自文档的说明:
scoring str, callable, list/tuple or dict, default=None.
可以是一个字符串(参见评分参数:定义模型评估规则)或一个可调用对象(参见从指标函数定义你的评分策略)来评估测试集上的预测结果。为了评估多个指标,可以提供一个由唯一字符串组成的列表,或者一个以名称为键、可调用对象为值的字典。
注意,使用自定义评分器时,每个评分器应返回一个单一值。返回列表/数组值的指标函数可以包装成多个返回单一值的评分器。
参见评估多个指标的示例。如果为None,则使用估算器的score方法。
Sklearn对于分类器的默认评分是accuracy
,对于回归器是r2 score
例如,你可以看到对于LinearRegression,它是r2 score
– 参见这里。