Iris 再訪 - より堅牢な精度評価
この演習では、iris データセットを100通りの学習/テスト分割で用いて線形 SVM を構築します。その後、平均精度と標準偏差を計算してモデルの性能を評価します。この手順は汎用的で、単一の分割から得られる評価よりもはるかに堅牢な性能指標を与えてくれます。
この演習はコースの一部です
Rで学ぶSupport Vector Machines
演習の手順
- 各試行で次を行います。
- データセットをランダムに 80/20 に分割して、学習用とテスト用に分けます。
- 学習用データに対して、デフォルトの cost を用いた線形 SVM を構築します。
- モデルの精度を評価します(
accuracyは環境内で初期化済みです)。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
for (i in 1:___){
#assign 80% of the data to the training set
sample_size <- ___(___ * nrow(iris))
train <- ___(seq_len(nrow(iris)), size = ___)
trainset <- iris[train, ]
testset <- iris[-train, ]
#build model using training data
svm_model <- svm(Species~ ., data = ___,
type = "C-classification", kernel = "linear")
#calculate accuracy on test data
pred_test <- predict(svm_model, ___)
accuracy[i] <- mean(pred_test == ___$Species)
}
mean(___)
sd(___)