sklearn.metrics.make_scorer¶
sklearn.metrics.make_scorer(score_func, *, greater_is_better=True, needs_proba=False, needs_threshold=False, **kwargs)
根据绩效指标或损失函数制作评分器。
此工厂函数包装评分函数,以用于GridSearchCV和cross_val_score。它需要一个得分函数,例如accuracy_score,mean_squared_error,adjusted_rand_index或average_precision,并返回一个可调用值,用于对估算器的输出进行评分。
在用户指南中阅读更多内容。
参数 | 说明 |
---|---|
score_func | callable, 带有score_func(y, y_pred, **kwargs)签名的Score函数(或loss函数)。 |
greater_is_better | boolean, default=True score_func是一个得分函数(默认),意味着高是好的,还是一个损失函数,意味着低是好的。在后一种情况下,评分器对象将对score_func的结果进行签名翻转。 |
needs_proba | boolean, default=False score_func是否需要predict_proba才能从分类器中得出概率估计。 如果为True,则对于二进制y_true,得分函数应该接受一维y_pred(即,正类的概率为形状(n_samples,))。 |
needs_threshold | boolean, default=False score_func是否需要连续的决策确定性。这仅适用于使用具有decision_function或predict_proba方法的估计器的二进制分类。 如果为True,则对于二进制y_true,分数函数应接受一维y_pred(即,正类的概率或决策函数的形状(n_samples,))。 例如,不能单独使用离散预测来计算average_precision或roc曲线下的面积。 |
**kwargs | additional arguments 要传递给score_func的其他参数。 |
返回值 | 说明 |
---|---|
scorer | callable 返回标量分数的可调用对象;越大越好。 |
注
如果needs_proba = False和needs_threshold = False,则评分函数应接受predict的输出。 如果needs_proba = True,则分数函数应接受predict_proba 的输出(对于二进制y_true,评数函数应接受正类的概率)。 如果needs_threshold = True,则评分函数应接受decision_function的输出。
示例
>>> from sklearn.metrics import fbeta_score, make_scorer
>>> ftwo_scorer = make_scorer(fbeta_score, beta=2)
>>> ftwo_scorer
make_scorer(fbeta_score, beta=2)
>>> from sklearn.model_selection import GridSearchCV
>>> from sklearn.svm import LinearSVC
>>> grid = GridSearchCV(LinearSVC(), param_grid={'C': [1, 10]},
... scoring=ftwo_scorer)