サポートベクターマシン(SVM)

所要時間

120分

学ぶコト

・サポートベクターマシン(SVM)の概要
・サポートベクターマシンをPythonで実装

サポートベクターマシンの実装に挑戦!

それではサポートベクターマシンを実装してみましょう!

このレッスンではご自身で取り組んでいただきます。

課題

・irisのデータセットを使ってください
・学習データとテストデータは5:5に分けてください
・サポートベクターマシンを使ってください
・正解率と混合行列をアウトプットしてください

もうだいぶ慣れてきたので、問題なくコーディングできるのではないでしょうか?

終了したら以下の解答を見てみましょう!

解答を見る
# ライブラリの読み込み
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
import seaborn as sns

# irisデータの読み込み
df = sns.load_dataset("iris")

# 説明変数と目的変数に分ける
df_x = df.drop('species', axis=1)
df_y = df['species']

#学習データをテストデータを分割
train_x, test_x, train_y, test_y = train_test_split(df_x, df_y, test_size=0.5)

#モデル学習
model = SVC()
model.fit(train_x, train_y)

# 予測値を算出
pred_y = model.predict(test_x)

# 正解率を表示
print(model.score(test_x, test_y))

# 混合行列を算出
print(confusion_matrix(pred_y, test_y))

0.96
[[23 0 0]
[ 0 27 1]
[ 0 2 22]]

もうだいぶ慣れてきたのではないでしょうか?

それでは次にいってみましょう!