Spec-Zone.ru › scikit-learn

DecisionBoundaryDisplay

classsklearn.inspection.DecisionBoundaryDisplay(*, xx0, xx1, n_classes, response, multiclass_colors=None, xlabel=None, ylabel=None)[исходный код]

Визуализация границ принятия решений.

Для создания объекта from_estimator рекомендуется использовать DecisionBoundaryDisplay. Все параметры сохраняются в виде атрибутов.

Подробнее см. в руководстве пользователя.

Подробный пример сравнения границ принятия решений для мультиномиальной логистической регрессии и логистической регрессии «один против остальных» см. в разделе Границы принятия решений для мультиномиальной логистической регрессии и логистической регрессии «один против остальных».

Добавлено в версии 1.1.

Параметры:
xx0ndarray формы (grid_resolution, grid_resolution)

Первый результат meshgrid.

xx1ndarray формы (grid_resolution, grid_resolution)

Второй результат meshgrid.

n_classesint

Ожидаемое количество уникальных классов или меток, если response создан классификатором classifier или кластеризатором clusterer.

Для обнаружителей выбросов outlier detectors по определению следует задать n_classes равным 2 (объект принадлежит или не принадлежит выборке).

Для регрессоров regressors по соглашению также следует задать n_classes равным 2 (непрерывные отклики отображаются так же, как бинарные отклики без порогового преобразования).

Добавлено в версии 1.9.

responsendarray формы (grid_resolution, grid_resolution) или (grid_resolution, grid_resolution, n_classes)

Значения функции отклика.

multiclass_colorsstr или список цветов matplotlib, по умолчанию=None

Определяет цвет каждого класса при отображении всех классов в задачах многоклассовой классификации multiclass.

Допустимые значения:

  • None: по умолчанию используется список различимых цветов Petroff, если n_classes <= 10, иначе используется цветовая карта ‘gist_rainbow’
  • str: название matplotlib.colors.Colormap
  • list: список из n_classes цветов matplotlib

Из цветов списка или цветов, взятых из цветовой карты, будут созданы цветовые карты одного цвета (с переходом к белому), которые передаются в параметр cmap объекта plot_method.

Если response_method='predict' и plot_method='contour', multiclass_colors игнорируется, а границы классов отображаются черным цветом, поскольку линии границ могут перекрываться, и цвета не обязательно соответствуют классам.

Для бинарных задач binary multiclass_colors также игнорируется. Вместо него в качестве kwargs можно передать cmap или colors; в противном случае используется цветовая карта по умолчанию (‘viridis’).

Добавлено в версии 1.7.

Изменено в версии 1.9: теперь multiclass_colors также используется, если response_method="predict", за исключением случая, когда plot_method='contour': тогда он игнорируется и вместо него используется «black». Цвета по умолчанию изменены с ‘tab10’ на более различимые цвета Petroff.

xlabelstr, по умолчанию=None

Метка, отображаемая по умолчанию на оси x.

ylabelstr, по умолчанию=None

Метка, отображаемая по умолчанию на оси y.

Атрибуты:
surface_matplotlib QuadContourSet или QuadMesh или список таких объектов

Если plot_method — ‘contour’ или ‘contourf’, surface_ является QuadContourSet. Если plot_method — ‘pcolormesh’, surface_ является QuadMesh.

multiclass_colors_массив формы (n_classes, 4)

Цвета, используемые для отображения каждого класса в многоклассовых задачах. Определяется только при n_classes > 2.

Добавлено в версии 1.7.

ax_Axes matplotlib

Область Axes с границей принятия решений.

figure_Figure matplotlib

Объект Figure, содержащий границу принятия решений.

См. также

DecisionBoundaryDisplay.from_estimator

Построить границу принятия решений для заданной оценочной модели.

Примеры

>>> import matplotlib.pyplot as plt
>>> import matplotlib as mpl
>>> import numpy as np
>>> from sklearn.linear_model import LogisticRegression
>>> from sklearn.inspection import DecisionBoundaryDisplay
>>> data = np.array([[0, 0], [1, 1], [2, 1], [2, 2], [3, 2], [3, 3]])
>>> target = np.arange(data.shape[0])
>>> clf = LogisticRegression().fit(data, target)
>>> plot_methods = ["contourf", "contour", "pcolormesh"]
>>> response_methods = ["predict_proba", "decision_function", "predict"]
>>> _, axes = plt.subplots(
...     nrows=3,
...     ncols=3,
...     figsize=(12, 12),
...     constrained_layout=True
... )
>>> for plot_method_idx, plot_method in enumerate(plot_methods):
...     for response_method_idx, response_method in enumerate(response_methods):
...         ax = axes[plot_method_idx, response_method_idx]
...         display = DecisionBoundaryDisplay.from_estimator(
...             clf,
...             data,
...             grid_resolution=300,
...             response_method=response_method,
...             plot_method=plot_method,
...             ax=ax,
...             alpha=0.5,
...         )
...         cmap = mpl.colors.ListedColormap(display.multiclass_colors_)
...         ax.scatter(
...             data[:, 0],
...             data[:, 1],
...             c=target.astype(int),
...             edgecolors="black",
...             cmap=cmap,
...         )
...         ax.set_title(
...             f"plot_method={plot_method}\nresponse_method={response_method}"
...         )
>>> plt.show()
../../_images/sklearn-inspection-DecisionBoundaryDisplay-1.png
classmethodfrom_estimator(estimator, X, *, grid_resolution=100, eps=1.0, plot_method='contourf', response_method='auto', class_of_interest=None, multiclass_colors=None, xlabel=None, ylabel=None, ax=None, **kwargs)[исходный код]

