Spec-Zone.ru › scikit-learn

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()
../../_images/sklearn-metrics-PrecisionRecallDisplay-1.png
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

Следует ли удалить верхнюю и правую границы графика.

Возвращает:
displayPrecisionRecallDisplay

См. также

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()
../../_images/sklearn-metrics-PrecisionRecallDisplay-2.png
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 в виде словаря.

Возвращает:
displayPrecisionRecallDisplay

См. также

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()
../../_images/sklearn-metrics-PrecisionRecallDisplay-3.png
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 в виде словаря.

Возвращает:
displayPrecisionRecallDisplay

См. также

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()
../../_images/sklearn-metrics-PrecisionRecallDisplay-4.png
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 в виде словаря.

Возвращает:
displayPrecisionRecallDisplay

Объект, содержащий вычисленные значения.

Примечания

Средняя точность (см. 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API