Визуальная разделимость классов — это понятие, которое описывает, насколько объекты разных классов отделены друг от друга в пространстве признаков, и насколько легко их можно разделить с помощью модели.

Основные моменты:

  1. Пространство признаков
  • Для двух признаков можно строить прямую 2D-графику
  • Для трёх признаков — 3D-графику
  • Для большего числа признаков применяют методы снижения размерности (PCA, t-SNE)
  1. Типы разделимости
  • Хорошо разделимые классы: кластеры объектов разных классов не перекрываются
  • Частично разделимые: кластеры перекрываются, есть зоны смешения
  • Неразделимые: классы полностью пересекаются
  1. Важность
  • Если классы хорошо разделимы, простые модели (логистическая регрессия, линейный SVM) показывают высокую точность
  • При плохой разделимости нужны сложные модели, нелинейные преобразования признаков, или добавление новых признаков

Пример на Wine dataset с двумя признаками:

import matplotlib.pyplot as plt
from sklearn.datasets import load_wine
 
data = load_wine()
X = data.data[:, :2]  # первые два признака
y = data.target
 
plt.scatter(X[:,0], X[:,1], c=y, cmap='viridis')
plt.xlabel('Признак 1')
plt.ylabel('Признак 2')
plt.show()
  • Разные цвета = разные классы
  • На графике видно, насколько классы разделимы в этих признаках

Коротко:
визуальная разделимость классов показывает, насколько объекты разных классов образуют отдельные кластеры в пространстве признаков, что напрямую влияет на сложность задачи классификации.