Scikit learn 如何在scikit学习中使用用户定义的最近邻度量?

Scikit learn 如何在scikit学习中使用用户定义的最近邻度量?,scikit-learn,distance,metrics,nearest-neighbor,Scikit Learn,Distance,Metrics,Nearest Neighbor,我正在使用scikit学习0.18.dev0。我知道以前也有人问过同样的问题。我尝试了这里给出的答案,我得到了以下错误 >>> def mydist(x, y): ... return np.sum((x-y)**2) ... >>> X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]]) >>> nbrs = NearestNeighbors(n

我正在使用scikit学习0.18.dev0。我知道以前也有人问过同样的问题。我尝试了这里给出的答案,我得到了以下错误

>>> def mydist(x, y):
...     return np.sum((x-y)**2)
...
>>> X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3,   2]])

>>> nbrs = NearestNeighbors(n_neighbors=4, algorithm='ball_tree',
...            metric='pyfunc', func=mydist)
错误消息
\u init\u params()获取了意外的关键字参数“func”


看起来此选项已被删除。如何在
sklearn.neights
中使用用户定义的矩阵?

正确的关键字是
metric

import numpy as np
from sklearn.neighbors import NearestNeighbors

def mydist(x, y):
    return np.sum((x-y)**2)

nn = NearestNeighbors(n_neighbors=4, algorithm='ball_tree', metric=myfunc)

X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3,   2]])
nn.fit(X)
开发版本的文档字符串中也提到了这一点: