lección 8
Proyecto: el mismo problema de dos maneras
Un conjunto de clientes, dos oficios: clasificar si tienes etiqueta y agrupar si no la tienes, para sentir la diferencia en los dedos.
⏱ 50 min
Vamos a cerrar con un ejercicio que no es una lección más, sino un espejo. Durante todo el camino has aprendido las piezas por separado: el mapa de los territorios, la etiqueta, el primer modelo, el árbol, la bifurcación entre categoría y número, el agrupamiento, los centroides. Ahora vas a coger una sola tabla de clientes y a atacarla de las dos maneras que has aprendido, una detrás de otra, para sentir en los dedos la diferencia que hasta ahora era teoría. La misma gente, las mismas columnas, y dos preguntas tan distintas que exigen dos oficios distintos. Hacerlo seguido, sobre los mismos datos, es la forma más rápida de que la diferencia entre predecir y hacer emerger deje de ser una frase y se vuelva una intuición.
La tabla es sencilla y la conoces de sobra: clientes con su edad, su gasto mensual y los días que hace que no compran. Y la pregunta que decide todo es una que ya sabes hacer: ¿tengo o no tengo una etiqueta? Si la empresa, además de esas columnas, ha guardado de cada cliente pasado si se dio de baja o se quedó, tengo etiqueta, y entonces puedo entrenar un modelo que la prediga para los clientes actuales. Si esa columna no existe, si nadie apuntó nunca quién se fue, no tengo etiqueta, y entonces no puedo predecir la baja: lo que puedo hacer es agrupar a los clientes y describir los segmentos que emergen. Dos escenarios, dos oficios, los mismos datos de partida.
Antes de meter las manos, vale la pena fijar por qué este ejercicio es tan buen cierre. A lo largo del camino te he pedido muchas veces que situaras un problema en su territorio, pero siempre con problemas distintos: uno era de clasificación, otro de agrupamiento, cada uno con sus datos. Eso puede dejar la impresión equivocada de que el territorio lo decide el problema, como si "predecir bajas" fuera inherentemente supervisado. No lo es. Lo que decide el territorio no es el problema de negocio, sino qué datos tienes delante. El mismo deseo ("quiero entender a mis clientes y su riesgo de irse") cae en un territorio o en otro según si existe o no la columna de la etiqueta. Verlo con los mismos datos, cambiando solo si uso la etiqueta, es la forma de que esa idea se quede grabada.
## Vía supervisada: tengo la etiqueta, predigo
Empecemos por el escenario cómodo: la empresa sí guardó, de cada cliente del año pasado, si acabó dándose de baja. Tengo etiqueta, así que estoy en el territorio supervisado y en su rama de clasificación, porque la etiqueta es una categoría (se fue o se quedó). El plan es el que ya has hecho varias veces: separo las entradas (edad, gasto, días desde la última compra) de la etiqueta (se fue), entreno un clasificador, y le pido que prediga qué clientes actuales tienen riesgo de irse. El objetivo aquí es anticipar un desenlace concreto para actuar antes de que ocurra: llamar a los clientes en riesgo, ofrecerles algo, retenerlos.
Fíjate en lo que define este escenario: hay una respuesta correcta. Cada cliente pasado se fue o no se fue, y esa verdad es la que el modelo aprende a imitar. Por eso puedo medir su acierto comparando sus predicciones con lo que de verdad pasó, aunque ya sabes, y lo repetiremos, que medir ese acierto sobre los mismos datos de entrenamiento da un número demasiado optimista. La vía supervisada responde a una pregunta cerrada ("¿este cliente concreto se irá?") y entrega una predicción accionable sobre cada individuo. Es el oficio de predecir en estado puro.
Observa también que, en este escenario, el valor del trabajo es muy concreto y muy fácil de explicar a quien manda: entrego una lista de clientes ordenados por su riesgo de irse, y el equipo comercial puede empezar a llamarlos de arriba abajo. La utilidad es inmediata y medible: cada cliente retenido es dinero que no se pierde. Esa concreción es una de las razones por las que el oficio supervisado domina en las empresas: produce resultados que se traducen en acciones directas sobre individuos, y las acciones directas son fáciles de justificar y de presupuestar. "Vamos a llamar a estos trescientos clientes en riesgo" es una frase que cualquier dirección entiende y aprueba.
## Vía no supervisada: no tengo etiqueta, agrupo
Ahora el otro escenario, con los mismos clientes pero sin esa columna de baja: nadie apuntó nunca quién se fue. Sin etiqueta no puedo predecir la baja, por mucho que quiera: no tengo con qué enseñarle al modelo qué es una baja. Pero no me quedo con las manos vacías. Puedo agrupar a los clientes por sus parecidos (edad, gasto, días desde la última compra) y hacer emerger segmentos, y luego leer los centroides para describir cada segmento. El resultado no es "este cliente se irá", sino "estos son los tipos de cliente que tengo": el que gasta mucho y compra a menudo, el que lleva meses sin aparecer, el nuevo de bajo gasto.
Y aquí no hay respuesta correcta: nadie dijo cuáles son los segmentos verdaderos, así que no puedo hablar de acierto, solo de si los grupos son interpretables y útiles. La vía no supervisada responde a una pregunta abierta ("¿qué tipos de cliente tengo?") y entrega una descripción de la población, no una predicción sobre cada individuo. Es el oficio de hacer emerger estructura. Fíjate en que, con exactamente los mismos datos de entrada, la pregunta, el método, lo que mido y lo que puedo afirmar al final son completamente distintos. Lo único que ha cambiado es si existía o no una etiqueta, y eso lo ha cambiado todo.
El valor de esta vía es más difuso que el de la supervisada, y conviene reconocerlo con honestidad en lugar de disimularlo. No entrego una acción directa sobre cada cliente, sino un mapa de la población que ayuda a pensar: "resulta que tenemos tres tipos de cliente muy distintos, y a lo mejor conviene tratarlos de forma distinta". Ese mapa no se traduce en una llamada de teléfono mañana, pero puede cambiar la estrategia de la empresa entera, que decida crear una gama de productos para el segmento de alto valor o una campaña de reactivación para los dormidos. Es un valor más lento y más estratégico, menos inmediato pero a veces más profundo. Saber en qué escenario estás también te dice qué clase de valor puedes prometer, y prometer el valor equivocado decepciona aunque el trabajo sea bueno.
## Las dos vías, una al lado de la otra
Vamos a hacerlo en el mismo trozo de código, para que la comparación sea de verdad lado a lado. Primero la vía supervisada: con la etiqueta de baja, entreno un clasificador y mido su acierto (provisional, sobre los datos de entrenamiento). Después la vía no supervisada: ignoro deliberadamente esa etiqueta, como si no existiera, agrupo a los mismos clientes y miro cuántos caen en cada segmento. Observa cómo las entradas son idénticas en las dos vías; lo único que cambia es que una usa la etiqueta y la otra la deja de lado.
1import numpy as np2import pandas as pd3from sklearn.tree import DecisionTreeClassifier4from sklearn.cluster import KMeans5import collections67# Mismos clientes: edad, gasto mensual, dias desde la ultima compra, y si se fueron8rng = np.random.default_rng(42)9n = 30010edad = rng.uniform(20, 70, n)11gasto = rng.uniform(10, 200, n)12dias_ultima = rng.uniform(0, 120, n)13score = (dias_ultima / 40) - (gasto / 80) + rng.normal(0, 0.5, n)14se_fue = (score > 0.8).astype(int)15df = pd.DataFrame({"edad": edad, "gasto": gasto, "dias_ultima": dias_ultima, "se_fue": se_fue})1617# Las entradas son las mismas para las dos vias18X = df[["edad", "gasto", "dias_ultima"]].values1920# VIA SUPERVISADA: uso la etiqueta se_fue y predigo21y = df["se_fue"].values22clf = DecisionTreeClassifier(max_depth=3, random_state=42).fit(X, y)23acc = (clf.predict(X) == y).mean()24print(f"[Supervisado] acierto (provisional): {acc:.2f}")2526# VIA NO SUPERVISADA: ignoro la etiqueta y agrupo27grupos = KMeans(n_clusters=3, random_state=42, n_init=10).fit_predict(X)28tam = collections.Counter(grupos.tolist())29print(f"[No supervisado] clientes por grupo: {sorted(tam.values())}")
El mismo conjunto de datos atacado de las dos maneras, una tras otra
El resultado deja ver la diferencia de golpe. La vía supervisada escupe un número de acierto, el 0,90, porque tiene una verdad contra la que compararse. La no supervisada escupe unos tamaños de grupo, porque lo suyo no es acertar sino repartir; ni siquiera tendría sentido pedirle un acierto. Si siguieras cada vía hasta el final, la supervisada te daría una lista de clientes concretos en riesgo de baja para llamarlos; la no supervisada te daría tres retratos de cliente para diseñar tres estrategias distintas. Las dos son valiosas, las dos salen de la misma tabla, y responden a dos necesidades de negocio que no se parecen.
Hay un detalle del código que merece una mirada, porque es la bifurcación hecha una sola línea. En la vía no supervisada no aparece la variable y por ningún sitio: a k-means solo le pasas X. Esa ausencia no es un descuido, es la definición misma del territorio no supervisado traducida a código. Donde el clasificador recibía las entradas y la etiqueta, el agrupamiento recibe solo las entradas. Si algún día dudas de en qué territorio estás mirando un trozo de código ajeno, búscalo: si al modelo le pasan una y, es supervisado; si solo le pasan X, es no supervisado. La presencia o ausencia de esa segunda variable es la huella más fiable del oficio que se está practicando.
Consejo de senior: en un proyecto real, muchas veces vale la pena hacer las dos cosas, en este orden. Primero agrupas sin etiquetas para entender a quién tienes delante (los segmentos te dan el mapa de tu población). Y después, si tienes etiqueta, entrenas un modelo para predecir el desenlace que te importa. El agrupamiento te da el contexto; la predicción, la acción. No son rivales que compiten por el mismo problema: son dos miradas que se complementan, una que describe el terreno y otra que anticipa lo que va a pasar en él. Quien solo sabe hacer una de las dos ve la mitad del cuadro.
## La pregunta que lo gobierna todo, y que hemos aplazado
Y aquí, al final del camino, toca abrir la puerta que llevamos cerrando desde el principio con honestidad. Los dos modelos que acabas de construir tienen algo en común que es fácil pasar por alto en la euforia de verlos funcionar: los dos han sido juzgados sobre los datos que ya habían visto. El clasificador midió su acierto sobre los mismos clientes con los que aprendió. El agrupamiento describió los mismos clientes que agrupó. Ninguno de los dos ha demostrado todavía nada sobre lo que de verdad importa, que es la pregunta más importante de todas: ¿funcionarían con clientes nuevos, con gente que el modelo no ha visto jamás?
Esa pregunta ha estado rondando toda la etapa, y la hemos dejado abierta a propósito, porque es tan importante que merece todo un territorio para ella sola. Hemos dicho, una y otra vez, que medir el acierto sobre los datos de entrenamiento da un número demasiado bonito, que es como corregir un examen con las soluciones delante, que es una promesa y no una prueba. Pero no hemos dicho cómo se mide de verdad, cómo se consigue un número honesto sobre lo que el modelo hará con lo que no ha visto. Esa es la grieta que recorre todo lo que has hecho hasta ahora, y taparla es lo siguiente.
La trampa que acecha a todo lo que has aprendido en esta etapa, y que es la razón de ser de lo que viene: un modelo que funciona de maravilla sobre los datos con los que aprendió puede fracasar estrepitosamente con datos nuevos, y el acierto que mediste sobre el entrenamiento no te avisará de ello en absoluto. Al contrario: cuanto más se haya aprendido el modelo los datos de memoria, mejor parecerá sobre el entrenamiento y peor irá con lo nuevo. Todo lo que has construido aquí (clasificadores, regresores, agrupamientos) está pendiente de esa prueba de fuego que todavía no has hecho. Hasta que no la hagas, lo que tienes son promesas.
Así que sales de esta etapa sabiendo entrenar un primer modelo de cada clase, sabiendo situar cualquier problema en su territorio, sabiendo elegir entre predecir una categoría o un número, y sabiendo hacer emerger grupos y darles sentido. Es mucho, y es real. Pero sales también con una duda sembrada y bien plantada, que no es un defecto sino el principio del buen criterio: ninguno de tus modelos ha demostrado todavía que sirva para el mundo real, porque a ninguno lo has probado con datos que no había visto. Aprender a hacer esa prueba de forma honesta, y a esquivar las trampas que la rodean, es lo que de verdad convierte a alguien que sabe llamar a un modelo en alguien que sabe si puede fiarse de él. Y a eso vamos.
## comentarios
Reporta erratas, ayuda a otros o comparte tu opinión. Sé constructivo.
Inicia sesión para comentar y responder.
cargando comentarios...
Regístrate para guardar tu progreso.