Ejercicio resuelto de clasificación
Ejercicio de clasificación en Weka
Objetivo:
El objetivo de este ejercicio es determinar cuál es el mejor algoritmo de clasificación para un dataset de prueba usando Weka. Utilizaremos el dataset Iris
como ejemplo, pero este método puede aplicarse a otros conjuntos de datos. El dataset contiene características sobre la longitud y el ancho de sépalos y pétalos de tres especies de flores y la tarea es clasificar las especies a partir de estas características.
Pasos a seguir:
1. Cargar el dataset
- Abre Weka y ve al Explorer.
- En la pestaña Preprocess, carga el dataset
Iris.arff
. Este archivo viene preinstalado con Weka. Si no lo encuentras, puedes descargarlo del repositorio de Weka o buscar otro dataset en formato ARFF.
2. Preparación de los datos
- En la pestaña Preprocess, verifica que los datos sean correctos. El dataset de Iris contiene cinco atributos:
- sepallength (longitud del sépalo)
- sepalwidth (ancho del sépalo)
- petallength (longitud del pétalo)
- petalwidth (ancho del pétalo)
- class (especie: Iris-setosa, Iris-versicolor, Iris-virginica)
Si el dataset contiene valores faltantes, puedes eliminarlos o sustituirlos utilizando los filtros de Weka. Este paso no es necesario para el Iris dataset ya que no contiene valores faltantes.
3. Selección del algoritmo
En la pestaña Classify, vamos a probar varios algoritmos de clasificación. Weka permite realizar validaciones cruzadas para comparar el rendimiento de varios algoritmos. Algunos de los algoritmos más comunes que se pueden probar son:
- Naive Bayes (
weka.classifiers.bayes.NaiveBayes
) - J48 (C4.5 Decision Tree) (
weka.classifiers.trees.J48
) - Random Forest (
weka.classifiers.trees.RandomForest
) - k-Nearest Neighbors (IBk) (
weka.classifiers.lazy.IBk
)
Pasos:
- En la pestaña Classify, selecciona el algoritmo Naive Bayes:
- Haz clic en el botón Choose y selecciona
bayes -> NaiveBayes
.
- Haz clic en el botón Choose y selecciona
- Selecciona la opción Test options:
- Selecciona Cross-validation con 10 folds para garantizar que los resultados sean más precisos.
- Haz clic en Start para ejecutar el clasificador.
4. Repetir con otros clasificadores
- Repite los mismos pasos para otros clasificadores, como:
- J48 (Árboles de decisión):
trees -> J48
- Random Forest:
trees -> RandomForest
- IBk (k-Nearest Neighbors):
lazy -> IBk
- J48 (Árboles de decisión):
5. Interpretar los resultados
Después de ejecutar cada clasificador, Weka te mostrará un informe con métricas como:
- Precisión (Accuracy): porcentaje de instancias correctamente clasificadas.
- Kappa statistic: mide la consistencia entre las predicciones y las etiquetas reales.
- ROC Area: el área bajo la curva ROC, que es útil para medir la capacidad del clasificador en problemas de clasificación binaria.
- Mean absolute error: el error medio absoluto.
- Confusion Matrix: matriz de confusión que muestra cómo se clasificaron las instancias.
6. Comparar resultados
Una vez que ejecutes todos los algoritmos, compara los resultados basados en la precisión y otros indicadores como el área ROC y el error absoluto. El algoritmo con los mejores valores es el que mejor clasifica este dataset.
7. Conclusiones
Después de comparar los resultados, puedes concluir qué algoritmo tiene el mejor rendimiento para este conjunto de datos en particular.
Ejemplo de resultados esperados:
- Naive Bayes puede obtener una precisión del 95%.
- J48 puede ofrecer una precisión ligeramente superior, como 96%, debido a su capacidad para modelar reglas más complejas.
- Random Forest probablemente será uno de los mejores con una precisión del 97% o más, debido a la capacidad de combinar múltiples árboles.
- IBk (KNN) puede obtener buenos resultados, pero la precisión dependerá del valor de k.
8. Mejoras adicionales:
- Realiza ajustes en los hiperparámetros de los clasificadores.
- Usa otros datasets para realizar una comparación más robusta entre los algoritmos.
Este ejercicio te permitirá explorar cómo diferentes clasificadores funcionan en un problema de clasificación multiclase y cómo interpretar los resultados para seleccionar el mejor modelo.