Scikit Learn (SVM) — опорные векторные машины

Scikit-learn предоставляет стандартный интерфейс Python для различных методов контролируемого и неконтролируемого обучения. Он распространяется в нескольких дистрибутивах Linux и лицензируется в соответствии с упрощенной разрешительной лицензией BSD, поощряющей коммерческое и академическое использование.

Scikit-learn основан на SciPy (Scientific Python), который необходимо установить перед использованием. Этот стек содержит следующие элементы:

  • Matplotlib — это библиотека для построения 2D/3D графиков.

  • SymPy — выполняет символьную математику.
  • Pandas — используется для анализа и структур данных.

  • NumPy — пакет Python для создания n-мерных массивов.

  • IPython — более интерактивная среда Python.
  • SciPy — это пакет научных вычислений на основе Python.

В этой статье мы познакомимся с методом опорных векторов Sklearn.

Станьте специалистом по обработке данных с помощью практического обучения!Программа магистратуры для специалистов по обработке данныхИзучить программуСтаньте специалистом по обработке данных с помощью практического обучения!

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

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

Опорные векторные машины (SVM) — это контролируемые алгоритмы машинного обучения для обнаружения выбросов, регрессии и классификации, которые являются как мощными, так и адаптивными. Sklearn SVM обычно используются в задачах классификации, поскольку они особенно эффективны в многомерных полях. Поскольку они используют подмножество точек обучения в функции принятия решения, SVM популярны и эффективны в плане памяти.

Основная цель SVM — разбиение наборов данных на большое количество классов с целью обнаружения максимальной маргинальной гиперплоскости (MMH), что можно сделать в два этапа:

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

Теперь, когда мы понимаем, что такое SVM Sklearn, давайте рассмотрим, как работают машины опорных векторов Sklearn.

Как работает Sklearn SVM?

Для построения гиперплоскости SVM использует экстремальные точки данных (векторы), которые называются опорными векторами. Основная цель алгоритма SVM — найти идеальную гиперплоскость с большим запасом, которая может создавать дискретные классы, разделяя ее на n-мерное пространство.

Ниже приведены некоторые важнейшие принципы SVM:

  • Опорные векторы – Точки данных, ближайшие к гиперплоскости, называются опорными векторами. Линия разделения может быть определена с использованием опорных векторов.
  • Гиперплоскость — пространство или плоскость принятия решений, которая делит группу элементов на несколько классов, называется гиперплоскостью.
  • Margin (Разница) — расстояние между двумя линиями в ближайших точках данных различных классов.
  • Максимальный отступ. Идеальная гиперплоскость — это та, которая имеет наибольший отступ.

Классификация Sklearn SVM

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

LinearSVC означает Linear Support Vector Classification (линейная классификация опорных векторов). Это аналогично настройке SVC kernel = 'linear'. Разница между ними в том, что LinearSVC написан на liblinear, тогда как SVC написан на libsvm. Вот почему LinearSVC дает вам больше возможностей для функций потерь и штрафов. Он также лучше обрабатывает большее количество выборок.

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

Однако он поддерживает следующие параметры штрафов и потерь:

  • штраф − строка, L1 или L2 (по умолчанию = 'L2'): используется для указания нормы штрафования (L1 или L2) (регуляризация).
  • loss − string, hinge, squared_hinge (по умолчанию = squared_hinge): отображает функцию потерь, где «harning» представляет стандартные потери метода опорных векторов, а «squared hinge» представляет квадрат потерь шарнира.
  • НуСВК

NuSVC означает Nu Support Vector Classification. Это еще один класс scikit-learn, который может проводить многоклассовую категоризацию. NuSVC похож на SVC, однако принимает немного другие аргументы. Параметр, который не совпадает с SVC, следующий:

  • nu – float, необязательно, по умолчанию = 0.5: Это нижняя граница некоторой доли опорных векторов и верхняя граница некоторой доли ошибок обучения. Ее значение должно быть в диапазоне (0,1).

Остальные атрибуты и параметры идентичны таковым в SVC.

Это система классификации опорных векторов на основе C, основанная на libsvm. sklearn.svm.SVC — это модуль, используемый scikit-learn. Этот класс отвечает за поддержку нескольких классов с использованием механизма «один к одному».

Теперь, когда мы изучили категории метода опорных векторов, давайте рассмотрим некоторые реализуемые примеры.

