Спринт 10/24 → Тема 4/11: kNN → Урок 1/10

Кратко:

  • Статья представляет введение в Data Science и модель классификации kNN.
  • Цель: сравнить kNN с другими методами и углубить знания о ней.
  • Основные темы: применение k-ближайших соседей, настройка модели, влияние масштаба признаков, проверка качества решений, F1-мера и ROC-AUC, мультиклассовая классификация.
  • Обучение включает 8 уроков по 20-30 минут каждый.
  • Задача: классификация музыкальных треков по жанрам, бинарная и мультиклассовая классификация.

Спринт 10/24 → Тема 4/11: kNN → Урок 2/10

Кратко:
  • Модель kNN используется для решения задач классификации и регрессии.
  • Она работает по принципу аналогии, сравнивая объекты с ближайшими соседями в данных.
  • kNN является "ленивой" моделью, запоминающей значения входных признаков и меток классов.
  • Модель kNN подходит для работы с нелинейными данными и имеет простую интерпретацию.
  • В практическом кейсе рассматривается задача классификации музыкальных стилей.
  • Модель kNN используется для бинарной и мультиклассовой классификации.
  • Результаты kNN легко интерпретируются, что делает его подходящим для работы с нелинейными данными.

Спринт 10/24 → Тема 4/11: kNN → Урок 3/10

Кратко:
  • В статье рассматривается модель kNN и бинарная классификация треков на блюз и джаз.
  • Модель kNN использует количество ближайших соседей для присвоения класса объектам.
  • В библиотеке sklearn метод k-ближайших соседей реализован в классе KNeighborsClassifier.
  • Количество ближайших соседей можно настроить с помощью параметра n_neighbors.
  • Подготовка данных включает кодирование категориальных признаков и отделение количественных от категориальных.
  • Выбор значения k важен для баланса между точностью и обобщающей способностью модели.
  • Рекомендуется выбирать нечётное значение k для избежания ситуаций с одинаковыми числами соседей разных классов.
  • График зависимости accuracy от количества ближайших соседей может помочь определить идеальное значение k.

КМ. Задача 1

КМ. Задача 2

КМ. Задача 3

Спринт 10/24 → Тема 4/11: kNN → Урок 4/10

Кратко:
  • kNN - алгоритм классификации, основанный на вычислении расстояния между объектами.
  • Евклидово расстояние - наиболее часто используемая мера дистанции в kNN.
  • Манхэттенское расстояние - мера дистанции между объектами, основанная на длине прямых линий между точками.
  • Выбор функции расчёта расстояния - этап настройки модели kNN, выбор значения настройки metric.
  • Евклидово и манхэттенское расстояния - не единственные меры дистанции, доступные в библиотеках scipy и sklearn.
  • Манхэттенское расстояние выбирается, когда в данных много выбросов, их влияние на модель нужно минимизировать.
  • Евклидовое расстояние чаще используется на практике.

КМ. Задача 1

КМ. Задача 2

Спринт 10/24 → Тема 4/11: kNN → Урок 5/10

Кратко:
  • Расчёт расстояния критически зависит от масштаба данных.
  • Если не масштабировать данные, то прогнозы модели потеряют в точности.
  • Модель kNN легко интерпретировать - это одна из её самых сильных сторон.
  • Особенности её работы можно быстро объяснить любому человеку, вне зависимости от его понимания математики и Data Science.

КМ. Задача 1

КМ. Задача 2

Спринт 10/24 → Тема 4/11: kNN → Урок 6/10

Кратко:
  • Метрика F1-мера оценивает качество модели по числу ошибок обоих родов.
  • F1-мера - среднее гармоническое между precision и recall, значение в диапазоне (0, 1).
  • F1-мера подходит для оценки модели по числу ошибок обеих родов.
  • В библиотеке sklearn есть средства для расчёта F1-меры.
  • F1-мера учитывает precision и recall в равной мере, но можно регулировать их влияние с помощью коэффициента β.
  • F1-бета (взвешенный F1) рассчитывает другая функция sklearn.
  • Задача 1: проверить модель kNN на жанре джаз, рассчитать метрики F1 и F1-бета.

КМ. Задача 1

Спринт 10/24 → Тема 4/11: kNN → Урок 7/10

