Csima Judit február 19.

Hasonló dokumentumok
Csima Judit február 26.

Csima Judit április 9.

Adatbányászat: Osztályozás Alapfogalmak, döntési fák, kiértékelés

Klaszterezés, 2. rész

Adatbányászat: Osztályozás Alapfogalmak, döntési fák, kiértékelés

Adatbányászati feladatgyűjtemény tehetséges hallgatók számára

Eredmények kiértékelése

Szeleteljük fel úgy a tulajdonságteret, hogy az egyes szeletekbe lehetőleg egyfajta objektumok kerüljenek, de túl sok szelet se legyen.

Adatbányászati technikák (VISZM185) 2015 tavasz

Minden az adatról. Csima Judit február 11. BME, VIK, Csima Judit Minden az adatról 1 / 41

Csima Judit május 10.

Új típusú döntési fa építés és annak alkalmazása többtényezős döntés területén

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

1. gyakorlat. Mesterséges Intelligencia 2.

Gépi tanulás a Rapidminer programmal. Stubendek Attila

Döntési fák. (Klasszifikációs és regressziós fák: (Classification And Regression Trees: CART ))

Adatbányászati, data science tevékenység projektmenedzsmentje

Adatbányászati, data science tevékenység

Nagy adathalmazok labor

Intelligens orvosi műszerek VIMIA023

Csima Judit október 24.

Gépi tanulás Gregorics Tibor Mesterséges intelligencia

Adatbányászat Weka-val. (Data Mining with Weka Ian H. Witten)

Gépi tanulás a gyakorlatban. Lineáris regresszió

Gépi tanulás a gyakorlatban. Kiértékelés és Klaszterezés

LOGIT-REGRESSZIÓ a függő változó: névleges vagy sorrendi skála

Gyakorló feladatok adatbányászati technikák tantárgyhoz

4. LECKE: DÖNTÉSI FÁK - OSZTÁLYOZÁS II. -- Előadás Döntési fák [Concepts Chapter 11]

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

R ++ -tree: an efficient spatial access method for highly redundant point data - Martin Šumák, Peter Gurský

Random Forests - Véletlen erdők

Gyakori elemhalmazok kinyerése

A számítástudomány alapjai

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

5. fejezet. Tan, Steinbach, Kumar Bevezetés az adatbányászatba előadás-fóliák fordította Ispány Márton

5. fejezet. Tan, Steinbach, Kumar Bevezetés az adatbányászatba előadás-fóliák fordította Ispány Márton

discosnp demo - Peterlongo Pierre 1 DISCOSNP++: Live demo

A gép az ember tükre, avagy hogyan (ne) adjuk át saját előítéleteinket a mesterséges értelemnek

Miskolci Egyetem Gazdaságtudományi Kar Üzleti Információgazdálkodási és Módszertani Intézet. Hypothesis Testing. Petra Petrovics.

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

Közösségek keresése nagy gráfokban

Branch-and-Bound. 1. Az egészértéketű programozás. a korlátozás és szétválasztás módszere Bevezető Definíció. 11.

(Independence, dependence, random variables)

Csima Judit április 29.

Adatelemzés őszi félév ,26,27 1. Bevezetés 2. Osztályozás és klaszterezés feladata 3. Numpy és Ipython 4. Logisztikus regresszió

Csima Judit március 9. és 16.

Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.

Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20

JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN

Modellkiválasztás és struktúrák tanulása

Nagy adathalmazok labor

Asszociációs szabályok

Nagy adathalmazok labor

Gyors sikerek adatbányászati módszerekkel

Osztályozás, regresszió. Nagyméretű adathalmazok kezelése Tatai Márton

Mesterséges Intelligencia I. (I602, IB602)

Adatbázisrendszerek 8. előadás: Az Enhanced Entity-Relationship modell március 27.

Gyakori elemhalmazok

Intelligens orvosi műszerek VIMIA023

Adatbányászati szemelvények MapReduce környezetben

Újfajta, automatikus, döntési fa alapú adatbányászati módszer idősorok osztályozására

