ciencia de datos

Uso y abuso de los "embeddings"

La variable feota por excelencia de nuestra profesión es el código postal: es categórica, tiene miles de niveles, muchos son infrecuentes, etc. Así que cuando se inventaron los embeddings, hace la tira, se me ocurrió crear uno por defecto. Es decir, una representación en baja dimensión de esa variable que pudiera aplicarse a una variedad de modelos. Y así fue hasta que al cabo de unos minutos se me ocurrió que ya existía una, muy natural, en dos dimensiones, que difícilmente iba a poder ser batida por un constructo ciego a la realidad: latitud y longitud.

TF-IDF

Imaginemos que queremos categorizar textos (i.e., poder decir algo así como: el texto 1434 trata de biología). Una manera de afrontar el problema, no la única, es contar palabras (o más en general, términos: piénsese en bigramas, trigramas, etc.). Qué es Por fijar ideas, pensemos en textos sobre economía (sí, porque voy a referirme a parte del análisis de los textos del blog nadaesgratis.es al que ya me referí aquí).

npl(nadaesgratis.es): el subproducto

Estos días me he entretenido repasando el estado del arte en NLP y otras tecnologías que hace un tiempo no toco y que, la verdad sea dicha, cambian —muy a mejor— una barbaridad. A tal fin, descargué al disco duro el texto de todas las entradas de un blog que leía en tiempos, nadaesgratis.es —unas 4388 entradas, menos unas 30 que ya no existen, a lo largo de 13 años y que vienen a ocupar, en texto no comprimido, como treinta quijotes, unos 33 MB— para mis pruebas.

¿Cómo aleatorizan las columnas los RRFF?: un experimento mental y una coda histórica

I. El experimento mental Tienes una variable binaria y y 100 variables predictoras de las cuales 99 son puro ruido y la última es igual a y. En código, n <- 1000 y <- as.factor(rbinom(n, 1, .4)) x <- matrix(rnorm(n*100), n, 100) x[,100] <- y El objetivo consiste, obviamente, en predecir y en función de x. II. RRFF Los RRFF, como es bien sabido, son conjuntos de n árboles construidos sobre los mismos datos.

Cuantificación de la incertidumbre

IBM ha desarrollado una iniciativa, Uncertainty Quantification 360, que describe así: Uncertainty quantification (UQ) gives AI the ability to express that it is unsure, adding critical transparency for the safe deployment and use of AI. This extensible open source toolkit can help you estimate, communicate and use uncertainty in machine learning model predictions through an AI application lifecyle. We invite you to use it and improve it. En la página del proyecto hay documentación abundante pero recomiendo comenzar por la demo.

¿Quién inventó los "random forests"?

[Este artículo tiene una corrección —tachado en el texto que sigue— posterior a la fecha de publicación original. Véase la entrada "¿Cómo aleatorizan las columnas los RRFF?: un experimento mental y una coda histórica" para obtener más información al respecto.] Si hacemos caso, por ejemplo, a la gente que estaba allí entonces, la que estaba al día de todo lo que se publicaba en la época, la que conocía personalmente a los presuntos implicados y la que seguramente había tenido constancia previa de la idea en alguna pizarra o en la servilleta de una cafetería, fue Leo Breiman en 2001.

Mi apuesta para el larguísimo plazo: Julia

Larguísimo, arriba, significa algo así como 10 o 20 años. Vamos, como cuando comencé con R allá por el 2001. R es, reconozcámoslo, un carajal. Pocas cosas mejores que esta para convencerse. No dejo de pensar en aquello que me dijo un profesor en 2001: que R no podría desplazar a SAS porque no tenía soporte modelos mixtos. Yo no sabía qué eran los modelos mixtos en esa época pero, desde entonces, vine a entender y considerar que “tener soporte para modelos mixtos” venía a ser como aquello que convertía a un lenguaje para el análisis de datos en una alternativa viable y seria a lo existente.

Hayek vs "Machín Lenin"

Contexto: Una empresa tiene una serie de técnicos repartidos por todas las provincias que tienen que hacer visitas y reparaciones in situ a una serie de clientes dispersos. La empresa cuenta con un departamento técnico central que asigna diariamente y, fundamentalmente, con herramientas ofimáticas las rutas a cada uno de los técnicos. Alternativas tecnológicas: Machín Lenin: Unos científicos de datos usan algoritmos de enrutamiento para crear una herramienta que ayuda (o reemplaza total o parcialmente) al equipo técnico de las hojas de cálculo para generar rutas óptimas que enviar diariamente a los técnicos.

PCA robusto

Esta semana he descubierto el PCA robusto. En la frase anterior he conjugado el verbo en cursiva porque lo he pretendido usar con un significado que matiza el habitual: no es que haya tropezado con él fortuitamente, sino que el PCA robusto forma parte de esa inmensa masa de conocimiento estadístico que ignoro pero que, llegado el caso, con un par de clicks, una lectura en diagonal y la descarga del software adecuado, puedo incorporarlo y usarlo a voluntad.

Nutri-Score: el "algoritmo"

Se hablará mucho de Nutri-Score y de cómo es pernicioso dejar en manos de un algoritmo la decisión sobre la conveniencia o no de ciertos alimentos. Nutri-Score se convertirá en otra de esas malévolas encarnaciones de las matemáticas con vocación de destrucción masiva. Pero que conste que Nutri-Score es, como algoritmo, solamente esto (fuente): Al menos, esta vez no se lo podrá tachar de opaco.

Solo el modelo vacío pasa todos los "checks"

Cuando uno crea uno de esos modelos que tanta mala fama tienen hoy en día —y sí, me refiero a esos de los que dependen las concesiones de hipotecas, etc.— solo tiene dos fuentes de datos: La llamada información _estadística _acerca de los sujetos: donde vive, sexo, edad, etc. Información personal sobre el sujeto: cómo se ha comportado en el pasado. Sin embargo, aquí se nos informa de cómo ha sido multado un banco finlandés por

¿Qué modelas cuando modelas?

Ahora que estoy trabajando en el capítulo dedicado a la modelización (clásica, frecuentista) de mi libro, me veo obligado no ya a resolver sino encontrar una vía razonable entre las tres —¿hay más?— posibles respuestas a esa pregunta. La primera es yo modelo un proceso (o fenómeno), los datos llegan luego. Yo pienso que una variable de interés $latex Y$ depende de $latex X_i$ a través de una relación del tipo