Este proyecto implementa una solución completa de Machine Learning para la clasificación de hongos entre comestibles y venenosos. Utiliza técnicas de vanguardia como la imputación por vecinos más cercanos (KNN) y modelos de ensamble para garantizar la máxima seguridad en la predicción.
- 🧠 Inteligencia Predictiva: Pipeline avanzado con
KNNImputeryOrdinalEncoderpara un manejo preciso de datos faltantes. - 📊 Dashboard de Alta Gama: Interfaz interactiva con navegación lateral y visualizaciones dinámicas de Plotly.
- ✨ Fácil e Intuitivo: Los menús ahora muestran descripciones claras en español (ej. "Almendra", "Bosque") en lugar de códigos técnicos (ej. "a", "d").
- 🎨 Branding Completo: Experiencia visual profesional con banner transparente, logo oficial y favicon personalizado.
Unsupervised-ML/
├── data/ # Dataset original y procesado
│ └── agaricus-lepiota.data
├── notebooks/ # Análisis exploratorio y prototipado
│ └── mushroom.ipynb
├── docs/ # Documentación adicional e imágenes
├── app.py # Aplicación principal (Streamlit)
├── requirements.txt # Dependencias del proyecto
├── .gitignore # Configuración de archivos excluidos
└── README.md # Documentación principal
- Preprocesamiento Inteligente: Uso de
KNNImputer(k=5) para una imputación de datos coherente con el análisis científico. - Interfaz Humana: Selectores optimizados con etiquetas descriptivas en lugar de códigos alfanuméricos crípticos.
- Seguridad en la Predicción: Modelo entrenado con
RandomForestalcanzando altos niveles de precisión y confianza. - Visualización Progresiva: Gráficos de distribución global y perfil de características para una exploración EDA profunda.
-
Clonar el repositorio:
git clone https://github.com/Bootcamp-Data-Analyst/Unsupervised-ML.git cd Unsupervised-ML -
Instalar dependencias:
pip install -r requirements.txt
-
Ejecutar la aplicación:
streamlit run app.py
Desarrollado como parte del proyecto de análisis de aprendizaje no supervisado y clasificación.
El núcleo analítico se basa en el notebook mushroom.ipynb, siguiendo estas etapas:
- Limpieza y Preprocesamiento: Manejo de valores nulos, eliminación de columnas constantes (
veil-type) y codificación de variables categóricas (One-Hot & Label Encoding). - EDA Avanzado: Análisis de distribuciones y relaciones entre variables como el olor y la clase.
- Matriz de Cramér's V: Medición de la asociación entre características categóricas.
Para asegurar el correcto funcionamiento, se requieren:
streamlitpandasnumpyplotlyscikit-learnmatplotlib/seaborn
- Asegúrate de tener instaladas las dependencias.
- Abre
notebooks/mushroom.ipynben Jupyter o Google Colab para revisar el análisis estadístico detallado.