Adatszerkezetek 2. Dr. Iványi Péter

Véletlenszám generátorok és tesztelésük. Tossenberger Tamás

Egyenlőtlenségi mérőszámok alkalmazása az adatbányászatban. Hajdu Ottó BCE: Statisztika Tanszék BME: Pénzügyek tanszék Budapest, 2011

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

A Föld középpontja felé szabadon eső test sebessége növekszik, azaz, a

17. A 2-3 fák és B-fák. 2-3 fák

Adatszerkezetek 7a. Dr. IványiPéter

Képfeldolgozás. 1. el adás. A képfeldolgozás m veletei. Mechatronikai mérnök szak BME, 2008

Statisztika - bevezetés Méréselmélet PE MIK MI_BSc VI_BSc 1

Általános algoritmustervezési módszerek

Nagyméretű adathalmazok kezelése (BMEVISZM144) Reinhardt Gábor április 5.

file:///d:/okt/ad/jegyzet/ad1/b+fa.html

Logisztikus regresszió október 27.

Előfeldolgozás, exploratory analysis

10. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: január 28.

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

Teljesen elosztott adatbányászat pletyka algoritmusokkal. Jelasity Márk Ormándi Róbert, Hegedűs István

Diszkrét matematika 2.C szakirány

Fodor Gábor március 17. Fodor Gábor Osztályozás március / 39

Komputeralgebra rendszerek

Komputeralgebra rendszerek

Biomatematika 2 Orvosi biometria

ROS Remote Operations Service

Mesterséges Intelligencia MI

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Neurális hálózatok.... a gyakorlatban

Gyors sikerek adatbányászati módszerekkel

Kódverifikáció gépi tanulással

CARE. Biztonságos. otthonok idős embereknek CARE. Biztonságos otthonok idős embereknek Dr. Vajda Ferenc Egyetemi docens

Mesterséges intelligencia 2. laborgyakorlat

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs rendszerek Tanszék. Neurális hálók 2. Pataki Béla

Mesterséges Intelligencia MI

Számítógépes döntéstámogatás. Döntések fuzzy környezetben Közelítő következtetések

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január

Gépi tanulás. Féligellenőrzött tanulás. Pataki Béla (Bolgár Bence)

Gépi tanulás és Mintafelismerés

Programozás alapjai. 5. előadás

Gazdasági informatika gyakorlat

Adatbázisok elmélete 12. előadás

Átírás:

Osztályozás Csima Judit BME, VIK, Számítástudományi és Információelméleti Tanszék 2018. február 19. Csima Judit Osztályozás 1 / 53

Osztályozás általában Osztályozás, classification adott egy rekordokból álló halmaz, a rekordoknak attribútumaik vannak az egyik attribútum a célváltozó, ez kategorikus attribútum, ez reprezentálja, hogy melyik osztályba tartozik az adott rekord cél, hogy egy olyan modellt építsünk fel, ami képes megjósolni a célváltozó értékét, ha a többi attribútum értéke adott Csima Judit Osztályozás 2 / 53

Osztályozás általában Példák egy beteg paraméterei alapján eldönteni, hogy jó- vagy rosszindulatú daganata van-e bankkártyás tranzakció adatait vizsgálva eldönteni, hogy van-e csalás vagy nincs (szabályos-e a tranzakció) adóbevallásban szereplő értékek alapján megtippelni, hogy gyanús-e spam-szűrés Csima Judit Osztályozás 3 / 53

Osztályozás általában Általános módszer van egy csomó rekordunk, ahol minden érték (a célváltozó értéke is) ismert ez alapján egy modellt építünk, amit majd olyan új rekordokon használunk, amiknél a célváltozó értéke nem ismert, de minden más attribútumot tudunk az ismert rekordokat két részre osztjuk: training set és test set a training set-en betanítunk valami modellt a test set-en lemérjük, hogy mennyire jó ezután használhatjuk élesben Csima Judit Osztályozás 4 / 53

