← 16 · ¿Se puede predecir? Y las anomalías H9

Primero se descarta lo que no cumple una condición obligatoria y después se comparan los que quedan

La pregunta de esta página

¿Cómo se decide qué algoritmo usar?

1 El problema

Hay decenas de algoritmos y cada artículo recomienda el suyo. Es fácil acabar eligiendo el que está de moda o el que ya se sabe usar, y el más complejo tiende a parecer el más fiable.

2 Por qué engaña

Un algoritmo más flexible saca mejor nota sobre los datos con los que aprende. Esa nota se toma a menudo como prueba de que es mejor. Además, cuando el dato no tiene señal, ningún algoritmo la crea: la complejidad añadida solo cuesta tiempo y hace el modelo más difícil de explicar.

3 El principio

Dos pasos: descartar y comparar
Primero se identifica la condición obligatoria del caso, que descarta candidatos. Después se prueban los dos o tres que quedan, siempre junto a un modelo de referencia muy simple, y se comparan sobre datos que no han visto.

4 La solución

Si en el caso… …eso descarta o pide
Hay que explicar cada decisión a alguien Descarta lo que no se puede leer. Quedan la regresión, un árbol poco profundo o una regla escrita.
Las variables tienen escalas muy distintas Lo que mide distancias (k-means, vecinos) exige escalar antes. Los árboles no lo necesitan.
Hay atípicos o valores extremos La regresión lineal y k-means se distorsionan. Los árboles y los bosques aguantan mejor.
Lo que se busca es muy raro Hay que mirar la precisión antes que el acierto global y ver si una regla lo resuelve sin modelo.
Muchas filas y poco tiempo Pesan la velocidad de entrenamiento y de predicción y los modelos sencillos van primero.

5 Qué pasa con estos datos

La página 16 predice la satisfacción con dos modelos y con la referencia de predecir siempre la media, y los mide sobre 3.196 ventas apartadas:

Modelo R² de prueba Error medio
Predecir siempre la media 0,000 2,491 puntos
Regresión lineal -0,002 2,488 puntos
Bosque aleatorio -0,002 2,483 puntos

Los tres resultados empatan. El bosque no mejora a predecir la media para todas las ventas, así que el algoritmo correcto aquí es el más simple y la conclusión útil es que estas variables no explican la satisfacción. Sin el modelo de referencia en la tabla, el bosque se habría presentado solo y nadie habría visto que no aporta.

Con las anomalías ocurre algo parecido. El IsolationForest detecta 15 de las 16 ventas imposibles y marca además 745 normales. La regla del catálogo las encuentra todas sin modelo, porque sabe qué está mal. El algoritmo propone candidatas y la regla decide.

La tabla del principio, aplicada a esta web
Agrupar exigía escalar y por eso existe la página de escalado. Detectar valores raros pedía mirar la precisión, que es la página de falsos positivos. Y como no había señal que predecir, cada modelo tenía que compararse con uno de referencia.

6 Para qué sirve

En cualquier proyecto con un modelo, antes de escribir código. Y al revisar uno ajeno, la primera pregunta es contra qué modelo simple se comparó.

El detalle técnico

Los modelos de la tabla están en 07_ml.py, con partición 80/20 y semilla 42.

Fuente: ml.json, campos prediccion_satisfaccion y anomalias.