Изучите использование kNN с помощью определяемой пользователем метрикиPython

Программы на Python
Ответить
Anonymous
 Изучите использование kNN с помощью определяемой пользователем метрики

Сообщение Anonymous »

В настоящее время я работаю над проектом, который может потребовать использования алгоритма kNN для поиска первых k ближайших соседей для заданной точки, скажем, P. Я использую пакет python, sklearn для выполнения этой работы, но наша предопределенная метрика не является одной из этих метрик по умолчанию. поэтому мне приходится использовать пользовательскую метрику из документов sklearn, которые можно найти здесь и здесь.

Кажется, что последняя версия sklearn kNN поддерживает пользовательскую метрику, но я не могу найти, как ее использовать:

Код: Выделить всё

import sklearn
from sklearn.neighbors import NearestNeighbors
import numpy as np
from sklearn.neighbors import DistanceMetric
from sklearn.neighbors.ball_tree import BallTree
BallTree.valid_metrics
скажем, я определил метрику с именем mydist=max(x-y), затем использую DistanceMetric.get_metric, чтобы сделать ее объектом DistanceMetric:

Код: Выделить всё

dt=DistanceMetric.get_metric('pyfunc',func=mydist)
из документа строка должна выглядеть так

Код: Выделить всё

nbrs = NearestNeighbors(n_neighbors=4, algorithm='auto',metric='pyfunc').fit(A)
distances, indices = nbrs.kneighbors(A)
но где я могу вставить dt? Спасибо

Подробнее здесь: https://stackoverflow.com/questions/210 ... ned-metric
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»