Hopp til hovedinnhold

Datasett

Ytelsen måles på et sett med entitetsnavn som er holdt tilbake - navn som bevisst er utelatt fra opplæringen, slik at modellen aldri har sett dem. Dette sikrer at evalueringen gjenspeiler generalisering, ikke memorering. For hvert navn returnerer gjenfinningstrinnet ~25 kandidater fra CB-databasen. Ytelsen måles på kandidatparnivå - hver kombinasjon av navn og kandidat er ett merket eksempel.
Verdi
Utlevert enhetsnavn1,544
Merkede kandidatpar39,051
Gjennomsnittlig antall kandidater per enhet25.3
True-match-par1,544
Ikke-matchende par37,507
Klassebalanse~24 ikke-matcher per ekte match
Fordi bare én kandidat per navn er riktig, er datasettet svært ubalansert - noe som gjenspeiler den virkelige fordelingen som modellen møter i produksjonen. Ytelsen evalueres på nytt ved hver ukentlige omskoleringssyklus.

Forvirringsmatrise

Hva den måler: Den forvekslingsmatrise evaluerer modellen som en binær klassifiserer ved terskelverdien p^0.60\hat{p} \geq 0.60. Kandidater over terskelen predikeres som treff, alle andre som ikke-treff. Resultat:

Sann positiv - 1 291

83,61 % av de faktiske treffene er korrekt identifisert

Falsk positiv - 110

0,29 % av de faktiske ikke-matchene er feilaktig flagget

Falsk negativ - 253

16,39 % av de faktiske treffene under terskelverdien - tatt opp til vurdering

Sann negativ - 37 397

99,71 % av de faktiske ikke-matchene ble korrekt avvist
To beregninger er utledet fra disse tellingene: **Husk: Hvor stor andel av de sanne treffene identifiserte modellen korrekt?
  • Av de 1544 sanne treffene i testsettet fikk 1291 treff over terskelverdien. Recall=TpTp+Fn=1,2911,291+253=83.6%\text{Recall} = \frac{T_p}{T_p + F_n} = \frac{1{,}291}{1{,}291 + 253} = 83.6\%
  • De 253 falske negativene representerer treff som ble scoret under konfidensgrensen på 0,6.
  • I praksis, Credit Benchmark finner at den sanne matchingen fremdeles dukker opp i resultatsettet - selv når konfidensgraden for den riktige matchingen er lavere enn 0,6.
**F1-score: hva er modellens kombinerte ytelse på tvers av tilbakekalling og presisjon?
  • F1 er det harmoniske gjennomsnittet av Recall og Precision - det straffer ubalanse mellom de to, og belønner modeller som gjør det bra på begge. F1=2Tp2Tp+Fp+Fn=2×1,2912×1,291+110+253=87.7%F_1 = \frac{2T_p}{2T_p + F_p + F_n} = \frac{2 \times 1{,}291}{2 \times 1{,}291 + 110 + 253} = 87.7\%
  • En F1 på 87,7 % gjenspeiler en sterk samlet klassifiseringsytelse ved terskelen på 0,60 - modellen gjenfinner det store flertallet av sanne treff, samtidig som den gir få feilaktige prediksjoner.

ROC-kurve og presisjon-tilbakekalling

Fordi datasettet er svært ubalansert (~24:1), er Precision-Recall-kurven den mest informative diagnostikken - den ROC AUC kan være misvisende optimistisk i ubalanserte omgivelser.
ROC and Precision-Recall curves

ROC-kurve

Hva den måler: hvor godt modellen skiller treff fra ikke-treff på tvers av alle mulige terskler. Den ROC-kurve plotter True Positive Rate mot False Positive Rate når terskelen sveiper fra 1 til 0:
  • TPR=TpTp+Fn,FPR=FpFp+Tn\text{TPR} = \frac{T_p}{T_p + F_n}, \qquad \text{FPR} = \frac{F_p}{F_p + T_n}
Arealet under denne kurven (AUC) oppsummerer den diskriminative ytelsen - 1,0 er perfekt, 0,5 er ikke bedre enn tilfeldig. Resultat: AUC = 0,989 - nesten perfekt skille mellom ekte treff og ikke-treff.

Precision-Recall Curve

Hva den måler: hvor mye presisjon modellen beholder etter hvert som den gjenoppretter flere treff. Gjennomsnittlig presisjon (AP) oppsummerer dette som det vektede arealet under PR-kurven:
  • Average Precision=n(RnRn1)Pn\text{Average Precision} = \sum_{n} (R_n - R_{n-1}) \cdot P_n
hvor:
  • RnR_n - tilbakekalling ved terskeltrinn nn
  • PnP_n - presisjon ved terskeltrinn nn
AP er mer meningsfylt enn AUC når positive eksempler er sjeldne - AP = 1,0 er perfekt. Resultat: AP = 0,936 - sterk presisjon opprettholdt over det meste av tilbakekallingsområdet.

Avveining mellom presisjon og dekning

Hva den måler: Presisjon er andelen av de predikerte treffene som faktisk er riktige. Dekningsgrad er andelen av inndatanavnene som får treff over terskelverdien kk:
  • Precision(k)=TpTp+Fp,Coverage(k)=nkN\text{Precision}(k) = \frac{T_p}{T_p + F_p}, \qquad \text{Coverage}(k) = \frac{n_{\geq k}}{N}
hvor:
  • nkn_{\geq k} - antall navn med poengsum på eller over kk
  • NN - totalt antall inngangsnavn
Som terskel kk endringer:
  • Høyning kk - færre navn matchet, høyere presisjon, lavere dekning
  • Senking kk - flere navn matchet, lavere presisjon, høyere dekning
En driftspunkt er det spesifikke paret (Dekning, Presisjon) ved den valgte terskelen - det punktet på kurven der du bestemmer deg for å operere. Resultat:
Precision and coverage vs. confidence threshold
Ved driftspunktet p^=0.60\hat{p} = 0.60: presisjonen er 94,4 % og dekningsgraden er 66,7 %. To tredjedeler av navnene får en match med høy tillit, mens den resterende tredjedelen faller under terskelen og må gjennomgås.