Как использовать самостоятельно определенную метрику расстояния в Sklearn

#python #machine-learning #scikit-learn #distance #knn

#python #машинное обучение #scikit-learn #расстояние #knn

Вопрос:

Я написал код для вычисления расстояния между двумя строками входных матриц и планирую запустить на нем KNeighborsClassifier. Как мне использовать другую метрику расстояния в Sklearn KNeighborsClassifier?

Например:

 def distanceMetric(a, b):
    distance = <some distance>
    return distance
  

Также какие классификаторы предоставляют возможность определять новую функцию расстояния?

Комментарии:

1. вы смотрели на API? scikit-learn.org/stable/modules /…

2. @WildCard, я думаю, вы неправильно поняли, я не хочу использовать одну из готовых метрик, но хочу использовать свою собственную.

Ответ №1:

Sklearn имеет множество встроенных метрик расстояния. Но если вы хотите использовать свою собственную, вы делаете следующее:

 NearestNeighbors(metric='pyfunc', func=distanceMetric)
  

Проверьте страницу метрики расстояния в sklearn для получения полного списка опций.

Комментарии:

1. Я уже знаю, как использовать ее в алгоритме кластеризации, но мне нужен алгоритм классификации

2. @NinadT Вы спрашиваете, как это сделать в KNearestNeighbors() или в какой-либо классификации вообще?