Разве не сложно выделить группу объектов в больших объемах данных, принадлежащих к одной и той же категории?
Чтобы решить такие проблемы, у нас есть машины опорных векторов (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. Нам нужно выбрать гиперплоскость на основе большего расстояния или поля, потому что более короткое поле может привести к неправильной классификации.
Следите за этой страницей, чтобы увидеть больше статей, ориентированных на содержание: