Iris redux - un'accuratezza più robusta.
In questo esercizio costruirai SVM lineari per 100 diverse partizioni training/test dell'insieme di dati iris. Valuterai poi le prestazioni del modello calcolando accuratezza media e deviazione standard. Questa procedura, piuttosto generale, ti fornirà una misura molto più robusta delle prestazioni del modello rispetto a quella ottenuta da una singola partizione.
Questo esercizio fa parte del corso
Support Vector Machines in R
Istruzioni dell'esercizio
- Per ciascuna prova:
- Suddividi l'insieme di dati in training e test con una partizione casuale 80/20.
- Costruisci una SVM lineare con costo di default sul training set.
- Valuta l'accuratezza del modello (
accuracyè stata inizializzata nel tuo ambiente).
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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(___)