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

Классификация — это процесс распределения данных по разным классам. Классификация — это контролируемое обучение, в котором переменная ответа является категориальной переменной. Например; конкретное электронное письмо, которое мы получаем, является спамом или не является спамом.

Проблема классификации делится на две категории:

(а). Категориальный (классификация)

(б). Числовой (регрессия)

Эта статья основана на классификации с 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

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

  1. Это простой алгоритм машинного обучения с хорошей производительностью классификации.
  2. KNN можно использовать как для классификации, так и для задач регрессии.
  3. Алгоритм KNN на самом деле не требует обучающего набора, хорошо работает во время прогнозирования

Недостатки:

  1. Чтобы запустить KNN на большом наборе данных, нам нужно больше памяти.
  2. Он чувствителен к нерелевантным данным/выбросам.
  3. KNN придает одинаковое значение всем функциям, но это можно исправить с помощью соответствующей меры расстояния.

Надеюсь, вам понравилась статья, До следующего раза!!!