Научное обучение с использованием опорных векторов

Beginner

This tutorial is from open-source community. Access the source code

Введение

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

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

В этом руководстве мы рассмотрим следующие темы:

  1. Классификация с использованием SVM
  2. Мультиклассовая классификация
  3. Оценки и вероятности
  4. Неравномерные задачи
  5. Регрессия с использованием SVM
  6. Экстремальная оценка плотности и обнаружение новизны

Советы по работе с ВМ

После запуска ВМ перейдите в левый верхний угол и переключитесь на вкладку Notebook, чтобы приступить к практике в Jupyter Notebook.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Проверка операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы столкнетесь с проблемами при обучении, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Это Guided Lab, который предоставляет пошаговые инструкции, чтобы помочь вам учиться и практиковаться. Внимательно следуйте инструкциям, чтобы выполнить каждый шаг и получить практический опыт. Исторические данные показывают, что это лабораторная работа уровня начальный с процентом завершения 88%. Он получил 67% положительных отзывов от учащихся.

Классификация с использованием SVM

  • Начните с импорта необходимых библиотек:
from sklearn import svm
  • Определите обучающие выборки X и метки классов y:
X = [[0, 0], [1, 1]]
y = [0, 1]
  • Создайте экземпляр классификатора SVC и подстройте модель под данные:
clf = svm.SVC()
clf.fit(X, y)
  • Используйте обученную модель для предсказания новых значений:
clf.predict([[2., 2.]])

Мультиклассовая классификация

  • Классификаторы SVC и NuSVC можно использовать для мультиклассовой классификации с использованием подхода "один против остальных" ("one-versus-one"):
X = [[0], [1], [2], [3]]
Y = [0, 1, 2, 3]
clf = svm.SVC(decision_function_shape='ovo')
clf.fit(X, Y)
dec = clf.decision_function([[1]])

Оценки и вероятности

  • Методы SVM не предоставляют напрямую оценки вероятностей, но вы можете включить оценку вероятностей, установив параметр probability в значение True:
clf = svm.SVC(probability=True)
clf.fit(X, y)
  • Затем вы можете использовать метод predict_proba, чтобы получить вероятности для каждого класса:
clf.predict_proba([[2., 2.]])
  • Обратите внимание, что оценка вероятностей требует значительных вычислительных ресурсов и требует проведения кросс-валидации, поэтому используйте ее с осторожностью.

Неравномерные задачи

  • Методы SVM могут обрабатывать неравномерные задачи путем настройки параметра class_weight:
clf = svm.SVC(class_weight={1: 10})
clf.fit(X, y)

Регрессия с использованием SVM

  • Для задач регрессии методы SVM можно использовать с классом SVR:
X = [[0, 0], [1, 1]]
y = [0.5, 2.5]
regr = svm.SVR()
regr.fit(X, y)
regr.predict([[1, 1]])

Экстремальные значения и обнаружение аномалий

  • Методы SVM также можно использовать для оценки плотности и обнаружения аномалий с использованием класса OneClassSVM:
clf = svm.OneClassSVM()
clf.fit(X)
clf.predict(X)

Обзор

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