lección 5
Clasificar o predecir un número: las dos formas del supervisado
La bifurcación del supervisado: si la etiqueta es una categoría o un número cambia el modelo y, sobre todo, cómo se mide el acierto.
⏱ 50 min
Imagina que llegan a tu mesa dos encargos el mismo día. El primero: "dinos qué clientes se van a dar de baja el mes que viene". El segundo: "dinos cuánto va a gastar cada cliente el mes que viene". Parecen primos hermanos, y en cierto modo lo son: los dos son supervisado, los dos miran al futuro de un cliente, los dos se apoyan en el pasado. Pero hay una diferencia entre ellos que lo cambia casi todo, y está en la forma de la respuesta. El primero pide una categoría: se va o se queda, dos opciones. El segundo pide un número: ochenta euros, ciento veinte, doscientos. Esa diferencia, que parece menor, decide qué modelo usas y, sobre todo, cómo mides si aciertas. Y medir con la vara de la otra forma es un error silencioso que te hace creer que un modelo es bueno cuando no lo es.
Ya has entrenado modelos cuya etiqueta era una categoría: se va o se queda, devuelve o no devuelve. También sabes que la etiqueta puede ser un número, porque lo nombramos al hablar de las ventas de mañana. Toca mirar de frente esa bifurcación. Las dos ramas tienen nombre: cuando la etiqueta es una categoría, el problema se llama clasificación; cuando es un número, se llama regresión. La palabra "regresión" te sonará del oficio de explicar, y no es casualidad: ajustar una recta para entender un efecto y ajustarla para predecir un número son parientes. Pero aquí lo que nos importa no es el nombre, sino lo que la bifurcación obliga a cambiar.
## La forma de la etiqueta parte el camino en dos
La clasificación responde a preguntas de "¿cuál de estas opciones?". ¿Este correo es spam o no? ¿Este cliente se va o se queda? ¿Esta transacción es fraude o no? ¿Esta foto muestra un gato, un perro o un pájaro? La respuesta es siempre una de un conjunto cerrado de categorías, pocas y bien delimitadas. No hay medias tintas: un correo no es "un setenta por ciento spam", es spam o no lo es (aunque, como verás más adelante, el modelo sí puede tener más o menos confianza en su veredicto, eso es otra cosa). La etiqueta de un problema de clasificación es, literalmente, una de las casillas posibles.
La regresión responde a preguntas de "¿cuánto?". ¿Cuántos euros gastará este cliente? ¿Cuántos días tardará este pedido en llegar? ¿Cuál será la temperatura mañana? ¿Qué precio tendrá este piso? La respuesta es un número dentro de un rango continuo, y entre dos respuestas posibles siempre cabe una tercera: entre ochenta y ochenta y un euros está ochenta euros con cincuenta céntimos. No hay casillas, hay una escala. Esa es la diferencia de fondo: la clasificación elige entre opciones, la regresión sitúa un punto en una escala. Y de esa diferencia nace todo lo demás.
Antes de llegar a la medición, conviene darse cuenta de que esta bifurcación aparece desde el primer gesto del proyecto, cuando decides qué va a ser la etiqueta. No es algo que elijas al final: es lo primero que fijas, muchas veces sin pensarlo, al escribir qué columna quieres predecir. Si eliges predecir "se dio de baja", has elegido clasificación sin decirlo. Si eliges predecir "euros gastados el mes que viene", has elegido regresión. Y a partir de ahí, todo (el modelo que puedes usar, la forma de medir, lo que podrás afirmar al final) queda condicionado por esa elección inicial. Por eso vale la pena hacerla consciente: no es un detalle técnico tardío, es la primera decisión del problema.
## La parte que de verdad cambia: cómo se mide el acierto
Aquí está el corazón de la lección, y es donde la mayoría de los principiantes resbala. En clasificación, medir el acierto es natural: predices una categoría, la comparas con la verdadera, y o aciertas o fallas. No hay término medio. Puedes contar cuántas veces acertaste de todas las que intentaste, y esa proporción es el acierto, lo que en inglés se llama "accuracy". Es la medida que ya calculaste: aciertos entre total. Tiene sentido porque en clasificación una predicción solo puede estar bien o mal, nunca "casi bien".
En regresión, en cambio, la idea de "acertar" se desmorona, y entenderlo es clave. Si el precio verdadero de un piso es doscientos mil euros y tu modelo predice doscientos mil y uno, ¿acertó? Técnicamente no clavó el número, pero sería absurdo contar eso como un fallo igual que si hubiera predicho cincuenta mil. En regresión casi nunca clavas el número exacto, y no pasa nada: lo que importa no es si aciertas, sino por cuánto te equivocas. Por eso la regresión no se mide contando aciertos, sino midiendo el tamaño del error: cuánto se separa, de media, lo que predices de lo que de verdad ocurre. Un modelo de precios que se equivoca de media en quince mil euros es mejor que uno que se equivoca en cuarenta mil, aunque ninguno de los dos clave jamás un precio exacto.
Y hay un detalle hermoso en cómo se mide el error en regresión: viene en las mismas unidades que la etiqueta, lo que lo hace facilísimo de interpretar. Si tu modelo predice precios en euros y su error medio es de quince mil, eso significa, literalmente, que de media se equivoca en unos quince mil euros. No es un número abstracto entre cero y uno: es euros, los mismos euros de la pregunta. Si predices días de entrega, el error son días; si predices temperaturas, son grados. Esa es una de las grandes ventajas de la medida de error más común, el error medio: cualquiera entiende qué significa equivocarse "de media en quince mil euros", y puede decidir si eso es aceptable para su negocio o no.
Hay una razón más profunda detrás de esta diferencia, y entenderla te ahorra confusiones. En clasificación, todos los errores cuestan más o menos lo mismo a ojos de la medida básica del acierto: equivocarte es equivocarte, da igual por cuánto, porque no hay un "por cuánto" cuando las respuestas son casillas. En regresión, en cambio, los errores tienen tamaño, y ese tamaño importa muchísimo: equivocarte en cincuenta euros al estimar un piso es casi acertar, y equivocarte en cien mil es un desastre. Una medida de regresión que no distinguiera entre esos dos errores sería inútil. Por eso la regresión necesita una vara que mida distancias, mientras que a la clasificación le basta con contar aciertos: son dos mundos con dos nociones distintas de lo que es equivocarse.
Vale la pena insistir en por qué no se puede usar el acierto en regresión, porque la tentación de hacerlo existe. Alguien piensa: "cuento como acierto cuando el modelo clava el número exacto". Pero en una escala continua, clavar el número exacto es casi imposible y además irrelevante: un modelo que nunca clava el precio al céntimo pero siempre se queda a cincuenta euros es excelente, y con la regla del "número exacto" tendría un acierto del cero por ciento. La medida diría que es un desastre cuando es una maravilla. El acierto, que es perfecto para categorías, es inservible para números, porque castiga igual un error minúsculo que uno enorme, y en los números el tamaño del error es justo lo único que importa.
El error silencioso de este tema: aplicar la vara de medir de una forma a la otra. Medir un modelo de regresión por "cuántas veces clava el número exacto" lo hace parecer pésimo cuando puede ser buenísimo. Y al revés, intentar medir una clasificación con un "error medio" numérico no tiene ni sentido, porque "spam" y "no spam" no son números que restar. Ninguno de los dos errores salta con un mensaje en rojo: el programa da un número, y tú te lo crees. Antes de leer la calidad de un modelo, pregúntate si su etiqueta es una categoría o un número, porque de eso depende qué vara es la correcta.
## En código: la misma herramienta, dos caras
Lo bonito de la herramienta es que la bifurcación apenas cambia el código. Para clasificar usabas un clasificador; para predecir un número usas un regresor, que se construye, aprende y predice exactamente igual, con los mismos dos verbos. Lo que cambia es el nombre de la clase (y, sobre todo, cómo mides después). Vamos a predecir el precio de un piso a partir de su superficie, que es un problema de regresión de manual, y a medir el error en euros. Fíjate en que entrenar es idéntico a lo que ya sabes; la novedad está en que la etiqueta es un número y en que, al medir, calculamos una distancia y no un recuento.
1import numpy as np2import pandas as pd3from sklearn.linear_model import LinearRegression45# Regresion: la etiqueta es un numero (el precio), no una categoria6rng = np.random.default_rng(42)7n = 2008superficie = rng.uniform(40, 150, n) # metros cuadrados9precio = 30000 + 1800 * superficie + rng.normal(0, 20000, n)10df = pd.DataFrame({"superficie": superficie, "precio": precio})1112X = df[["superficie"]].values13y = df["precio"].values1415# Un regresor: mismos verbos que el clasificador16modelo = LinearRegression()17modelo.fit(X, y)1819# En regresion no se cuentan aciertos: se mide la distancia media20pred = modelo.predict(X)21error_medio = np.abs(pred - y).mean()22print(f"Error medio: {error_medio:.0f} euros")2324# Predecir pisos nuevos de 60, 100 y 140 m225nuevos = np.array([[60], [100], [140]])26for s, p in zip([60, 100, 140], modelo.predict(nuevos)):27 print(f"Piso de {s} m2: {p:.0f} euros")
Un problema de regresión: predecir un número y medir el error en sus unidades
El error medio de unos quince mil novecientos euros se interpreta solo: si vas a usar este modelo para orientar el precio de salida de un piso, equivocarte de media en quince mil euros puede ser aceptable para un piso de doscientos mil, o puede no serlo, pero esa es una decisión de negocio que el número te deja tomar con claridad. Compáralo con un acierto del noventa por ciento en clasificación: también se entiende, pero significa otra cosa (de cada diez casos, nueve bien clasificados). Las dos medidas son legítimas y claras, cada una en su territorio. Lo que no puedes hacer es pedirle a este modelo de precios su "porcentaje de acierto", porque no clava precios exactos casi nunca, y ese porcentaje sería engañosamente bajo.
Consejo de senior: cuando te lleguen un problema, la primera pregunta que ordena todo lo demás es "¿la respuesta es una categoría o un número?". Si es una categoría, es clasificación, usarás un clasificador y lo medirás por acierto. Si es un número, es regresión, usarás un regresor y lo medirás por error en las unidades del problema. Y cuidado con los disfraces: "¿cuántas estrellas le pondrá, de 1 a 5?" parece un número pero suele tratarse como cinco categorías ordenadas; "¿en qué tramo de precio cae?" parece categoría pero a veces conviene predecir el precio y luego mirar el tramo. No te fíes de las apariencias: mira la forma real de la etiqueta que vas a predecir.
## Un matiz: a veces se puede ir de una forma a la otra
Para que el mapa no te quede demasiado rígido, conviene saber que la frontera entre clasificación y regresión a veces se cruza a propósito, y con criterio. Un problema que nace como regresión (predecir el precio de un piso) se puede convertir en clasificación si lo que de verdad te importa es una decisión por tramos ("¿este piso es barato, medio o caro?"). Y uno que nace como clasificación a veces se aborda prediciendo primero un número intermedio. Esos cambios son decisiones legítimas de diseño, siempre que sepas lo que haces y, sobre todo, que midas con la vara correcta para la forma final de la etiqueta. Lo que nunca es legítimo es cruzar la frontera sin darte cuenta y acabar midiendo una regresión con la vara de la clasificación.
La regla sana, entonces, no es "cada problema es para siempre de un tipo", sino "en cada momento sé qué forma tiene la etiqueta que estás prediciendo ahora, y mide en consecuencia". Si conviertes un problema de precios en tramos, a partir de ese momento es clasificación y lo mides por acierto. Si decides predecir el número y luego aplicar tú los tramos, mientras predices el número es regresión y lo mides por error. La forma de la etiqueta no es una propiedad eterna del problema: es una decisión que tomas, y la vara de medir tiene que seguir siempre a esa decisión, no a lo que el problema parecía al principio.
## Lo que te llevas, y lo que viene
El territorio supervisado se parte en dos según la forma de la etiqueta. Si es una categoría, es clasificación: eliges entre casillas cerradas y mides por acierto, la proporción de veces que das con la casilla correcta. Si es un número, es regresión: sitúas un punto en una escala continua, casi nunca clavas el valor exacto, y mides por el tamaño del error, en las mismas unidades que la etiqueta, lo que lo hace facilísimo de interpretar. La herramienta cambia poco entre las dos (un clasificador o un regresor, con los mismos verbos); lo que cambia de verdad, y nunca debes confundir, es la vara de medir.
Hasta aquí hemos vivido entero en el territorio supervisado, donde siempre había una etiqueta, una respuesta correcta que imitar o un número que acertar. Es hora de cruzar a la otra gran región del mapa, la que no tiene etiquetas: el aprendizaje no supervisado. Vas a ver qué significa pedirle a un modelo que encuentre grupos cuando nadie le ha dicho cuáles son, y vas a chocar de frente con la idea que más confunde al principio: cuando no hay respuesta correcta, ¿qué demonios significa que un modelo sea "bueno"? La respuesta es más interesante de lo que parece.
## 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.