10 10 Osztályozás általában Illustrating Classification Task Tid Attrib1 Attrib2 Attrib3 Class 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No 10 No Small 90K Yes Training Set Tid Attrib1 Attrib2 Attrib3 Class 11 No Small 55K? 12 Yes Medium 80K? 13 Yes Large 110K? 14 No Small 95K? 15 No Large 67K? Induction Deduction Learning algorithm Learn Model Apply Model Model Test Set Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 3 Csima Judit Osztályozás 5 / 53

Osztályozás általában Kérdések Milyen modellek vannak? Bayes-osztályozók Mesterséges neurális hálózatok (SVM: Support Vector Machine) hogyan álĺıtunk elő egy konkrét modellt? Pl. ha már tudjuk, hogy döntési fát csinálunk, akkor hogyan csináljuk meg; vagy egy ANN-nél hogyan álĺıtjuk be a paramétereket? Hogyan mérjük az előálĺıtott modell jóságát? accuracy: eltalált címkék száma osztva az összes sor számával error-rate: hibás predikciók száma osztva az összes sor számával Csima Judit Osztályozás 6 / 53

Döntési fa definíció gyökeres, lefelé irányított (legtöbbször) bináris fa belső csúcsok változókkal és ezekhez kapcsolódó feltételekkel címkézettek levelek a célváltozó valamely értékével címkézettek Csima Judit Osztályozás 7 / 53

10 Example of a Decision Tree categorical Tid Refund Marital Status categorical Taxable Income continuous Cheat class Splitting Attributes 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes Training Data Refund Yes No NO MarSt Single, Divorced TaxInc < 80K > 80K NO YES Model: Decision Tree Married NO Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 6 Csima Judit Osztályozás 8 / 53

10 Another Example of Decision Tree categorical Tid Refund Marital Status categorical Taxable Income continuous 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No Cheat 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes class Married NO MarSt Yes NO Single, Divorced Refund NO No TaxInc < 80K > 80K YES There could be more than one tree that fits the same data! Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 7 Csima Judit Osztályozás 9 / 53

10 Apply Model to Test Data Start from the root of tree. Test Data Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 9 Csima Judit Osztályozás 10 / 53

10 Apply Model to Test Data Test Data Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 10 Csima Judit Osztályozás 11 / 53

10 Apply Model to Test Data Test Data Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 11 Csima Judit Osztályozás 12 / 53

10 Apply Model to Test Data Test Data Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 12 Csima Judit Osztályozás 13 / 53

10 Apply Model to Test Data Test Data Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 13 Csima Judit Osztályozás 14 / 53

10 Apply Model to Test Data Test Data Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married Assign Cheat to No TaxInc NO < 80K > 80K NO YES Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 14 Csima Judit Osztályozás 15 / 53

Algoritmus döntési fa készítésére egy általános algot nézünk, ennek különböző verziói futnak különböző programokban nem a legjobb fát akarjuk megtalálni (ez amúgy is aluldefiniált fogalom), hanem egy elég jót mohó módon, lokális döntéseket hozva, gyorsan Csima Judit Osztályozás 16 / 53

Hunt algoritmus, vázlat elején egy csúcs, ide tartozik minden rekord, címke a többségi címke később: választunk egy csúcsot, amit érdemes lenne szétvágni és valami attribútum mentén szétvágjuk egy vagy több részre vége: ha már nem érdemes vágni sehol Csima Judit Osztályozás 17 / 53

10 Hunt s Algorithm Tid Refund Marital Status Taxable Income Cheat Don t Cheat Yes Don t Cheat Refund Single, Divorced Cheat Yes Don t Cheat No Marital Status Refund Married Don t Cheat No Don t Cheat Yes Don t Cheat Refund Single, Divorced Taxable Income No Marital Status < 80K >= 80K Married Don t Cheat 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes Don t Cheat Cheat Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 18 Csima Judit Osztályozás 18 / 53

Hunt algo, kérdések mikor érdemes vágni? melyik csúcsot vágjuk, ha több lehetőség is van? hogyan vágunk? az új csúcsokat hogyan címkézzük? mikor van vége? Csima Judit Osztályozás 19 / 53

