Vytěžování znalostí z dat Department of Computer Systems Faculty of Information Technology Czech Technical University in Prague Přednáška 5: Hodnocení kvality modelu BI-VZD, 09/2011 MI-POA Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 1/27
Klasifikace má 2 fáze: Učící Vybavovací Klasifikace Naším cílem je vytvoření klasifikátoru s co nejlepší úspěšností ve vybavovací fázi Úspěšnost ve vybavovací fázi ale nemůžeme změřit, když neznáme všechna data na kterých bude klasifikátor použit Jak odhadnout chybu klasifikátoru ve vybavovací fázi? Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 2/27
Jak odhadnout chybu Spočítáním chyby na trénovacích datech Předpokládáme, že trénovacídata jsou reprezentativním vzorkem Ale, učení většiny modelů spočívá v nastavení parametrů tak, aby byla minimalizována chyba na trénovacích datech. Pokud vybereme klasifikátor, který je nejlepší pro konkrétní data, nemůžeme už tato data použít pro ohodnocení klasifikátoru -> riziko přeučení klasifikátoru Toto není vhodná metoda nepoužívat! Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 3/27
Přeučení Složitější modely jsou více se přizpůsobit trénovacím datům a tím snížit chybu na trénovacích datech Model je ale pak naučen přesně na konkrétní data a ztrácí schopnost generalizace pro další data ze stejného rozdělení už chyba strmě stoupá Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 4/27
Přeučení Složitější modely jsou více náchylné k přeučení Jednodušší modely mají menší riziko přeučení, ale nejsou schopné pokrýt složitější závislosti v datech Rozhodnutí pro výběr jednoduššího nebo složitějšího modelu není jednoznačné a závisí na konkrétních datech Jak poznat že je model přeučený? Pokud je chyba na trénovacíchdatech o hodně menší než na testovacích datech, pak je model přeučený. Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 5/27
Jak odhadnout chybu Rozdělením trénovacích dat na 2 části: Trénovací na trénovací části dat naučíme model Testovací na testovací části dat spočítáme chybu klasifikace Jak rozdělit trénovací množinu? Napůl, 80% trénovací, 20% testovací Zmenšením trénovacímnožiny se klasifikátor hůře učí a chyba klasifikátoru se zvětšuje Malá testovací množina zase neumožňuje přesné zjištění cyby Můžeme si tedy vybrat mezi přesnější klasifikací a přesnějším odhadem chyby Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 6/27
Rozdělení Sepal length Sepal Widtg Petal length Petal Width Species 5.1 3.5 1.4 0.2 Setosa 4.9 3.0 1.4 0.2 Setosa 4.7 3.2 1.3 0.2 setosa 7.0 3.2 4.7 1.4 Versicolor 6.4 3.2 4.5 1.5 versicolor 6.9 3.1 4.9 1.5 Versicolor train test Takhle ne! Data se musí rozdělit do trénovacía testovací množiny náhodně Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 7/27
Cross-validace Rozdělením na trénovacía testovací množinu ztrácíme možnost použít část dat pro učení Při crossvalidaci rozdělíme data na N stejně velkých částí N-krát opakujeme: Použijeme N-1 částí pro naučení Použijeme 1 část pro zjištění chyby Výsledná chyba je průměr z N dílčích chyb Každá instance je použita N-1krát pro učení a jednou pro výpočet chyby Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 8/27
Cross Validace N=5 = train train train train test -> err 1 train train train test train -> err 2 train train test train train -> err 3 train test train train train -> err 4 test train train train train -> err 5 err N i= = 1 err N i Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 9/27
Validační data pomocí testovacích dat nebo crossvalidace otestujeme několik modelů a vybereme z nich ten s nejmenší chybou Odhad chyby na testovacích datech, už ale není nevychýlený, protože jsme data použily pro výběr klasifikátoru Proto z dat odebereme ještě jednu část validační na které otestujeme chybu námi zvoleného klasifikátoru Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 10/27
Přímočaré řešení: Jak měřit úspěšnost klasifikace = č á ě ý ý č í K tomu analogicky: = č ě ý ý č í Často se používá, ale nevhodné při nerovnoměrném zastoupení tříd Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 11/27
Příklad: Problém s accuracy Chceme vytvořit klasifikátor, který rozhodne, zda transakce platební kartou je podvodná (kradenou platební kartou) Podvodných transakcí je proti běžným velmi malý počet pouze 0,01% Triviální klasifikátor, který označí všechny transakce jako v pořádku, bude mít velmi vysokou úspěšnost 99,99% Takový klasifikátor nám ale k ničemu dobrý není Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 12/27
Matice záměn Předpokládáme binární klasifikaci skutečnost ANO NE klasifikace ANO TP FP NE FN TN TP true positives, klasifikován správně jako ANO TN true negatives, klasifikován správně jako NE FP false positives, klasifikován jako ANO, ve skutečnosti NE FN false negatives, klasifikován jako NE, ve skutečnosti ANO Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 13/27
Matice záměn, poměrné veličiny klasifikace true positive rate(sensitivity, recall) = truenegative rate = falsepositive rate = falsenegative rate = specificity = precision = accuracy = skutečnost ANO NE ANO TP FP NE FN TN Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 14/27
F-measure Kompromis mezi precision a recall Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 15/27
Příklad matice záměn Iris data, 3 třídy Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 16/27
Příklad klasifikace aut Máme data s různými informacemi o 392 autech chceme určit, zda je auto vyrobeno v Americe mpg cylinders displacement horsepower weight acceleration model year origin 0 1 0,609819 0,798913 0,884321 0,625 0 0 0,026596 1 0,754522 0,918478 0,851148 0,357143 0 0 0,026596 1 0,617571 0,836957 0,783385 0,416667 0 0 0,053191 1 0,645995 0,891304 0,785086 0,327381 0 0 0,053191 1 0,932817 0,880435 0,856252 0,178571 0,166667 0 0,332447 0,2 0,136951 0,347826 0,279841 0,285714 0,583333 0,5 0,335106 0,2 0,136951 0,375 0,335129 0,458333 0,666667 0,5 0,398936 0,2 0,170543 0,271739 0,308761 0,327381 0,416667 1 0,398936 0,2 0,131783 0,277174 0,264247 0,535714 0,416667 1 0,404255 0,6 0,20155 0,402174 0,373405 0,345238 0,916667 1 Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 17/27
Scatter plot pro atributy mpg milesper gallon weight- váha 1,2 1 0,8 weight 0,6 americke neamericke 0,4 0,2 0 0 0,2 0,4 0,6 0,8 1 1,2 mpg Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 18/27
Porovnáme výsledky dvou triviálních klasifikátorů: mpg< 0,35 => auto je americké všechna auta americká Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 19/27
1.klasifikátor podle mpg mpg< 0,35 => auto je americké matice záměn: TP -americká auta označená jako americká klasifikace Skutečnost Americká Ostatní Americká 169 24 Ostatní 75 124 FP -ostatní auta chybně označená jako americká FN -americká auta chybně označená jako ostatní TN -ostatní auta označená jako ostatní procento správně určených (accuracy) =74,74% hodnoty na diagonále správná klasifikace hodnoty mimo diagonálu chyby Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 20/27
1 0,9 Vizualizace chyb mpg= 0,35 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 true positive true negative false negative false positive Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 21/27
Skutečnost Americká Ostatní klasifikace přesnost (precision) kolik aut klasifikovaných jako americká byla skutečně americká á = =0,875 kolik aut klasifikovaných jako ostatní byla skutečně ostatní í = =0,623 úplnost (recall) kolik amerických aut jsme označili jako americká á = =0,692 kolik neamerických aut jsme označili jako neamerická í = Americká 169 24 Ostatní 75 124 =0,838 Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 22/27
2. klasifikátor všechna auta americká matice záměn skutečnost americká ostatní klasifkace amaerická 245 148 ostatní 0 0 TP -americká auta označená jako americká FP -ostatní auta chybně označená jako americká procento správně určených (accuracy) =62,24% >50%protože amerických aut je v datech více než ostatních Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 23/27
skutečnost americká ostatní klasifkace amaerická 245 148 ostatní 0 0 přesnost (precision) kolik aut klasifikovaných jako americká byla skutečně americká á = =0,62 úplnost (recall) kolik amerických aut jsme označili jako americká á = =1 kolik ostatních aut jsme označili jako ostatní í = =0 Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 24/27
Threshold U klasifikátoru můžeme většinou snadno zvýšit TPrna úkor TNr a obráceně U bayesovskéhoklasifikátoru změnou apriorních pravděpodobností U k-nn použitím thresholdu místo majority Obdobně u dalších klasifikátorů Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 25/27
ROC Závislost TPr na FPr udává ROC křivka Ideální klasifikátor Náhodný výběř Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 26/27
AUC Area under curve Plocha pod ROC křivkou 0,5 je pro náhodný výběr 1 je pro ideální klasifikátor Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 5 27/27