check_scoring#
- sklearn.metrics.check_scoring(estimator=None, scoring=None, *, allow_none=False, raise_exc=True)#
确定用户选项的评分器。
如果估计器无法评分,将抛出 TypeError。
- Parameters:
- estimator实现 ‘fit’ 方法的估计器对象或 None, 默认=None
用于拟合数据的对象。如果为
None
,则此函数可能会根据allow_none
报错。- scoringstr, callable, list, tuple, set, 或 dict, 默认=None
使用的评分器。如果
scoring
表示单个评分,可以使用:单个字符串(参见 scoring_parameter );
返回单个值的可调用对象(参见 从指标函数定义您的评分策略 )。
如果
scoring
表示多个评分,可以使用:唯一字符串的列表、元组或集合;
返回字典的可调用对象,其中键是指标名称,值是指标评分器;
以指标名称为键、可调用对象为值的字典。可调用对象需要具有
callable(estimator, X, y)
的签名。
如果为 None,则使用提供的估计器对象的
score
方法。- allow_nonebool, 默认=False
如果没有指定
scoring
且估计器没有score
方法,是否返回 None 或引发错误。- raise_excbool, 默认=True
是否引发异常(如果多指标评分中的部分评分器失败)或返回错误代码。
如果设置为
True
,则引发失败的评分器的异常。如果设置为
False
,则将异常详情的格式化字符串作为失败评分器的结果传递。
这适用于
scoring
是列表、元组、集合或字典的情况。如果scoring
是字符串或可调用对象,则忽略。Added in version 1.6.
- Returns:
- scoringcallable
具有签名
scorer(estimator, X, y)
的可调用对象 / 函数。
Examples
>>> from sklearn.datasets import load_iris >>> from sklearn.metrics import check_scoring >>> from sklearn.tree import DecisionTreeClassifier >>> X, y = load_iris(return_X_y=True) >>> classifier = DecisionTreeClassifier(max_depth=2).fit(X, y) >>> scorer = check_scoring(classifier, scoring='accuracy') >>> scorer(classifier, X, y) 0.96...
>>> from sklearn.metrics import make_scorer, accuracy_score, mean_squared_log_error >>> X, y = load_iris(return_X_y=True) >>> y *= -1 >>> clf = DecisionTreeClassifier().fit(X, y) >>> scoring = { ... "accuracy": make_scorer(accuracy_score), ... "mean_squared_log_error": make_scorer(mean_squared_log_error), ... } >>> scoring_call = check_scoring(estimator=clf, scoring=scoring, raise_exc=False) >>> scores = scoring_call(clf, X, y) >>> scores {'accuracy': 1.0, 'mean_squared_log_error': 'Traceback ...'}