Hunt algo, kérdések Mikor van vége? Ha már nincs olyan csúcs, amit vágni érdemes. Mikor nem érdemes vágni? Ha nem akarunk tovább osztani: minden rekord azonos cél-címkéjű Ha nem tudunk tovább osztani: olyan sorok vannak különböző címkével, amiknek minden más attribútuma megegyezik Melyik csúcsot vágjuk, ha több lehetőség is van? Valami bejárás szerint, pl. szélességi, mélységi. Hogyan vágunk? Erről mindárt, ez érdekes. Az új csúcsokat hogyan címkézzük? Többségi címkével. Csima Judit Osztályozás 20 / 53

Milyen attribútum mentén és hogyan vágjunk? Fő elv: sokféle vágást kipróbálunk és a legjobb szerint vágunk. Mik a lehetséges vágások? (Függ a szóba jövő attribútumok típusától.) Mi egy vágás jóságának a mértéke? Hogyan mérjük ezt? Csima Judit Osztályozás 21 / 53

Lehetséges vágások az attribútum fajtája szerint bináris attribútum: igen vagy nem, két gyerek csúcs lesz kategória típusú attribútum: multiway split: minden lehetséges értékhez egy gyerek, az üres csúcsok címkéja a szülő többségi címkéje lesz bináris split részhalmaz szerint: ebből van 2 t 1, ahol a t a lehetséges kimenetelek száma bináris vágás egy érték szerint: ebből van t darab (mint marital status az előző példában) folytonos attribútum bináris vágás, az attribútum értéke kisebb-e egy adott küszöbnél (mint income az előző példában) többes vágás: melyik sávba esik az érték Csima Judit Osztályozás 22 / 53

How to determine the Best Split Before Splitting: 10 records of class 0, 10 records of class 1 Own Car? Car Type? Student ID? Yes No Family Luxury c 1 c 10 c 20 Sports c 11 C0: 6 C1: 4 C0: 4 C1: 6 C0: 1 C1: 3 C0: 8 C1: 0 C0: 1 C1: 7 C0: 1 C1: 0... C0: 1 C1: 0 C0: 0 C1: 1... C0: 0 C1: 1 Which test condition is the best? Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 27 Csima Judit Osztályozás 23 / 53

Vágás jósága, alapelvek többféle mérőszám van, mindegyik egy számértéket rendel a vágáshoz így a különböző vágások összehasonĺıthatóak nagyrészt konzisztensek egymással a különféle mérőszámok mindegyik azt méri, hogy mennyire lesz homogén a létrejövő gyerek poluláció a célváltozó címkézése szerint Csima Judit Osztályozás 24 / 53

Vágás jósága 3 fő mérőszámot nézünk fő elv ugyanaz mindegyiknél: egy rekordhalmazra definiálunk egy mérőszámot, ami az adott rekordhalmaz diverzitását mutatja (ebből lesz három féle mérőszám) egy vágás jóságát azzal mérjük, hogy a szülőcsúcs diverzitása és a létrejövő gyerekcsúcsok diverzitása mennyire tér (mennyit nyerünk azon, ha szétvágjuk a szülőt egy adott módon, mennyivel lesznek homogénebbek a gyerekek) először azt nézzük, hogy hogyan lehet mérni egy rekordhalmaz, azaz a döntési fa egy csúcsának imhomogenitását Csima Judit Osztályozás 25 / 53

Inhomogenitás mérése: Gini-index, entrópia, classification error van egy t csúcsunk (egy rekordhalmaz), aminek egy c darab lehetséges értéket felvevő célváltozó szerinti homogenitását akarjuk mérni p i jelöli a rekordhalmazban előforduló i értékű rekordok relatív gyakoriságát c 2 Gini = 1 p i i=1 entrópia = c p i log p i i=1 classification error = 1 max i 1,...,c p i Csima Judit Osztályozás 26 / 53

