创建评分器#
- sklearn.metrics.make_scorer(score_func, *, response_method='default', greater_is_better=True, **kwargs)[source]#
根据性能指标或损失函数创建评分器。
评分器 (scorer) 是对任意度量或损失函数的封装,其调用签名为
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
类型的列表或元组,则按优先级顺序提供方法名称。返回的方法对应于列表中的第一个方法,并且该方法由estimator
实现。如果为
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)
图库示例#
scikit-learn 1.5 版本的发布亮点
直方图梯度提升树中的功能
梯度提升回归的预测区间
时间序列预测的滞后特征
在 cross_val_score 和 GridSearchCV 上进行多指标评估的演示
在 cross_val_score 和 GridSearchCV 上进行多指标评估的演示
针对成本敏感学习的后调优决策阈值