Este proyecto tiene como objetivo realizar la clasificación multiclase utilizando el conjunto de datos "Vertebral Column Data Set" del repositorio UCI Machine Learning. Se implementa un modelo de árbol de decisión, evaluando su rendimiento y comparando diferentes estrategias de poda.
El conjunto de datos "Vertebral Column" contiene características de columnas vertebrales y su clasificación en diferentes categorías. Este proyecto incluye los siguientes pasos:
- Carga de Datos:
- Obtención del conjunto de datos utilizando la librería
ucimlrepo
.
- Obtención del conjunto de datos utilizando la librería
- Preprocesamiento:
- División del conjunto de datos en conjuntos de entrenamiento y prueba.
- Escalado de características con
StandardScaler
.
- Entrenamiento del Modelo:
- Entrenamiento de un modelo de árbol de decisión con
DecisionTreeClassifier
. - Optimización de hiperparámetros usando
GridSearchCV
yRandomizedSearchCV
.
- Entrenamiento de un modelo de árbol de decisión con
- Evaluación:
- Medición del rendimiento del modelo mediante métricas de precisión, recall y un informe de clasificación.
Para ejecutar este proyecto, asegúrate de tener instaladas las siguientes bibliotecas:
pip install ucimlrepo pandas scikit-learn matplotlib
- Clona el repositorio:
git clone https://github.com/Zhanya001/vertebral-column-classification.git
cd vertebral-column-classification
- Ejecuta el script:
python main.py
Se utiliza fetch_ucirepo
para descargar el conjunto de datos, que se almacena en un DataFrame de Pandas.
Se dividen los datos en conjuntos de entrenamiento y prueba utilizando train_test_split
, asegurando que el 30% de los datos se reserve para la evaluación.
Se escalan las características con StandardScaler para mejorar la convergencia del modelo.
Se crea un modelo de árbol de decisión con DecisionTreeClassifier
.
Se utilizan dos enfoques para la optimización de hiperparámetros:
- GridSearchCV: Realiza una búsqueda exhaustiva sobre un conjunto definido de hiperparámetros.
- RandomizedSearchCV: Muestra un enfoque más eficiente al seleccionar aleatoriamente hiperparámetros de una distribución definida.
Se evalúa el rendimiento del modelo final utilizando métricas como la precisión y se imprime un informe de clasificación.
Los resultados obtenidos a partir de la búsqueda de hiperparámetros indican el mejor rendimiento del modelo. Los mejores hiperparámetros encontrados a través de ambos métodos se muestran en la salida del script, junto con el rendimiento en términos de precisión.
UCI Machine Learning Repository - Vertebral Column Dataset
Conéctate conmigo en Ariet Michal