Поддержка векторов в LinearSVC

Machine LearningMachine LearningBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

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

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/sklearn -.-> lab-49197{{"Поддержка векторов в LinearSVC"}} end

Импорт библиотек

Сначала нам нужно импортировать необходимые библиотеки для этой лабораторной работы. Мы будем использовать библиотеки NumPy, Matplotlib, make_blobs, LinearSVC и DecisionBoundaryDisplay.

Генерация данных

Мы сгенерируем некоторые случайные данные с использованием функции make_blobs() из Scikit-learn. Эта функция генерирует Гауссовы "кучи" для кластеризации. Мы сгенерируем 40 образцов с 2 центрами.

Построение графика данных

Мы построим сгенерированные данные с использованием Matplotlib. Функция scatter() используется для построения графика данных.

Обучение LinearSVC

Мы обучим модель LinearSVC с двумя различными параметрами регуляризации. Функция потерь "затычка" (hinge loss) используется для обучения модели. Мы будем использовать функцию fit() для обучения модели.

Получение опорных векторов

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

Построение графика опорных векторов

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

Отображение границы решения

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

Показать график

Наконец, мы покажем график с опорными векторами и границей решения.

Резюме

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