第5章:非線形SVM

公開日:2019-08-15
最終更新日:2019-08-26

skl05-0:準備
次のcurry2.csvは第1章で用いたBobのカレーに対する評価履歴データである.ただし,「どちらでもない」と評価したデータは除いてある.以下のデータをdataディレクトリに配置したうえで,次のコードを実行しよう.
  • curry2.csv:カレーに対する評価履歴データ(データIDid,辛さspicy {0-100},とろみthickness {0-100},評価値rating {0=嫌い, 1=好き}

skl05-1:SVCのインポート
SVCをインポートしよう.
難易度:★
ミッション 説明
1 SVCをインポートする.

skl05-2:SVCオブジェクト(線形カーネル)の生成
SVCオブジェクトを生成しよう.ここで,パラメタはkernel='linear'とする.
難易度:★★
ミッション 説明
1 SVC()コンストラクタを呼び出す.
2 kernelパラメタを指定する.
3 生成したSVCオブジェクトをsvcとする.

skl05-3:線形SVMによる学習
学習データを基にsvcにより学習しよう.
難易度:★★
ミッション 説明
1 SVC.fit()メソッドを使う.

skl05-4:線形SVMによる予測
svcによりテストデータに対してラベルを予測しよう.
難易度:★★
ミッション 説明
1 SVC.predict()メソッドを使う.

skl05-5:線形SVMによる予測精度の取得
svcのテストデータに対する予測精度を取得しよう.
難易度:★
ミッション 説明
1 SVC.score()メソッドを使う.

skl05-6:線形SVMによる学習モデルの可視化
次のコードはsvcによる学習モデルを可視化するものである.次のコードをskl05_plt01.pyというファイル名で保存し,python3コマンドで実行しよう.

難易度:★
ミッション 説明
1 python3コマンドでskl05_plt01.pyを実行する.

skl05-7:SVCオブジェクト(RBFカーネル)の生成
SVCオブジェクトを生成しよう.ここで,パラメタはkernel='rbf', C=1, gamma=0.01とする.
難易度:★★
ミッション 説明
1 SVC()コンストラクタを呼び出す.
2 kernelパラメタを指定する.
3 Cパラメタを指定する.
4 gammaパラメタを指定する.
5 生成したSVCオブジェクトをsvc_rbfとする.

skl05-8:非線形SVMによる学習
学習データを基にsvc_rbfにより学習しよう.
難易度:★★
ミッション 説明
1 SVC.fit()メソッドを使う.

skl05-9:非線形SVMによる予測
svc_rbfによりテストデータに対してラベルを予測しよう.
難易度:★★
ミッション 説明
1 SVC.predict()メソッドを使う.

skl05-10:非線形SVMによる予測精度の取得
svc_rbfのテストデータに対する予測精度を取得しよう.
難易度:★
ミッション 説明
1 SVC.score()メソッドを使う.

skl05-11:非線形SVMによる学習モデルの可視化
次のコードはsvc_rbfによる学習モデルを可視化するものである.次のコードをskl05_plt02.pyというファイル名で保存し,python3コマンドで実行しよう.

難易度:★
ミッション 説明
1 python3コマンドでskl05_plt02.pyを実行する.