>我尝试调用最近邻居的预测函数,但得到以下错误:
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
类是无监督的,不能用于分类,而只能用于最近邻搜索。