使用 sklearn KNN 显示最近的邻居
Show nearest neighbors with sklearn 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])
您可以使用 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])
.
我知道在用 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])
您可以使用 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])
.