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

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



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

model = LogisticRegression (random_state=42)

model.fit (X_train, y_train)


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

predictions = model.predict (X_test)

accuracy = accuracy_score (y_test, predictions)

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

```


Продолжаем наш путь в мире машинного обучения. Сегодня мы сосредоточимся на двух популярных классификационных моделях: методе k-ближайших соседей (k-Nearest Neighbors, k-NN) и методе опорных векторов (Support Vector Machines, SVM).


**День 4: Классификационные модели: k-ближайших соседей и метод опорных векторов**


**Метод k-ближайших соседей (k-NN) **

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


**Принцип работы k-NN**

1. Для каждого нового объекта вычисляются расстояния до всех остальных объектов в обучающем наборе.

2. Выбираются k ближайших соседей.

3. Класс нового объекта определяется большинством голосов среди выбранных соседей.


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


**Параметры метода k-NN**

– **k**: Количество ближайших соседей, которые будут учитываться при классификации. Обычно выбирается нечётное число, чтобы избежать ситуаций равного количества голосов.

– **Метрика расстояния**: Наиболее распространённые метрики – Евклидово расстояние и Манхэттенское расстояние.


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

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

– Простота реализации и понимания.

– Хорошо работает с небольшими наборами данных.

– **Недостатки**:

– Чувствительность к выбору параметра k.

– Медленная работа на больших наборах данных.


**Практическое задание**

Используя Python и библиотеку `scikit-learn`, попробуйте построить модель k-NN для классификации цветов по их RGB-значениям. Вы можете использовать набор данных «Iris» из библиотеки `sklearn`.


```python

from sklearn. datasets import load_iris

from sklearn.model_selection import train_test_split

from sklearn.neighbors import KNeighborsClassifier