make_scorer#
- sklearn.metrics.make_scorer(score_func, *, response_method='default', greater_is_better=True, **kwargs)[source]#
从性能指标或损失函数创建评分器。
评分器是任意指标或损失函数的包装器,其调用签名为
scorer(estimator, X, y_true, **kwargs)
。所有允许
scoring
参数的 scikit-learn 估计器或函数都接受它。参数
response_method
允许指定应使用估计器的哪个方法来馈送评分/损失函数。详情请参阅用户指南。
- 参数:
- score_func可调用对象
评分函数(或损失函数),其签名为
score_func(y, y_pred, **kwargs)
。- response_method{“predict_proba”, “decision_function”, “predict”} 或此类字符串的列表/元组,默认值=None
指定用于从估计器获取预测的响应方法(即 predict_proba、decision_function 或 predict)。可能的选择有:
如果为
str
,则对应于要返回的方法名称;如果为
str
的列表或元组,则按偏好顺序提供方法名称。返回的方法对应于列表中估计器实现的第一个方法。如果为
None
,则等同于"predict"
。
在版本 1.4 中新增。
自版本 1.6 起已弃用: None 等同于 'predict',但已弃用。它将在版本 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)