Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Fundamentos y Aplicaciones de Machine Learning ...

Fundamentos y Aplicaciones de Machine Learning y Forecasting en Ingeniería

Avatar for Abraham Zamudio

Abraham Zamudio

June 02, 2026

More Decks by Abraham Zamudio

Other Decks in Education

Transcript

  1. 1.​ Datos generales del curso Asignatura​ : Fundamentos y Aplicaciones

    de Machine Learning y Forecasting en Ingeniería Horas​ : 96 hrs 2.​Presentación Vivimos en una era donde los datos se generan a una velocidad sin precedentes: sensores en puentes, turbinas eólicas, líneas de producción, redes eléctricas, sistemas de transporte, plantas químicas y más. Un ingeniero que no sabe extraer valor de esos datos queda rezagado. El curso planteado (24 sesiones de 4 horas, total 96 horas) proporciona una formación integral que cubre desde los fundamentos de programación hasta técnicas avanzadas de forecasting con deep learning. A continuación, se justifica la necesidad de cada módulo en el ejercicio profesional de cualquier ingeniero. Módulo I: Fundamentos de programación en Python (sesiones 1‑6) ¿Por qué es indispensable? La ingeniería tradicional ha dependido de hojas de cálculo y software comercial cerrado. Sin embargo, la creciente complejidad de los problemas exige automatización, reproducibilidad y capacidad de procesar grandes volúmenes de datos. Python se ha convertido en el lenguaje de facto en campos como la ingeniería de datos, la simulación numérica y el control de procesos. Aplicaciones concretas por rama Rama Aplicación típica ¿Qué permite Python? Civil Cálculo de estructuras, análisis de asentamientos Automatizar iteraciones de diseño, leer datos de sensores (vibraciones, deformaciones) Eléctrica Flujos de carga, análisis de armónicos Procesar mediciones de calidad de potencia, integrar con SCADA Abraham Zamudio
  2. Mecánica Análisis de fatiga, termodinámica Automatizar rutinas de posprocesamiento de

    FEM, crear dashboards de mantenimiento Química Balances de materia y energía, control de reactores Resolver sistemas de ecuaciones, ajustar curvas de calibración Industrial Planificación de producción, control de inventarios Optimizar rutas, simular eventos discretos Lo que cubre el módulo (sesiones 1‑6) •​ Sesiones 1‑3 (fundamentos, control, funciones): Permiten al ingeniero dejar de ser un "usuario de software" y convertirse en creador de herramientas. Saber escribir un script que lea cien archivos CSV y calcule estadísticas automáticamente ahorra horas de trabajo manual. •​ Sesiones 4‑6 (listas, diccionarios, NumPy, Pandas, Matplotlib): Manejo de estructuras de datos y librerías científicas. Hoy ningún ingeniero puede ignorar Pandas para limpiar tablas de datos ni Matplotlib para visualizar tendencias. Conclusión del módulo I: Sin estos fundamentos, el ingeniero no puede abordar los módulos siguientes ni aprovechar el potencial de los datos que genera su propio trabajo. Módulo II: Aprendizaje Automático (sesiones 7‑12) ¿Por qué es indispensable? El Machine Learning (ML) ya no es un lujo de científicos de datos; es una herramienta rutinaria en la ingeniería. Desde la detección temprana de fallas hasta la optimización de procesos, los modelos predictivos permiten pasar de un enfoque reactivo a uno proactivo y basado en evidencia. Aplicaciones concretas •​ Regresión lineal y regularización (sesión 8): Predecir la resistencia del concreto en función de su composición y edad (evitando ensayos destructivos). Estimar la vida útil de un rodamiento a partir de horas de operación y temperatura. •​ Clasificación (sesiones 9‑11): Detectar si una válvula va a fallar antes de que ocurra (mantenimiento predictivo). Clasificar piezas defectuosas en una línea de inspección visual. Identificar el tipo de falla (desgaste, desbalanceo, desalineación) mediante análisis de vibraciones. •​ Árboles y Random Forest (sesiones 10‑11): Modelos interpretables que generan reglas del tipo "si la temperatura > 85°C y la presión < 2 bar, entonces falla". Los ingenieros aprecian la transparencia de estos modelos. •​ Clustering (sesión 12): Segmentar ciclos de operación de una máquina en regímenes normales y anómalos. Agrupar zonas de un terreno según propiedades geotécnicas. Abraham Zamudio
  3. Lo que cubre el módulo Desde la división entrenamiento/prueba, pasando

    por métricas de evaluación (matriz de confusión, precisión, recall, F1), hasta la implementación con Scikit‑learn. Se enfatiza la interpretación de los modelos (importancia de características), algo crucial para que un ingeniero confíe en el modelo y pueda explicarlo a sus colegas o clientes. Conclusión del módulo II: Un ingeniero que domina el ML puede reducir costos de mantenimiento, mejorar la calidad del producto y optimizar recursos. La formación en este módulo es el puente entre los datos crudos y la toma de decisiones. Módulo III: Aprendizaje Profundo – El Perceptrón Multicapa (sesiones 13‑18) ¿Por qué es indispensable? Cuando los datos son muy complejos o las relaciones no lineales son intensas, los modelos tradicionales de ML se quedan cortos. Las redes neuronales profundas (deep learning) destacan en problemas de regresión y clasificación con alta dimensionalidad. El perceptrón multicapa (MLP) es la puerta de entrada al deep learning, y su dominio es hoy un requisito en muchas ofertas de ingeniería avanzada. Aplicaciones concretas •​ Regresión (sesión 16): Predecir la potencia generada por una turbina eólica en función de decenas de variables meteorológicas y de estado interno. Modelar la concentración de un contaminante en un río a partir de datos de caudal, temperatura y pH. •​ Clasificación (sesión 17): Reconocer patrones de falla en motores eléctricos usando señales de corriente y vibración. Clasificar el estado de salud de un puente (bueno, regular, crítico) basado en frecuencias modales. •​ Optimización y regularización (sesión 15): El MLP es propenso al sobreajuste; el curso enseña técnicas como Dropout, Early Stopping y normalización por lotes, indispensables para obtener modelos generalizables. Lo que cubre el módulo Desde los fundamentos de la neurona artificial y la retropropagación, hasta la implementación práctica con Keras/TensorFlow (sesión 14). Se dedican sesiones completas a aplicaciones (regresión y clasificación con casos de estudio reales) y al ajuste de hiperparámetros usando Keras Tuner (sesión 18). Esto asegura que el ingeniero no solo sepa correr un modelo, sino que pueda optimizarlo sistemáticamente. Conclusión del módulo III: El MLP es una herramienta potente y versátil. Al finalizar este módulo, el ingeniero estará capacitado para abordar problemas no lineales complejos que eran intratables con métodos estadísticos clásicos. Módulo IV: Modelos de forecasting para series de tiempo (sesiones 19‑24) ¿Por qué es indispensable? La mayoría de los datos en ingeniería son series de tiempo: producción horaria, demanda eléctrica, caudales, vibraciones, precios de materias primas. Predecir el futuro inmediato o Abraham Zamudio
  4. a mediano plazo permite planificar, programar mantenimientos, gestionar inventarios y

    anticipar eventos críticos. Estructura por niveles (estadísticos → ML → DL) El curso organiza el forecasting en tres niveles, lo cual es ideal para un ingeniero porque permite elegir la complejidad justa: Nivel Técnicas Cuándo usarlas Ejemplo Estadísticos (sesiones 19‑20) ARIMA, SARIMA, Holt‑Winters Series con estacionalidad clara y pocos datos (p. ej., 3‑5 años de demanda mensual) Pronosticar la demanda de agua potable en una ciudad para dimensionar bombas Machine Learning (sesiones 21‑22) Random Forest, XGBoost, SVR, stacking Cuando hay múltiples variables exógenas (temperatura, día de la semana, precio de combustible) y la relación no es puramente lineal Predecir la generación fotovoltaica usando nubosidad, hora y ángulo solar Deep Learning (sesiones 23‑24) LSTM, GRU, CNN, CNN‑LSTM Series largas (miles de puntos) con dependencias temporales complejas y alta dimensionalidad Pronóstico de tráfico vehicular en una autopista (sensores cada 5 minutos) o detección de anomalías en vibraciones Aplicaciones concretas por nivel •​ ARIMA / SARIMA: Pronosticar la demanda eléctrica horaria para programar el despacho de generadores (ingeniería eléctrica). •​ XGBoost con lags: Estimar el caudal de un río en las próximas 24 horas usando precipitaciones medidas y pronosticadas (ingeniería hidráulica). •​ LSTM: Predecir la temperatura de salida de un horno de cemento con ventanas de 60 minutos, mejorando la eficiencia energética (ingeniería química/mecánica). Lo que cubre el módulo No solo teoría, sino implementación con statsmodels, scikit-learn, xgboost y keras. Se enseñan técnicas específicas de validación (TimeSeriesSplit, rolling forecast) y métricas adecuadas (sMAPE, MAPE). Además, se aborda la ingeniería de características para series (features de Fourier, festivos, medias móviles). Abraham Zamudio
  5. Conclusión del módulo IV: Al dominar el forecasting, el ingeniero

    puede anticiparse a eventos (picos de demanda, fallas inminentes, desabastecimientos) y tomar decisiones basadas en predicciones cuantitativas, no en intuición. Visión integrada: por qué las 24 sesiones son necesarias Un curso fragmentado que enseñara solo programación o solo ML dejaría al ingeniero sin la capacidad de cerrar el ciclo completo: recolectar datos → limpiarlos → explorarlos → construir modelos → pronosticar → desplegar resultados. La secuencia propuesta es gradual y sólida:​ 1.​ Módulo I: Da las herramientas de programación y manejo de datos (Pandas, NumPy, Matplotlib). Sin esto, el resto es imposible. 2.​ Módulo II: Introduce el pensamiento predictivo con modelos clásicos de ML (regresión, clasificación, árboles). Los ingenieros aprenden a formular problemas y evaluar modelos. 3.​ Módulo III: Sube el nivel a redes neuronales (MLP) para problemas más complejos, incluyendo optimización y casos prácticos. 4.​ Módulo IV: Aplica todo lo anterior al dominio específico de series de tiempo, el más frecuente en ingeniería, con un espectro completo de técnicas. Beneficio tangible para la organización o el profesional individual •​ Reducción de costos: Mantenimiento predictivo basado en modelos de clasificación o forecasting. •​ Aumento de eficiencia: Optimización de procesos usando regresión o redes neuronales. •​ Mejora de la seguridad: Detección temprana de condiciones anómalas mediante clustering o forecasting de desviaciones. •​ Toma de decisiones basada en datos: Los ingenieros dejan de operar "a ojo" y pasan a cuantificar incertidumbres con intervalos de predicción. ¿Por qué 96 horas (24 sesiones de 4 horas)? El contenido es denso pero práctico. Cada sesión incluye teoría, código en vivo y ejercicios. Un curso más corto solo alcanzaría para un vistazo superficial, sin generar competencia real. Las 96 horas aseguran que el ingeniero no solo entienda los conceptos, sino que pueda aplicarlos de forma autónoma a sus problemas reales. 3.​ Objetivo general del curso El objetivo general de este curso es capacitar a profesionales de la ingeniería en el dominio integral de herramientas computacionales y analíticas basadas en Python, abarcando desde los fundamentos de programación hasta técnicas avanzadas de machine learning, deep learning (perceptrón multicapa) y forecasting de series temporales, permitiéndoles extraer valor de los datos generados en su entorno laboral, automatizar procesos, construir modelos predictivos y de clasificación, así como realizar pronósticos precisos que apoyen la toma de decisiones, la optimización de recursos y el mantenimiento predictivo en sus respectivas disciplinas. Abraham Zamudio
  6. 4.​ Objetivos específicos del curso •​ Comprender la sintaxis y

    semántica fundamental de Python, incluyendo variables, tipos de datos, operadores, estructuras de control y funciones, para resolver problemas básicos de programación en contextos de ingeniería. •​ Utilizar las librerías NumPy, Pandas y Matplotlib para manipular, procesar y visualizar conjuntos de datos tabulares y numéricos provenientes de sensores, procesos industriales o experimentos. •​ Aplicar técnicas de preprocesamiento (limpieza, escalado, codificación de variables categóricas) para preparar datos crudos antes de alimentar modelos de aprendizaje automático. •​ Implementar modelos de regresión lineal (simple, múltiple, Ridge y Lasso) con Scikit‑learn para predecir variables continuas de interés en ingeniería (resistencia de materiales, consumos energéticos, etc.). •​ Desarrollar modelos de clasificación (regresión logística, K‑NN, árboles de decisión, Random Forest) para resolver problemas de categorización (falla/no falla, tipo de defecto, calidad de producto). •​ Evaluar el desempeño de modelos de clasificación y regresión utilizando métricas apropiadas (matriz de confusión, precisión, recall, F1, RMSE, R², etc.) y validación cruzada adaptada a series temporales cuando corresponda. •​ Construir un perceptrón multicapa (MLP) con Keras/TensorFlow, seleccionando arquitectura, funciones de activación y estrategias de regularización (Dropout, Early Stopping, normalización por lotes) para tareas de regresión y clasificación. •​ Optimizar hiperparámetros de redes neuronales y modelos de machine learning mediante búsqueda en cuadrícula (GridSearchCV) y herramientas como Keras Tuner. •​ Analizar series de tiempo identificando sus componentes (tendencia, estacionalidad, ruido), verificando estacionariedad y aplicando transformaciones (diferenciación, logaritmos) para hacerlas estacionarias. •​ Implementar modelos estadísticos clásicos de pronóstico (ARIMA, SARIMA, suavizado exponencial de Holt‑Winters) utilizando statsmodels y pmdarima, evaluando su precisión con métricas como MAE, RMSE, MAPE y sMAPE. •​ Transformar un problema de pronóstico de series de tiempo en un problema de aprendizaje supervisado mediante la creación de características de lag, ventanas deslizantes y variables derivadas (fecha‑hora, medias móviles). Abraham Zamudio
  7. •​ Aplicar modelos de machine learning (Random Forest, XGBoost, SVR)

    y técnicas de ensamblaje (stacking) al forecasting de series temporales, comparando su rendimiento frente a los modelos estadísticos tradicionales. •​ Diseñar redes recurrentes (LSTM, GRU) y arquitecturas híbridas (CNN‑LSTM) con Keras para pronosticar series temporales de alta complejidad y larga duración, manejando adecuadamente el formato de datos 3D (muestras, pasos de tiempo, características). •​ Seleccionar el modelo de forecasting más adecuado según las características de los datos (volumen, estacionalidad, presencia de variables exógenas) y los requisitos de precisión e interpretabilidad del problema de ingeniería. 5.​Resultados de aprendizaje Al finalizar el curso el alumno: •​ Programa en Python con fluidez: usa variables, estructuras de control, funciones, NumPy, Pandas y Matplotlib para automatizar tareas, limpiar datos y generar visualizaciones profesionales. •​ Preprocesa conjuntos de datos reales (escalado, codificación, manejo de nulos) y los divide correctamente para entrenar y evaluar modelos. •​ Construye y evalúa modelos de regresión (lineal, Ridge, Lasso) y clasificación (logística, K‑NN, árboles, Random Forest) con Scikit‑learn, calculando métricas clave (RMSE, R², precisión, recall, F1, AUC‑ROC). •​ Entrena perceptrones multicapa (MLP) con Keras, selecciona arquitectura, funciones de activación, regularización (Dropout, Early Stopping) y optimiza hiperparámetros con GridSearchCV o Keras Tuner. •​ Analiza series de tiempo (tendencia, estacionalidad, estacionariedad) y aplica modelos estadísticos (ARIMA, SARIMA, Holt‑Winters) usando statsmodels y pmdarima. •​ Transforma series temporales en problemas supervisados (ventanas deslizantes, lags, variables de calendario) y aplica modelos ML (XGBoost, Random Forest, SVR) con validación TimeSeriesSplit. •​ Diseña e implementa redes LSTM, GRU y CNN‑LSTM con Keras para pronósticos avanzados, manejando datos 3D y callbacks de entrenamiento. •​ Compara y selecciona el enfoque más adecuado (estadístico, ML o DL) según las características de los datos y los requisitos del proyecto. •​ Desarrolla un proyecto integrador completo (desde EDA hasta predicción) sobre un caso real de su especialidad, presentando resultados y recomendaciones basadas en métricas cuantitativas. 6.​Metodología Abraham Zamudio
  8. El desarrollo de las sesiones se efectuará mediante exposiciones del

    profesor, las mismas que se manejan en forma dinámica e interactiva con los alumnos, relacionando cada uno de los conceptos teóricos con casos prácticos. Asimismo, se aplicarán casos de estudio durante el desarrollo del curso con la finalidad de que los participantes resuelvan y presenten soluciones de acuerdo al esquema metodológico asignado por el profesor del curso. 7.​ Contenido por Sesiones: # DE SESION CONTENIDO Módulo I : Fundamentos de programación en python 1 Introducción al entorno de Google Colab y primeros programas • ¿Qué es Python? • Variables, tipos de datos básicos: int, float, str, bool. • Operadores aritméticos (+ - * / // % **) y de comparación. • Entrada y salida: print(), input(), f-strings. • Módulos : math y random • Comentarios y buenas prácticas. 2 Estructuras de control • Condicionales: if, elif, else. • Bucles: while y for con range(). • break, continue, else en bucles. 3 Funciones y modularidad • Definir funciones: def, return. • Parámetros y argumentos. • Variables locales y globales. • Documentación con docstrings. • Módulos: importar funciones de otro archivo. 4 Estructuras de datos: listas , tuplas , Diccionarios y Sets • Métodos de listas • Listas por comprensión (básico). • Tuplas: inmutabilidad, desempaquetado. • Diccionarios • Conjuntos (set) 5 NumPy y Pandas • Introducción a NumPy: arrays, operaciones vectorizadas, indexación, slicing, funciones universales. • Lectura de datos con Pandas: Series y DataFrame. • Carga de datos desde CSV/Excel: pd.read_csv(), pd.read_excel(). Abraham Zamudio
  9. • Exploración inicial: head(), info(), describe(), shape. • Selección de

    columnas y filas: [], loc, iloc. • Rutinas de preprocesamiento 6 Pandas y Matplotlib • Filtrado y consultas: df[condición], query(). • Agregaciones y grupos: groupby(), agg(), pivot_table(). • Visualización con Matplotlib: gráficos de líneas, dispersión, barras, histogramas, subplots. • Introducción a Seaborn para gráficos estadísticos. Módulo II : Aprendizaje Automático 7 Fundamentos de Machine Learning • ¿Qué es ML? Tipos: supervisado (regresión, clasificación), no supervisado (clustering). • Conceptos clave: características (features), etiquetas (labels), conjunto de entrenamiento/prueba. • Preprocesamiento: escalado (StandardScaler, MinMaxScaler), codificación de variables categóricas (OneHotEncoder). • Introducción a Scikit-learn: train_test_split, métricas básicas. 8 Regresión Lineal y Evaluación • Regresión lineal simple y múltiple. • Implementación con Scikit-learn: LinearRegression. • Técnicas de Evaluación • Regularización: Ridge y Lasso 9 Clasificación (I): Regresión Logística y K‑NN • Regresión logística para clasificación binaria. • K‑Nearest Neighbors (K‑NN). • Métricas de clasificación: matriz de confusión, precisión, recall, F1‑score, curva ROC‑AUC. • Manejo de clases desbalanceadas. 10 Árboles de Decisión • Estructura y funcionamiento de un árbol de decisión (nodos, ramas, hojas). • Medidas de impureza: Gini, entropía. • Construcción del árbol (algoritmo CART). • Visualización e interpretación de árboles. • Sobreajuste y estrategias de poda (limitación de profundidad, mínimo de muestras por hoja). • Implementación con DecisionTreeClassifier y DecisionTreeRegressor. 11 Random Forest y Ensamblaje • Concepto de ensamblaje: Bagging vs. Boosting. Abraham Zamudio
  10. • Random Forest: construcción de múltiples árboles con muestreo bootstrap

    y selección aleatoria de características. • Importancia de características (feature importance) y su interpretación en ingeniería. • Hiperparámetros clave: n_estimators, max_features, max_depth. • Comparación con un solo árbol de decisión. • Introducción a otros ensamblajes: Gradient Boosting (breve mención). 12 Aprendizaje No Supervisado: Clustering • K‑means: selección del número de clusters (método del codo). • Clustering jerárquico (dendrogramas). • Reducción de dimensionalidad: Análisis de Componentes Principales (PCA). • Visualización de clusters. Módulo III : Aprendizaje Profundo El Perceptron Multicapa 13 Fundamentos del Perceptrón Multicapa • De la neurona biológica a la artificial: el perceptrón simple. • Limitaciones del perceptrón simple y necesidad de múltiples capas. • Arquitectura de un MLP: capa de entrada, capas ocultas, capa de salida. • Funciones de activación: ReLU, sigmoide, tanh, softmax (propósito y cuándo usar cada una). • Propagación hacia adelante (forward propagation): cálculo de salidas. • Retropropagación (backpropagation) y descenso de gradiente. • Función de pérdida (loss): error cuadrático medio (MSE) para regresión, entropía cruzada (cross‑entropy) para clasificación 14 Introducción a Keras y primeros modelos • Entorno de trabajo: TensorFlow y Keras. • El modelo Sequential • Capa densa (Dense) • Compilación del modelo: El metodo compile() • Entrenamiento: El metodo fit() • Evaluación y predicción: evaluate(), predict(). • Visualización del historial de entrenamiento 15 Optimización y regularización • El problema del sobreajuste (overfitting) y cómo detectarlo. • Regularización L1 y L2 (penalización de pesos). • La capa Dropout • El callback Early stopping • Normalización de características: por qué es crítica para MLP (StandardScaler, MinMaxScaler). • Batch normalization 16 Abraham Zamudio
  11. Aplicaciones: Regresión • Repaso de métricas de evaluación:  - Para

    problemas de regresión • Estudio de caso 1 (regresión) • Interpretación del modelo: importancia de características (permutación, pesos). 17 Aplicaciones: Clasificación • Repaso de métricas de evaluación:  - Para problemas de clasificación • Estudio de caso 2 (clasificación) • Interpretación del modelo: importancia de características (permutación, pesos). 18 Ajuste de hiperparámetros y buenas prácticas • Hiperparámetros clave en MLP • Estrategias de búsqueda: búsqueda en cuadrícula (GridSearchCV) usando keras_tuner Módulo IV : Modelos de forecasting para series de tiempo 19 Fundamentos y modelos clásicos I • Componentes de una serie: tendencia, estacionalidad, ciclo, ruido. • Estacionariedad: concepto, pruebas ADF y KPSS. • Transformaciones: diferenciación, logaritmos. • Autocorrelación (ACF) y autocorrelación parcial (PACF). • Modelos AR, MA, ARMA. • Modelo ARIMA (p,d,q): identificación de órdenes mediante ACF/PACF. • Implementación con statsmodels.tsa.ARIMA. 20 Modelos clásicos II y suavizado exponencial • SARIMA: incorporación de estacionalidad (P,D,Q,m). • Selección automática de órdenes con auto_arima (pmdarima). • Suavizado exponencial simple, doble (Holt) y triple (Holt‑Winters). • Validación de modelos estadísticos: backtesting, rolling forecast. • Métricas de error: MAE, RMSE, MAPE, sMAPE. 21 Transformación de series a aprendizaje supervisado • Ventana deslizante (lag features): convertir una serie en tabla de características. • Características derivadas: media móvil, desviación, fecha‑hora (día de semana, mes, hora). • Modelos base: Random Forest Regressor, XGBoost. Abraham Zamudio
  12. • Preprocesamiento: escalado de características, manejo de valores faltantes. •

    Validación específica para series: TimeSeriesSplit de scikit‑learn. 22 Modelos ML avanzados y feature engineering • Support Vector Regression (SVR) para series. • Métodos de ensamblaje: stacking de modelos ML + estadísticos. • Ingeniería de características: descomposición estacional (STL), features de Fourier (días festivos). • Calibración de hiperparámetros (GridSearchCV con TimeSeriesSplit). • Ventajas y limitaciones del ML frente a modelos estadísticos. 23 Redes recurrentes: LSTM y GRU • Introducción a RNN: problema de gradiente evanescente. • Arquitectura LSTM (Long Short‑Term Memory): celdas de memoria, puertas. • GRU (Gated Recurrent Unit) como alternativa más ligera. • Preparación de datos para LSTM: secuencias 3D (samples, timesteps, features). • Construcción de un modelo LSTM con Keras: capas LSTM, Dense, dropout. • Entrenamiento: early stopping, reducción de learning rate. 24 CNN, arquitecturas híbridas • CNN para series de tiempo: convoluciones 1D (Conv1D). • Modelo CNN‑LSTM: extracción de características locales + memoria temporal. ​ •​ Prerrequisitos:​ Curso básico de Python Conocimientos en ciencia de datos Estadística Descriptiva y Estadística Inferencial 8.​Bibliografía •​ Matthes, E. (2023). Python crash course: A hands-on, project-based introduction to programming. no starch press. •​ Ochoa Reyes, X. (2024). Aprende Python desde cero hasta avanzado: El libro completo de la programacion python para principiantes - Con ejercicios prácticos y contenido bonus. Alemania: Book Shelter GmbH. •​ Johansson, R., Johansson, R., & John, S. (2019). Numerical python (Vol. 1). New York, NY: Apress. •​ Cady, F. (2024). The data science handbook. John Wiley & Sons. •​ Géron, A. (2022). Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow. " O'Reilly Media, Inc.". •​ Chollet, F., & Chollet, F. (2021). Deep learning with Python. •​ Martínez-Ramón, M., Ajith, M., & Kurup, A. R. (2024). Deep learning: a practical introduction. John Wiley & Sons. •​ Hyndman, R. J., & Athanasopoulos, G. (2018). Forecasting: principles and practice. OTexts. Abraham Zamudio