Gå til indhold
atlas

Forvekslingsmatrix (confusion matrix)

Også kendt som: confusion matrix, fejlmatrix

En lille tabel, der for hver sand klasse tæller, hvor ofte en model gav hvert svar - og viser præcis, hvilke fejl den begår.

Kladde - dette opslag er endnu ikke gennemgået.

Formelt

En tabel med optællinger for en klassifikationsopgave med én række pr. sand klasse og én kolonne pr. forudsagt klasse; med to klasser er de fire felter sande positive, falske positive, falske negative og sande negative.

Forklaret enkelt

Som postcentralens opgørelse ved dagens slut, der viser, hvor mange breve til hver by der endte i hver bys sæk, så man kan se, hvilke byer der bliver forvekslet.

I praksis

En sagsbehandler i en kommune tjekker den model, der sender borgernes mails videre til fem afdelinger; forvekslingsmatrixen viser, at mails om boligstøtte gang på gang havner hos pensionsteamet.

Hvorfor det betyder noget

Ét samlet tal skjuler, hvilke fejl en model laver; denne tabel viser dem, og nøjagtighed, præcision og genkaldelse regnes alle ud fra dens felter.

Teknisk uddybning

For k klasser er forvekslingsmatricen C en k × k-tabel, hvor C[i][j] tæller de testeksempler, hvis sande klasse er i, og som blev forudsagt som j, så de korrekte forudsigelser ligger i diagonalen. Orienteringen er en konvention, ikke en lov: scikit-learns confusion_matrix har sande klasser i rækkerne og forudsigelser i kolonnerne, mens nogle lærebøger og værktøjer bytter om, så akserne skal tjekkes, før man læser en offentliggjort matrix. Enhver klasse c kan reduceres til en en-mod-resten-tabel på 2 × 2: TP = C[c][c], FN = rækkesummen minus diagonalfeltet, FP = kolonnesummen minus diagonalfeltet, TN = resten.

Næsten alle klassifikationsmål er funktioner af disse felter. Nøjagtighed er sporet delt med N; genkaldelse for en klasse er diagonalfeltet over rækkesummen, præcision diagonalfeltet over kolonnesummen, specificitet TN / (TN + FP). Normaliseres matricen pr. række (scikit-learn normalize='true'), bliver hver række til genkaldelse pr. klasse; normaliseres den pr. kolonne (normalize='pred'), får man præcision pr. klasse. Multiklasse-gennemsnit adskiller sig ved, hvordan en-mod-resten-tabellerne kombineres: makrogennemsnit vægter alle klasser ens, mikrogennemsnit lægger optællingerne sammen (og er lig nøjagtighed ved multiklasse med én label pr. eksempel), og vægtet gennemsnit vægter efter antal eksempler pr. klasse. Cohens kappa og Matthews-korrelationskoefficienten beregnes også direkte ud fra matricen.

En forvekslingsmatrix beskriver ét arbejdspunkt. En model, der giver scorer, giver en ny matrix for hver tærskel; ROC-kurven (Fawcett, 2006) viser TPR mod FPR over hele den familie, og præcision-genkaldelse-kurven gør det samme for præcision og genkaldelse. Ganger man matricen feltvis med en omkostningsmatrix og summerer, får man den forventede omkostning ved en tærskel, hvilket gør omkostningsbevidste beslutninger eksplicitte. Da præcision afhænger af forekomsten, mens TPR og FPR ikke gør, kan en matrix målt på et bevidst balanceret testsæt ikke læses som driftsydelse uden omvægtning til den reelle klassefordeling.

I fejlanalyse er de varme felter uden for diagonalen det interessante: systematisk forveksling mellem to klasser skyldes ofte overlappende definitioner i mærkningsvejledningen, tvetydige kildedata eller en taksonomi, hvor klasser bør slås sammen eller deles, snarere end en fejl i modellen. Separate matricer pr. befolkningsgruppe understøtter fairnesstjek som equalised odds (Hardt m.fl., 2016), der sammenligner TPR og FPR på tværs af grupper. Ved multilabel-opgaver returnerer scikit-learns multilabel_confusion_matrix én 2 × 2-tabel pr. label. Små felter er statistisk støjfyldte, så sjældne klasser kræver nok testeksempler, før deres række kan tages for pålydende.

Hvad du bør lære først

Alt det, dette bygger på - grundlaget først.

  1. Klassifikation
  2. →Label (mærkat)
  3. →Træningsdata
  4. →Superviseret læring
  5. →Forvekslingsmatrix (confusion matrix)

Relationer

Bruges sammen med
Falsk positivTestsæt

Kilder og videre læsning

Opslagsværker

Hvor dataene kommer fra

Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.

Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON

Test dig selv

Indlæser…

Atlas er i beta.