Hybridsystemer og evalueringsmetrikker
Kombination af collaborative og indholdsbaseret filtrering, RMSE, MAE, Precision@K, Recall@K.
Hybridsystemer og evalueringsmetrikker er en gratis Lær AI med Python-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Lær AI med Python, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Hvorfor hybridsystemer
Kollaborativ filtrering har problemer med koldstart, mens indholdsbaseret filtrering bliver overspecialiseret. Et hybridsystem kombinerer metoderne, så hver metode kompenserer for den andens svagheder. Det giver normalt bedre resultater end hver metode alene.
Vægtet kombination
Det enkleste hybridsystem kombinerer scorer med vægte, der tilsammen giver 1. For eksempel lægger 0.6 * CF + 0.4 * CB mest vægt på kollaborative signaler, men bevarer indhold som reserve og kilde til variation.
final_score = 0.6 * cf_score + 0.4 * cb_scoreJustering af vægtene
Fordelingen 0.6 / 0.4 er et udgangspunkt. Justér vægtene på et valideringssæt: Når brugerne har en omfattende historik, skal du øge CF-vægten; for nye elementer skal du øge CB-vægten. Du kan endda skifte vægte fra bruger til bruger.
Andre hybridstrategier
- Vægtet: kombinerer scorer, som vist ovenfor.
- Skiftende: vælger CF eller CB afhængigt af, hvilke data der er tilgængelige.
- Egenskabskombination: giver begge signaler som inddata til én model.
Vægtet kombination er den mest almindelige strategi og den letteste at forstå.
Evaluering: to spørgsmålstyper
Evaluering opdeles i to spørgsmål:
- Forudsigelse af bedømmelser: Hvor tæt ligger de forudsagte bedømmelser på de rigtige? Brug RMSE/MAE.
- Rangeringskvalitet: Ligger de rigtige elementer øverst? Brug Precision@K, Recall@K og NDCG@K.
RMSE til forudsigelse af vurderinger
RMSE måler den gennemsnitlige kvadrerede fejl mellem forudsagte og faktiske vurderinger og tager derefter kvadratroden. Den straffer store afvigelser kraftigt og er standardmålingen for vurderingsnøjagtighed.
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 = (relevante elementer blandt de øverste K) / K. Det besvarer spørgsmålet: Hvor stor en andel af de K ting, du anbefalede, kunne brugeren faktisk lide? Højere værdi betyder færre spildte pladser.
def precision_at_k(recommended, relevant, k):
top_k = recommended[:k]
hits = len(set(top_k) & set(relevant))
return hits / kGenkaldelse@K
Genkaldelse@K = (relevante elementer blandt de øverste K) / (samlet antal relevante elementer). Det besvarer spørgsmålet: Hvor stor en andel af alt det, brugeren ville kunne lide, viste du blandt de øverste K?
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.0Afvejningen mellem præcision og genkaldelse
Præcision prioriterer, at det, du viser, er korrekt, mens genkaldelse prioriterer at dække alt relevant. Anbefalingssystemer lægger normalt vægt på Præcision@K, fordi brugerne kun ser en kort liste, så de øverste pladser betyder mest.
NDCG@K til rangeringskvalitet
NDCG@K (normaliseret diskonteret kumulativ gevinst) belønner, at meget relevante elementer placeres nær toppen. Et relevant element på placering 1 tæller mere end det samme element på placering 10, fordi gevinsten diskonteres efter placeringen.
Sådan fungerer NDCG
DCG summerer hvert elements relevans divideret med logaritmen af dets placering. NDCG dividerer DCG med den ideelle DCG (perfekt rækkefølge) og giver en score fra 0 til 1, hvor 1 er en perfekt rangeret liste.
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.0Hurtigt tjek
Test din viden om evalueringsmålinger.
Opsummering
Du byggede et hybridt anbefalingssystem (f.eks. 0.6 * CF + 0.4 * CB) og lærte dets værktøjskasse til evaluering: RMSE til vurderingsnøjagtighed, Præcision@K og Genkaldelse@K til genfinding samt NDCG@K til rangeringskvalitet. Det afslutter kurset i anbefalingssystemer. Næste kursus: MLOps Fundamentals.
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 53
- Lektioner
- 225
Ofte stillede spørgsmål
Er lektionen “Hybridsystemer og evalueringsmetrikker” gratis?
Ja — alle 3 lektioner i læringssporet Lær AI med Python, inklusive “Hybridsystemer og evalueringsmetrikker”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Hybridsystemer og evalueringsmetrikker”?
Kombination af collaborative og indholdsbaseret filtrering, RMSE, MAE, Precision@K, Recall@K. Du øver dig i Lær AI med Python med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Lær AI med Python?
Der kræves ingen tidligere erfaring. Lær AI med Python på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Hybridsystemer og evalueringsmetrikker”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Lær AI med Python-lektion?
Ja. Alle Lær AI med Python-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Collaborative filtering: brugerbaseret og item-baseret
- Matrixfaktorisering med SVD
- Indholdsbaseret filtrering
- Hybridsystemer og evalueringsmetrikker