Ciencia De Datos

Curso de python básico orientado al análisis de datos

Se acaba de publicar en GitHub el/nuestro Curso de python básico orientado al análisis de datos. Digo nuestro un tanto impropiamente: casi todo el material es de Luz Frías, mi socia en Circiter. Mía hay alguna cosa suelta. Como como minicoautor soy el comentarista menos creíble del contenido, lo dejo al juicio de cada cual. Y, por supuesto, se agradecen correcciones, comentarios, cañas y fusilamientos (con la debida caballerosidad, por supuesto, en lo de las atribuciones).

Ser científico de datos, ¿puede ser menos sexi de lo que te han contado?

Puede que sí, pero no por las razones expuestas en Retina. [Nota: Perdón por meterme con Retina. Es tan de amateur como criticar los gráficos de Expansión o los argumentos económicos de un peronista.] En particular, argumenta Retina que esas máquinas a las que les echas unos datos y encuentran por sí solas el mejor modelo nos van a dejar sin trabajo. Otra vez. El autoML es como los crecepelos, las dietas milagrosas y los tipos que te cuentan que van a hacerse ricos con su algoritmo de inversión en bolsa: llevan toda la vida anunciándolos, logran cierta exposición mediática gracias a panfletos como Retina y nadie les dedica un mal obituario cuando mueren en el olvido (¿alguien recuerda a KXEN, por ejemplo?

Sobre la burbuja del "online advertising"

En algún momento del 2006 tuve que ver en un proyecto en UICH (Una Importante Cadena de Hipermercados). Estaban muy preocupados por la redención de cupones: querían incrementar el porcentaje de los cupones de descuento que distribuían entre sus clientes. Yo, que era un consultor bisoño en la época (y que por lo tanto, ignoraba que, trabajando en márketing había que dejar el sentido común en casa e impostar uno distinto de camino al trabajo) preguntaba (¡animalico!

Ciencia de datos 1.0 vs ciencia de datos 2.0

[Mil perdones por utilizar el término ciencia de datos; lo he hecho por darme a entender sin enredarme en distingos.] [Mil perdones por (ab)usar (de) la terminología X.0; de nuevo, lo he hecho por darme a entender sin enredarme en distingos.] Todo es un caos y llega alguien con una idea paretiana. Por ejemplo, esta (que es la que ha motivado esta entrada). La idea paretiana puede ser usar regresión logística sobre un subconjunto de variables que tienen sentido; o automatizar una serie de reglas duras (sí, unos cuantos ifs) que la gente que conoce el asunto saben que funcionan sí o sí.

Los ejemplos son las conclusiones

[Ahí va otro aforismo en la línea de este otro]. Me recomienda Medium muy encarecidamente la lectura de Optimization over Explanation y yo a mis lectores. Trata el asunto de la responsabilidad dizque ética de los algoritmos de inteligencia artificial. Nos cuenta cómo la legislación en general y la GDPR en particular ha hecho énfasis en la explicabilidad de los modelos: según la GDPR, los sujetos de esos algoritmos tendríamos el derecho a que se nos explicasen las decisiones que toman en defensa de nosequé bien jurídico, que nunca he tenido claro y que se suele ilustrar examinando una serie de casos en los que salen aparentemente perjudicados los miembros de unas cuantas minorías cuya agregación son todos menos yo y unos poquitos más que se parecen a mí.

¿Tienes un sistema predictivo guay? Vale, pero dame los dos números

No, no me vale que me digas que aciertas el 97% de las veces. Dime cuántas veces aciertas cuando sí y cuántas veces aciertas cuando no. Si no, cualquiera. Nota: estaba buscando la referencia a la última noticia de ese estilo que me había llegado, pero no la encuentro. No obstante, seguro, cualquier día de estos encontrarás un ejemplo de lo que denuncio.

Preprocesamiento de variables categóricas con muchos niveles

No sabía por qué tenía apartado A Preprocessing Scheme for High-Cardinality Categorical Attributes in Classification and Prediction Problems en mi disco duro para ulteriores revisiones hasta que, al abrirlo, he encontrado la fórmula que es una versión de mi favorita del mundo mundial (si te dedicas a la ciencia de datos, no la conoces y tienes principios, negocia a la baja tu sueldo: estás timando a alguien). Todo sumamente aprovechable y recomendable.

Proporciones pequeñas y "teoremas" de "imposibilidad"

Esta entrada responde y complementa Malditas proporciones pequeñas I y II_ _trayendo a colación un artículo que ya mencioné en su día y que cuelgo de nuevo: On the Near Impossibility of Measuring the Returns to Advertising. ¡Atención al teorema de la imposibilidad de la Super Bowl! Y el resumen breve: cada vez estamos abocados a medir efectos más y más pequeños. La fruta que cuelga a la altura de la mano ya está en la fragoneta del rumano.

Optimización: dos escuelas y una pregunta

Dependiendo de con quién hables, la optimización (de funciones) es un problema fácil o difícil. Si hablas con matemáticos y gente de la escuela de optim y derivados (BFGS y todas esas cosas), te contarán una historia de terror. Si hablas con otro tipo de gente, la de los que opinan que el gradiente es un tobogán que te conduce amenamente al óptimo, el de la optimización no alcanza siquiera talla de problema.

¿Informática o matemáticas? Una pregunta muy mal formulada

Si queréis trabajar de “data scientists” mejor estudiad informática que mates, si podéis haced el doble grado y ya hay grados de data science. En ningún trabajo os pedirán inventaros algoritmos revolucionario, os pedirán cosas de programador y mates que se enseñan en Informática https://t.co/ebfr05NqVP — Victoriano Izquierdo (@victorianoi) May 31, 2019 es el tuit que lo comenzó todo. Hay más sobre su impacto aquí. No voy a comentarlo. Sí que diré que la pregunta está mal formulada.

ML y estadística, ¿cosas distintas?

Recomiendo, sin comentarlo, un artículo muy desasosegador en el que se leen cosas como: At this point, I had taken only an introductory statistics class that was a required general elective, and then promptly forgotten most of it. Needless to say, my statistical skills were not very strong. Yet, I was able to read and understand a paper on a state-of-the-art generative machine learning model, implement it from scratch, and generate quite convincing fake images of non-existent individuals by training it on the MS Celebs dataset.

Sobre el error de generalización (porque a veces se nos olvida)

Al construir modelos, queremos minimizar $$ l(\theta) = \int L(y, f_\theta(x)) dP(x,y),$$ donde $L$ es una determinada función de pérdida (y no, no me refiero exclusivamente a la que tiene un numerillo 2). Pero como de $latex P(x,y)$ solo conocemos una muestra $latex (x_i, y_i)$ (dejadme aprovechar la ocasión para utilizar una de mis palabras favoritas: $latex P(x,y)$ es incognoscible), hacemos uso de la aproximación $$ \int f(x) dP(x) \approx \frac{1}{N} \sum f(x_i)$$

¿Vale realmente el "bootstrap" para comparar modelos?

Es una pregunta legítima —en el sentido de que ignoro la respuesta— que tengo. Para plantearla en sus debidos términos: Contexto: Tenemos modelos y queremos compararlos. Queremos que funcionen en el universo, pero solo disponemos de él una muestra. Acto 1: Para desatascar el nudo lógico, recurrimos a técnicas como: Entrenamiento y validación,j jackknife y sobre todo, su popular evolución, la validación cruzada. Todas ellas bien sabidas y discutidas en todos los manuales.