Кратко:
  • Модель kNN работает по аналогии, но результаты ее работы можно использовать для определения вероятности принадлежности к классу.
  • ROC-кривая и ROC-AUC - метрики, оценивающие работу модели по результатам классификации и порогу вероятности.
  • Метрики TPR, FPR - True Positive Rate (TPR) и False Positive Rate (FPR) - доля положительных и отрицательных объектов, правильно предсказанных моделью.
  • ROC-кривая - график зависимости TPR от FPR, строится с помощью функции roc_curve из библиотеки sklearn.
  • ROC-AUC - метрика качества классификации, учитывает работу модели при всех возможных порогах и не зависит от одного конкретного.
  • Выбор подходящей метрики зависит от задачи: Accuracy, Recall, Precision, F1-score, ROC-AUC.

КМ. Задача 1

КМ. Задача 2

Спринт 10/24 → Тема 4/11: kNN → Урок 8/10

Кратко:
  • Метрики бинарной классификации не подходят для мультиклассовых задач.
  • Матрица ошибок является фундаментом для большинства метрик.
  • Функция confusion_matrix() не подходит для мультиклассовой классификации.
  • ConfusionMatrixDisplay() - гибкий инструмент для визуализации матрицы ошибок.
  • ConfusionMatrixDisplay() имеет два метода: from_predictions() и from_estimator().
  • Задача: оценка качества модели для классификации трех жанров музыки.
  • Идеальная матрица ошибок не существует, все модели допускают ошибки.
  • Для мультиклассовой классификации нужны альтернативные инструменты анализа качества решений.

КМ. Задача 1

Спринт 10/24 → Тема 4/11: kNN → Урок 9/10

Спринт 10/24 → Тема 4/11: kNN → Урок 10/10

Кратко:
  • Модель kNN обладает легкостью интерпретации и подходит для решения задач классификации и регрессии.
  • Алгоритм k-ближайших соседей сравнивает новые объекты с большинством соседей, принадлежащих к определенному классу.
  • Число соседей, с которыми сравниваются объекты, зависит от параметра k, а близость объектов вычисляется как расстояние между векторами.
  • Для оценки качества модели используются F1-мера и ROC-AUC, которые зависят от порога классификации.
  • Метрики precision, recall, F1-score и ROC-AUC усредняются для мультиклассовой классификации с использованием подходов micro и macro.
  • Шпаргалка по теме может быть использована для запоминания ключевых моментов.
  • В следующей теме изучается борьба с дисбалансом классов и кросс-валидация для обучения и тестирования модели.
Заключение

Вы овладели моделью kNN — поздравляем! Её главное преимущество — лёгкость интерпретации. kNN подойдёт вам, если в данных есть нелинейные зависимости, но при этом вам нужно знать, как модель принимает решения. Кроме этого, kNN, как и SVM, применяют и для решения задач регрессии.

Чему вы научились

  • Использовать kNN для решения задач классификации. Алгоритм k-ближайших соседей рассуждает по аналогии: если большинство соседей объекта принадлежат к классу 1, значит, и сам новый объект к нему принадлежит.
  • Настраивать kNN. Число соседей, с которыми вы сравниваете новые объекты, зависит от параметра k. Близость объектов зависит от дистанции между ними, она вычисляется как расстояние между двумя векторами. Не забывайте масштабировать данные перед тем, как рассчитывать расстояния, — это критично для работы модели!
  • Использовать F1-меру и ROC-AUC для оценки качества модели. Если вам важны одновременно precision и recall модели, то вы можете рассчитать их гармоническое среднее — F1-меру. Но её значение зависит от порога классификации. Если вам нужно оценить качество модели с учётом всех возможных порогов, вам подойдёт ROC-AUC.
  • Применять известные вам метрики качества классификации к задачам с несколькими классами. Метрики precision, recall, F1-score и ROC-AUC нужно усреднить для задач мультиклассовой классфикации. Для этого существуют два подхода — micro и macro. Если вы работаете с данными, где все классы важны в равной степени, вам подойдёт macro-подход — он одинаково оценивает все классы. Если же вам нужно лучше всего определять объекты наиболее представленного в данных класса и вы хотите снизить влияние других классов на метрику, то лучше использовать micro-усреднение.

Заберите с собой

Чтобы ничего не забыть, скачайте шпаргалку по теме.