PrecisionRecallDisplay#
- класс sklearn.metrics.PrecisionRecallDisplay(точность, полнота, *, average_precision=None, имя=None, pos_label=None, prevalence_pos_label=None, estimator_name='устаревший')[источник]#
Визуализация Precision Recall.
Рекомендуется использовать
from_estimatorилиfrom_predictionsдля созданияPrecisionRecallDisplay. Все параметры хранятся как атрибуты.Для общей информации относительно
scikit-learnинструменты визуализации, см. Руководство по визуализации. Для руководства по интерпретации этих графиков обратитесь к Руководство по оценке модели.- Параметры:
- точностьndarray
Значения точности.
- полнотаndarray
Значения полноты (recall).
- average_precisionfloat, по умолчанию=None
Средняя точность. Если None, средняя точность не отображается.
- имяstr, default=None
Имя оценщика. Если None, то имя оценщика не отображается.
Изменено в версии 1.8:
estimator_nameбыл устаревшим в пользуname.- pos_labelint, float, bool или str, по умолчанию=None
Класс, считающийся положительным при вычислении метрик precision и recall. Если не
None, это значение отображается в подписях осей x и y.Добавлено в версии 0.24.
- prevalence_pos_labelfloat, по умолчанию=None
Распространённость положительной метки. Используется для построения линии уровня случайности. Если None, линия уровня случайности не будет построена, даже если
plot_chance_levelустанавливается в True при построении графика.Добавлено в версии 1.3.
- estimator_namestr, default=None
Имя оценщика. Если None, имя оценщика не отображается.
Устарело с версии 1.8:
estimator_nameустарел и будет удален в версии 1.10. Используйтеnameвместо этого.
- Атрибуты:
- line_художник matplotlib
Кривая точности-полноты.
- chance_level_художник matplotlib или None
Линия уровня случайности. Это
Noneесли уровень случайности не отображён.Добавлено в версии 1.3.
- ax_matplotlib Axes
Оси с кривой точности-полноты.
- figure_фигура matplotlib
Рисунок, содержащий кривую.
Смотрите также
precision_recall_curveВычислите пары точность-полнота для различных порогов вероятности.
PrecisionRecallDisplay.from_estimatorПостроение кривой точности-полноты для бинарного классификатора.
PrecisionRecallDisplay.from_predictionsПостроение кривой Precision-Recall с использованием предсказаний бинарного классификатора.
Примечания
Средняя точность (см.
average_precision_score) в scikit-learn вычисляется без какой-либо интерполяции. Для согласованности с этой метрикой, кривая точность-полнота строится без какой-либо интерполяции (ступенчатый стиль).Вы можете изменить этот стиль, передав аргумент ключевого слова
drawstyle="default"вplot,from_estimator, илиfrom_predictions. Однако кривая не будет строго согласована с сообщённой средней точностью.Примеры
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.metrics import (precision_recall_curve, ... PrecisionRecallDisplay) >>> from sklearn.model_selection import train_test_split >>> from sklearn.svm import SVC >>> X, y = make_classification(random_state=0) >>> X_train, X_test, y_train, y_test = train_test_split(X, y, ... random_state=0) >>> clf = SVC(random_state=0) >>> clf.fit(X_train, y_train) SVC(random_state=0) >>> predictions = clf.predict(X_test) >>> precision, recall, _ = precision_recall_curve(y_test, predictions) >>> disp = PrecisionRecallDisplay(precision=precision, recall=recall) >>> disp.plot() <...> >>> plt.show()
- метод класса from_estimator(estimator, X, y, *, sample_weight=None, drop_intermediate=False, response_method='auto', pos_label=None, имя=None, ax=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[источник]#
Построить кривую точности-полноты для данного оценщика и некоторых данных.
Для общей информации относительно
scikit-learnинструменты визуализации, см. Руководство по визуализации. Для руководства по интерпретации этих графиков обратитесь к Руководство по оценке модели.- Параметры:
- estimatorэкземпляр estimator
Обученный классификатор или обученный
Pipelineв котором последний оценщик является классификатором.- X{array-like, sparse matrix} формы (n_samples, n_features)
Входные значения.
- yarray-like формы (n_samples,)
Целевые значения.
- sample_weightarray-like формы (n_samples,), по умолчанию=None
Веса выборок.
- drop_intermediatebool, по умолчанию=False
Удалять ли некоторые субоптимальные пороги, которые не появятся на построенной кривой точности-полноты. Это полезно для создания более легких кривых точности-полноты.
Добавлено в версии 1.3.
- response_method{‘predict_proba’, ‘decision_function’, ‘auto’}, default=’auto’
Указывает, использовать ли predict_proba или decision_function как целевой отклик. Если установлено в 'auto', predict_proba сначала пробуется, и если он не существует decision_function пробуется следующим.
- pos_labelint, float, bool или str, по умолчанию=None
Класс, рассматриваемый как положительный при вычислении метрик точности и полноты. По умолчанию,
estimators.classes_[1]инициализация на основе- имяstr, default=None
Имя для обозначения кривой. Если
None, имя не используется.- axоси matplotlib, по умолчанию=None
Объект Axes для построения графика. Если
None, создается новый рисунок и оси.- plot_chance_levelbool, по умолчанию=False
Следует ли отображать уровень случайности. Уровень случайности — это распространенность положительной метки, вычисленная из данных, переданных во время
from_estimatorилиfrom_predictionsвызов.Добавлено в версии 1.3.
- chance_level_kwdict, по умолчанию=None
Аргументы ключевых слов для передачи в
plotдля отображения линии уровня шанса.Добавлено в версии 1.3.
- despinebool, по умолчанию=False
Удалять ли верхнюю и правую границы графика.
Добавлено в версии 1.6.
- **kwargsdict
Аргументы ключевых слов для передачи в
plot.
- Возвращает:
- отображение
PrecisionRecallDisplay
- отображение
Смотрите также
PrecisionRecallDisplay.from_predictionsПостроение кривой точности-полноты с использованием оцененных вероятностей или выходной функции принятия решений.
Примечания
Средняя точность (см.
average_precision_score) в scikit-learn вычисляется без какой-либо интерполяции. Для согласованности с этой метрикой, кривая точности-полноты также строится без интерполяции (ступенчатый стиль).Вы можете изменить этот стиль, передав аргумент ключевого слова
drawstyle="default". Однако кривая не будет строго согласована с сообщённой средней точностью.Примеры
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.metrics import PrecisionRecallDisplay >>> from sklearn.model_selection import train_test_split >>> from sklearn.linear_model import LogisticRegression >>> X, y = make_classification(random_state=0) >>> X_train, X_test, y_train, y_test = train_test_split( ... X, y, random_state=0) >>> clf = LogisticRegression() >>> clf.fit(X_train, y_train) LogisticRegression() >>> PrecisionRecallDisplay.from_estimator( ... clf, X_test, y_test) <...> >>> plt.show()
- метод класса from_predictions(y_true, y_score=None, *, sample_weight=None, drop_intermediate=False, pos_label=None, имя=None, ax=None, plot_chance_level=False, chance_level_kw=None, despine=False, y_pred='устаревший', **kwargs)[источник]#
Построение кривой precision-recall для бинарных предсказаний классов.
Для общей информации относительно
scikit-learnинструменты визуализации, см. Руководство по визуализации. Для руководства по интерпретации этих графиков обратитесь к Руководство по оценке модели.- Параметры:
- y_truearray-like формы (n_samples,)
Истинные бинарные метки.
- y_scorearray-like формы (n_samples,)
Оцененные вероятности или выход функции принятия решений.
Добавлено в версии 1.8:
y_predбыл переименован вy_score.- sample_weightarray-like формы (n_samples,), по умолчанию=None
Веса выборок.
- drop_intermediatebool, по умолчанию=False
Удалять ли некоторые субоптимальные пороги, которые не появятся на построенной кривой точности-полноты. Это полезно для создания более легких кривых точности-полноты.
Добавлено в версии 1.3.
- pos_labelint, float, bool или str, по умолчанию=None
Класс, рассматриваемый как положительный класс при вычислении метрик точности и полноты. Когда
pos_label=None, еслиy_trueнаходится в {-1, 1} или {0, 1},pos_labelустановлено в 1, иначе будет вызвана ошибка.- имяstr, default=None
Имя для обозначения кривой. Если
None, имя будет установлено в"Classifier".- axоси matplotlib, по умолчанию=None
Объект Axes для построения графика. Если
None, создается новый рисунок и оси.- plot_chance_levelbool, по умолчанию=False
Следует ли отображать уровень случайности. Уровень случайности — это распространенность положительной метки, вычисленная из данных, переданных во время
from_estimatorилиfrom_predictionsвызов.Добавлено в версии 1.3.
- chance_level_kwdict, по умолчанию=None
Аргументы ключевых слов для передачи в
plotдля отображения линии уровня шанса.Добавлено в версии 1.3.
- despinebool, по умолчанию=False
Удалять ли верхнюю и правую границы графика.
Добавлено в версии 1.6.
- y_predarray-like формы (n_samples,)
Оцененные вероятности или выход функции принятия решений.
Устарело с версии 1.8:
y_predустарел и будет удален в версии 1.10. Используйтеy_scoreвместо этого.- **kwargsdict
Аргументы ключевых слов для передачи в
plot.
- Возвращает:
- отображение
PrecisionRecallDisplay
- отображение
Смотрите также
PrecisionRecallDisplay.from_estimatorПостроение кривой точности-полноты с использованием оценщика.
Примечания
Средняя точность (см.
average_precision_score) в scikit-learn вычисляется без какой-либо интерполяции. Для согласованности с этой метрикой, кривая точности-полноты также строится без интерполяции (ступенчатый стиль).Вы можете изменить этот стиль, передав аргумент ключевого слова
drawstyle="default". Однако кривая не будет строго согласована с сообщённой средней точностью.Примеры
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.metrics import PrecisionRecallDisplay >>> from sklearn.model_selection import train_test_split >>> from sklearn.linear_model import LogisticRegression >>> X, y = make_classification(random_state=0) >>> X_train, X_test, y_train, y_test = train_test_split( ... X, y, random_state=0) >>> clf = LogisticRegression() >>> clf.fit(X_train, y_train) LogisticRegression() >>> y_score = clf.predict_proba(X_test)[:, 1] >>> PrecisionRecallDisplay.from_predictions( ... y_test, y_score) <...> >>> plt.show()
- plot(ax=None, *, имя=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[источник]#
Визуализация графика.
Дополнительные ключевые аргументы будут переданы в
plot.- Параметры:
- axMatplotlib Axes, по умолчанию=None
Объект Axes для построения графика. Если
None, создаётся новая фигура и оси.- имяstr, default=None
Имя кривой точности-полноты для маркировки. Если
None, используйтеnameесли неNone, в противном случае метки не отображаются.- plot_chance_levelbool, по умолчанию=False
Следует ли отображать уровень случайности. Уровень случайности — это распространенность положительной метки, вычисленная из данных, переданных во время
from_estimatorилиfrom_predictionsвызов.Добавлено в версии 1.3.
- chance_level_kwdict, по умолчанию=None
Аргументы ключевых слов для передачи в
plotдля отображения линии уровня шанса.Добавлено в версии 1.3.
- despinebool, по умолчанию=False
Удалять ли верхнюю и правую границы графика.
Добавлено в версии 1.6.
- **kwargsdict
Аргументы ключевых слов для передачи в
plot.
- Возвращает:
- отображение
PrecisionRecallDisplay Объект, который хранит вычисленные значения.
- отображение
Примечания
Средняя точность (см.
average_precision_score) в scikit-learn вычисляется без какой-либо интерполяции. Для согласованности с этой метрикой, кривая точности-полноты также строится без интерполяции (ступенчатый стиль).Вы можете изменить этот стиль, передав аргумент ключевого слова
drawstyle="default". Однако кривая не будет строго согласована с сообщённой средней точностью.
Примеры галереи#
Последующая настройка порога принятия решений для обучения с учетом стоимости