layout: true background-size: contain --- background-image: url(img/congreso_3.png) class: inverse, center, middle .high-title[Ciencia de Datos y Machine Learning con R] .size_text_18px[Act. Arturo Bringas] --- background-image: url(img/congreso_2.png) class: inverse, center, middle .high-title[¿Qué está pasando en el mundo del análisis de los datos?] --- background-image: url(img/01_complexity_confusion.png) class: inverse, center, middle --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> <br /> .panelset[ .panel[.panel-name[Statistics] .pull-left[ .body[ Analiza e interpreta datos a través de una población muestral generando estadística descriptiva y estadística inferencial. <br /> * **Estadística descriptiva:** Describe distribuciones, análisis exploratorio, correlaciones, outliers, etc. <br /> * **Estadística inferencial:** Analiza estimaciones puntuales, intervalos de confianza o hipótesis para una población. ] ] .pull-right[ <img src="img/02_muestra.jpg" width="545px" height="265px" /> ] ] .panel[.panel-name[BI] .pull-left[ <img src="img/03_bi.png" width="545px" height="265px" /> ] .pull-right[ .body[ Aprovecha el software y servicios para transformar datos en **conocimientos prácticos que informan las decisiones estratégicas de una organización**. <br /> Acceden y analiza datos para **transformar hallazgos analíticos** en informes, resúmenes, tableros, gráficos, tablas, KPI’s y mapas para proporcionar inteligencia detallada sobre el estado del negocio. Está enfocada en *analizar la historia pasada*. ] ] ] .panel[.panel-name[Big Data] .pull-left[ .body[ Grandes conjuntos de información que crecen a un ritmo cada vez mayor. Abarca los 3 "V": * **V**olumen de información * **V**elocidad a la que se crea y recopila * **V**ariedad de datos que se cubren. Es común que se confunda los conceptos de **Big Data y Big Compute.** BD se refiere al procesamiento de conjuntos voluminosos y BC a herramientas y algoritmos que usan gran cantidad de recursos computacionales para resolver problemas complejos. ] ] .pull-right[ <img src="img/04_bigdata.jpg" width="545px" height="265px" /> ] ] .panel[.panel-name[ML] .pull-left[ <img src="img/05_machine_learning_tree.png" width="600px" height="270px" /> ] .pull-right[ .body[ Los algoritmos de Machine Learning se dividen en categorías: **Supervisado:** Aprendizaje basado en etiquetas con respuestas correctas a partir de las cuales el algoritmo asocia patrones comunes en datsos. **No supervisado:** Aprendizaje sin supervisión ni guía. Esto significa descubrir ¿qué es qué? por nosotros mismos. **Por refuerzo:** Aprende a partir de experiencia propia. Esto es, que sea capaz de tomar la mejor decisión de acuerdo a un proceso de prueba y error en el que se recompensan las decisiones correctas. [Ejemplo](https://www.youtube.com/watch?v=qv6UVOQ0F44) ] ] ] .panel[.panel-name[DL] .pull-left[ .body[ Ocupa de los algoritmos inspirados en la estructura y función del cerebro llamados **redes neuronales artificiales**. <img src="img/06_dl.png" width="545px" height="100px" /> El modelo aprende a **clasificar a partir de imágenes, video, texto o sonido**. Los modelos de aprendizaje profundo pueden lograr una precisión de vanguardia. Los modelos se entrenan mediante el uso de un gran conjunto de datos y arquitecturas de redes neuronales que contienen muchas capas. ] ] .pull-right[ <img src="img/07_reconocimiento.png" width="545px" height="265px" /> ] ] .panel[.panel-name[Data Science] <img src="img/08_data_science_skillset.jpg" width="600px" height="300px" /> ] ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> <br /> .panelset[ .panel[.panel-name[Datos y Etiquetas] <img src="img/09_1_etiquetas.png" width="600px" height="300px" /> ] .panel[.panel-name[Relevancia y Suficiencia] <img src="img/09_2_relevancia_suficiencia.png" width="600px" height="300px" /> ] .panel[.panel-name[Software] <img src="img/09_3_lenguajes.png" width="600px" height="300px" /> ] ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Aplicaciones de Ciencia de Datos] .pull-left[ .body[ **Aplicaciones centradas en clientes** * Recomendaciones de productos * Upselling & Cross-selling * Reducir tasas de cancelación * Análisis de sentimientos * Personalización de productos o servicios ] <img src="img/10_customer.png" width="200px" height="150px" /> ] .pull-right[ <img src="img/11_location.png" width="200px" height="180px" /> .body[ **Optimización de problemas** * Optimización de precios * Ubicación de nuevas sucursales * Maximización de ganancias mediante producción de materias primas * Construcción de portafolios de inversión ] ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Aplicaciones de Ciencia de Datos] .pull-left[ <img src="img/12_forecasting.jpeg" width="200px" height="150px" /> .body[ **Predicción de demanda** * Número futuro de clientes * Número esperado de viajes * Número por virus (demanda médica/ medicamentos/ etc) * Predicción de uso de recursos ] ] .pull-right[ .body[ **Análisis de detección de fraude** * Detección de robo de identidad * Detección de transacciones ilícitas * Detección de servicios fraudulentos * Detección de zonas geográficas con actividades ilícitas <img src="img/13_fraud.jpeg" width="320px" height="160px" /> ] ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[ML - Aprendizaje Supervisado] .pull-left[ .body[ Se realiza la **detección de patrones** para aprender las relaciones existentes entre las variables explicativas y la respuesta a predecir. Posteriormente, dependiendo del tipo de respuesta se realiza la clasificación o regresión predictiva ] <img src="img/14_bot_supervisado.png" width="300px" height="230px" /> ] .pull-right[ <img src="img/15_regresion_clasificacion.png" width="370px" height="225px" /> .body[ Existen algoritmos que operan con cada uno de los tipos de respuesta y algunos de ellos logran adaptarse al tipo de respuesta indicado. ] ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[ML - Aprendizaje NO Supervisado] .pull-left[ .body[ A partir de **similitudes entre los elementos** en observación, se realizan agrupaciones que pueden ayudar a: * Segmentar clientes * Reducir dimensión de grandes datos * Realizar sistemas de recomendación * Etc. ] <img src="img/17_bot_no_supervisado.png" width="300px" height="215px" /> ] .pull-right[ <img src="img/16_recommendation.png" width="300px" height="200px" /> .body[ A menudo se combinan los algoritmos de aprendizaje de máquina supervisado y no supervisado para crear sistemas predictivos que ayuden a **mejorar la precisión** ] ] --- background-image: url(img/congreso_2.png) class: inverse, center, middle .high-title[Manos a la obra] <br /> <br /> .high-title[¿Cómo iniciamos?] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[División de datos] .pull-left[ .body[ Para realizar el entrenamiento y prueba del mejor modelo posible, los datos se segmentan en 3 conjuntos. * **Training:** Conjunto a través del cual se **construye el modelo**. Se calculan parámetros que usará el modelo para hacer predicciones. * **Validation:** Se usa para **validar las decisiones** de configuración del modelo. Se seleccionan hiper-parámetros que producen mejor resultado predictivo sobre este conjunto de datos. * **Testing:** Prueba predictiva final que permite **conocer el futuro poder predictivo** similar al que se obtendrá cuando el modelo se encuentre en producción. ] ] .pull-right[ <img src="img/18_conjunto_validacion.png" width="420px" height="290px" /> ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[División de datos - KFCV] .pull-left[ .body[ Una estrategia que permite seleccionar ágilmente los mejores hiper-parámetros de configuración es **probar con distintas opciones en distintas divisiones de datos** y elegir el que permita obtener mejores resultados. ] <img src="img/18_2_kfcv.jpg" width="350px" height="230px" /> ] .pull-right[ <img src="img/18_1_cross_validation.png" width="370px" height="230px" /> .body[ A partir del cálculo del poder predictivo de cada uno de los folds creados, se calcula el error promedio de cada configuración y finalmente se elige el modelo que tenga **mejor poder predictivo promedio**. ] ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Ingeniería de variables] .body[ La ingeniería de datos abarca actividades que **reformatean los valores de los predictores para que se puedan utilizar de manera eficaz para nuestro modelo**. Esto incluye transformaciones y codificaciones de los datos para representar mejor sus características importantes. Ejemplos: ] .pull-left[ .title-table[Transformación numérica]
] .pull-right[ .title-table[Transformación categórica]
] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Respuesta Numérica - Regresión Lineal] .body[ **Regresión Lineal Simple:** Realiza el ajuste de una recta permita conocer la relación existente entre una única variable explicativa **X** para predecir una respuesta numérica **Y**. La predicción se realiza a través de: `$$\hat{Y} = \hat{\beta}_0 + \hat{\beta}_1X_1 + \epsilon \approx b + mx$$` ]
--- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Respuesta Numérica - Regresión Lineal] .body[ **Regresión Lineal Múltiple:** Realiza el ajuste de un hiper-plano que permita conocer la relación existente entre múltiples variables explicativas `\(\{X_1, X_2, ... , X_p \}\)` para predecir una respuesta numérica **Y**. La predicción se realiza a través de: $$\hat{Y} = \hat{\beta}_0 + \hat{\beta}_1X_1 + \hat{\beta}_2X_2 + ... + \hat{\beta}_pX_p + \epsilon $$ ]
--- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Respuesta Numérica - Regresión KNN] .body[ **K Vecinos más Cercanos:** Realiza comparaciones de cada elemento por predecir contra todas las observaciones conocidas para posteriormente estimar la predicción de un nuevo elemento **a través del promedio de los _K_ vecinos más parecidos.** La cantidad de vecinos cercanos determinará la flexibilidad del modelo. * A mayor número de vecinos, el modelo será más rigido y tendrá más sesgo y menos varianza. * A menor número de vecinos, el modelo será más flexible, logrando mayor varianza y menos sesgo. ] <img src="img/18_1_regression_knn1.png" width="210px" height="180px" /><img src="img/18_2_regression_knn2.png" width="210px" height="180px" /><img src="img/18_3_regression_knn3.png" width="210px" height="180px" /> .body[ No existe una *K* mágica, la **elección óptima de *"K"* se determina mediante pruebas iterativas de ensayo y error**, de forma que se elige la que ajuste mejor a los datos. ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Respuesta Numérica - Regresión KNN] .body[ **K Vecinos más Cercanos:** Realiza comparaciones de cada elemento por predecir contra todas las observaciones conocidas para posteriormente estimar la predicción de un nuevo elemento **a través del promedio de los _K_ vecinos más parecidos.** La cantidad de vecinos cercanos determinará la flexibilidad del modelo. * A mayor número de vecinos, el modelo será más rigido y tendrá más sesgo y menos varianza. * A menor número de vecinos, el modelo será más flexible, logrando mayor varianza y menos sesgo. ] <img src="img/19_1_regression_knn_k1.png" width="210px" height="180px" /><img src="img/19_2_regression_knn_k2.png" width="210px" height="180px" /> .body[ No existe una *K* mágica, la **elección óptima de *"K"* se determina mediante pruebas iterativas de ensayo y error**, de forma que se elige la que ajuste mejor a los datos. ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Tree Decision] .pull-left[ .body[ **Árbol de decisión:** Es un clasificador estructurado de manera jerárquica (árbol), en donde: * Los nodos internos representan las características de un conjunto de datos * Las ramas representan las reglas de decisión * Cada nodo hoja representa el resultado. ] <img src="img/19_1_arboles.png" width="260px" height="190px" /> ] .pull-right[ <img src="img/19_2_arboles.png" width="320px" height="220px" /> .body[ La idea básica de los árboles es **buscar puntos de corte** en las variables de entrada para hacer predicciones, ir dividiendo la muestra y encontrar cortes para **refinar las predicciones.** ] ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Respuesta Numérica - Tree Decision] .body[ En el caso de un **árbol de regresión**, los cortes se realizan de manera que disminuya la varianza al interior de cada uno de los grupos formados a partir de la rama de decisión. ] <img src="img/20_1_arbol_reg_diagram.png" width="300px" height="200px" /><img src="img/20_3_arbol_reg_ejemplo.png" width="300px" height="200px" /> .body[ Posteriormente, para realizar predicciones de nuevas observaciones se calcula **el promedio de la variable de respuesta** de los elementos observados contenidos en el grupo para lograr estimaciones de nuevas observaciones que sean clasificados en el nodo hoja creado ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Respuesta Numérica - Random Forest] .body[ El proceso de toma de decisión jerárquica puede mejorarse al considerar el **promedio del resultado** de miles de árboles creados a partir de **muestras bootstrap**, las cuales crean variación en los datos para detectar los patrones consistentes y desechar aquellos producidos por ruido o datos atípicos. ] <img src="img/21_2_bagging.png" width="280px" height="235px" /> <img src="img/21_1_rforest_mean.png" width="280px" height="220px" /> .body[ La **agregación** del resultado de múltiples modelos puede en muchas ocasiones **mejorar el desempeño final**, sin embargo, esta mejora **se paga con recursos computacionales** ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Respuesta Categórica - Regresión Logística] .body[ **Modelo de clasificación** A partir de una o más variables explicativas, se estima la **probabilidad de pertenecer a la categoría _positiva_ de una variable de respuesta categórica**. Posteriormente, se determina el umbral de probabilidad a partir del cual se clasifica a una observación como positiva o negativa. `$$P[Y = 1 | X] = \frac{e^{\hat{\beta}_0 + \hat{\beta}_1X_1 + ... + \hat{\beta}_pX_p}}{1 + e^{\hat{\beta}_0 + \hat{\beta}_1X_1 + ... + \hat{\beta}_pX_p}}$$` ]
--- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Respuesta Categórica - Clasificación KNN] .body[ **K Vecinos más Cercanos:** Realiza comparaciones de cada elemento por predecir contra todas las observaciones conocidas para posteriormente estimar la predicción de un nuevo elemento **a través de la moda de los _K_ vecinos más parecidos.** La cantidad de vecinos cercanos determinará la flexibilidad del modelo. * A mayor número de vecinos, el modelo será más rigido y tendrá más sesgo y menos varianza. * A menor número de vecinos, el modelo será más flexible, logrando mayor varianza y menos sesgo. ] <img src="img/20_1_classification_knn.png" width="210px" height="180px" /><img src="img/20_2_classification_knn.png" width="210px" height="180px" /><img src="img/20_3_classification_knn.png" width="210px" height="180px" /> .body[ No existe una *K* mágica, la **elección óptima de *"K"* se determina mediante pruebas iterativas de ensayo y error**, de forma que se elige la que ajuste mejor a los datos. ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Respuesta Categórica - Clasificación KNN] .body[ **K Vecinos más Cercanos:** Realiza comparaciones de cada elemento por predecir contra todas las observaciones conocidas para posteriormente estimar la predicción de un nuevo elemento **a través de la moda de los _K_ vecinos más parecidos.** La cantidad de vecinos cercanos determinará la flexibilidad del modelo. * A mayor número de vecinos, el modelo será más rigido y tendrá más sesgo y menos varianza. * A menor número de vecinos, el modelo será más flexible, logrando mayor varianza y menos sesgo. ] <img src="img/21_1_classification_knn_k1.png" width="250px" height="180px" /><img src="img/21_2_classification_knn_k2.png" width="250px" height="180px" /> .body[ No existe una *K* mágica, la **elección óptima de *"K"* se determina mediante pruebas iterativas de ensayo y error**, de forma que se elige la que ajuste mejor a los datos. ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Respuesta Categórica - Tree Decision] .body[ En el caso de un **árbol de clasificación**, los cortes se realizan de manera que disminuya la impureza de categorías al interior de cada uno de los grupos formados a partir de la rama de decisión. ] <img src="img/22_1_arbol_class_diagram.png" width="300px" height="200px" /><img src="img/22_2_arbol_class_graph.png" width="300px" height="200px" /> .body[ Posteriormente, para realizar predicciones de nuevas observaciones se calcula **la moda de la variable de respuesta** de los elementos observados contenidos en el grupo para lograr estimaciones de nuevas observaciones que sean clasificados en el nodo hoja creado ] --- background-image: url(img/congreso_1.png) class: inverse, center <br /> <br /> .size_text_26px[Respuesta Categórica - Random Forest] .body[ El proceso de toma de decisión jerárquica puede mejorarse al considerar el **promedio del resultado** por *votación de la mayoría* de miles de árboles creados a partir de **muestras bootstrap**, las cuales crean variación en los datos para detectar los patrones consistentes y desechar aquellos producidos por ruido o datos atípicos. ] <img src="img/23_1_randomforest_ejemplo.jpg" width="390px" height="230px" /> <img src="img/23_2_randomforest.png" width="340px" height="230px" /> .body[ La **agregación** del resultado de múltiples modelos puede en muchas ocasiones **mejorar el desempeño final**, sin embargo, esta mejora **se paga con recursos computacionales.** ]