Ich versuche, ein KNN-Diagramm für meine Daten zu zeichnen, aber ich bekomme immer diesen Fehler, den ich nicht herausfinden kann.Plotten eines KNN-Klassifikationsgraphen für mehrere Funktionen
clf = neighbors.KNeighborsClassifier(k, weights=weights)
AttributeError: 'list' object has no attribute 'KNeighborsClassifier'
Unten habe ich meinen Code (ohne Importe) angehängt:
data_df = pd.DataFrame.from_csv("fvectors.csv")
X = np.array(data_df[features].values)
data_df2 = pd.DataFrame.from_csv("fvectors.csv")
y = np.array(data_df2[features1].replace("Circle",0).replace("Equilateral Triangle",1)
.replace("Right Angle Triangle",2).replace("Acute Triangle",3)
.replace("Obtuse Triangle",4).replace("Square",5)
.replace("Parallelogram",6).replace("Rectangle",7)
.replace("Pentagon",8).replace("Seal",9).values.tolist())
#step size in the mesh
h = .02
#Create color maps
cmap_light = ListedColormap(['#FFAAAA', '#AAFFAA', '#AAAAFF'])
cmap_bold = ListedColormap(['#FF0000', '#00FF00', '#0000FF'])
for weights in ['uniform', 'distance']:
#we create an instance of Neighbours Classifier and fit the data.
clf = neighbors.KNeighborsClassifier(k, weights=weights)
clf.fit(X, y)
#Plot the decision boundary. For that, we will assign a color to each
#point in the mesh [x_min, x_max]x[y_min, y_max].
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
np.arange(y_min, y_max, h))
Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
#Put the result into a color plot
Z = Z.reshape(xx.shape)
plt.figure()
plt.pcolormesh(xx, yy, Z, cmap=cmap_light)
#Plot also the training points
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=cmap_bold)
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
plt.title("3-Class classification (k = %i, weights = '%s')" % (k))
plt.show()
And my fvectors.csv file looks like this:
auch:
features = ["Number of Sides", "Standard Deviation of Number of Sides/Perimeter",
"Standard Deviation of the Angles", "Largest Angle"]
features1 = ["Label"]
Kann jemand sehen, was im falsch zu machen, oder wenn es sind andere Fehler, die herausstechen?
Was ist 'Nachbarn'? Sie definieren es nicht im Code. Stellen Sie sicher, dass Sie gelesen haben, wie Sie ein [mcve] erstellen. – ImportanceOfBeingErnest