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! Attribútumok oldalt: Futtassuk le a láncot!
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 1- es 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!
Adat (exa = example set) Train set input Modell A tanítóadatot használjuk tesztelésre Adat beolvasása Számattribútumok diszkretizációja (ID3 nem kezeli a folytonos real tipust) (Data Transformation / Type conversation / Discretization / Discretize by Frequency) ID3 döntési fa modelltanuló (Modelling / Classification / Tree Induction / ID3) Mivel a modellt szeretnénk megjeleníteni, de ki is próbálni, ezért kétszerezzük (Process control / Multiply) 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!
A Model Applyer bemenete egy másik táblázat Valódi teszt
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%