Разве не сложно выделить группу объектов в больших объемах данных, принадлежащих к одной и той же категории?

Чтобы решить такие проблемы, у нас есть машины опорных векторов (SVM).

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

Расскажите нам подробнее о машинах опорных векторов (SVM)

Что такое машины опорных векторов?

Машины опорных векторов - это алгоритм обучения с учителем, который используется для задач классификации и регрессии. В модели SVM мы наносим доступные данные в виде точек в пространственном пространстве и отображаем их в отдельные категории, которые разделены четким промежутком в координатах с гиперплоскостью или линией.

Пример показан на изображении ниже:

Давайте создадим набор данных с двумя разными категориями и посмотрим, как работает SVM:

Чтобы создать набор данных,

Используемая платформа: Jupyter Notebook

Используемый язык программирования: Python

Библиотеки Python: Scikit-Learn, Matplotlib, Numpy

Шаг 1. Импортируйте необходимые библиотеки.

Шаг 2: Использование функции make_blob, построение графика

- функция make_blobs используется для генерации точек данных типа капель, образцы используются для генерации количества капель, которые должны присутствовать в наборе данных.

- Центр используется для генерации фиксированных местоположений центра, а случайное состояние - для генератора случайных чисел. cluster_std определяет стандартное отклонение.

- plt.scatter () используется для точек, s указывает размер, а cmap - это цветовая карта с двумя разными цветами.

- plt.show () отображает график.

Из приведенного выше графика мы видим, что присутствуют два разных типа категориальных данных.

Теперь давайте попробуем построить между ними гиперплоскость или линию с помощью небольших дополнений в существующем коде.

Функция np.linspace () указывает начальное и конечное значения на графике.

plt.plot () отображает точки данных x и y, а fill_between заполняет область между горизонтальными кривыми.

plt.xlim () устанавливает предел x-координат.

На приведенном выше графике показано, как два разных набора данных различаются с помощью гиперплоскости.

Что делать, если гиперплоскостей две или более, которые лучше всего разделять?

Предположим, у нас есть две или более гиперплоскостей, которые различают наборы данных, как показано ниже, как выбрать правильный?

На изображении выше, если вы можете видеть, что A и C находятся ближе всего к наборам данных, тогда как B находится на большем расстоянии. Таким образом, B может быть лучшей гиперплоскостью, чем гиперплоскости A и C. Нам нужно выбрать гиперплоскость на основе большего расстояния или поля, потому что более короткое поле может привести к неправильной классификации.

Следите за этой страницей, чтобы увидеть больше статей, ориентированных на содержание: