2017-04-04 7 views
0

私のデータのKNNグラフをプロットしようとしていますが、このエラーが発生し続けています。複数のフィーチャのKNNクラシファイアグラフをプロットする

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:

また:

features = ["Number of Sides", "Standard Deviation of Number of Sides/Perimeter", 
     "Standard Deviation of the Angles", "Largest Angle"] 


features1 = ["Label"] 

誰もがイムが間違っているのかを見ることができ、またはそこにもし私が(輸入を除く)私のコードを添付した以下

clf = neighbors.KNeighborsClassifier(k, weights=weights) 
AttributeError: 'list' object has no attribute 'KNeighborsClassifier' 

目立つ他のエラーはありますか?

+0

「隣人」とは何ですか?あなたはコード内でそれを定義しません。 [mcve]の作成方法をお読みください。 – ImportanceOfBeingErnest

答えて

0

インポートに問題があるようです。試してみてください:

from sklearn.neighbors import KNeighborsClassifier

次に、KNeighborsClassifierを直接使用してください。

+0

私はこのエラーを受け取ります: 'ValueError:クエリデータ次元がトレーニングデータ次元と一致しなければならない ' –

+1

あなたは深刻ですか、@ Thomですか?既知のコードの半分は不明な行のValueErrorを未知のトレースバックで返しますが、誰かがなぜそれを見つけ出すことを期待していますか? – ImportanceOfBeingErnest

+0

Thom、あなたの入力(XとY)の形を印刷してください。 (X.shapeを印刷してください)、形状を修正するための変形方法を試してください。それは私の最高の推測です、さもなければ私達に多くの情報を与えてください。 – Fujii

関連する問題