Найти в Дзене
IT Еxtra

Урок 5. Классификация — учим компьютер различать объекты. Первая модель KNN

Предыдущий урок: Урок 4. Наша первая модель — линейная регрессия. Объясняем без формул и магии В предыдущем уроке мы научили компьютер строить прямую и предсказывать значения — цены квартир, число шагов, что угодно, где результатом является число. Это называется регрессией. Сегодня мы перейдём к другому крупному направлению машинного обучения — классификации. Если регрессия отвечает на вопрос: «Сколько?», то классификация отвечает на вопрос: «К какому классу относится объект?» Это может быть что угодно: вид цветка, категория товара, болеет человек или нет, спам это или нормальное письмо, кошка это или собака на фотографии. Человек различает объекты легко и интуитивно, а вот компьютер — нет. Но мы научим его это делать. Сейчас ты: поймёшь суть задач классификации, узнаешь, что такое KNN — один из самых простых и интуитивных алгоритмов, построишь свою первую классификационную модель, увидишь, как модель “разделяет” данные, сделаешь прогноз: определит ли модель вид ириса по его параметра
Оглавление

Предыдущий урок: Урок 4. Наша первая модель — линейная регрессия. Объясняем без формул и магии

В предыдущем уроке мы научили компьютер строить прямую и предсказывать значения — цены квартир, число шагов, что угодно, где результатом является число. Это называется регрессией. Сегодня мы перейдём к другому крупному направлению машинного обучения — классификации.

Если регрессия отвечает на вопрос: «Сколько?», то классификация отвечает на вопрос: «К какому классу относится объект?» Это может быть что угодно: вид цветка, категория товара, болеет человек или нет, спам это или нормальное письмо, кошка это или собака на фотографии.

Человек различает объекты легко и интуитивно, а вот компьютер — нет. Но мы научим его это делать. Сейчас ты:

  • поймёшь суть задач классификации,
  • узнаешь, что такое KNN — один из самых простых и интуитивных алгоритмов,
  • построишь свою первую классификационную модель,
  • увидишь, как модель “разделяет” данные,
  • сделаешь прогноз: определит ли модель вид ириса по его параметрам.
-2

Что такое классификация

Представь, что перед тобой куча шариков разных цветов: красные, синие, зелёные. Твоя задача — разложить их по коробкам. Ты легко справишься: отличишь шарики по цвету, размеру, блеску — чему угодно. Компьютер делает то же самое. Только вместо шариков — строки таблицы. Вместо цвета — признаки: длина, вес, параметры, признаки изображения, данные сенсоров. Вместо коробок — классы.

Цель классификации: Научить модель определять, к какому классу относится новый объект на основе примеров.

-3

Какие бывают классы?

1. Бинарные — два варианта:

  • болеет / не болеет
  • спам / не спам
  • купит / не купит

2. Многоклассовые — больше двух вариантов:

  • три вида ирисов
  • 10 цифр (распознавание от 0 до 9)
  • 1000 видов объектов на изображениях

3. Несбалансированные — когда одного класса намного больше других (например, в медицине).

Мы будем работать с многоклассовой задачей — это проще понять и визуализировать.

🎁 Кстати, мы отмечаем 1000 подписчиков на канале и дарим вам скидку 50% на курс по System Design. Промокод: IT_EXTRA1000

Старый знакомый набор — Iris

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

  • длину лепестка
  • ширину лепестка
  • длину чашелистика
  • ширину чашелистика
  • вид цветка

Нужно научить модель определять вид цветка по его параметрам.

IT Extra

Что такое KNN — алгоритм “ближайшие соседи”

Это один из самых простых и интуитивных алгоритмов классификации. Он не строит сложных формул, графов или линий. Вместо этого он рассуждает… почти как человек. Принцип такой:

  1. Берём новый объект, который хотим классифицировать.
  2. Смотрим на k ближайших к нему объектов из обучающей выборки.
  3. Смотрим, к каким классам относятся эти “соседи”.
  4. Класс, который встречается чаще — тот и выбираем.