Comparison among Splitting Criteria For a 2-class problem: Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 44 Csima Judit Osztályozás 27 / 53

Vágás jósága ha már eldöntöttük, hogy melyik csúcsnál vágunk az adott csúcsnál minden lehetséges attribútum alapján, minden (?) lehetséges módon vágunk k n i = I (szülő) n I (gyerek i) i=1 itt I () a három inhomogenitási mérték közül az egyik n i az i. gyerek rekordszáma, n a szülő rekordszáma arról van szó tehát, hogy a gyerekek inhomogenitását súlyozzuk a relatív nagyságukkal Csima Judit Osztályozás 28 / 53

ID alapján vágni? Azonosító alapján vágni (vagy más, nagyon kis elemszámú részhalmazra vágás) nem szerencsés: ID esetén ez nem valódi nyereség túl kicsi létrejövő halmazok esetén félő, hogy rosszul általánosít a modell (overfitting, erről mindjárt) de az algo ezt preferálja, mert itt lesz nagy a nyereség megoldások: csak bináris vágás lehetséges szűrjük ki a nyilvánvalóan felesleges attribútumokat (amik alapján enm akarunk úgyse vágni) info helyett valami mással mérni a vágás jóságát: gain ratio Csima Judit Osztályozás 29 / 53

Gain ratio cél: büntessük azt, ha egy vágás túl sok részre vág szét ha entrópia az inhomogenitás mértéke: gain ratio gain ratio = k i=1 info n i n log n i n ez bünteti a szétszabdalást kicsi részekre Csima Judit Osztályozás 30 / 53

Az általános faépítő algo jellemzői gyorsan jól értelmezhető fát készít gyors az elkészült fával az osztályozás nem kell paramétereket beálĺıtanunk előre (de...) Különböző programokban ennek verziói futnak: hogyan járjuk be a vágandó csúcsokat mi az inhomogenitás mértéke van-e multivágás vagy csak bináris Csima Judit Osztályozás 31 / 53

Leállási feltételek ha minden csúcs homogén ha nem tudunk tovább differenciálni valami globális leállási feltétel: levélszám, szintszámra korlát A legjobb fa keresése nem kivitelezhető és nem is célszerű általában. Csima Judit Osztályozás 32 / 53

Overfitting és modell választás Overfitting nem szerencsés, ha a modell (pl. az elkészült döntési fa) túlságosan passzol a training set-re azért, mert nincs rá garancia, hogy a későbbi halmazok, amiken a modellt használjuk, teljesen ugyanilyenek lesznek (sőt...) egy egyszerűbb modell, aminek a training error-ja nagyobb, néha jobban általánosítható: jobban viselkedik a későbbi (a modell építése során nem látott) esetekre ez nem csak döntési fáknál léztező jelenség, hanem mindenhol, ahol egy training set alapján modellt építek, amit aztán korábban nem látott eseteken akarok használni Csima Judit Osztályozás 33 / 53

Overfitting és modell választás Training és test error felépítünk egy modellt (pl. egy döntési fát) aszerint, hogy mekkora a training error training error: a felépített modell hogyan osztályozza a training set rekordjait: accuracy, misclassification error de nekünk az lesz az érdekes, hogy a nem látott eseteken hogy viselkedik, hogy jelez előre ez lemérhető a teszt halmazon, de mi van, ha az derül ki, hogy ott nagy a hiba? (erről később) most az a fontos, hogy lássuk, hogy a training error és a test error két külön dolog Csima Judit Osztályozás 34 / 53

Overfitting és modell választás Underfitting és overfitting underfitting: a modell nem elég árnyalt ahhoz, hogy jól előrejelezzen ekkor a training error és a test error is nagy segíthet, ha bonyolultabb modellt építünk, ehhez esetleg kellhet több tanító adat overfitting: túlságosan jól passzol a modell a training set-re csökkentsük a modell bonyolultságát valahogyan (erről mindjárt) Csima Judit Osztályozás 35 / 53

Overfitting és modell választás Underfitting and Overfitting Overfitting Underfitting: when model is too simple, both training and test errors are large Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 52 Csima Judit Osztályozás 36 / 53

