`tune.svm()` を使う
この演習では、tune.svm() 関数の使い方を手を動かして練習します。章の前半で作成した放射状に分離可能なデータセットに基づく SVM モデルについて、cost、gamma、coef0 の最適値を求めます。学習用データはデータフレーム trainset、テスト用データは testset に用意されており、e1071 ライブラリはあらかじめ読み込まれています。クラス変数 y は trainset と testset の3列目にあることも思い出してください。
また動画では、Kailash が cost=10^(1:3) を使い、10=10^1 から 1000=10^3 までを 10 倍刻みで探索していたことも復習しておきましょう。
この演習はコースの一部です
Rで学ぶSupport Vector Machines
演習の手順
- 次のようにパラメータ探索の範囲を設定してください。
cost- 0.1(10^(-1))から 100(10^2)までを 10 倍刻み。gammaとcoef0- 0.1、1、10 のいずれか。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
#tune model
tune_out <-
tune.svm(x = trainset[, -3], y = trainset[, 3],
type = "C-classification",
kernel = "polynomial", degree = 2, cost = 10^(___:___),
gamma = c(___, ___, ___), coef0 = c(0.1, 1, 10))
#list optimal values
tune_out$best.parameters$___
tune_out$best.parameters$___
tune_out$best.parameters$___