Gépi tanulás a Rapidminer programmal
Stubendek Attila
Rapidminer letöltése ● ●
● ●
●
Google: download rapidminer Rendszer kiválasztása (iskolai gépeken Other Systems – java) Kicsomagolás lib/rapidminer.jar elindítása Helyi repository megjelölése egy tetszőleges mappában
Rapidminer
Példa megnyitása
RM bemutatása példával
Operátorok: I/O → Diszkretizáció → Szabálytanuló Összeköttetések!
Futtassuk le a láncot!
Attribútumok oldalt:
Példalánc lefuttatása
Lánc megadása (előző képernyő)
Eredmény
A modell kimenete A lánc állapota lefutás után
A modell kimenete (RuleLearner)
Új lánc létrehozása ● ●
●
Hozzunk létre egy új láncot! (New..) Bemeneti adat legyen egy belső példaadat (Iris) Clusterezzünk!
Új lánc (cluster) ●
Repository → Data → Iris
Állítsuk be az attribútumokat és futtassuk le!
Új lánc (cluster) ●
Eredmény: – – –
Egyes adatelemek cluster-hovatartozásai A clusterek középpontjai Grafikus megjelenítés
Tanuló modulok bemutatása ●
●
A mellékelt táblázatokkal próbáljuk ki a tanuló modulokat és azok képességeit! Táblázat beolvasása: – –
–
Import / Data / Import XLS (vagy más esetben bármilyen más formátum) Célszerű használni az Import Configuration Wizardot: válasszuk ki a fájlt, a munkalapot, az adattartományt, majd állítsuk be az attribútum típusokat valósra (real), a labelt pedig felsorolásira, majd számra (modelltől függően) A beolvasó tulajdonságai közt „first row as names” pipa
Számok összege ●
Példa: –
–
–
Egy adatpont hat valós (0 és 1 közti) attribútumból áll (att6real.xls). Osztályozzuk az összegük alapján: Ha több, mint három, akkor az 1es osztályban van, ha nem, akkor a 0-ban. Ez a példa láthatóan gyerekjáték a neurális hálóknak, de gyakorlatilag megoldhatatlan a döntési fáknak.
OFF: jegyzőkönyv ●
●
●
A labor teljesítésének feltétele elektronikus jegyzőkönyv leadása. Ennek pontos módja a diasor végén lesz ismertetve, ezért a következő feladatokat mentsük el külön, egymás után, hogy ne kelljen újra felépíteni a rendszereket!
Modell Adat (exa = example set)
Adat beolvasása
Train set input
ID3 döntési fa modelltanuló (Modelling / Classification / Tree Induction / ID3)
Számattribútumok diszkretizációja (ID3 nem kezeli a folytonos real tipust) (Data Transformation / Type conversation / Discretization / Discretize by Frequency)
Mivel a modellt szeretnénk megjeleníteni, de ki is próbálni, ezért kétszerezzük (Process control / Multiply)
A tanítóadatot használjuk tesztelésre
Teljesítmény lemérése (Evalution / Performance Measurement / Performance) Modell alkalmazása egy adathalmazon (Modelling / Modell Aplication / Apply Model)
Eredmény ●
A döntési fa igen tarka, de jó eredményt ad magára a tanulóhalmazra
Valódi teszt ●
●
A tanulóhalmazon lehet tesztelni, de nem feltétlenül ad valós képet. Próbáljuk ki egy másik, ugyanolyan típusú adathalmazra! – –
Mellékelve van egy másik táblázat, ugyanolyan típusú (att6real_test.xls). Olvassuk be, és a modellalkalmazónak azt adjuk be!
Valódi teszt
A Model Applyer bemenete egy másik táblázat
Valódi teszt ●
Mivel a döntési fa erre a feladatra nem optimális, ugyan rá tud tanulni egy konkrét adathalmazra, a szabályosságot nem tudja elsajátítani. Más adathalmazra már rossz eredményt ad.
Valódi teszt ● ●
Cseréljük le a döntési fát perceptronra! Próbáljuk ki az eredményt 3-10-20-100 körre (a percetron „round” tulajdonsága)
Valódi teszt ●
●
A teljesítmény nagyságrenddel jobb, még ha nem is tökéletes (6 dimenzióhoz képest kicsi a tanulóhalmaz). Nézzük meg a perceptron kimenetét is, milyen súlyokat adott a tanulás!
Másik példa ●
●
●
Tanítsuk meg modelljeinket a kizáró vagy (XOR) függvényre (att2logic.xls és att2logic_test.xls)! Ahogy lehet sejteni, a perceptron nem tudja megoldani a feladatot, 50% körüli, azaz teljesen véletlen eredményt ad. A döntési fa és a szabály alapú tanulók viszont tökéletesen teljesítik a feladatot (célszerű nominális attribútumként beállítani a bemeneteket is)
Másik példa ●
●
Próbáljuk ki a többi tanulót is, a hibaüzenetekből pedig kövessük, hogy milyen típusú bemeneteket várnak Egyesével változtassuk a paramétereket, figyelve azok hatását!
Érdeklődőknek ●
●
A Repository mintapéldáival sok algoritmust ki lehet próbálni Érdemes megnézni az előfeldolgozókat és a validátorokat is
Jegyzőkönyv ●
Beadandó – –
Zip-be tömörítve „bead_NEPTUN.zip” névvel A fájl tartalmazza: ●
A négy előállított modellfájlt (Export/Model/Write Model) –
●
att6_id3.mod, att6_perc.mod, att2_id3.mod, att2_perc.mod
Egy szöveges fájlt (results.txt), ahol a sorokban a fenti mérések konfidenciamátrixának adatai vannak sorfolytonosan, tab-bal elválasztva,a fenti sorrendben
●
32 0 100% 42 0 100% 100% 100%