2016-04-26 1 views
3

Ich habe versucht Funktion der nächsten Nachbarn zu nennen vorherzusagen und bekam folgende Fehlermeldung:Aufruf vorhersagen Funktion für nächsten Nachbarn (KNN) Klassifikator mit Python scikit sklearn

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

Der Code ist:

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 

ich habe die Dokumentation zu lesen und es hat Funktion vorhersagen: http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html

Wie die vorhersagen zu tun?

Antwort

3

Sie sind verwirrend die NearestNeighbors Klasse und die KNeighborsClassifier Klasse. Nur der zweite hat die predict Funktion.

Hinweis das Beispiel aus dem link Sie auf dem Laufenden:

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]])) 

Die NearestNeighbors Klasse ist unbeaufsichtigt und nicht für die Einstufung verwendet werden können, sondern nur für die nächsten Nachbarn sucht.