Overfitting és modell választás Overfitting oka közvetetten: túl erős, bonyolult modell, ami teljesen a training set-re szabható közvetlenül: az adathalmaz nem reprezentatív (speciális esetek jelentős számban) zaj ha túl sok modell közül válaszhatunk: a legjobb nagyon jó lesz a training set-en, de semmi garancia nincs rá, hogy máshol is Csima Judit Osztályozás 37 / 53

Overfitting és modell választás Overfitting due to Noise Decision boundary is distorted by noise point Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 53 Csima Judit Osztályozás 38 / 53

Overfitting és modell választás Occam s razor Mindenképpen jó lenne elkerülni a túl bonyolult modellt elv: Occam s razor (Occam borotvája): ha van két modell, amik kábé ugyanazt tudják (hol?, hogyan?) akkor az egyszerűbbet, kisebbet válasszuk a modell építése során vegyük ezt az elvet figyelembe, építsük a modellt úgy, hogy az büntesse a túl bonyolultat Csima Judit Osztályozás 39 / 53

Overfitting és modell választás Kérdés Hogyan vegyük figyelembe a modell teljesítményét a modell építése során? Nehézség: eddig a modell értékelésére a teszt halmazt használtuk, de azt nem nézhetjük meg az építés alatt. Vezessünk be egy újfajta hibamérést, ami figyelembe veszi a modell bonyolultságát is a training error-on kívül: generalization error resubstitution error (optimista becslés) pesszimista becslés (modellfüggő) validation set Csima Judit Osztályozás 40 / 53

Overfitting és modell választás Resubstitution error feltételezzük, hogy a training set jól reprezentál optimistán azt gondoljuk, hogy az új adathalmazon is ugyanolyan jól fog osztályozni, mint a training set-en ekkor a modell hibája az, amit ennek addig hívtunk: misclassification error, azaz hány rekord lesz rosszul címkézve a training set rekordjai közül persze ha elég nagy fát (bonyolult modellt) építünk és kevés az adat, akkor ez simán lehet 0 Csima Judit Osztályozás 41 / 53

Overfitting és modell választás Pesszimista verzió a generalization error-ra mivel a training set-re van szabva a modell, a valóságban nem lesz ilyen jó, nagyobb lesz a hiba az, hogy mennyire lesz rosszabb, az függ a modell bonyolultságától a pesszimista hiba két tagból áll: a training errorból és egy másik tagból, ami a modell bonyolultságát bünteti döntési fáknál pl. levelenként egy plusz konstans taggal megnöveljük a hibásan osztályozott rekordok számát pl. levelenként 1: a training errorhoz hozzá kell adni l 1 n -t, ahol l a levelek száma, n pedig az összes rekord száma Csima Judit Osztályozás 42 / 53

Overfitting és modell választás Validation set a rendelkezésre álló adatokat nem két részre osztjuk (training és test), hanem háromra: training, validation és test ha két különböző modell (pl. két fa) között kell dönteni, akkor a validation set-en megnézzük az előrejelzésüket és a jobbat választjuk azért kell erre külön halmaz (nem a test set), mert a test set-et a végső modell tesztelésére tartogatjuk Csima Judit Osztályozás 43 / 53

Overfitting és modell választás Hogyan veszem figyelembe a modell becsült generalized error-ját a modell építése során? pre-pruning: a fa építése közben nézzük, hogy a generalized error nő-e és ha igen, akkor nem vágunk post-pruning (teljes fát építünk, az általános algoval, amíg lehet, addig vágunk), aztán alulról felfele haladva visszavágjuk, ha a visszavágott fa hibája kisebb (pesszimista hiba vagy validation error) Csima Judit Osztályozás 44 / 53