Построить границу принятия решений для заданной оценочной модели.

Подробнее см. в руководстве пользователя.

Параметры:
estimatorobject

Обученная оценочная модель, используемая для построения границы принятия решений.

X{array-like, sparse matrix, dataframe} формы (n_samples, 2)

Входные данные, которые должны быть двумерными.

grid_resolutionint, по умолчанию=100

Количество точек сетки, используемых для построения границы принятия решений. При больших значениях график выглядит лучше, но отрисовывается медленнее.

epsfloat, по умолчанию=1.0

Расширяет минимальные и максимальные значения X при вычислении функции отклика.

plot_method{‘contourf’, ‘contour’, ‘pcolormesh’}, по умолчанию=’contourf’

Метод построения графика, вызываемый при отображении отклика. Подробности см. в документации matplotlib: contourf, contour, pcolormesh.

response_method{‘auto’, ‘decision_function’, ‘predict_proba’, ‘predict’}, по умолчанию=’auto’

Определяет, использовать ли в качестве целевого отклика decision_function, predict_proba или predict. Если задано значение ‘auto’, методы отклика проверяются в указанном выше порядке.

Изменено в версии 1.6: для многоклассовых задач значение ‘auto’ больше не соответствует ‘predict’ по умолчанию.

class_of_interestint, float, bool или str, по умолчанию=None

Класс, который нужно отобразить. Для бинарных классификаторов binary, если задано None, положительным классом считается estimator.classes_[1]. Для многоклассовых классификаторов multiclass, если задано None, на графике границы принятия решений будут представлены все классы; при значении response_method predict_proba или decision_function в каждой точке отображается класс с наибольшим значением отклика. Цвет каждого класса можно задать с помощью multiclass_colors.

Добавлено в версии 1.4.

multiclass_colorsstr или список цветов matplotlib, по умолчанию=None

Определяет цвет каждого класса при построении графика для многоклассовых задач multiclass, если class_of_interest равно None.

Допустимые значения:

  • None: по умолчанию используется список различимых цветов Petroff, если n_classes <= 10, иначе используется цветовая карта ‘gist_rainbow’
  • str: название matplotlib.colors.Colormap
  • list: список из n_classes цветов matplotlib

Из цветов списка или цветов, взятых из цветовой карты, будут созданы цветовые карты одного цвета (с переходом к белому), которые передаются в параметр cmap объекта plot_method.

Если response_method='predict' и plot_method='contour', multiclass_colors игнорируется, а границы классов отображаются черным цветом, поскольку линии границ могут перекрываться, и цвета не обязательно соответствуют классам.

Для бинарных задач binary multiclass_colors также игнорируется. Вместо него в качестве kwargs можно передать cmap или colors; в противном случае используется цветовая карта по умолчанию (‘viridis’).

Добавлено в версии 1.7.

Изменено в версии 1.9: теперь multiclass_colors также используется, если response_method="predict", за исключением случая, когда plot_method='contour': тогда он игнорируется и вместо него используется «black». Цвета по умолчанию изменены с ‘tab10’ на более различимые цвета Petroff.

xlabelstr, по умолчанию=None

Метка оси x. Если None, предпринимается попытка получить метку из X, если это dataframe; в противном случае используется пустая строка.

ylabelstr, по умолчанию=None

Метка оси y. Если None, предпринимается попытка получить метку из X, если это dataframe; в противном случае используется пустая строка.

axоси Matplotlib, по умолчанию=None

Объект Axes, на котором строится график. Если None, создаются новые объекты figure и axes.

**kwargsdict

Дополнительные именованные аргументы, передаваемые объекту plot_method.

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

Объект, сохраняющий результат.

См. также

DecisionBoundaryDisplay

Визуализация границ принятия решений.

sklearn.metrics.ConfusionMatrixDisplay.from_estimator

Построить матрицу ошибок для заданной оценочной модели, данных и меток.

sklearn.metrics.ConfusionMatrixDisplay.from_predictions

Построить матрицу ошибок для истинных и предсказанных меток.

Примеры

