30-дневный курс по обучению ИИ - страница 6

Шрифт
Интервал


from sklearn.metrics import accuracy_score


# Загрузка данных

iris = load_iris ()

X = iris. data

y = iris. target


# Разделение данных на тренировочный и тестовый наборы

X_train, X_test, y_train, y_test = train_test_split (X, y, test_size=0.2, random_state=42)


# Создание и обучение модели

model = KNeighborsClassifier (n_neighbors=5)

model.fit (X_train, y_train)


# Предсказание на тестовом наборе

predictions = model.predict (X_test)

accuracy = accuracy_score (y_test, predictions)

print (f’Accuracy: {accuracy:.2f}»)

```


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


**Метод опорных векторов (SVM) **

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


**Принцип работы SVM**

1. Алгоритм ищет гиперплоскость, которая максимизирует расстояние (маржу) между ближайшими точками разных классов.

2. Эти ближайшие точки называются опорными векторами.

3. Гиперплоскость определяет границу разделения классов.


Пример: Представьте, что у вас есть набор точек на плоскости, каждая из которых помечена как принадлежащая к одному из двух классов. Ваша задача – найти прямую, которая будет максимально далеко от точек обоих классов.


**Параметры метода SVM**

– **Kernel**: Функция ядра, которая позволяет работать с нелинейно разделяемыми данными. Популярные варианты – линейное ядро, полиномиальное ядро и радиально-базисная функция (RBF).

– **Regularization parameter C**: Параметр регуляризации, который контролирует степень влияния опорных векторов на решение.


**Преимущества и недостатки SVM**

– **Преимущества**:

– Хорошо справляется с задачами высокой размерности.

– Может эффективно работать с нелинейно разделяемыми данными благодаря использованию ядер.