RocCurveDisplay#
- класс sklearn.metrics.RocCurveDisplay(*, fpr, tpr, roc_auc=None, имя=None, pos_label=None, estimator_name='устаревший')[источник]#
Визуализация ROC-кривой.
Рекомендуется использовать
from_estimatorилиfrom_predictionsилиfrom_cv_resultsдля созданияRocCurveDisplay. Все параметры хранятся как атрибуты.Для общей информации относительно
scikit-learnинструменты визуализации, см. Руководство по визуализации. Для руководства по интерпретации этих графиков обратитесь к Руководство по оценке модели.- Параметры:
- fprndarray или список ndarrays
Частоты ложных срабатываний. Каждый ndarray должен содержать значения для одной кривой. При построении нескольких кривых список должен быть той же длины, что и
tpr.Изменено в версии 1.7: Теперь принимает список для построения нескольких кривых.
- tprndarray или список ndarrays
Истинные положительные частоты. Каждый ndarray должен содержать значения для одной кривой. Если строится несколько кривых, список должен быть той же длины, что и
fpr.Изменено в версии 1.7: Теперь принимает список для построения нескольких кривых.
- roc_aucfloat или список floats, default=None
Площадь под ROC-кривой, используется для маркировки каждой кривой в легенде. Если строится несколько кривых, должен быть список той же длины, что и
fprиtpr. ЕслиNone, оценки ROC AUC не отображаются в легенде.Изменено в версии 1.7: Теперь принимает список для построения нескольких кривых.
- имяstr или list of str, по умолчанию=None
Имя для подписей элементов легенды. Количество элементов легенды определяется
curve_kwargsпередано вplot, и не подвержен влияниюname. Чтобы пометить каждую кривую, предоставьте список строк. Чтобы избежать маркировки отдельных кривых, имеющих одинаковый внешний вид, список нельзя использовать вместе сcurve_kwargsявляется словарём или None. Если предоставлена строка, она будет использоваться либо для подписи единственной записи легенды, либо, если есть несколько записей легенды, для подписи каждой отдельной кривой тем же именем. ЕслиNone, в легенде не отображается имя.Изменено в версии 1.7:
estimator_nameбыл устаревшим в пользуname.- pos_labelint, float, bool или str, по умолчанию=None
Класс, считающийся положительным при вычислении метрик ROC AUC. Если не
None, это значение отображается в подписях осей x и y.Добавлено в версии 0.24.
- estimator_namestr, default=None
Имя оценщика. Если None, имя оценщика не отображается.
Устарело с версии 1.7:
estimator_nameустарел и будет удален в версии 1.9. Используйтеnameвместо этого.
- Атрибуты:
- line_художник matplotlib или список художников matplotlib
ROC-кривые.
Изменено в версии 1.7: Этот атрибут теперь может быть списком Artists, когда строятся несколько кривых.
- chance_level_художник matplotlib или None
Линия уровня случайности. Это
Noneесли уровень случайности не отображён.Добавлено в версии 1.3.
- ax_matplotlib Axes
Оси с ROC-кривой.
- figure_фигура matplotlib
Рисунок, содержащий кривую.
Смотрите также
roc_curveВычислить кривую рабочих характеристик приемника (ROC).
RocCurveDisplay.from_estimatorПостроение кривой рабочей характеристики приёмника (ROC) для заданного оценщика и некоторых данных.
RocCurveDisplay.from_predictionsПостроить кривую рабочих характеристик приемника (ROC) по истинным и предсказанным значениям.
RocCurveDisplay.from_cv_resultsПостроить ROC-кривые для нескольких фолдов по результатам кросс-валидации.
roc_auc_scoreВычислить площадь под ROC-кривой.
Примеры
>>> import matplotlib.pyplot as plt >>> import numpy as np >>> from sklearn import metrics >>> y_true = np.array([0, 0, 1, 1]) >>> y_score = np.array([0.1, 0.4, 0.35, 0.8]) >>> fpr, tpr, thresholds = metrics.roc_curve(y_true, y_score) >>> roc_auc = metrics.auc(fpr, tpr) >>> display = metrics.RocCurveDisplay(fpr=fpr, tpr=tpr, roc_auc=roc_auc, ... name='example estimator') >>> display.plot() <...> >>> plt.show()
- метод класса from_cv_results(cv_results, X, y, *, sample_weight=None, drop_intermediate=True, response_method='auto', pos_label=None, ax=None, имя=None, curve_kwargs=None, plot_chance_level=False, chance_level_kwargs=None, despine=False)[источник]#
Создать отображение ROC-кривой с несколькими сгибами по результатам перекрестной проверки.
Добавлено в версии 1.7.
- Параметры:
- cv_resultsdict
Словарь, возвращаемый
cross_validateиспользуяreturn_estimator=Trueиreturn_indices=True(т.е. словарь должен содержать ключи "estimator" и "indices").- X{array-like, sparse matrix} формы (n_samples, n_features)
Входные значения.
- yarray-like формы (n_samples,)
Целевые значения.
- sample_weightarray-like формы (n_samples,), по умолчанию=None
Веса выборок.
- drop_intermediatebool, по умолчанию=True
Удалять ли некоторые субоптимальные пороги, которые не появятся на построенной ROC-кривой. Это полезно для создания более легких ROC-кривых.
- response_method{'predict_proba', 'decision_function', 'auto'} по умолчанию='auto'
Указывает, использовать ли predict_proba или decision_function как целевой отклик. Если установлено в 'auto', predict_proba сначала пробуется, и если он не существует decision_function пробуется следующим.
- pos_labelint, float, bool или str, по умолчанию=None
Класс, рассматриваемый как положительный при вычислении метрик ROC AUC. По умолчанию,
estimator.classes_[1](используяestimatorизcv_results) считается положительным классом.- axоси matplotlib, по умолчанию=None
Объект Axes для построения графика. Если
None, создаётся новая фигура и оси.- имяstr или list of str, по умолчанию=None
Имя для подписи записей легенды. Количество записей легенды определяется
curve_kwargs, и не подвержен влияниюname. Чтобы пометить каждую кривую, предоставьте список строк. Чтобы избежать маркировки отдельных кривых, имеющих одинаковый внешний вид, список нельзя использовать вместе сcurve_kwargsявляется словарём или None. Если предоставлена строка, она будет использоваться либо для подписи единственной записи легенды, либо, если есть несколько записей легенды, для подписи каждой отдельной кривой тем же именем. ЕслиNone, в легенде не отображается имя.- curve_kwargsdict или list of dict, по умолчанию=None
Ключевые аргументы для передачи в
plotфункция для построения отдельных ROC-кривых. Если предоставлен список, параметры применяются к ROC-кривым каждого сгиба перекрестной проверки последовательно, и для каждой кривой добавляется запись в легенду. Если предоставлен один словарь, те же параметры применяются ко всем ROC-кривым, и добавляется одна запись в легенду для всех кривых, помеченная средним значением ROC AUC.- plot_chance_levelbool, по умолчанию=False
Следует ли отображать уровень случайности.
- chance_level_kwargsdict, по умолчанию=None
Аргументы ключевых слов для передачи в
plotдля отображения линии уровня шанса.- despinebool, по умолчанию=False
Удалять ли верхнюю и правую границы графика.
- Возвращает:
- отображение
RocCurveDisplay Многократная кривая ROC.
- отображение
Смотрите также
roc_curveВычислить кривую рабочих характеристик приемника (ROC).
RocCurveDisplay.from_estimatorПостроение кривой рабочей характеристики приёмника (ROC) для заданного оценщика и некоторых данных.
RocCurveDisplay.from_predictionsвизуализация ROC-кривой с учетом вероятностей оценок классификатора.
roc_auc_scoreВычислить площадь под ROC-кривой.
Примеры
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.metrics import RocCurveDisplay >>> 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) >>> RocCurveDisplay.from_cv_results(cv_results, X, y) <...> >>> plt.show()
- метод класса from_estimator(estimator, X, y, *, sample_weight=None, drop_intermediate=True, response_method='auto', pos_label=None, имя=None, ax=None, curve_kwargs=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[источник]#
Создать отображение ROC-кривой из оценщика.
Для общей информации относительно
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, по умолчанию=True
Удалять ли пороги, где результирующая точка коллинеарна с соседями в пространстве ROC. Это не влияет на ROC AUC или визуальную форму кривой, но уменьшает количество отображаемых точек.
- response_method{'predict_proba', 'decision_function', 'auto'} по умолчанию='auto'
Указывает, использовать ли predict_proba или decision_function как целевой отклик. Если установлено в 'auto', predict_proba сначала пробуется, и если он не существует decision_function пробуется следующим.
- pos_labelint, float, bool или str, по умолчанию=None
Класс, рассматриваемый как положительный при вычислении ROC AUC. По умолчанию
estimators.classes_[1]рассматривается как положительный класс.- имяstr, default=None
Название ROC-кривой для маркировки. Если
None, используйте имя оценщика.- axоси matplotlib, по умолчанию=None
Объект Axes для построения графика. Если
None, создается новый рисунок и оси.- curve_kwargsdict, по умолчанию=None
Ключевые аргументы для передачи в
plotфункция.Добавлено в версии 1.7.
- plot_chance_levelbool, по умолчанию=False
Следует ли отображать уровень случайности.
Добавлено в версии 1.3.
- chance_level_kwdict, по умолчанию=None
Аргументы ключевых слов для передачи в
plotдля отображения линии уровня шанса.Добавлено в версии 1.3.
- despinebool, по умолчанию=False
Удалять ли верхнюю и правую границы графика.
Добавлено в версии 1.6.
- **kwargsdict
Аргументы ключевых слов для передачи в
plot.Устарело с версии 1.7: kwargs устарел и будет удален в версии 1.9. Передавайте аргументы matplotlib в
curve_kwargsв виде словаря.
- Возвращает:
- отображение
RocCurveDisplay Отображение ROC-кривой.
- отображение
Смотрите также
roc_curveВычислить кривую рабочих характеристик приемника (ROC).
RocCurveDisplay.from_predictionsвизуализация ROC-кривой с учетом вероятностей оценок классификатора.
RocCurveDisplay.from_cv_resultsПостроить ROC-кривые для нескольких фолдов по результатам кросс-валидации.
roc_auc_scoreВычислить площадь под ROC-кривой.
Примеры
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.metrics import RocCurveDisplay >>> 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).fit(X_train, y_train) >>> RocCurveDisplay.from_estimator( ... clf, X_test, y_test) <...> >>> plt.show()
- метод класса from_predictions(y_true, y_score=None, *, sample_weight=None, drop_intermediate=True, pos_label=None, имя=None, ax=None, curve_kwargs=None, plot_chance_level=False, chance_level_kw=None, despine=False, y_pred='устаревший', **kwargs)[источник]#
Мы можем получить некоторое представление об этих результатах.
Для общей информации относительно
scikit-learnинструменты визуализации, см. Руководство по визуализации. Для руководства по интерпретации этих графиков обратитесь к Руководство по оценке модели.Добавлено в версии 1.0.
- Параметры:
- y_truearray-like формы (n_samples,)
для расширения текущего примера, оценивающего дисперсию ROC-кривых и их соответствующих AUC.
- y_scorearray-like формы (n_samples,)
Целевые оценки, которые могут быть либо вероятностными оценками положительного класса, значениями достоверности, либо немасштабированными мерами решений (как возвращается "decision_function" в некоторых классификаторах).
Добавлено в версии 1.7:
y_predбыл переименован вy_score.- sample_weightarray-like формы (n_samples,), по умолчанию=None
Веса выборок.
- drop_intermediatebool, по умолчанию=True
Удалять ли пороги, где результирующая точка коллинеарна с соседями в пространстве ROC. Это не влияет на ROC AUC или визуальную форму кривой, но уменьшает количество отображаемых точек.
- pos_labelint, float, bool или str, по умолчанию=None
Метка положительного класса при вычислении ROC AUC. Когда
pos_label=None, еслиy_trueнаходится в {-1, 1} или {0, 1},pos_labelустановлен в 1, иначе будет вызвана ошибка.- имяstr, default=None
Название кривой ROC для подписи в легенде. Если
None, имя будет установлено в"Classifier".- axоси matplotlib, по умолчанию=None
Объект Axes для построения графика. Если
None, создаётся новая фигура и оси.- curve_kwargsdict, по умолчанию=None
Ключевые аргументы для передачи в
plotфункция.Добавлено в версии 1.7.
- plot_chance_levelbool, по умолчанию=False
Следует ли отображать уровень случайности.
Добавлено в версии 1.3.
- chance_level_kwdict, по умолчанию=None
Аргументы ключевых слов для передачи в
plotдля отображения линии уровня шанса.Добавлено в версии 1.3.
- despinebool, по умолчанию=False
Удалять ли верхнюю и правую границы графика.
Добавлено в версии 1.6.
- y_predarray-like формы (n_samples,)
Целевые оценки, которые могут быть либо вероятностными оценками положительного класса, значениями достоверности, либо немасштабированными мерами решений (как возвращается "decision_function" в некоторых классификаторах).
Устарело с версии 1.7:
y_predустарел и будет удален в версии 1.9. Используйтеy_scoreвместо этого.- **kwargsdict
Дополнительные аргументы-ключевые слова, передаваемые в matplotlib
plotфункция.Устарело с версии 1.7: kwargs устарел и будет удален в версии 1.9. Передавайте аргументы matplotlib в
curve_kwargsв виде словаря.
- Возвращает:
- отображение
RocCurveDisplay Объект, который хранит вычисленные значения.
- отображение
Смотрите также
roc_curveВычислить кривую рабочих характеристик приемника (ROC).
RocCurveDisplay.from_estimatorВизуализация ROC-кривой для заданного оценщика и некоторых данных.
RocCurveDisplay.from_cv_resultsПостроить ROC-кривые для нескольких фолдов по результатам кросс-валидации.
roc_auc_scoreВычислить площадь под ROC-кривой.
Примеры
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.metrics import RocCurveDisplay >>> 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).fit(X_train, y_train) >>> y_score = clf.decision_function(X_test) >>> RocCurveDisplay.from_predictions(y_test, y_score) <...> >>> plt.show()
- plot(ax=None, *, имя=None, curve_kwargs=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[источник]#
Визуализация графика.
- Параметры:
- axоси matplotlib, по умолчанию=None
Объект Axes для построения графика. Если
None, создаётся новая фигура и оси.- имяstr или list of str, по умолчанию=None
Имя для подписи записей легенды. Количество записей легенды определяется
curve_kwargs, и не подвержен влияниюname. Чтобы пометить каждую кривую, предоставьте список строк. Чтобы избежать маркировки отдельных кривых, имеющих одинаковый внешний вид, список нельзя использовать вместе сcurve_kwargsявляется словарём или None. Если предоставлена строка, она будет использоваться либо для подписи единственной записи легенды, либо, если есть несколько записей легенды, для подписи каждой отдельной кривой тем же именем. ЕслиNone, установлено вnameпредоставлено вRocCurveDisplayинициализация. Если всё ещёNone, в легенде не отображается имя.Добавлено в версии 1.7.
- curve_kwargsdict или list of dict, по умолчанию=None
Ключевые аргументы для передачи в
plotфункция для построения отдельных ROC-кривых. Для построения одной кривой должен быть словарь. Для построения нескольких кривых, если предоставлен список, параметры применяются к ROC-кривым каждого фолда CV последовательно, и для каждой кривой добавляется запись в легенду. Если предоставлен один словарь, те же параметры применяются ко всем ROC-кривым, и добавляется одна запись в легенду для всех кривых, помеченная средним значением ROC AUC.Добавлено в версии 1.7.
- plot_chance_levelbool, по умолчанию=False
Следует ли отображать уровень случайности.
Добавлено в версии 1.3.
- chance_level_kwdict, по умолчанию=None
Аргументы ключевых слов для передачи в
plotдля отображения линии уровня шанса.Добавлено в версии 1.3.
- despinebool, по умолчанию=False
Удалять ли верхнюю и правую границы графика.
Добавлено в версии 1.6.
- **kwargsdict
Аргументы ключевых слов для передачи в
plot.Устарело с версии 1.7: kwargs устарел и будет удален в версии 1.9. Передавайте аргументы matplotlib в
curve_kwargsв виде словаря.
- Возвращает:
- отображение
RocCurveDisplay Объект, который хранит вычисленные значения.
- отображение
Примеры галереи#
Последующая настройка порога принятия решений для обучения с учетом стоимости
Многоклассовая рабочая характеристика приемника (ROC)
Рабочая характеристика приёмника (ROC) с перекрёстной проверкой