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(___)