Введение в алгоритм KNN в R
В алгоритме KNN в R KNN обозначает алгоритм K ближайшего соседа, а R - язык программирования. Говорят, что это самый простой алгоритм машинного обучения. KNN - это контролируемый алгоритм, который классифицирует точки данных в целевой класс путем сравнения характеристик с ближайшим соседом.
Пример. Предположим, вы хотите классифицировать сенсорный экран и телефон с клавиатурой. Существуют различные факторы, которые влияют на дифференциацию обоих телефонов. Тем не менее, фактором, который отличает оба телефона, является клавиатура. Итак, когда мы получаем точку данных (т.е. телефон). Мы сравниваем его с аналогичными функциями соседних точек данных, чтобы классифицировать его как клавиатуру или сенсорный телефон.
Особенности алгоритма КНН
Здесь мы рассмотрим особенности алгоритма KNN:
- Алгоритм KNN использует входные данные для прогнозирования выходных данных набора точек.
- Алгоритм может быть применен к различным наборам задач.
- Ориентирован на сходство функций для классификации данных.
- Алгоритм KNN обрабатывает реалистичные данные и не делает никаких предположений о точках данных.
- KNN запоминает набор обучающих данных, а не интуитивно понятен. Также можно сказать, что у него ленивый подход.
- Это может решить проблемы классификации и регрессии.
Решение проблем в алгоритме KNN в R
Следующая проблема решения:
1. Проблема классификации
В задаче классификации значения являются дискретными, как если бы вы хотели есть пиццу с начинкой или без нее. Есть точки соприкосновения. Алгоритм КНН помогает в решении такой проблемы.
2. Проблема регрессии
Проблема регрессии становится очевидной, когда у нас есть зависимая переменная и независимая переменная. Пример: индекс ИМТ. Как правило, каждая строка содержит точку наблюдения или данные и пример.
Алгоритм КНН в R
Давайте посмотрим на шаги в алгоритме, который должен следовать:
Шаг 1: Загрузите входные данные.
Шаг 2: Инициализируйте K числом ближайших соседей.
Шаг 3: Расчет данных (т. Е. Расстояние между текущим и ближайшим соседом)
Шаг 4: Добавление расстояния к текущему упорядоченному набору данных.
Шаг 5: Собираем записи K и маркируем их.
Шаг 6: Верните среднее значение для задачи регрессии.
Шаг 7: Вернуть значение режима для задач классификации.
Что нужно помнить при реализации алгоритма KNN
- Мы должны удостовериться, что значение K больше единицы, это мешает прогнозированию быть точным.
- Чем больше значение K, тем более точный прогноз может быть у большинства.
- Предпочтительно иметь K как нечетное число. В противном случае это может привести к нарушению связей.
Псевдокод KNN
В приведенной ниже формуле представляет переменные и представляет точки данных, где (i = 1, 2, 3….)
Set(, )
Случаи использования
Ниже приведены варианты использования алгоритма KNN в R:
1. Сравнение продуктов и помощь в покупках Рекомендации
Когда мы покупаем ноутбук или компьютер на веб-сайте электронной коммерции, мы также видим рекомендации по покупке, такие как покупка антивирусного программного обеспечения или динамиков. Все это потому, что когда предыдущий покупатель покупает ноутбук, его в основном покупают вместе с антивирусом или динамиками. Машинное обучение помогает в рекомендациях электронной коммерции.
2. Рекомендации по питанию
Машинное обучение также помогает в рекомендациях, основанных на ранее заказанной еде, и также предлагает рестораны соответственно.
Пример алгоритма КНН
Ниже приведены примеры алгоритма KNN:
1. Импорт данных
Давайте возьмем фиктивные данные о нас, предсказывающие размер футболки парня с помощью роста и веса.
Высота (см) | Вес (кг) | Размер |
140 | 58 | S |
140 | 59 | S |
140 | 63 | S |
150 | 59 | M |
152 | 60 | M |
153 | 60 | M |
154 | 61 | M |
155 | 64 | M |
156 | 64 | M |
157 | 61 | M |
160 | 62 | L |
161 | 65 | L |
162 | 62 | L |
163 | 63 | L |
163 | 66 | L |
165 | 63 | L |
165 | 64 | L |
165 | 68 | L |
2. Нахождение сходства путем расчета расстояния
Мы можем использовать как манхэттенское, так и евклидово расстояние, поскольку данные непрерывны. Мы рассчитываем расстояние между новой выборкой и набором обучающих данных, затем находим K-ближайший.
Пример. Допустим, «Радж» имеет рост 165 см и весит 63 кг. Мы вычислим евклидово расстояние, используя первое наблюдение с новой выборкой: SQRT ((165-140) 2 + (63-58) 2)
3. Нахождение K-ближайших соседей
Предположим, что K = 4. Есть 4 клиента, у 3 из которых средний размер, а у 1 большой размер. Лучший прогноз - костюмы среднего размера Радж.
Разница между КНН и К-средним
Вот разница:
- KNN - контролируемый алгоритм (зависимая переменная), тогда как K-mean - неконтролируемый алгоритм (без зависимой переменной).
- K-mean использует метод кластеризации для разделения точек данных, образующих K-кластеры. KNN использует K-ближайших соседей для классификации точек данных и их объединения.
Преимущества и недостатки KNN
Ниже приведены преимущества:
- Алгоритм КНН является универсальным, может использоваться для задач классификации и регрессии.
- Нет необходимости в предшествующей модели для построения алгоритма KNN.
- Просто и легко реализовать.
Ниже приведены недостатки:
- Алгоритм по мере увеличения количества выборок (т.е. без переменных)
Рекомендуемые статьи
Это руководство по алгоритму KNN в R. Здесь мы обсуждаем особенности, примеры, псевдокод, шаги, которые необходимо выполнить в алгоритме KNN. Вы также можете просмотреть другие наши статьи, чтобы узнать больше-
- Алгоритмы Науки Данных
- Что такое генетический алгоритм?
- Алгоритмы маршрутизации
- Алгоритмы нейронной сети
- С ++ Алгоритм | Примеры алгоритма C ++