0Pricing
Learn AI with Python · Leçon

Systèmes hybrides et métriques d’évaluation

Combinaison du filtrage collaboratif et fondé sur le contenu, RMSE, MAE, Precision@K, Recall@K.

Systèmes hybrides et métriques d’évaluation est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.

Pourquoi des systèmes hybrides ?

Le filtrage collaboratif rencontre des difficultés avec le démarrage à froid, tandis que le filtrage fondé sur le contenu se spécialise trop. Un système hybride combine les deux afin que chaque méthode compense les faiblesses de l’autre, ce qui donne généralement de meilleurs résultats que l’une ou l’autre utilisée seule.

Combinaison pondérée

Le système hybride le plus simple combine les scores avec des poids dont la somme vaut 1. Par exemple, 0.6 * CF + 0.4 * CB s’appuie davantage sur les signaux collaboratifs, tout en conservant le contenu comme solution de repli et comme source de diversification.

final_score = 0.6 * cf_score + 0.4 * cb_score

Régler les poids

La répartition 0.6 / 0.4 n’est qu’un point de départ. Réglez les poids sur un ensemble de validation : lorsque les utilisateurs disposent d’un historique riche, augmentez le poids du CF ; pour les nouveaux éléments, augmentez celui du CB. Vous pouvez même modifier les poids selon l’utilisateur.

Autres stratégies hybrides

  • Pondérée : combine les scores, comme présenté ci-dessus.
  • À commutation : choisit le CF ou le CB selon la disponibilité des données.
  • Combinaison de caractéristiques : fournit les deux signaux à un seul modèle.

La combinaison pondérée est la plus courante et la plus facile à interpréter.

Évaluer : deux types de questions

L’évaluation se divise en deux questions :

  • Prédiction de notes : quelle est la proximité des notes prédites ? Utilisez RMSE/MAE.
  • Qualité du classement : les bons éléments apparaissent-ils près du sommet ? Utilisez Précision@K, Rappel@K, NDCG@K.

RMSE pour la prédiction des notes

RMSE mesure l'erreur quadratique moyenne entre les notes prédites et les notes réelles, puis en extrait la racine carrée. Il pénalise fortement les écarts importants et constitue la mesure standard de précision des notes.

import numpy as np

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

Précision@K

Précision@K = (éléments pertinents parmi les K premiers) / K. Elle répond à la question suivante : parmi les K éléments que j'ai recommandés, quelle proportion l'utilisateur a-t-il réellement appréciée ? Une valeur élevée signifie que moins de places sont gaspillées.

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

Rappel@K

Rappel@K = (éléments pertinents parmi les K premiers) / (nombre total d'éléments pertinents). Elle répond à la question suivante : parmi tout ce que l'utilisateur aimerait, quelle proportion ai-je présentée dans les K premiers éléments ?

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

Compromis entre précision et rappel

La précision privilégie l'exactitude de ce que vous présentez ; le rappel privilégie la couverture de tout ce qui est pertinent. Les systèmes de recommandation mettent généralement l'accent sur la Précision@K, car les utilisateurs ne voient qu'une liste courte : les premiers éléments comptent donc le plus.

NDCG@K pour la qualité du classement

NDCG@K (gain cumulé actualisé normalisé) récompense le placement des éléments très pertinents près du haut de la liste. Un élément pertinent au rang 1 compte davantage que le même élément au rang 10, car les gains sont actualisés selon la position.

Fonctionnement du NDCG

Le DCG additionne la pertinence de chaque élément divisée par le log de son rang. Le NDCG divise le DCG par le DCG idéal (classement parfait), ce qui donne un score compris entre 0 et 1, où 1 correspond à une liste parfaitement classée.

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

Vérification rapide

Évaluez vos connaissances des mesures d'évaluation.

Récapitulatif

Vous avez créé un système de recommandation hybride (par exemple 0.6 * CF + 0.4 * CB) et découvert ses outils d'évaluation : RMSE pour la précision des notes, la Précision@K et le Rappel@K pour la récupération, et le NDCG@K pour la qualité du classement. Le cours sur les systèmes de recommandation s'achève ici. Prochain cours : les fondamentaux du MLOps.

Questions Fréquemment Posées

La leçon « Systèmes hybrides et métriques d’évaluation » est-elle gratuite ?

Oui — le texte complet de « Systèmes hybrides et métriques d’évaluation » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Systèmes hybrides et métriques d’évaluation » ?

Combinaison du filtrage collaboratif et fondé sur le contenu, RMSE, MAE, Precision@K, Recall@K. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Learn AI with Python ?

Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Systèmes hybrides et métriques d’évaluation » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?

Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Filtrage collaboratif : basé sur les utilisateurs et les éléments
  2. Factorisation matricielle avec SVD
  3. Filtrage fondé sur le contenu
  4. Systèmes hybrides et métriques d’évaluation
← Retour à Learn AI with Python