В такой ситуации учитывается также и расстояние до новой записи. Чем меньше расстояние, тем более значимый вклад вносит голос. Голоса за класс находятся по следующей формуле:
,
где d2(X, Yi) – квадрат расстояния от известной записи Yi до новой X, n – количество известных записей класса, для которого рассчитываются голоса, class - наименование класса.
Класс, набравший наибольшее количество голосов, присуждается новой записи. При этом вероятность того, что несколько классов наберут одинаковые голоса, гораздо ниже. Совершенно очевидно, что при k = 1 новой записи присваивается класс самого ближайшего соседа.
Но что делать, если стоит задача прогнозирования непрерывной переменной? В этом случае вместо функции сочетания используют следующие формулы:
,
,
где – квадрат расстояния от записи Xi до новой записи X, – значение выходной непрерывной переменной для новой записи.