使用 Python scikit sklearn 调用最近邻 (knn) 分类器的预测函数



>我尝试调用最近邻居的预测函数,但得到以下错误:

AttributeError: 'NearestNeighbors' object has no attribute 'predict'

代码为:

from sklearn.neighbors import NearestNeighbors
samples = [[0., 0., 0.], [0., .5, 0.], [1., 1., .5]]
neigh = NearestNeighbors()
neigh.fit(samples)
neigh.predict([[1., 1., 1.]]) # this cause error

我已经阅读了文档,它具有预测功能:http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html

如何进行预测?

你混淆了NearestNeighbors类和KNeighborsClassifier类。只有第二个具有predict功能。

请注意您发布的链接中的示例:

X = [[0], [1], [2], [3]]
y = [0, 0, 1, 1]
from sklearn.neighbors import KNeighborsClassifier
neigh = KNeighborsClassifier(n_neighbors=3)
neigh.fit(X, y) 
print(neigh.predict([[1.1]]))
print(neigh.predict_proba([[0.9]]))

NearestNeighbors类是无监督的,不能用于分类,而只能用于最近邻搜索。

最新更新