Interpretace a evaluace 1. Deskriptívni úlohy kritériem novost, zajímavost, užitečnost a srozumitelnost Kvalitativní hodnocení: • zřejmé znalosti, které jsou ve shodě se „zdravým selským rozumem" • zřejmé znalosti, které jsou ve shodě se znalostmi experta z dané oblasti • nové, zajímavé znalosti, které přinášejí nový pohled • znalosti, které musí expert podrobit bližší analýze, neboť není zcela jasné co znamenají • „znalosti", které jsou v rozporu se znalostmi experta Kvantitativní hodnocení: • např. spolehlivost a podpora u asociačních pravidel pozor, ne vše co je statisticky významné je i zajímavé ! 2. Klasifikační úlohy kritériem úspěšnost klasifikace na datech Testování modelů: • testování v celých trénovacích datech • křížová validace (cross-validation) • leave-one-out • bootstrap • testování na testovacích datech Cílem je zjistit v kolika případech došlo ke shodě resp. neshodě modelu (systému) s informací od učitele Matice záměn (confusion matrix) Správné zařazení Klasifikace systémem + - + TP FN - FP TN • Celková správnost resp. celková chyba (overall accuracy a error) TP + TN Acc = Err = TP + TN + FP + FN FP + FN TP + TN + FP + FN celková správnost e [AcCdef, AcCmax] kde AcCdef ■ ■ ■ správnost při klasifikaci všech příkladů do majoritní třídy AcCmax ■ ■ ■ maximální možná správnost pro daná data Chyba bez ceny Err = 1 - Acc Chyba s cenami Err=FP*c(P,n) + FN*c(N,p) Správnost pro jednotlivé třídy TP Acc+ = Acc. = TP+ FP TN TN +FN vhodnější při „nevyvážených" třídách Přesnost a úplnost (precision a recall) TP Přesnost = TP+ FP Úplnost = Tp+ FN lze kombinovat do tzv. F-míry 2 * přesnost * úplnost_______2TP_____ přesnost + úplnost " 2TP + FP + FN Senzitivita a specificita (sensitivity a specificity) TP Senzitivita = TP+ FN o r- -. TN Specificita = TN + Fp Spolehlivost klasifikace na základě meta-učení informace o správnosti klasifikace jako nový atribut original original testing data. training data, classification accuracy Learning classification ütnowletige i____t Classification verification accuracy new testing data. compute match Classification step new training data verification Icnowledge Verification step • Křivka učení (learning curve) Vztah mezi úspěšností klasifikace a počtem příkladů Vztah mezi úspěšností klasifikace a počtem iterací • Křivka navýšení (lift curve) Vztah mezi počtem úspěšných klasifikací a váhou klasifikace • Křivka návratnosti investic (ROI curve) Vztah mezi ziskem z úspěšných klasifikací a váhou klasifikace • Křivka ROC Vztah mezi TP a FP pro různá nastavení klasifikátoru TPo/n = TP TP+ FN FPo/n = FP FP+ TN TPo/0 = Senzitivita, 1 - FPo/o = Specificita 100 ,--'' 30 y' ,,-'' ?í 1-1 60 y' > ,--• +j o £2. y' s ' | 40 £2. y -' 20 / 0 /,- C 20 40 falešné positivni 60 80 100 Varianta (KEX) Závislost správnosti a počtu rozhodnutí na prahu a, rozhodnutí, jen když w > a » 2« i u, 100 -^ - 50 ů 4 0.5 Ů.6 0.7 ů. 0.9 1 prah Numerické třídy (Pí predikovaná hodnota a Sj skutečná hodnota) MSE= (PrSi)2+ -+(Pn-Sny RMSE = (Pl-Sif + ■■■+(Pn-Sn):ž n MAE=|Pl-Sl|+n-+|Pn-Sn| DQP_ (Pl-Si)^+ ■■■+(Pn-Sn)2 Kbt_ (Si-Sf+...+ (Sn-sf kde s" = SiS l^l n ^s_ VSP2 Ss kdesPS=^-nqsi-s,) Ssz = 2 Xj(Sj - sf n-1 S 2 = On — Sí(Pí-pT n-1 Vizualizace 1. Vizualizace modelů Rozhodovací stromy (MineSet) Asociace (Clementine) <* fruitveg k freshmeat.. : Absolute Generate kleb ..... daira _ ^freshneat D|x _ fruitveg cannedneat, ■■'frozenneal com eq.tjjqne fřj> fish beer l^-y -' ' softdrink 99 • Pravidlo IF nezamestnany(ne) THEN uver(ano) uver(ano) uver(ne) nezamestnany(ne) nezamestnaný (ano) 5 1 3 3 6 6 8 4 12 Vizualizace klasifikací Obecné logické diagramy (Michalskí) Mead Shape- Smihnj Mas Tie v« v« no .round VW no no v« no rw no va no ocas? n yw na no o o o o o o o o o o ob o o o o o o ojoio o o o ob o o o o o 0 0 o 0 0 o 0 0 0 0 0 o 0 0 o ox 0 o 0 o:i 0 0 o 0 0 0 o o 0 0 o 0 0 o 0 o 0 0 o x 0 x o o 0 0 0 0 o 0 0 o o o o o o o o o O X. - Xo o o o xxo o o o o o o o o o o o o o o Ľ ó ô ó ó ô ó ó Ů o o o 0 ô oKXo ó ô ó ô ó ô ô ó ô ó ó 0 o o 0 0 o 0 0 o xb 0 o o XXX 0 o oxx o 0 0 o 0 0 o 0 0 o o o o o o o o o O Q OIO oppp OIXIXlü o o o XXX o o o o o o o o o 0 0 o 0 o o 0 0 o OJx 0 o 0 0 0 o 0 o o 0 o o 0 o o 0 0 0 o o 0 0 o 0 0 o 0 xo o 0 o o 0 o o 0 0 o o o o o o o o o o o o o o xo o EXoX o o • o o o 0 o o 0 o o 0 0 o 0 0 o o x o o x o o 0 o o 0 o lo ooo 0 0 0 o o 0 0 o 0 0 o 0 0 o 0 x o 0 x o o 0 o o 0 ooo ooo 0 0 Maiding Body Ships-Jicfc« Co lor rwobiJ f b. iwobil f b. iwobil fb. iwobil fb. swobil f b. iwotnl 1b. iwobal fli swobal f li nvabal f li motal f li iwotnl fli swobal f li round lauu* ocagon jound souue ocajon jound sounre ocajon round lounie oongon jed yellow gieen blue spojení s GIS (KEX) Porovnávání modelu • T-test t(x,y) = x'-y' >(x,y) V1/m + 1/n ' kdex' = ^, y' = ^f a s<(x,y) = 2/„ „x _ (m-1)sx2+(n-1)Sy2 m+n-2 Model A bude lepší než model B, pokud t(AccA, Accb) >_t(1- a/2, m + n-2) ROC křivky nodel ň ■ nodel B ■ noďel C falešné positivní iZl • Occamova břitva minimum description length, MDL Volba nejvhodnějšího algoritmu • charakteristiky algoritmů vs. charakteristiky dat • způsob reprezentace příkladů, • vyjadřovací síla, • schopnost práce s numerickými atributy, • schopnost práce se zašuměnými a chybějícími daty, • schopnost práce s maticí cen, • předpoklad nezávislosti mezi atributy, • ostrá vs. neostrá klasifikace • empirické studie Metaučení nad výsledky dosaženými jednotlivými systémy • STATLOG (1991-1994) • pro rozsáhlá data se hodí diskriminační analýza (lineární, kvadratická), • není velký rozdíl mezi „obyčejnou" a logistickou diskriminační analýzou, • na rozsáhlých datech je nejpomalejší metoda k nejbližších sousedů, • použité algoritmy na tvorbu rozhodovacích stromů se chovaly zhruba stejně; nezdá se tedy, že by nějak zvlášť záleželo na kritériu pro volbu větvení, • neuronové sítě dávaly výborné výsledky u dat, kde se napoužívala matice cen. • METAL (2000-) důraz i na předzpracování Kombinování modelů různé varianty hlasování • Bagging (bootstrap aggregating) • několik stejně velkých trénovacích množin pomocí náhodného výběru s opakováním (bootstrap) • všechny modely rovný hlas • Boosting • následující model na data chybně klasifikovaná předcházejícím modelem • postupně se vytvářejí modely se stále větší váhou hlasu AdaBoost algoritmus učení 1. Přiřaď stejnou váhu všem trénovacím příkladům, 2. Pro každou iteraci (vytvářený model) 2.1. Vytvoř model 2.2. Spočítej chybu err na vážených datech 2.3. If err=0 nebo err>0.5 konec 2.4. Pro každý příklad If klasifikace je správně then váha w=w*err/(l-err) 2.5. Normalizuj váhy příkladů (součet nových vah stejný jako součet původních) klasifikace jednoho příkladu 1. Přiřaď váhy 0 všm třídám 2. Pro každý model Přiřaď třídě určené modelem váhu w=w-log(err/l-err) 3. Vydej třídu s nejvyšší váhou • Stacking rozpoznat spolehlivost jednotlivých modelů na základě meta učení učeni základní klasifikátoi 1 \ ^—^ X data pro metaučení ^ h meta klasifikátor P základní klasifikátoix