Causalidad: ¿machine learning o modelos "clásicos"?

Miguel Conde
En este post vamos a mezclar R con Python. Los gráficos de modelos causales están hechos con el paquete dagitty. El resto con Python. Este blog se edita con blogdown y RStudio nos permite crear archivos Rmarkdown mezclando R y Python gracias al paquete reticulate. Vídeo introductorio: library(tidyverse, quietly = TRUE) ## Warning: package 'readr' was built under R version 4.1.2 library(dagitty) library(reticulate) Sys.setenv(RETICULATE_PYTHON="") options(reticulate.repl.quiet = TRUE) reticulate::use_condaenv("ml-course-edix") import warnings warnings.

Multicolinealidad, inferencia y predicción

Miguel Conde
A menudo oimos lo mala que es la multicolinealidad en los modelos de regresión. En este artículo vamos a ver en qué consiste y cuáles son sus efectos, lo que nos llevará, curiosamente, a otras disquisiciones habituales: ¿Qué diferencia hay entre inferencia y predicción? ¿Qué enfoque es mejor? Machine Learning: lo meto todo en la coctelera sin darle muchas vueltas a la cabeza y pruebo muchos tipos de modelo y consjuntos de hperparámetros.

ROI

Miguel Conde
El paquete ROI (= R Optimization Infrastructure) nos proporciona una infraestructura ampliable para modelado de problemas de optimización (lineal, cuadrática, cónica y no lineal en generalgeneral). Además, administra múltiples solvers, reformulaciones, colecciones de problemas y funciones para leer y escribir problemas de optimización en varios formatos. El paper de 2019 es muy recomendable para iniciarse en ROI y para profundizar luego en él. En su Apartado 2 encontrarás un resumen de teoría de optimización, en el 3 tienes una interesante panorámica del software de optimización disponible en R, en los 4 y 5 dispones de la descripción de la infraestructura y la librería.

"Las matemáticas vigilan tu salud", de Clara Grima y Enrique F. Borja

Miguel Conde
Este libre trata de modelos sobre epidemias y vacunas, vamos, dos temas de plena actualidad. Lo que me ha gustado de él es lo bien que identifica y explica los conceptos clave. Sin entrar en detalles ni extenderse, empleando un lenguaje animado y cercano, acerca al lector de manera precisa los puntos de referencia en el mapa de los modelos epidemiológicos y las vacunas. Si habéis tenido que buscaros la vida para modelar epidemias (ya sabéis, modelos SIR y derivados), este es el libro que os hubiera gustado tener para empezar.

Repúblicas y Monarquías

Miguel Conde
Ya que el asunto quiere estar de moda, aquí tienen un gráfico interactivo con el que jugar comparando unas y otras. Cuanto más igualdad en ingresos, más arriba en el gráfico (y viceversa); y cuanto más democráticos, más a la derecha en el gráfico.

Vísteme despacio, que tengo prisa

Miguel Conde
Muy bien, hace ya tiempo que decidiste adoptar el software como tu principal herramienta analítica. Quizá uses Python, quizá R o (¡muy bien!) ambos o, incluso, más lenguajes de programación. Tengo una buena noticia para ti: ante ti se abre un enorme abanico de posibilidades para aportar mayor valor (a tu empresa, a tu cliente, a tus investigaciones, a tu carrera), porque el software permite automatizar, permite capitalizar el trabajo y el conocimiento y permite trabajar de manera replicable y reproducible.

Olviden ya el Excel, por favor

Miguel Conde
Leí mi Proyecto Fin de Carrera en 1990. Entonces no lo sabía, pero iba de Machine Learning (si, has leído bien, he dicho “en 1990”). Hasta una red neuronal implementé, mira por dónde. Me explico: se trataba de analizar muchos programas escritos en Modula-2 (antigualla…), extraerles una serie de métricas, modelar en función de ellas su calidad y también detectar posibles plagios (aquí entró la red neuronal, junto a otro tipo de modelos de clasificación basados en histogramas).

Machine Learning Ensembles - y IV

Miguel Conde
La técnica conocida como bagging consiste en muestrear los datos de entrenamiento de una manera muy concreta llamada bootstrapping y utilizar luego cada muestra así tomada para ajustar sendos modelos (de clasificación o regresión) con los que construir un enesemble. Así, la estructura del método es muy sencilla: primero, generamos N muestras bootstrap a partir de los datos originales. A continuación utilizamos cada muestra para construir un modelo del ensemble que luego usaremos para realizar una predicción sobre otra muestra diferente.

Machine Learning Ensembles III

Miguel Conde
En este artículo vamos a crear un modelo apilado (stack): igual que en el anterior, crearemos algunos modelos de primer nivel; pero luego seleccionaremos uno de segundo nivel, que tomará las predicciones de los de primer nivel como entradas para realizar su propia predicción. Como primer paso, cargamos y preparamos los datos: library(C50) library(modeldata) data(mlc_churn) churn <- mlc_churn # Variables target y predictoras (features) # Variables target y predictoras (features) target <- "churn" predictoras <- names(churn)[names(churn) !

Machine Learning Ensembles II

Miguel Conde
Como nos propusimos en el artículo anterior, vamos a preparar un primer ensemble entrenando un random forest, un svm tipo radial y un xgbm tipo tree como modelos de primer nivel. Para construirlos vamos a aprovechar las facilidades del paquete caret. Por ejemplo, nos permitirá validar los modelos construidos mediante cross validation, es decir, usando solo el train set sin necesidad de disponer de un data set específico para validación.