PrecisionRecallDisplay
- classsklearn.metrics.PrecisionRecallDisplay(precision, recall, *, average_precision=None, name=None, pos_label=None, prevalence_pos_label=None, estimator_name='deprecated')[исходный код]
-
Визуализация точности и полноты.
Для создания
PrecisionRecallDisplayрекомендуется использоватьfrom_estimatorилиfrom_predictions. Все параметры сохраняются в виде атрибутов.Общие сведения об инструментах визуализации
scikit-learnсм. в руководстве по визуализации. Рекомендации по интерпретации этих графиков см. в руководстве по оценке моделей.- Параметры:
-
- precisionndarray или список ndarray
-
Значения точности. Каждый ndarray должен содержать значения для одной кривой. При построении нескольких кривых длина списка должна совпадать с
recall.Изменено в версии 1.9: Теперь принимает список для построения нескольких кривых.
- recallndarray или список ndarray
-
Значения полноты. Каждый ndarray должен содержать значения для одной кривой. При построении нескольких кривых длина списка должна совпадать с
precision.Изменено в версии 1.9: Теперь принимает список для построения нескольких кривых.
- average_precisionfloat или список float, по умолчанию=None
-
Средняя точность, используемая для обозначения каждой кривой в легенде. При построении нескольких кривых значение должно быть списком той же длины, что и
precisionиrecall. ЕслиNone, значения средней точности не отображаются в легенде.Изменено в версии 1.9: Теперь принимает список для построения нескольких кривых.
- namestr или список str, по умолчанию=None
-
Имя для обозначения элементов легенды. Количество элементов легенды определяется значением
curve_kwargs, переданным вplot, и не зависит отname.Если указана строка, она будет использоваться для обозначения единственного элемента легенды либо, если элементов легенды несколько, для обозначения каждой отдельной кривой одним и тем же именем.
Если указан список, он будет использоваться для индивидуального обозначения каждой кривой. Передача списка вызовет ошибку, если
curve_kwargsне является списком, чтобы не допустить присвоения одинаковых обозначений отдельным кривым, которые выглядят одинаково.Если
None, имя в легенде не отображается.Изменено в версии 1.8:
estimator_nameобъявлен устаревшим в пользуname.Изменено в версии 1.9:
nameтеперь может принимать список str для нескольких кривых. - pos_labelint, float, bool или str, по умолчанию=None
-
Класс, считающийся положительным при вычислении метрик точности и полноты. Если значение не
None, оно отображается в подписях осей x и y.Добавлено в версии 0.24.
- prevalence_pos_labelfloat или список float, по умолчанию=None
-
Доля положительной метки. Используется для построения линий случайного уровня. Если значение равно None, линия случайного уровня не будет построена, даже если при построении задано
plot_chance_levelсо значением True.Добавлено в версии 1.3.
Изменено в версии 1.9: Теперь может быть списком float при построении нескольких кривых.
- estimator_namestr, по умолчанию=None
-
Имя оценщика. Если значение равно None, имя оценщика не отображается.
Устарело с версии 1.8:
estimator_nameобъявлен устаревшим и будет удалён в версии 1.10. Вместо него используйтеname.
- Атрибуты:
-
- line_matplotlib Artist или список Artist
-
Кривая (кривые) точности и полноты.
Изменено в версии 1.9: Теперь этот атрибут может быть списком Artist, если построено несколько кривых.
- chance_level_matplotlib Artist, список Artist или None
-
Линия (линии) случайного уровня. Значение равно
None, если линия случайного уровня не построена.Добавлено в версии 1.3.
Изменено в версии 1.9: Теперь этот атрибут может быть списком Artist, если построено несколько кривых.
- ax_matplotlib Axes
-
Оси с кривой точности и полноты.
- figure_matplotlib Figure
-
Рисунок, содержащий кривую.
См. также
precision_recall_curve-
Вычисляет пары точности и полноты для разных порогов вероятности.
PrecisionRecallDisplay.from_estimator-
Строит кривую точности и полноты для бинарного классификатора.
PrecisionRecallDisplay.from_predictions-
Строит кривую точности и полноты, используя предсказания бинарного классификатора.
Примечания
Средняя точность (ср.
average_precision_score) в scikit-learn вычисляется без интерполяции. Для согласования с этой метрикой кривая точности и полноты также строится без интерполяции (в виде ступенчатой линии).Чтобы включить интерполяцию, передайте
curve_kwargs={"drawstyle": "default"}в meth: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()
- classmethodfrom_cv_results(cv_results, X, y, *, sample_weight=None, drop_intermediate=True, response_method='auto', pos_label=None, name=None, ax=None, curve_kwargs=None, plot_chance_level=False, chance_level_kwargs=None, despine=False)[исходный код]
-
Строит кривые точности и полноты для нескольких фолдов на основе результатов кросс-валидации.
Добавлено в версии 1.9.
- Параметры:
-
- cv_resultsdict
-
Словарь, возвращаемый
cross_validateс использованиемreturn_estimator=Trueиreturn_indices=True(то есть словарь должен содержать ключи «estimator» и «indices»). - X{array-like, разреженная матрица} формы (n_samples, n_features)
-
Входные значения.
- yarray-like формы (n_samples,)
-
Целевые значения.
- sample_weightarray-like формы (n_samples,), по умолчанию=None
-
Веса образцов.
- drop_intermediatebool, по умолчанию=True
-
Следует ли отбрасывать некоторые неоптимальные пороги, которые не отображались бы на построенной кривой точности и полноты. Это помогает строить более компактные кривые точности и полноты.
- response_method{‘predict_proba’, ‘decision_function’, ‘auto’}, по умолчанию=’auto’
-
Указывает, использовать ли predict_proba или decision_function в качестве целевого отклика. Если установлено значение ‘auto’, сначала проверяется наличие predict_proba, а если его нет — наличие decision_function.
- pos_labelint, float, bool или str, по умолчанию=None
-
Класс, считающийся положительным при вычислении метрик точности и полноты. По умолчанию положительным классом считается
estimators.classes_[1]. - namestr или список str, по умолчанию=None
-
Имя для обозначения элементов легенды. Количество элементов легенды определяется значением
curve_kwargsи не зависит отname.Если указана строка, она будет использоваться для обозначения единственного элемента легенды либо, если элементов легенды несколько, для обозначения каждой отдельной кривой одним и тем же именем.
Если указан список, он будет использоваться для индивидуального обозначения каждой кривой. Передача списка вызовет ошибку, если
curve_kwargsне является списком, чтобы не допустить присвоения одинаковых обозначений отдельным кривым, которые выглядят одинаково.Если
None, имя в легенде не отображается. - axоси matplotlib, по умолчанию=None
-
Объект осей, на котором будет построен график. Если
None, создаются новые рисунок и оси. - curve_kwargsdict или список dict, по умолчанию=None
-
Словарь с именованными аргументами, передаваемыми функции
plotиз matplotlib для построения отдельных кривых точности и полноты. Если передан список, параметры последовательно применяются к кривым точности и полноты каждого фолда CV. Если передан один словарь, одинаковые параметры применяются ко всем кривым точности и полноты. - plot_chance_levelbool, по умолчанию=False
-
Следует ли строить линии случайного уровня.
- chance_level_kwargsdict, по умолчанию=None
-
Именованные аргументы, передаваемые функции
plotиз matplotlib для отображения линий случайного уровня. - despinebool, по умолчанию=False
-
Следует ли удалить верхнюю и правую границы графика.
- Возвращает:
-
-
display
PrecisionRecallDisplay
-
display
См. также
PrecisionRecallDisplay.from_predictions-
Строит кривую точности и полноты, используя оценённые вероятности или выход функции принятия решения.
PrecisionRecallDisplay.from_estimator-
Строит кривую точности и полноты с использованием оценщика.
precision_recall_curve-
Вычисляет пары точности и полноты для разных порогов вероятности.
average_precision_score-
Вычисляет среднюю точность (AP) по оценкам предсказаний.
Примечания
Средняя точность (ср.
average_precision_score) в scikit-learn вычисляется без интерполяции. Для согласования с этой метрикой кривая точности и полноты также строится без интерполяции (в виде ступенчатой линии).Чтобы включить интерполяцию, передайте
curve_kwargs={"drawstyle": "default"}. Однако кривая не будет полностью согласована с указанным значением средней точности.Примеры
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.metrics import PrecisionRecallDisplay >>> from sklearn.model_selection import cross_validate >>> from sklearn.svm import SVC >>> X, y = make_classification(random_state=0) >>> clf = SVC(random_state=0) >>> cv_results = cross_validate( ... clf, X, y, cv=3, return_estimator=True, return_indices=True) >>> PrecisionRecallDisplay.from_cv_results(cv_results, X, y) <...> >>> plt.show()
- classmethodfrom_estimator(estimator, X, y, *, sample_weight=None, drop_intermediate=False, response_method='auto', pos_label=None, name=None, ax=None, curve_kwargs=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[исходный код]
-
Строит кривую точности и полноты для заданного оценщика и данных.
Общие сведения об инструментах визуализации
scikit-learnсм. в руководстве по визуализации. Рекомендации по интерпретации этих графиков см. в руководстве по оценке моделей.- Параметры:
-
- estimatorэкземпляр оценщика
-
Обученный классификатор или обученный
Pipeline, последним оценщиком в котором является классификатор. - X{array-like, разреженная матрица} формы (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’}, по умолчанию=’auto’
-
Указывает, использовать ли predict_proba или decision_function в качестве целевого отклика. Если установлено значение ‘auto’, сначала проверяется наличие predict_proba, а если его нет — наличие decision_function.
- pos_labelint, float, bool или str, по умолчанию=None
-
Класс, считающийся положительным при вычислении метрик точности и полноты. По умолчанию положительным классом считается
estimators.classes_[1]. - namestr, по умолчанию=None
-
Имя для обозначения кривой. Если
None, имя не используется. - axоси matplotlib, по умолчанию=None
-
Объект осей, на котором будет построен график. Если
None, создаются новые рисунок и оси. - curve_kwargsdict, по умолчанию=None
-
Именованные аргументы, передаваемые функции
plotиз matplotlib.Добавлено в версии 1.9.
- plot_chance_levelbool, по умолчанию=False
-
Следует ли строить линию случайного уровня. Случайный уровень — это доля положительной метки, вычисленная по данным, переданным при вызове
from_estimatorилиfrom_predictions.Добавлено в версии 1.3.
- chance_level_kwdict, по умолчанию=None
-
Именованные аргументы, передаваемые функции
plotиз matplotlib для отображения линии случайного уровня.Добавлено в версии 1.3.
- despinebool, по умолчанию=False
-
Следует ли удалить верхнюю и правую границы графика.
Добавлено в версии 1.6.
- **kwargsdict
-
Именованные аргументы, передаваемые функции
plotиз matplotlib.Устарело с версии 1.9: kwargs объявлен устаревшим и будет удалён в версии 1.11. Передавайте аргументы matplotlib в
curve_kwargsв виде словаря.
- Возвращает:
-
-
display
PrecisionRecallDisplay
-
display
См. также
PrecisionRecallDisplay.from_predictions-
Строит кривую точности и полноты, используя оценённые вероятности или выход функции принятия решения.
Примечания
Средняя точность (ср.
average_precision_score) в scikit-learn вычисляется без интерполяции. Для согласования с этой метрикой кривая точности и полноты также строится без интерполяции (в виде ступенчатой линии).Чтобы включить интерполяцию, передайте
curve_kwargs={"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()
- classmethodfrom_predictions(y_true, y_score=None, *, sample_weight=None, drop_intermediate=False, pos_label=None, name=None, ax=None, curve_kwargs=None, plot_chance_level=False, chance_level_kw=None, despine=False, y_pred='deprecated', **kwargs)[исходный код]
-
Построить кривую «точность–полнота» по прогнозам для бинарной классификации.
Общие сведения об инструментах визуализации
scikit-learnсм. в руководстве по визуализации. Рекомендации по интерпретации этих графиков см. в руководстве по оценке моделей.- Параметры:
-
- y_truearray-like of shape (n_samples,)
-
Истинные бинарные метки.
- y_scorearray-like of shape (n_samples,)
-
Оценённые вероятности или результат функции принятия решения.
Добавлено в версии 1.8:
y_predпереименован вy_score. - sample_weightarray-like of shape (n_samples,), default=None
-
Веса объектов выборки.
- drop_intermediatebool, default=False
-
Следует ли отбрасывать некоторые неоптимальные пороги, которые не отображались бы на графике кривой «точность–полнота». Это позволяет строить более компактные кривые «точность–полнота».
Добавлено в версии 1.3.
- pos_labelint, float, bool or str, default=None
-
Класс, считающийся положительным при вычислении метрик точности и полноты. Если
pos_label=Noneиy_trueвходит в {-1, 1} или {0, 1},pos_labelустанавливается равным 1, в противном случае возникает ошибка. - namestr, default=None
-
Имя для обозначения кривой. Если
None, имя будет задано как"Classifier". - axmatplotlib axes, default=None
-
Объект осей, на котором строится график. Если
None, создаётся новый график и объект осей. - curve_kwargsdict, default=None
-
Именованные аргументы, передаваемые функции
plotиз matplotlib.Добавлено в версии 1.9.
- plot_chance_levelbool, default=False
-
Следует ли отображать случайный уровень. Случайный уровень — это доля объектов с положительной меткой, вычисленная по данным, переданным при вызове
from_estimatorилиfrom_predictions.Добавлено в версии 1.3.
- chance_level_kwdict, default=None
-
Именованные аргументы, передаваемые функции
plotиз matplotlib для отображения линии случайного уровня.Добавлено в версии 1.3.
- despinebool, default=False
-
Следует ли убрать верхнюю и правую линии рамки графика.
Добавлено в версии 1.6.
- y_predarray-like of shape (n_samples,)
-
Оценённые вероятности или результат функции принятия решения.
Устарело с версии 1.8:
y_predустарел и будет удалён в версии 1.10. Вместо него используйтеy_score. - **kwargsdict
-
Именованные аргументы, передаваемые
plotиз matplotlib.Устарело с версии 1.9: kwargs устарел и будет удалён в версии 1.11. Вместо этого передавайте аргументы matplotlib в
curve_kwargsв виде словаря.
- Возвращает:
-
-
display
PrecisionRecallDisplay
-
display
См. также
PrecisionRecallDisplay.from_estimator-
Построить кривую «точность–полнота» с помощью оценивателя.
Примечания
Средняя точность (см.
average_precision_score) в scikit-learn вычисляется без интерполяции. Для согласованности с этой метрикой кривая «точность–полнота» также строится без интерполяции (ступенчатым графиком).Чтобы включить интерполяцию, передайте
curve_kwargs={"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, *, name=None, curve_kwargs=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[исходный код]
-
Построить визуализацию.
- Параметры:
-
- axMatplotlib Axes, default=None
-
Объект осей, на котором строится график. Если
None, создаётся новый график и объект осей. - namestr or list of str, default=None
-
Имя для обозначения элементов легенды. Количество элементов легенды определяется параметром
curve_kwargsи не зависит отname.Если передана строка, она будет использована для обозначения единственного элемента легенды либо, при наличии нескольких элементов, для обозначения каждой кривой одним и тем же именем.
Если передан список, он будет использован для индивидуального обозначения каждой кривой. Передача списка вызовет ошибку, если
curve_kwargsне является списком, чтобы избежать раздельного обозначения кривых с одинаковым внешним видом.Если
None, используется значениеname, заданное при инициализацииPrecisionRecallDisplay. Если значение по-прежнемуNone, имя в легенде не отображается.Изменено в версии 1.9: Теперь для построения нескольких кривых можно передать список.
- curve_kwargsdict or list of dict, default=None
-
Именованные аргументы, передаваемые функции
plotиз matplotlib для построения отдельных кривых «точность–полнота». Для построения одной кривой следует передать словарь. При построении нескольких кривых, если передан список, параметры последовательно применяются к каждой кривой «точность–полнота», и для каждой кривой добавляется элемент легенды. Если передан один словарь, одинаковые параметры применяются ко всем кривым, а для всех кривых добавляется один элемент легенды с указанием средней средней точности.Добавлено в версии 1.9.
- plot_chance_levelbool, default=False
-
Следует ли отображать случайный уровень. Случайный уровень — это доля объектов с положительной меткой, вычисленная по данным, переданным при вызове
from_estimatorилиfrom_predictions.Добавлено в версии 1.3.
- chance_level_kwdict, default=None
-
Именованные аргументы, передаваемые функции
plotиз matplotlib для отображения линии случайного уровня.Добавлено в версии 1.3.
- despinebool, default=False
-
Следует ли убрать верхнюю и правую линии рамки графика.
Добавлено в версии 1.6.
- **kwargsdict
-
Именованные аргументы, передаваемые
plotиз matplotlib.Устарело с версии 1.9: kwargs устарел и будет удалён в версии 1.11. Вместо этого передавайте аргументы matplotlib в
curve_kwargsв виде словаря.
- Возвращает:
-
-
display
PrecisionRecallDisplay -
Объект, содержащий вычисленные значения.
-
display
Примечания
Средняя точность (см.
average_precision_score) в scikit-learn вычисляется без интерполяции. Для согласованности с этой метрикой кривая «точность–полнота» также строится без интерполяции (ступенчатым графиком).Чтобы включить интерполяцию, передайте
curve_kwargs={"drawstyle": "default"}. Однако в этом случае кривая не будет полностью согласована с указанной средней точностью.
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.metrics.PrecisionRecallDisplay.html