Iris od nowa – bardziej wiarygodna dokładność.
W tym ćwiczeniu zbudujesz liniowe SVM dla 100 różnych podziałów zbioru danych iris na część treningową i testową. Następnie ocenisz wydajność modelu, obliczając średnią dokładność i odchylenie standardowe. Ta ogólna procedura da ci znacznie bardziej wiarygodną miarę jakości modelu niż wyniki uzyskane z jednego podziału.
To ćwiczenie jest częścią kursu
Maszyny wektorów nośnych w R
Instrukcje do ćwiczenia
- Dla każdej próby:
- Podziel zbiór danych na zbiór treningowy i testowy w losowym stosunku 80/20.
- Zbuduj domyślne liniowe SVM z parametrem cost na zbiorze treningowym.
- Oceń dokładność modelu (zmienna
accuracyzostała już zainicjalizowana w twoim środowisku).
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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(___)