check_scoring#
- sklearn.metrics.check_scoring(estimator=None, оценка=None, *, allow_none=False, raise_exc=True)[источник]#
Определить оценщик из пользовательских опций.
Будет выброшено TypeError, если оценщик не может быть оценен.
- Параметры:
- estimatorобъект оценщика, реализующий 'fit' или None, по умолчанию=None
Объект, используемый для обучения модели на данных. Если
None, тогда эта функция может выдать ошибку в зависимости отallow_none.- оценкаstr, callable, list, tuple, set или dict, default=None
Оценщик для использования. Если
scoringпредставляет собой единичную оценку, можно использовать:одна строка (см. Строковые имена скореров);
вызываемый объект (см. Вызываемые скореры), которая возвращает одно значение;
None,estimator’s критерий оценки по умолчанию используется.
Если
scoringпредставляет несколько оценок, можно использовать:список, кортеж или множество уникальных строк;
вызываемый объект, возвращающий словарь, где ключи - это имена метрик, а значения - скореры метрик;
словарь с именами метрик в качестве ключей и вызываемыми объектами в качестве значений. Вызываемые объекты должны иметь сигнатуру
callable(estimator, X, y).
- allow_nonebool, по умолчанию=False
Возвращать ли None или вызывать ошибку, если нет
scoringуказан, а оценщик не имеетscoreметод.- raise_excbool, по умолчанию=True
Следует ли вызывать исключение (если подмножество оценщиков в многометрической оценке не срабатывает) или возвращать код ошибки.
Если установлено в
True, вызывает исключение неудачного скорера.Если установлено в
False, форматированная строка с деталями исключения передается как результат неудачного скорера(ов).
Это применяется, если
scoringявляется list, tuple, set или dict. Игнорируется, еслиscoringявляется строкой или вызываемым объектом.Добавлено в версии 1.6.
- Возвращает:
- оценкаcallable
Оценивающий вызываемый объект / функция с сигнатурой
scorer(estimator, X, y).
Примеры
>>> 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 ...'}