显示sklearn KNN最近的邻居

时间:2019-11-17 21:39:27

标签: python machine-learning scikit-learn knn

我知道在使用sklearn拟合KNN模型之后,我可以像这样预测标签:

from sklearn.neighbors import KNeighborsClassifier

knn = KNeighborsClassifier(n_neighbors=3)
knn.fit([3,1,4,3], [1,0,1,1)]

In: knn.predict([3])
Out: array([0])

但是可以让KNN显示最近的邻居实际上是什么吗?用伪代码看起来像:

In: knn.show_nearest_neighbors([3], n_neighbors = 3)
Out: array([3,3,4])

1 个答案:

答案 0 :(得分:1)

您可以使用knn.kneighbors([[3]], n_neighbors=3, return_distance=False)获取邻居的索引:

import numpy as np
from sklearn.neighbors import KNeighborsClassifier

knn = KNeighborsClassifier(n_neighbors=3)
X = np.array([[3],[1],[4],[3]])
knn.fit(X, [1,0,1,1])

l = knn.kneighbors([[3]], n_neighbors=3, return_distance=False)
X[l].ravel()

它输出:array([3, 3, 4])