Co je matice záměn?
Matice záměn je tabulka, která počítá, kolik položek každé skutečné třídy model klasifikace zařadil do každé predikované třídy. Označuje se také jako chybová matice.
Jak ji číst
Ve scikit-learn je každý řádek skutečná třída a každý sloupec predikovaná třída. Buňka v řádku i a sloupci j počítá pozorování skutečné třídy i, která model zařadil do třídy j. Jiné texty osy zaměňují, proto si nejprve přečtěte popisky.
Buňky na diagonále jsou správné predikce. Buňky mimo diagonálu jsou chyby a každá z nich ukazuje, kterou třídu model s jakou zaměnil.
Binární případ
Model se dvěma třídami, pozitivní a negativní, dává čtyři buňky.
| Predikováno jako pozitivní | Predikováno jako negativní | |
|---|---|---|
| Skutečně pozitivní | skutečně pozitivní (TP) | falešně negativní (FN) |
| Skutečně negativní | falešně pozitivní (FP) | skutečně negativní (TN) |
Falešně negativní je skutečný pozitiv, který model označil jako negativní. Falešně pozitivní je skutečný negativ, který model označil jako pozitivní.
Metriky z buněk
- Celková přesnost (accuracy) = (TP + TN) / všechna pozorování.
- Přesnost (precision) = TP / (TP + FP).
- Úplnost (recall) = TP / (TP + FN).
- F1 = 2TP / (2TP + FP + FN).
Příklad z dokumentace scikit-learn: 8 pozorování dává TN = 2, FP = 1, FN = 2 a TP = 3. Celková přesnost je 5/8 = 0,625, přesnost je 3/4 = 0,75, úplnost je 3/5 = 0,6 a F1 je 6/9 = 0,67.
U více než dvou tříd se přesnost a úplnost počítají pro každou třídu zvlášť. Vyvážená přesnost (balanced accuracy) je průměr úplnosti všech tříd. Cohenova kappa a Matthewsův korelační koeficient (MCC) také využívají celou matici. Kappa leží mezi -1 a 1. MCC má maximum +1 a při více než dvou třídách je jeho minimum mezi -1 a 0.
Proč nestačí jen celková přesnost
Na nevyvážených datech může celková přesnost skrýt model, který nic nenachází. Matice ukazuje skutečné pozitivy a to, kam skončily, takže to okamžitě odhalí.
Často kladené otázky
- Jsou řádky skutečná třída, nebo predikovaná třída?
- Záleží na zdroji. Ve scikit-learn je každý řádek skutečná třída a každý sloupec predikovaná třída. Jiné texty osy zaměňují. Před čtením čísel si přečtěte popisky os.
- Jaký je rozdíl mezi přesností a úplností?
- Přesnost (precision) je podíl správných pozitivních predikcí: TP / (TP + FP). Úplnost (recall) je podíl skutečných pozitivů, které model najde: TP / (TP + FN). Úplnost se nazývá také senzitivita.
- Proč k posouzení modelu nestačí celková přesnost?
- Celková přesnost (accuracy) může být vysoká u modelu, který je k ničemu. Pokud je 99 ze 100 položek negativních, model, který vždy predikuje negativní, dosáhne 99 procent. Matice to ukáže, protože každý skutečný pozitiv je falešně negativní.
- Co ukazuje normalizovaná matice záměn?
- Ukazuje podíly místo počtů. Ve scikit-learn normalize='true' vydělí každý řádek jeho součtem, takže diagonální buňka je úplnost dané třídy. normalize='pred' dělí každý sloupec a normalize='all' dělí počtem pozorování.
Reference
- 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
Toto je referenční položka. TarmacView poskytuje služby inspekce drony a neprodává zařízení ani materiály popsané v tomto slovníku.