Iris 再訪——更穩健的正確率。
在這個練習中,你會為 iris 資料集的 100 個不同訓練/測試切分建立線性 SVM。接著,你會計算平均正確率與標準差來評估模型表現。這個相當通用的流程,會比只用單一次切分得到的結果,更能穩健地衡量模型效能。
本練習屬於課程
R 的支援向量機
練習說明
- 每次試驗:
- 將資料集以隨機 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(___)