K Ближайший сосед: птицы одного полета собираются вместе.
В этой статье мы узнаем о концепции KNN, а также увидим, как они реализованы в R-программировании (с использованием пакета «class») и Python (библиотека «Scikit-Learn».
K Ближайший сосед — это очень простая и простая модель контролируемого машинного обучения, которую очень легко реализовать для выполнения задач классификации.
Это лениво: потому что у него не будет специальной фазы обучения, и он использует полные данные для определения новой точки данных или нового экземпляра данных.
Непараметрическая:что означает, что эта классификация не предполагает ничего о дате (например, нормальное распределение, равномерное распределение, линейная разделимость и т. д.), что на самом деле хорошо, потому что в действительности никакие данные не будут формироваться. будет следовать или соответствовать теоретическим предположениям.
Интуиция. Концепция, лежащая в основе KNN, очень проста. Она основана на измерении расстояния. Он вычисляет расстояние от новой точки данных до всех других точек данных, выбирает K ближайших соседей и присваивает новую точку данных группе большинства ближайших K точек данных, используя метод взвешенного голосования.
В качестве меры расстояния обычно используется евклидово расстояние, также может быть манхэттенское расстояние или расстояние Минковского.
Это очень легко реализуемая модель. Все, что вам нужно знать, это значение K и используемая мера расстояния.
Я разработал простые тематические исследования, используя KNN:
Обнаружение опухоли с помощью KNN с использованием программирования R: вы можете найти код для того же в приведенной ниже ссылке на Github:
Прогнозирование диабета с использованием KNN с использованием программирования на Python: вы можете найти код для того же в приведенной ниже ссылке на Github:
Надеюсь, приведенный выше код и данные будут полезны, когда вы пытаетесь реализовать KNN.
Об авторе :
Навин Кумар К.: специалист по данным, консультант по аналитике и ученик. Ему нравится находить решения проблем, связанных с данными. Он также преподает статистику, программирование, машинное обучение, визуализацию и другие предметы науки о данных.
Оставайтесь на связи со мной по адресу: http://www.linkedin.com/in/naveenkreddy