Представь, что ты переехал в новый город, хочешь узнать, где купить вкусную пиццу. Ты спрашиваешь нескольких случайных прохожих. Если большинство скажет: «Вон там лучший ресторан», — ты туда и пойдёшь. Это и есть работа KNN.

-4

Загружаем данные и готовим модель

Открываем IDLE и пишем:

-5

Мы указали n_neighbors = 3, значит модель будет “спрашивать мнение” у трёх ближайших соседей.

Делаем прогноз

Проверим, какой это вид ириса для какого-нибудь цветка из тестовых данных.

-6

Обычно модель угадывает правильно с первого раза — данные очень “чистые” и разделяются хорошо.

-7

Проверяем качество модели

Для классификации важна точность — доля правильных ответов.

-8

Обычно для набора Iris модель KNN показывает точность 0.95–1.00. В нашем случае:

-9

Это невероятно высокий результат — но он объясним: данные идеально подходят для обучения.

-10

Визуализация данных: как выглядят классы

Чтобы лучше понять, как модель “видит” данные, давай построим график.

Возьмём два признака: длину и ширину лепестка.

-11

Ты увидишь три ярко выраженные группы:

-12

Такой набор просто создан для классификации.

Что происходит внутри KNN?

Хоть алгоритм и простой, важно понимать его внутреннюю логику: У KNN нет фазы “настоящего" обучения. Он просто запоминает данные. При предсказании он ищет точки, которые находятся ближе всего к новой точке.

“Близость” определяется по расстоянию (например, по Евклидову), но не будем о матемитике — просто помни: чем ближе точки, тем “похожее” у них поведение. То есть KNN — это не модель в привычном смысле, а умный способ поиска похожих объектов.

Недостатки KNN

Хоть алгоритм прекрасен для обучения, он не идеален:

  • Медленный на больших данных — чем больше данных, тем дольше искать “соседей”.
  • Чувствителен к лишним признакам — иногда один признак “шумит” и сбивает предсказание.
  • Требует нормализации данных (мы изучим это позже).

Но для обучения основам — это лучший вариант.

Что дальше

Мы разберём деревья решений — один из самых популярных и интуитивных алгоритмов, который работает совсем иначе, чем KNN. Он думает не расстояниями, а “вопросами”: «Если ширина лепестка меньше X, то… иначе…»

Это мощная модель, которая лежит в основе случайных лесов и градиентного бустинга — методов, которые побеждают на соревнованиях Kaggle.

Следующий урок: Урок 6. Деревья решений — как компьютер “задаёт вопросы” и принимает решения

👍 Ставьте лайки если хотите разбор других интересных тем.

👉 Подписывайся на IT Extra на Дзен чтобы не пропустить следующие статьи

Если вам интересно копать глубже, разбирать реальные кейсы и получать знания, которых нет в открытом доступе — вам в IT Extra Premium.

Что внутри?
Закрытые публикации: Детальные руководства, разборы сложных тем (например, архитектура высоконагруженных систем, глубокий анализ уязвимостей, оптимизация кода, полезные инструменты и объяснения сложных тем простым и понятным языком).
Конкретные инструкции: Пошаговые мануалы, которые вы сможете применить на практике уже сегодня.
Без рекламы и воды: Только суть, только концентрат полезной информации.
Ранний доступ: Читайте новые материалы первыми.

Это — ваш личный доступ к экспертизе, упакованной в понятный формат. Не просто теория, а инструменты для роста.

👉 Переходите на Premium и начните читать то, о чем другие только догадываются.

👇
Понравилась статья? В нашем Telegram-канале ITextra мы каждый день делимся такими же понятными объяснениями, а также свежими новостями и полезными инструментами. Подписывайтесь, чтобы прокачивать свои IT-знания всего за 2 минуты в день!

IT Extra