Iris redux — більш надійна точність.
У цій вправі ви побудуєте лінійні SVM для 100 різних розбиттів набору даних iris на тренувальну й тестову вибірки. Потім ви оціните продуктивність моделі, обчисливши середню точність і стандартне відхилення. Ця досить загальна процедура дасть значно надійнішу оцінку якості моделі, ніж та, що отримується з одного розбиття.
Ця вправа є частиною курсу
Support Vector Machines в R
Інструкції до вправи
- Для кожного запуску:
- Розбийте набір даних на тренувальну й тестову вибірки у випадковій пропорції 80/20.
- Побудуйте лінійний SVM із типовим значенням параметра cost на тренувальному наборі даних.
- Оцініть точність вашої моделі (
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(___)