Встречается на 5% собеседований по AI Engineer

Как обучается KNN

KNN (k-nearest neighbors) — алгоритм ленивого обучения, который не строит модель во время тренировки. Вместо этого он запоминает весь тренировочный набор. На этапе предсказания для нового объекта алгоритм ищет k ближайших соседей в тренировочных данных (обычно по евклидову расстоянию) и возвращает наиболее частый класс (классификация) или среднее значение (регрессия).

Пример:

python
from sklearn.neighbors import KNeighborsClassifier
X_train = [[1], [2], [3], [4]]
y_train = [0, 0, 1, 1]
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
print(knn.predict([[1.5]]))  # Output: [0]

Нюансы:

  • Чувствителен к масштабу данных — нужна нормализация.
  • Выбор k влияет на результат: маленькое k → шум, большое → сглаживание границ.
  • Вычислительно дорогой на больших данных (нет этапа обучения, но предсказание требует полного перебора).

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы