Iris reloaded – eine robustere Genauigkeit.
In dieser Übung baust du lineare SVMs für 100 unterschiedliche Trainings-/Testaufteilungen des iris-Datensatzes. Anschließend bewertest du die Leistung deines Modells, indem du die mittlere Genauigkeit und die Standardabweichung berechnest. Dieses sehr allgemeine Vorgehen liefert dir eine deutlich robustere Kennzahl der Modellgüte als eine Bewertung auf nur einer einzigen Aufteilung.
Diese Übung ist Teil des Kurses
Support Vector Machines in R
Anleitung zur Übung
- Für jeden Durchlauf:
- Teile den Datensatz zufällig im Verhältnis 80/20 in Trainings- und Testdaten.
- Baue eine lineare SVM mit Standardkosten auf dem Trainingsdatensatz.
- Werte die Genauigkeit deines Modells aus (
accuracywurde in deiner Umgebung initialisiert).
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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(___)