Aan de slagGa gratis aan de slag

Iris redux - een robuustere nauwkeurigheid.

In deze oefening bouw je lineaire SVM's voor 100 verschillende training/test-partities van de iris-gegevensset. Vervolgens beoordeel je de prestaties van je model door de gemiddelde nauwkeurigheid en standaarddeviatie te berekenen. Deze werkwijze, die vrij algemeen is, geeft je een veel robuustere maat voor modelprestaties dan de maat die je uit één enkele partitie krijgt.

Deze oefening maakt deel uit van de cursus

Support Vector Machines in R

Cursus bekijken

Oefeninstructies

  • Voor elke iteratie:
    • Verdeel de gegevensset willekeurig in een training- en testset met een 80/20-split.
    • Bouw een lineaire SVM met standaardkosten op de trainingsgegevensset.
    • Beoordeel de nauwkeurigheid van je model (accuracy is al geïnitialiseerd in je omgeving).

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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(___)
Code bewerken en uitvoeren