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.
Поднимите свои навыки специалиста по данным на новый уровень с помощью магистерской программы Data Scientist от IBMExplore Programme
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Что такое Sklearn SVM (машины опорных векторов)?
Машины опорных векторов (SVM) — это контролируемые алгоритмы машинного обучения для обнаружения выбросов, регрессии и классификации, которые являются одновременно мощными и адаптируемыми. Sklearn SVM обычно используются в задачах классификации, поскольку они особенно эффективны в многомерных полях. Поскольку они используют подмножество точек обучения в функции принятия решения, SVM популярны и эффективно используют память.
Основная цель SVM — разделить наборы данных на большое количество классов, чтобы обнаружить максимальную маргинальную гиперплоскость (MMH), что можно сделать в два этапа:
- Машины опорных векторов изначально будут итеративно строить гиперплоскости, которые лучше всего различают классы.
- Затем он выберет гиперплоскость, которая лучше всего разделяет классы.
Теперь, когда мы понимаем, что такое SVM Sklearn, давайте посмотрим, как работают машины опорных векторов Sklearn.
Как работает Sklearn SVM?
Чтобы построить гиперплоскость, SVM использует крайние точки данных (векторы), которые называются опорными векторами. Основная цель алгоритма SVM — найти идеальную гиперплоскость с большим запасом, которая может создавать дискретные классы, разделив ее на n-мерное пространство.
Ниже приведены некоторые важные принципы SVM:
- Опорные векторы. Точки данных, ближайшие к гиперплоскости, известны как опорные векторы. Линию разделения можно определить с помощью опорных векторов.
- Гиперплоскость. Пространство или плоскость решений, которая делит группу элементов на несколько классов, называется гиперплоскостью.
- Маржа — расстояние между двумя линиями в ближайших точках данных отдельных классов.
- Максимальный запас. Идеальная гиперплоскость — это та, которая имеет самый большой запас.
Классификация Sklearn SVM
Машины опорных векторов Sklearn, выполняющие многоклассовую классификацию, классифицируются как:
LinearSVC означает классификацию линейных опорных векторов. Это аналогично настройке ядра SVC = «линейный». Разница между ними заключается в том, что LinearSVC написан на liblinear, а SVC — на libsvm. Вот почему LinearSVC предоставляет вам больше возможностей для функций потерь и штрафов. Он также лучше обрабатывает большее количество образцов.
Что касается его атрибутов и параметров, то в некоторых его атрибутах отсутствуют двойные коэффициент_, поддержка_, n поддержка_, векторы поддержки_ и статус соответствия_, поскольку он считается линейным.
Однако он поддерживает следующие параметры штрафов и потерь:
- штраф — строка, L1 или L2 (по умолчанию = 'L2'): используется для указания нормы штрафа (L1 или L2) (регуляризация).
- потеря — строка, шарнир, Squared_hinge (по умолчанию = Squared_hinge): он отображает функцию потерь, где «шарнир» представляет стандартные потери машины опорных векторов, а «квадратный шарнир» представляет квадрат потери шарнира.
НуСВК
NuSVC означает классификацию опорных векторов Nu. Это еще один учебный класс, который может проводить категоризацию нескольких классов. NuSVC аналогичен SVC; однако он принимает несколько иные аргументы. Параметр, который отличается от SVC, следующий:
- nu — float, необязательно, по умолчанию = 0,5: это нижняя граница некоторой доли опорных векторов и верхняя граница некоторой доли ошибок обучения. Его значение должно находиться в диапазоне (0,1).
Остальные атрибуты и параметры идентичны найденным в SVC.
Это система классификации опорных векторов на основе C, основанная на libsvm. sklearn.svm.SVC — это модуль, используемый scikit-learn. Этот класс отвечает за поддержку нескольких классов с использованием механизма «один к одному».
Теперь, когда мы изучили категории машин опорных векторов, давайте посмотрим на некоторые реализуемые примеры.
Поднимите свои навыки специалиста по данным на новый уровень с помощью магистерской программы Data Scientist от IBMExplore Programme
Пример Sklearn SVM
Мы реализуем SVM в Sklearn во всех трех категориях:
Параметры, которые необходимо понять, прежде чем углубляться в примеры
Подбор модели осуществляется с помощью следующих двух массивов:
- x_var — Массив, содержащий обучающие выборки размером (n_samples, n_features).
- y_var — массив содержит целевые значения обучающих выборок, т. е. метки классов с размером (n_samples).
Реализация машины опорных векторов в NuSVC
Мы используем класс sklearn.svm.NuSVC для реализации в NuSVC.
Код
импортировать numpy как число
x_var = num.array(((-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, вероятность = ложь, случайное_состояние = нет,
сокращение = ложь, tol = 0,001, подробное = ложь)
Реализация машины опорных векторов в SVC
Мы используем класс sklearn.svm.SVC для реализации в SVC.
Код
импортировать numpy как число
x_var = num.array(((-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, размер кэша = 200, вес_класса = нет, coef0 = 0,0,
Decision_function_shape = 'ovr', степень = 3, гамма = 'масштаб', ядро = 'линейный',
max_iter = -1, вероятность = ложь, случайное_состояние = нет, сокращение = ложь,
tol = 0,001, подробный = ложь)
Реализация машины опорных векторов в LinearSVC
Мы используем sklearn.svm.LinearSVC для реализации в NuSVC.
Код
из sklearn.svm импорт LinearSVC
из sklearn.datasets импорт make_classification
x_var, y_var = make_classification (n_features = 4, случайное_состояние = 0)
LSVCClf = LinearSVC (dual = False, случайное_состояние = 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, подробный = 0)
Поднимите свои навыки специалиста по данным на новый уровень с помощью магистерской программы Data Scientist от IBMExplore Programme
- sklearn линейная регрессия
- Модели регрессии Sklearn
- Деревья решений SkLearn
- Стохастический градиентный спуск в SKLearn
Станьте специалистом по данным сегодня
Машинный метод опорных векторов Sklearn — это алгоритм машинного обучения, который контролируется и может использоваться для решения таких задач, как регрессия и классификация. Он имеет следующие принципы:
- Опорные векторы
- Гиперплоскость
- Допуск
- Максимальная маржа
В SkLearn мы используем различные модули, содержащиеся в пакете sklearn.svm, для реализации машин опорных векторов и выполнения различных операций.
Чтобы овладеть различными концепциями Sklearn и другими связанными с ним инструментами и концепциями Data Science, а также повысить уровень старшего специалиста по данным, запишитесь на комплексный курс Data Science от Simplilearn прямо сейчас! Этот учебный курс включает в себя эксклюзивные хакатоны, мастер-классы, сессии вопросов и ответов, проводимые экспертами IBM, и многое другое.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)