2016-04-26 37 views
3

我試着打電話給預測近鄰的功能,得到了以下錯誤功能:呼叫預測與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

如何做預測?

回答

3

您正在混淆NearestNeighbors類和KNeighborsClassifier類。只有第二個具有predict功能。

注意從link您發佈的例子:

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類是無監督,不能用於分類,但只針對最近鄰搜索。