Aan de slagBegin gratis

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

Bekijk cursus

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).

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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