Станьте специалистом по обработке данных с помощью практического обучения!Программа магистратуры для специалистов по обработке данныхИзучить программуСтаньте специалистом по обработке данных с помощью практического обучения!

Пример Sklearn SVM

Мы внедряем SVM в Sklearn во всех трех категориях:

Параметры, которые следует понять перед тем, как углубляться в примеры

Подгонка модели выполняется с помощью следующих двух массивов:

  • x_var — массив, содержащий обучающие образцы размером (n_samples, n_features).
  • y_var — массив содержит целевые значения обучающих выборок, т. е. метки классов размером (n_samples).

Реализация метода опорных векторов в NuSVC

Для реализации в NuSVC мы используем класс sklearn.svm.NuSVC.

Код

импортировать numpy как num

x_var = число.массив(((-1, -1), (-2, -1), (1, 1), (2, 1)))

y_var = num.array((1, 1, 2, 2))

из sklearn.svm импорт NuSVC

NuSVCClf = NuSVC(ядро = 'линейное',гамма = 'масштаб', сокращение = Ложь,)

NuSVCClf.fit(x_var, y_var)

Выход

NuSVC(cache_size = 200, class_weight = None, coef0 = 0.0,

decision_function_shape = 'ovr', степень = 3, гамма = 'масштаб', ядро ​​= 'линейное',

max_iter = -1, nu = 0,5, вероятность = Ложь, random_state = Нет,

сокращение = Ложь, tol = 0,001, verbose = Ложь)

Реализация метода опорных векторов в SVC

Для реализации в SVC мы используем класс sklearn.svm.SVC.

Код

импортировать numpy как num

x_var = число.массив(((-1, -1), (-2, -1), (1, 1), (2, 1)))

y_var = num.array((1, 1, 2, 2))

из sklearn.svm импорт SVC

SVCClf = SVC(ядро = 'линейное',гамма = 'масштаб', сокращение = Ложь,)

SVCClf.fit(x_var, y_var)

Выход

SVC(C = 1.0, cache_size = 200, class_weight = None, coef0 = 0.0,

decision_function_shape = 'ovr', степень = 3, гамма = 'масштаб', ядро ​​= 'линейное',

max_iter = -1, вероятность = Ложь, random_state = Нет, сокращение = Ложь,

tol = 0,001, подробный = ложь)

Реализация машины опорных векторов в LinearSVC

Мы используем sklearn.svm.LinearSVC для выполнения реализации в NuSVC.

Код

из sklearn.svm импорт LinearSVC

из sklearn.datasets импорт make_classification

x_var, y_var = make_classification(n_features = 4, random_state = 0)

LSVCClf = LinearSVC(dual = False, random_state = 0, штраф = 'l1',tol = 1e-5)

LSVCClf.fit(x_var, y_var)

Выход

LinearSVC(C = 1.0, class_weight = None, dual = False, fit_intercept = True,

intercept_scaling = 1, loss = 'squared_hinge', max_iter = 1000,

multi_class = 'ovr', штраф = 'l1', random_state = 0, tol = 1e-05, verbose = 0)

Станьте специалистом по обработке данных с помощью практического обучения!Программа магистратуры для специалистов по обработке данныхИзучить программуСтаньте специалистом по обработке данных с помощью практического обучения!

  1. sklearn Линейная регрессия
  2. Модели регрессии Sklearn
  3. Деревья решений SkLearn
  4. Стохастический градиентный спуск в SKLearn

Станьте специалистом по данным сегодня

Sklearn Support Vector Machine Technique — это контролируемый алгоритм машинного обучения, который может использоваться для решения таких задач, как регрессия и классификация. Он имеет следующие принципы:

  • Векторы поддержки
  • Гиперплоскость
  • Допуск
  • Максимальная маржа

В SkLearn мы используем различные модули, содержащиеся в пакете sklearn.svm, для реализации метода опорных векторов и выполнения различных операций.

Чтобы освоить различные концепции Sklearn и другие связанные инструменты и концепции Data Science и выйти на уровень старшего специалиста по данным, запишитесь на комплексный курс обучения по Data Science от Simplilearn прямо сейчас! Этот курс обучения включает эксклюзивные хакатоны, мастер-классы и сессии вопросов и ответов, организованные экспертами IBM, и многое другое.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *