Este repositorio documenta el desarrollo práctico y técnico de los componentes de Inteligencia Artificial y Machine Learning del curso Innovación y Transformación Digital (100000TD09).
El proyecto sigue una progresión lógica, comenzando con los algoritmos fundamentales de la IA Clásica y evolucionando hacia pipelines de Machine Learning modernos y listos para la producción, aplicando las tecnologías clave para la transformación digital.
El objetivo es traducir la teoría del sílabo en implementaciones prácticas y robustas. Buscamos construir un portafolio de soluciones de datos que demuestren la capacidad de:
- Resolver problemas de optimización (IA Clásica).
- Predecir resultados (Aprendizaje Supervisado).
- Descubrir patrones ocultos (Aprendizaje No Supervisado).
- Construir flujos de trabajo profesionales (Pipelines, Preprocesamiento).
El proyecto está organizado en carpetas semanales que corresponden a los temas del sílabo, construyendo incrementalmente sobre el conocimiento anterior.
/Semana11_12_IA_Clasica/: Fundamentos de IA y algoritmos de búsqueda./Semana13_ML_Fundamentos/: El salto a Machine Learning (Regresión y Workflows)./Semana14_ML_Clasificacion/: Modelos avanzados de clasificación./Semana15_17_ML_Clustering/: Aprendizaje No Supervisado y Segmentación.
Abordamos los temas del curso como un GDataScience, construyendo una solución integral.
- Temas: Espacios de problemas, Razonamiento, Búsqueda.
- Implementación: Se implementan algoritmos de búsqueda no informada (BFS, DFS) e informada (Hill Climbing, A*) para resolver problemas de optimización de rutas. Aquí, le decimos a la máquina cómo "razonar".
- Temas: Introducción a ML, Regresión Lineal, Regresión Logística.
- Implementación: Damos el salto al ML. Aquí, la máquina aprende de los datos. Construimos modelos para predecir valores numéricos y categorías.
- Workflow Profesional: Introducimos el flujo de trabajo estándar con Pandas (para ingesta de datos), StandardScaler (para preprocesamiento), Pipelines (para automatizar) y Joblib (para persistir modelos).
- Temas: Máquinas de Soporte Vectorial (SVM), K-Vecinos Cercanos (KNN), Árboles de Decisión (DT) y Boosting.
- Implementación: Usando un dataset real (ver sección de Dataset), comparamos el rendimiento de estos modelos avanzados para resolver un problema de negocio (predecir el abandono de clientes).
- Temas: Introducción al Clustering, K-Means, Mean-Shift, DBSCAN, GMM, etc..
- Implementación: Cambiamos de objetivo. Usando el mismo dataset, aplicamos técnicas de clustering para realizar análisis de comportamiento y encontrar segmentos de clientes ocultos (ej. "Clientes leales", "Clientes en riesgo").
Para hacer este proyecto lo más realista posible, a partir de la Semana 14 utilizaremos un dataset público de Kaggle sobre abandono de clientes de una empresa de telecomunicaciones.
Este dataset es ideal porque nos permite:
- Para Clasificación (Semana 14): Predecir la columna
Churn(Sí/No). - Para Clustering (Semana 15+): Usar
tenure,MonthlyChargesy otros features para segmentar clientes.
Este proyecto utiliza el ecosistema PyData estándar para la ciencia de datos.
- Lenguaje: Python 3
- Análisis de Datos: Pandas, Numpy
- Machine Learning: Scikit-learn (sklearn)
- Visualización: Matplotlib, Seaborn
- Persistencia: Joblib
Para ejecutar este proyecto, se recomienda un entorno virtual.
-
Clona este repositorio:
git clone [URL_DE_TU_REPO_AQUI] cd MachineLearning -
Crea y activa un entorno virtual:
python3 -m venv innovacion source innovacion/bin/activate -
Instala todas las dependencias: (Asegúrate de mantener un archivo
requirements.txten esta carpeta raíz)pip install -r requirements.txt
-
Navega a la carpeta de la semana que deseas explorar:
cd Semana13_ML_Fundamentos/ python pipeline_workflow.py