0Pricing
Learn AI with Python · Lección

Sistemas híbridos y métricas de evaluación

Combinación de filtrado colaborativo y basado en contenido, RMSE, MAE, Precision@K y Recall@K.

Sistemas híbridos y métricas de evaluación es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Por qué usar sistemas híbridos?

El filtrado colaborativo tiene dificultades con el arranque en frío y el filtrado basado en contenido tiende a la especialización excesiva. Un sistema híbrido combina ambos métodos para que cada uno compense las deficiencias del otro y, por lo general, supere a cualquiera de ellos por separado.

Combinación ponderada

El híbrido más sencillo combina las puntuaciones con pesos cuya suma es 1. Por ejemplo, 0.6 * CF + 0.4 * CB se apoya principalmente en las señales colaborativas, pero conserva el contenido como alternativa y elemento diversificador.

final_score = 0.6 * cf_score + 0.4 * cb_score

Ajuste de los pesos

La división 0.6 / 0.4 es un punto de partida. Ajuste los pesos con un conjunto de validación: cuando los usuarios tengan un historial amplio, aumente el peso de CF; para los elementos nuevos, aumente el peso de CB. Incluso puede cambiar los pesos según el usuario.

Otras estrategias híbridas

  • Ponderada: combina las puntuaciones (como se ha mostrado anteriormente).
  • Conmutada: elige CF o CB según la disponibilidad de datos.
  • Combinación de características: introduce ambas señales en un único modelo.

La combinación ponderada es la más habitual y la más fácil de interpretar.

Evaluación: dos tipos de preguntas

La evaluación se divide en dos preguntas:

  • Predicción de valoraciones: ¿qué tan cercanas son las valoraciones predichas? Utilice RMSE/MAE.
  • Calidad de la clasificación: ¿están los elementos adecuados entre los primeros puestos? Utilice Precision@K, Recall@K, NDCG@K.

RMSE para la predicción de calificaciones

RMSE mide el error cuadrático medio entre las calificaciones predichas y las reales, y después calcula su raíz cuadrada. Penaliza considerablemente los errores grandes y es la métrica estándar de precisión de las calificaciones.

import numpy as np

def rmse(pred, actual):
    return np.sqrt(np.mean((np.array(pred) - np.array(actual)) ** 2))

Precision@K

Precision@K = (elementos relevantes entre los K primeros) / K. Responde a la pregunta: de las K cosas que recomendé, ¿qué fracción le gustó realmente al usuario? Un valor más alto significa menos espacios desaprovechados.

def precision_at_k(recommended, relevant, k):
    top_k = recommended[:k]
    hits = len(set(top_k) & set(relevant))
    return hits / k

Recall@K

Recall@K = (elementos relevantes entre los K primeros) / (total de elementos relevantes). Responde a la pregunta: de todo lo que le gustaría al usuario, ¿qué fracción mostré entre los K primeros?

def recall_at_k(recommended, relevant, k):
    top_k = recommended[:k]
    hits = len(set(top_k) & set(relevant))
    return hits / len(relevant) if relevant else 0.0

Equilibrio entre precisión y exhaustividad

La precisión favorece acertar con lo que muestra; la exhaustividad favorece cubrir todo lo relevante. Los sistemas de recomendación suelen dar prioridad a Precision@K porque los usuarios solo ven una lista corta, por lo que los primeros elementos son los más importantes.

NDCG@K para la calidad del ranking

NDCG@K (ganancia acumulada descontada normalizada) recompensa colocar los elementos muy relevantes cerca de la parte superior. Un elemento relevante en la posición 1 cuenta más que el mismo elemento en la posición 10, porque las ganancias se descuentan según la posición.

Cómo funciona NDCG

DCG suma la relevancia de cada elemento dividida por el logaritmo de su posición. NDCG divide DCG entre el DCG ideal (ordenación perfecta) y produce una puntuación de 0 a 1, donde 1 representa una lista ordenada perfectamente.

import numpy as np

def dcg(rels):
    return sum(r / np.log2(i + 2) for i, r in enumerate(rels))

def ndcg_at_k(rels, k):
    ideal = sorted(rels, reverse=True)
    return dcg(rels[:k]) / dcg(ideal[:k]) if dcg(ideal[:k]) else 0.0

Comprobación rápida

Ponga a prueba sus conocimientos sobre las métricas de evaluación.

Resumen

Ha creado un sistema de recomendación híbrido (por ejemplo, 0.6 * CF + 0.4 * CB) y ha aprendido su conjunto de herramientas de evaluación: RMSE para la precisión de las calificaciones, Precision@K y Recall@K para la recuperación, y NDCG@K para la calidad del ranking. Aquí termina el curso Recommendation Systems. Siguiente curso: MLOps Fundamentals.

Preguntas frecuentes

¿La lección «Sistemas híbridos y métricas de evaluación» es gratis?

Sí — el texto completo de «Sistemas híbridos y métricas de evaluación» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué aprenderé en «Sistemas híbridos y métricas de evaluación»?

Combinación de filtrado colaborativo y basado en contenido, RMSE, MAE, Precision@K y Recall@K. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn AI with Python?

No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Sistemas híbridos y métricas de evaluación»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?

Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Filtrado colaborativo: basado en usuarios y en elementos
  2. Factorización matricial con SVD
  3. Filtrado basado en contenido
  4. Sistemas híbridos y métricas de evaluación
← Volver a Learn AI with Python