Mi a konfúziós mátrix?
A konfúziós mátrix olyan táblázat, amely megszámolja, hogy az osztályozási modell az egyes valódi osztályokba tartozó elemekből hányat sorolt az egyes előrejelzett osztályokba. Hibamátrixnak (error matrix) is nevezik.
Hogyan kell olvasni
A scikit-learnben minden sor egy valódi osztály, minden oszlop pedig egy előrejelzett osztály. Az i. sor és a j. oszlop cellája azt számolja, hány olyan megfigyelés tartozik a valódi i osztályba, amelyet a modell a j osztályba sorolt. Más szövegek felcserélik a tengelyeket, ezért előbb nézze meg a feliratokat.
Az átlón lévő cellák a helyes előrejelzések. Az átlón kívüli cellák a hibák, és mindegyik megmutatja, hogy a modell melyik osztályt melyikkel tévesztette össze.
A bináris eset
Két osztállyal, pozitívval és negatívval, a mátrix négy cellát tartalmaz.
| Előrejelzett pozitív | Előrejelzett negatív | |
|---|---|---|
| Valódi pozitív | valódi pozitív (TP) | hamis negatív (FN) |
| Valódi negatív | hamis pozitív (FP) | valódi negatív (TN) |
Hamis negatív az a valódi pozitív, amelyet a modell negatívnak sorolt be. Hamis pozitív az a valódi negatív, amelyet a modell pozitívnak sorolt be.
Mutatók a cellákból
- Pontosság = (TP + TN) / az összes megfigyelés.
- Precizitás = TP / (TP + FP).
- Visszahívás = TP / (TP + FN).
- F1 = 2TP / (2TP + FP + FN).
Példa a scikit-learn dokumentációjából: 8 megfigyelés esetén TN = 2, FP = 1, FN = 2 és TP = 3. A pontosság 5/8 = 0,625, a precizitás 3/4 = 0,75, a visszahívás 3/5 = 0,6, az F1 pedig 6/9 = 0,67.
Több mint két osztálynál minden osztályra külön kell kiszámítani a precizitást és a visszahívást. A kiegyensúlyozott pontosság az összes osztály visszahívásának átlaga. A Cohen-féle kappa és a Matthews-korrelációs együttható (MCC) szintén az egész mátrixot használja. A kappa értéke -1 és 1 között van. Az MCC legfeljebb +1 lehet, és kettőnél több osztálynál a legkisebb értéke -1 és 0 közé esik.
Miért nem elég a pontosság
Kiegyensúlyozatlan adatokon a pontosság elrejthet egy olyan modellt, amely semmit nem talál meg. A mátrix megmutatja a valódi pozitívokat és azt, hová kerültek, ezért ez azonnal kiderül.
Gyakran Ismételt Kérdések
- A sorok a valódi vagy az előrejelzett osztályok?
- Ez a forrástól függ. A scikit-learnben minden sor egy valódi osztály, és minden oszlop egy előrejelzett osztály. Más szövegek felcserélik a tengelyeket. A számok olvasása előtt nézze meg a tengelyek feliratát.
- Mi a különbség a precizitás és a visszahívás között?
- A precizitás a pozitív előrejelzések azon hányada, amely helyes: TP / (TP + FP). A visszahívás a valódi pozitívok azon hányada, amelyet a modell megtalál: TP / (TP + FN). A visszahívást szenzitivitásnak is nevezik.
- Miért nem elég a pontosság egy modell megítéléséhez?
- A pontosság magas lehet egy haszontalan modellnél is. Ha 100 elemből 99 negatív, a mindig negatívot előrejelző modell 99 százalékot ér el. A mátrix megmutatja a problémát, mert minden valódi pozitív hamis negatívként jelenik meg.
- Mit mutat a normalizált konfúziós mátrix?
- Arányokat mutat darabszám helyett. A scikit-learnben a normalize='true' minden sort az összegével oszt el, így az átlós cella az adott osztály visszahívása. A normalize='pred' minden oszlopot oszt el, a normalize='all' pedig a megfigyelések számával osztja el az értékeket.
Hivatkozások
- sklearn-model-evaluation
- scikit-learn User Guide, 3.4 Metrics and scoring: quantifying the quality of predictions scikit-learn
- sklearn-confusion-matrix-api
- sklearn.metrics.confusion_matrix scikit-learn
- google-ml-crash-course-metrics
- Machine Learning Crash Course: Classification, accuracy, precision and recall Google for Developers
- wikipedia-confusion-matrix
- Confusion matrix Wikipedia
Ez egy referenciabejegyzés. A TarmacView drónos ellenőrzési szolgáltatásokat nyújt, és nem árulja az ebben a szószedetben leírt felszereléseket vagy anyagokat.