前提・実現したいこと
SVMを用いて領域分類した結果を可視化したいと思っています。
ここに質問の内容を詳しく書いてください。
その際に、機械学習のコードを参考にコーディングをjupyter notebookで行いました。
すると境界線とは別に線が何本か引かれているグラフが表示されてしまいました。
この線は何を表しているのか、どうすれば消えるのかを解決したいです。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
python
1ソースコード 2AV_df = pd.read_csv("AV1.0~3.0 nomal2.csv") 3x = AV_df.iloc[0:75, [0,1]].values 4y = AV_df.iloc[0:75, 2].values 5model = SVC(kernel = "rbf", random_state = 0, C = 10, gamma = 100 ) 6model.fit(x, y) 7 8def plot_decision_regions(X, y, classifier, test_idx=None, resolution=0.02): 9 markers = ('s','x','o','^','v') 10 colors = ('red','blue','lightgreen','gray','cyan') 11 cmap = ListedColormap(colors[:len(np.unique(y))]) 12 13 x1_min, x1_max = X[:, 0].min() -0.015, X[:, 0].max() +0.055 14 x2_min, x2_max = X[:, 1].min() -0.02, X[:, 1].max() +0.02 15 16 xx1, xx2 = np.meshgrid(np.arange(x1_min, x1_max, resolution), np.arange(x2_min, x2_max, resolution)) 17 Z = classifier.predict(np.array([xx1.ravel(), xx2.ravel()]).T) 18 Z = Z.reshape(xx1.shape) 19 plt.contourf(xx1,xx2,Z,alpha = 0.4, cmap = cmap) 20 plt.xlim(xx1.min(), xx1.max()) 21 plt.ylim(xx2.min(), xx2.max()) 22 23 for idx, cl in enumerate(np.unique(y)): 24 plt.scatter(x=X[y == cl, 0], y=X[y == cl, 1],alpha = 0.8, c= cmap(idx), marker= markers[idx], label = cl) 25 26 if test_idx: 27 X_test, y_test = X[test_idx, :], y[test_idx] 28 plt.scatter(X_test[:,0], X_test[:,1] ,c='', alpha=1.0, linewidth = 1, marker='o', s =55,label = 'test set') 29 30plot_decision_regions(x, y, classifier = model)
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
回答2件
あなたの回答
tips
プレビュー