Что такое классификация?
Классификация — это процесс распределения данных по разным классам. Классификация — это контролируемое обучение, в котором переменная ответа является категориальной переменной. Например; конкретное электронное письмо, которое мы получаем, является спамом или не является спамом.
Проблема классификации делится на две категории:
(а). Категориальный (классификация)
(б). Числовой (регрессия)
Эта статья основана на классификации с k-ближайшим соседом, также известной как KNN.
Что такое KNN?
Давайте разберемся на примере. Предположим, мы хотим создать алгоритм, который может предсказать, нравится ли кому-то красный цвет, синий или ни один из них, на основе наших обучающих данных, т.е.; переменные-предикторы. Чтобы классифицировать новые точки данных (точки тестовых данных) в одну из трех групп (красная, синяя или ни одна), KNN вычисляет расстояние между точкой тестовых данных и ее соседями. Он вычисляет расстояние между точками данных k-distance, гдеk — это гиперпараметр, обозначающий количество соседей. .
Какое значение k выбрать, чтобы максимально повысить точность нашей модели? Если мы выберем более низкое значение k, наша модель будет содержать шум, который не будет подходить для будущих прогнозов, что означает более низкое значение k превосходит данные, хорошо подходит для данных обучения, но не для данных тестирования, и если мы выберем более высокое значение k, будет меньше шансов на ошибку, однако это будет дорого в вычислительном отношении. Решением будет выполнение k-кратной перекрестной проверки для определения оптимального значения k.
Для k предпочтительнее использовать нечетное число, так как четное значение k может привести к проблемам с равными результатами.
Как это работает?
В приведенном выше наборе данных цвет является нашей переменной ответа, и мы можем делать прогнозы для новой точки данных на основе наших переменных-предикторов, которыми в нашем случае являются возраст и пол. Мы предскажем, каким может быть цвет «Ханна», используя алгоритм KNN для классификации точки тестовых данных на основе других ее атрибутов.
Возьмем k=3 для этого конкретного примера. Если мы посмотрим на наши данные, некоторые из наших переменных являются категориальными, и здесь нашим первым шагом будет преобразование категориальных данных в числовые данные. Для гендерной переменной мы определим мужской (M) = 0 и женский (F) = 1. Теперь наши данные выглядят примерно так.
Второй шаг — найти расстояние. KNN использует некоторые меры расстояния, и мы будем использовать евклидово расстояние для этого конкретного примера. Формула вычисляет расстояние между новой точкой данных и другими точками данных.
Здесь у нас есть две переменные (возраст и пол), которые помогут определить цвет Ханны, поэтому в формуле также есть x, представляющие возраст, и y, представляющие пол. Если бы у нас было три переменных, то у нас были бы x, y и z.
Например, если новой точкой данных является Ханна, которая является женщиной, и ее возраст составляет 22 года, мы рассчитаем расстояние с другими наблюдениями, где расстояние между Ханной и первым наблюдением Дакшем, который является мужчиной, и его возраст составляет 28 лет. 5.92. Только для одного наблюдения мы можем рассчитать расстояние для каждого наблюдения, как показано в таблице ниже:
Теперь, как решили наши k=3, мы будем искать три ближайших расстояния для Ханны, и если мы посмотрим на нашу таблицу, то тремя ближайшими будут Гурлин, Ваншика, и Серра. Давайте посмотрим на классификацию этих трех соседей, и мы увидим, что Герлин любит красный цвет, Ваншике нравится синий цвет, а Серре нравится красный цвет. Красный цвет наиболее распространен среди трех наших ближайших соседей, и KNN предскажет, что Ханне нравится красный цвет, основываясь на наших ближайших соседях, так работает алгоритм KNN.
Преимущества и недостатки классификатора KNN
Преимущества:
- Это простой алгоритм машинного обучения с хорошей производительностью классификации.
- KNN можно использовать как для классификации, так и для задач регрессии.
- Алгоритм KNN на самом деле не требует обучающего набора, хорошо работает во время прогнозирования
Недостатки:
- Чтобы запустить KNN на большом наборе данных, нам нужно больше памяти.
- Он чувствителен к нерелевантным данным/выбросам.
- KNN придает одинаковое значение всем функциям, но это можно исправить с помощью соответствующей меры расстояния.
Надеюсь, вам понравилась статья, До следующего раза!!!