Learn AI with Python · Lezione

Sistemi ibridi e metriche di valutazione

Combinazione di approcci collaborativi e basati sul contenuto, RMSE, MAE, Precision@K, Recall@K

Lezione 4 di 413 passaggi

Sistemi ibridi e metriche di valutazione è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.

Perché usare i sistemi ibridi?

Il filtraggio collaborativo ha difficoltà con il cold start, mentre quello basato sul contenuto tende all'iper-specializzazione. Un sistema ibrido li combina, così ciascun metodo compensa i punti deboli dell'altro, ottenendo generalmente risultati migliori di entrambi presi singolarmente.

Combinazione ponderata

Il sistema ibrido più semplice combina i punteggi con pesi la cui somma è 1. Per esempio, 0.6 * CF + 0.4 * CB si affida maggiormente ai segnali collaborativi, mantenendo però il contenuto come alternativa e fonte di diversificazione.

final_score = 0.6 * cf_score + 0.4 * cb_score

Ottimizzazione dei pesi

La suddivisione 0.6 / 0.4 è un punto di partenza. Ottimizzi i pesi su un insieme di validazione: quando gli utenti hanno una cronologia ricca, aumenti il peso di CF; per i nuovi elementi, aumenti quello di CB. Può persino modificare i pesi in base all'utente.

Altre strategie ibride

  • Ponderata: combina i punteggi, come mostrato sopra.
  • A commutazione: sceglie CF o CB in base alla disponibilità dei dati.
  • Combinazione delle caratteristiche: fornisce entrambi i segnali a un unico modello.

La combinazione ponderata è la più comune e la più facile da interpretare.

Valutazione: due tipi di domande

La valutazione si divide in due domande:

  • Previsione delle valutazioni: quanto sono vicine le valutazioni previste? Utilizzi RMSE/MAE.
  • Qualità dell'ordinamento: gli elementi corretti si trovano nelle posizioni più alte? Utilizzi Precision@K, Recall@K, NDCG@K.

RMSE per la previsione delle valutazioni

RMSE misura l'errore quadratico medio tra le valutazioni previste e quelle effettive, quindi ne calcola la radice quadrata. Penalizza fortemente gli errori grandi ed è la metrica standard per l'accuratezza delle valutazioni.

import numpy as np

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

Precision@K

Precision@K = (elementi pertinenti nei primi K) / K. Risponde alla domanda: delle K cose che ho consigliato, quale frazione è piaciuta effettivamente all'utente? Un valore più alto significa sprecare meno posizioni.

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 = (elementi pertinenti nei primi K) / (totale degli elementi pertinenti). Risponde alla domanda: di tutto ciò che piacerebbe all'utente, quale frazione ho mostrato nei primi K risultati?

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

Compromesso tra precision e recall

La precision privilegia la correttezza di ciò che si mostra; il recall privilegia la copertura di tutto ciò che è pertinente. I sistemi di raccomandazione danno solitamente più importanza a Precision@K perché gli utenti vedono solo un elenco breve, quindi le prime posizioni sono le più importanti.

NDCG@K per la qualità dell'ordinamento

NDCG@K (guadagno cumulativo scontato normalizzato) premia il posizionamento degli elementi altamente pertinenti vicino alla cima. Un elemento pertinente al primo posto conta più dello stesso elemento al decimo, perché i guadagni vengono scontati in base alla posizione.

Come funziona NDCG

Il DCG somma la rilevanza di ogni elemento divisa per il logaritmo della sua posizione. L'NDCG divide il DCG per il DCG ideale (l'ordinamento perfetto), ottenendo un punteggio da 0 a 1, dove 1 indica un elenco ordinato perfettamente.

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

Verifica rapida

Verifichi le Sue conoscenze sulle metriche di valutazione.

Riepilogo

Ha creato un sistema di raccomandazione ibrido (ad esempio, 0.6 * CF + 0.4 * CB) e ha imparato il relativo insieme di strumenti di valutazione: RMSE per l'accuratezza delle valutazioni, Precision@K e Recall@K per il recupero, e NDCG@K per la qualità dell'ordinamento. Questo conclude il corso Recommendation Systems. Il prossimo corso è MLOps Fundamentals.

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
53
Lezioni
225

Domande Frequenti

La lezione «Sistemi ibridi e metriche di valutazione» è gratuita?

Sì — il testo completo di «Sistemi ibridi e metriche di valutazione» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.

Cosa imparerò in «Sistemi ibridi e metriche di valutazione»?

Combinazione di approcci collaborativi e basati sul contenuto, RMSE, MAE, Precision@K, Recall@K Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Learn AI with Python?

Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Sistemi ibridi e metriche di valutazione»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?

Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Filtraggio collaborativo: basato sugli utenti e sugli elementi
  2. Fattorizzazione delle matrici con SVD
  3. Filtraggio basato sul contenuto
  4. Sistemi ibridi e metriche di valutazione
← Torna a Learn AI with Python