Встречается на собеседованиях • сегодня

Что такое KNN

KNN (k-Nearest Neighbors) — алгоритм классификации и регрессии, основанный на поиске k ближайших соседей к новой точке данных. При классификации класс определяется большинством голосов среди соседей, при регрессии — средним значением их целевых переменных.

Ключевые моменты:

  • Метрика расстояния: Обычно Евклидово, но может быть Манхэттен, косинусное и др.
  • Выбор k: Малое k → шум чувствителен, большое k → сглаживание границ. Оптимальное k подбирают через кросс-валидацию.
  • Масштабирование признаков: Обязательно, так как алгоритм чувствителен к масштабу.

Пример с кодом (Python, scikit-learn):

python
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split

# Данные
X, y = ...  # features и target
X_train, X_test, y_train, y_test = train_test_split(X, y)

# Масштабирование
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

# Обучение
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train_scaled, y_train)
print("Accuracy:", knn.score(X_test_scaled, y_test))

Плюсы: Простота, интерпретируемость.
Минусы: Медленный на больших данных, чувствительность к выбросам и дисбалансу классов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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