Доброго дня классные люди

За последние 42 дня из 70 дней машинного обучения с Data Science Nigeria я многому научился, особенно, создавая алгоритмы машинного обучения с нуля.

Сегодня я хочу поделиться с вами одним из изученных мной алгоритмов, K ближайшего соседа #kNN

kNN - это для меня самый простой алгоритм машинного обучения (это мое собственное мнение)

Чтобы сделать прогноз для новой точки данных, алгоритм находит ближайшие точки данных в наборе обучающих данных, предоставленном # его «ближайшими соседями».

Синие шары - наши тренировочные данные, где наша цель / метки равны 0, красный треугольник - наши тренировочные данные, где наша цель / метки равны 1, а три звезды - наша новая точка данных, которую мы должны предсказать, либо она равна 0 или 1

Синие звезды синие, потому что они ближе к синему мячу (помните, что синий шар - это точка, в которой цель / метка равна 0). Красная звезда красная, потому что она ближе к красному треугольнику (помните, что красный треугольник - это точка, в которой цель / метка равна 1)

Раньше у нас были две синие звезды и одна красная звезда (когда k = 1), но теперь у нас есть две красные звезды и одна синяя звезда, когда k = 3.

Теперь этот алгоритм использует формулу Евклида. Мы все знаем эту формулу, мы используем ее для вычисления расстояния до точки на графике (форма, координата).

D = √((x2 — x1)² + (y2 — y1)²)

Итак, если k = 1
Алгоритм определяет, что его цель / метка равна 0 или 1, найдя единственное кратчайшее расстояние до обучающих данных рядом с ним.

Если K = 3
Он находит три кратчайших расстояния до обучающих данных рядом с ним, а затем проводится выбор, если есть больше 0, чем 1, новая точка данных равна 0, и если есть больше 1 чем 0, то новая точка данных равна 1

Преимущества 😊
KNN в том, что она может быть линейной и нелинейной, в отличие от наших линейных моделей, модель kNN очень проста для понимания и часто дает разумные характеристики без множества настроек.

Недостаток 😔
Построение модели ближайших соседей обычно происходит очень быстро, но когда ваш обучающий набор очень велик (либо по количеству функций, либо по количеству выборок), прогнозирование может быть медленным.

Вы можете посмотреть, как я строю свой алгоритм kNN, на GitHub
kNN_Algorithm

Спасибо за чтение и за изучение 😊