Может кто-нибудь объяснить мне, почему вам нужно нормализовать данные при использовании K ближайших соседей.
Я пытался найти это, но я все еще не могу понять это.
Я нашел следующую ссылку:
https://discuss.analyticsvidhya.com/t/why-it-is-necessary-to-normalize-in-knn/2715
Но в этом объяснении я не понимаю, почему больший диапазон в одной из функций влияет на прогнозы.
k-nearest-neighbour
bugsyb
источник
источник
Ответы:
Алгоритм k-ближайшего соседа основан на голосовании большинства, основанном на принадлежности к классу ближайших выборок 'k' для данной контрольной точки. Близость выборок обычно основана на евклидовом расстоянии.
Рассмотрим простую задачу классификации двух классов, где выбирается выборка класса 1 (черная) вместе с 10 ближайшими соседями (закрашена зеленым). На первом рисунке данные не нормированы, а на втором - нет.
Нормализация решает эту проблему!
источник
Предположим, у вас был набор данных (m «examples» от n «feature»), и все измерения, кроме одного, имели значения строго между 0 и 1, в то время как одно измерение объекта имело значения в диапазоне от -1000000 до 1000000. При принятии евклидова расстояния между парами «примеров» значения измерений признаков, которые находятся в диапазоне от 0 до 1, могут стать неинформативными, и алгоритм будет по существу полагаться на одно измерение, значения которого существенно больше. Просто разработайте пример расчета евклидова расстояния, и вы поймете, как масштаб влияет на вычисления ближайшего соседа.
источник