Overfitting és modell választás Example of Post-Pruning Class = Yes 20 Class = No 10 Error = 10/30 A? Training Error (Before splitting) = 10/30 Pessimistic error = (10 + 0.5)/30 = 10.5/30 Training Error (After splitting) = 9/30 Pessimistic error (After splitting) = (9 + 4 0.5)/30 = 11/30 PRUNE! A1 A2 A3 A4 Class = Yes Class = No 8 4 Class = Yes Class = No 3 4 Class = Yes Class = No 4 1 Class = Yes Class = No 5 1 Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 61 Csima Judit Osztályozás 45 / 53

Overfitting és modell választás Examples of Post-pruning Optimistic error? Case 1: Don t prune for both cases Pessimistic error? C0: 11 C1: 3 C0: 2 C1: 4 Don t prune case 1, prune case 2 Reduced error pruning? Case 2: Depends on validation set C0: 14 C1: 3 C0: 2 C1: 2 Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 62 Csima Judit Osztályozás 46 / 53

További kérdések döntési fákról Misclassification error, változatok eddig accuracy és misclassification error volt: hibás előrejelzések száma az összes közül ez nem mindig jó, pl. ha nagyon kevés rekord van az egyik kategóriában és az az algo, hogy mindenkit a gyakori címkével címkézünk ezért költség-mátrixot is használhatunk, ha a hibás pozitív vagy hibás negatív osztályozást akarjuk nagyon büntetni vagy használhatunk accuracy helyett mást (precision, recall, F-measure) Csima Judit Osztályozás 47 / 53

További kérdések döntési fákról Cost Matrix PREDICTED CLASS C(i j) Class=Yes Class=No ACTUAL CLASS Class=Yes Class=No C(Yes Yes) C(Yes No) C(No Yes) C(No No) C(i j): Cost of misclassifying class j example as class i Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 79 Csima Judit Osztályozás 48 / 53

További kérdések döntési fákról Computing Cost of Classification Cost Matrix ACTUAL CLASS PREDICTED CLASS C(i j) + - + -1 100-1 0 Model M 1 PREDICTED CLASS Model M 2 PREDICTED CLASS ACTUAL CLASS + - + 150 60-40 250 ACTUAL CLASS + - + 250 5-45 200 Accuracy = 80% Cost = 3910 Accuracy = 90% Cost = 4255 Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 80 Csima Judit Osztályozás 49 / 53

További kérdések döntési fákról Másik lehetőség az osztályozó jóságának mérésére true positive (tp): hány olyan rekord van, ami pozitív címkét kap és a valóságban is pozitív true negative (tn): hány olyan rekord van, ami negatív címkét kap és a valóságban is negatív false positive (fp): hány olyan rekord van, ami pozitív címkét kap, de a valóságban negatív false negative (fn): hány olyan rekord van, ami negatív címkét kap, de a valóságban pozitív Ez a confusion matrix Csima Judit Osztályozás 50 / 53

További kérdések döntési fákról Másik lehetőség az osztályozó jóságának mérésére tp + tn accuracy ezzel a jelöléssel tp + tn + fp + fn precision (= p): hány eset valóban pozitív a pozitívnak mondottak közül, azaz tp tp + fp recall (=r): hány pozitív esetet találunk meg tényleg: F-measure = 2rp r + p = 2tp 2tp + fp + fn tp tp + fn Csima Judit Osztályozás 51 / 53

További kérdések döntési fákról R-ben mi van? sok minden :) több package döntési fa készítésre: tree, rpart, party alap-paranccsal létrehozok egy fa típusú objektumot: megadom, hogy milyen training set-en, milyen változókat vegyen figyelembe a létrehozott fát használhatom előrejelzésre, ábrázolhatom lehet egyszerűsíteni (prune) Csima Judit Osztályozás 52 / 53

További kérdések döntési fákról tree package > library(tree) > ir.tr <- tree(species., iris) > summary(ir.tr) Classification tree: tree(formula = Species., data = iris) Variables actually used in tree construction: [1] "Petal.Length" "Petal.Width" "Sepal.Length" Number of terminal nodes: 6 Misclassification error rate: 0.02667 = 4 / 150 > plot(ir.tr) > text(ir.tree) Csima Judit Osztályozás 53 / 53