Задача: Реализация KNN-классификатора "с нуля"

Напишите собственный класс, который реализует алгоритм k ближайших соседей для классификации.

Класс должен поддерживать:

  1. Две метрики расстояния: евклидову и манхэттенскую
  2. Два режима голосования: равномерный (uniform) и взвешенный по расстоянию (distance)
  3. Методы fit() и predict()

Протестируйте реализацию на датасете Iris и Digits, сравните точность с KNeighborsClassifier. В отчете проанализируйте, как выбор метрики и режима голосования влияет на качество классификации.

Ссылка на репозиторий