sklearnで、 SVM (サポートベクターマシン) 分類問題
index:
概要
機械学習で、SVM を使用した。分類問題をテストしてみたいと
思います
SVM 定義としては、下記のようでした
訓練データにおいて、他クラスの中で最も近い位置にあるサポートベクタを基準として、
距離(マージン)が最も大きくなるように境界線を引く方法
環境
python 3.5.2
sklearn
コード
python3 です。
github.com
データセット
load_breast_cancer のデータ使用しました。
処理
LinearSVC を、使用し、
学習、予測、評価のスコアを求めます。
model = LinearSVC() clf = model.fit(X_train,y_train) #pred= model.predict(X_train) pred= model.predict(X_test ) #print("pred=", pred.shape ) df= pd.DataFrame(pred) print(df.head() ) #quit() print("train:",clf.__class__.__name__ ,clf.score(X_train,y_train)) print("test:",clf.__class__.__name__ , clf.score(X_test,y_test))
結果
(426, 30) (143, 30) (426,) (143,) 0 0 1 1 1 2 1 3 1 4 0 train: LinearSVC 0.870892018779 test: LinearSVC 0.874125874126