Iris de nuevo: una precisión más robusta.
En este ejercicio, vas a construir SVM lineales para 100 particiones distintas de entrenamiento/prueba del conjunto de datos iris. Después evaluarás el rendimiento de tu modelo calculando la precisión media y la desviación estándar. Este procedimiento, bastante general, te dará una medida mucho más robusta del rendimiento del modelo que la obtenida a partir de una única partición.
Este ejercicio forma parte del curso
Máquinas de Vectores de Soporte en R
Instrucciones del ejercicio
- Para cada ensayo:
- Divide el conjunto de datos en entrenamiento y prueba con una partición aleatoria 80/20.
- Construye un SVM lineal con coste por defecto sobre el conjunto de entrenamiento.
- Evalúa la precisión de tu modelo (
accuracyya se ha inicializado en tu entorno).
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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(___)