make_scorer#

sklearn.metrics.make_scorer(score_func, *, response_method='default', greater_is_better=True, **kwargs)[源代码]#

根据性能指标或损失函数制作评分器。

评分器是围绕任意指标或损失函数的包装器,该函数使用签名调用 scorer(estimator, X, y_true, **kwargs) .

它被所有scikit-learn估计器或函数接受,允许 scoring 参数.

参数 response_method 允许指定应使用估计器的哪种方法来提供评分/损失函数。

阅读更多的 User Guide .

参数:
score_func可调用

带签名的得分函数(或损失函数) score_func(y, y_pred, **kwargs) .

response_method{“predicate_proba”、“decision_function”、“predicate”}或 此类字符串的列表/tuple,默认=无

指定使用从估计器获取预测的响应方法(即 predict_proba , decision_functionpredict ).可能的选择是:

  • 如果 str ,它对应于要返回的方法的名称;

  • 如果列表或多元组 str ,它按首选项顺序提供方法名称。返回的方法对应于列表中的第一个方法,该方法由 estimator .

  • 如果 None ,相当于 "predict" .

Added in version 1.4.

自 1.6 版本弃用: None is equivalent to 'predict' and is deprecated. It will be removed in version 1.8.

greater_is_better布尔,默认=True

是否 score_func 是一个得分函数(默认),意味着高就是好,或者是一个损失函数,意味着低就是好。在后一种情况下,得分者对象将对 score_func .

**kwargs补充论点

要传递的其他参数 score_func .

返回:
scorer可调用

返回标量分数的可调用对象;分数越大越好。

示例

>>> from sklearn.metrics import fbeta_score, make_scorer
>>> ftwo_scorer = make_scorer(fbeta_score, beta=2)
>>> ftwo_scorer
make_scorer(fbeta_score, response_method='predict', beta=2)
>>> from sklearn.model_selection import GridSearchCV
>>> from sklearn.svm import LinearSVC
>>> grid = GridSearchCV(LinearSVC(), param_grid={'C': [1, 10]},
...                     scoring=ftwo_scorer)