>>> import matplotlib as mpl
>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import load_iris
>>> from sklearn.linear_model import LogisticRegression
>>> from sklearn.inspection import DecisionBoundaryDisplay
>>> iris = load_iris()
>>> X = iris.data[:, :2]
>>> classifier = LogisticRegression().fit(X, iris.target)
>>> disp = DecisionBoundaryDisplay.from_estimator(
...     classifier, X, response_method="predict",
...     xlabel=iris.feature_names[0], ylabel=iris.feature_names[1],
...     alpha=0.5,
... )
>>> cmap = mpl.colors.ListedColormap(disp.multiclass_colors_)
>>> disp.ax_.scatter(X[:, 0], X[:, 1], c=iris.target, edgecolor="k", cmap=cmap)
<...>
>>> plt.show()
../../_images/sklearn-inspection-DecisionBoundaryDisplay-2.png
plot(plot_method='contourf', ax=None, xlabel=None, ylabel=None, **kwargs)[исходный код]

Построить визуализацию.

Параметры:
plot_method{‘contourf’, ‘contour’, ‘pcolormesh’}, по умолчанию=’contourf’

Метод построения графика, вызываемый при отображении отклика. Подробности см. в документации matplotlib: contourf, contour, pcolormesh.

axоси Matplotlib, по умолчанию=None

Объект Axes, на котором строится график. Если None, создаются новые объекты figure и axes.

xlabelstr, по умолчанию=None

Переопределить метку оси x.

ylabelstr, по умолчанию=None

Переопределить метку оси y.

**kwargsdict

Дополнительные именованные аргументы, передаваемые объекту plot_method. Для бинарных задач binary здесь можно задать cmap или colors, чтобы указать цветовую карту или цвета; в противном случае используется цветовая карта по умолчанию (‘viridis’). Если пользователь не указал zorder, ему присваивается значение -1, чтобы граница принятия решений отображалась на заднем плане (на случай, если поверх нее добавлена диаграмма рассеяния).

Возвращает:
display: DecisionBoundaryDisplay

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

См. также

DecisionBoundaryDisplay.from_estimator

Построить границу принятия решений для заданной оценочной модели.

Примеры

>>> import matplotlib as mpl
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> from sklearn.datasets import load_iris
>>> from sklearn.inspection import DecisionBoundaryDisplay
>>> from sklearn.tree import DecisionTreeClassifier
>>> iris = load_iris()
>>> feature_1, feature_2 = np.meshgrid(
...     np.linspace(iris.data[:, 0].min(), iris.data[:, 0].max()),
...     np.linspace(iris.data[:, 1].min(), iris.data[:, 1].max())
... )
>>> grid = np.vstack([feature_1.ravel(), feature_2.ravel()]).T
>>> tree = DecisionTreeClassifier().fit(iris.data[:, :2], iris.target)
>>> y_pred = np.reshape(tree.predict(grid), feature_1.shape)
>>> display = DecisionBoundaryDisplay(
...     xx0=feature_1,
...     xx1=feature_2,
...     n_classes=len(tree.classes_),
...     response=y_pred
... )
>>> display.plot()
<...>
>>> display.ax_.scatter(
...     iris.data[:, 0],
...     iris.data[:, 1],
...     c=iris.target,
...     cmap=mpl.colors.ListedColormap(display.multiclass_colors_),
...     edgecolor="black"
... )
<...>
>>> plt.show()
../../_images/sklearn-inspection-DecisionBoundaryDisplay-3.png

Примеры из галереи

Обнаружение выбросов на реальном наборе данных

Построение вероятностей классификации

Сравнение классификаторов

Линейный и квадратичный дискриминантный анализ с эллипсоидом ковариации

Индуктивная кластеризация

AdaBoost для двух классов

Пример использования IsolationForest

Визуализация вероятностных прогнозов VotingClassifier

Границы решений мультиномиальной логистической регрессии и логистической регрессии «один против всех»

Построение многоклассового SGD на наборе данных iris

One-Class SVM и One-Class SVM на основе стохастического градиентного спуска

Отношения правдоподобия классов для оценки качества классификации

Классификация методом ближайших соседей

Сравнение метода ближайших соседей с анализом компонентов окрестности и без него

Классификация методом ближайшего центроида

Важность масштабирования признаков

Граница решений классификаторов с полуобучением и SVM на наборе данных Iris

SVM с пользовательским ядром

Сравнение разных классификаторов SVM на наборе данных iris

Построение опорных векторов в LinearSVC

Одноклассовый SVM с нелинейным ядром (RBF)

Параметры SVM с ядром RBF

SVM: разделяющая гиперплоскость с максимальным зазором

SVM: разделяющая гиперплоскость для несбалансированных классов

Построение границ классификации с разными ядрами SVM

SVM: взвешенные образцы

Построение поверхности решений деревьев решений, обученных на наборе данных iris

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.inspection.DecisionBoundaryDisplay.html

Spec-Zone.ru

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