Breaking news: Ligát váltott a Rapidminer - Dmlab

Breaking news: Ligát váltott a Rapidminer

Nagy-Rácz István

2013.11.22. • olvasási idő:

A bejegyzést folyamatosan frissítjük, újabb információkkal és egyéni, szubjektív véleményeinkkel.

2013-11-21 – Nagy István

Bizonyára sokan értesültetek már róla, hogy a Rapid-I belekezdett abba az irányváltásba, amelytől azt várják, hogy az észak-amerikai piacokon is el tud terjedni az adatbányászati megoldásuk, és mellesleg, amire kaptak 5 millió dollárnyi befektetést. Az irányváltás része volt, hogy a termékeket átnevezték: a RapidMiner és a RapidAnalytics mostantól RapidMiner Studio és RapidMiner szerver. Mellesleg maga a cég is elhagyta a Rapid-I nevet és mostantól ők is RapidMiner néven működnek tovább.

Másik érdekesség, ami bár eléggé eldugva található meg a cég új weboldalán, hogy hozzányúltak a RapidMiner árazási politikájához:

2013-11-22 9:45 – Nagy István

Tegnap megjelent a RapidMiner 6-os verziója, megérkeztek az első hírlevelek. Sajnos a cég oldala nem is bírta a terhelést és mind reggel, mind a délutáni órákban elérhetetlen volt. Már szerencsére minden helyre állt és meglepve tapasztaltuk, hogy az árazási politika még tovább “finomodott”:

Ezzel úgy látszik a RapidMiner elhagyta az ingyenes ligát és mostantól nyíltan is az IBM-mel és a SAS-sal veszi fel a versenyt a fizetős adatelemzési eszközök piacán.

2013-11-22 9:55 – Nagy István 

A 14 napos használat után a RapidMiner 6 visszaáll maximum 1GB RAM használatára, és nem tud adatbázisokat olvasni.

2013-11-22 10:04 – Gáspár Csaba

Meghalt a király. Éljen a király?

Mindenképpen teljes fordulatba kezdett a RapidMiner cég, teljesen más piacra indult el most a mai lépéssel. A régi piacának azt a részét, akik ingyenessége alapján használta, 99%-ban elvesztette ezzel a lépéssel. Sőt, nekem az is nagyon furcsa, hogy a cég a memóriahasználatot korlátozza, ez nekem arra utal, hogy nem használják ezt az eszközt igazán. 8GB is a legtöbbször még semmi a RapidMinernek. Nyilván a mintafájlokat, és a legalapabb adatbányászati feladatokat meg lehet oldani néhány GB-on, de mi már az oktatása során is ki tudunk futni ebből a free verzió 1GB-os limitjéből úgy, hogy teljesen normális alapfeladatokat oldunk meg.

Ha viszont madártávlatból nézünk a lépésre, akkor látszik a stratégia zsenialitása: ha szeretnék egy olcsóbb SPSS Modeler, SAS Enterprise Guide/Miner kihívót és egyből egy ilyen árazással jössz ki, sosem fognak rólad hallani. Ez a stratégia, hogy először mindenki ismerje a neved, majd mikor már vagy valaki, fizetőssé válsz, szerintem zseniális. Egy ponton bicsaklik meg a dolog: maga a szoftver minőségében vannak nagy hiányosságok még, és a 3000 USD éves licenszű megoldás mellé sem adnak még értelmes támogatást.

Egy biztos: a következő egy évben nagyon izgalmas lesz végignézni a RapidMiner diadalát vagy bukását.

2013-11-22 11:58 – Prekopcsák Zoltán

A teljes képhez hozzátartozik, hogy a RapidMiner 6-os verziója nem hoz jelentős újításokat, csupán egyszerűbb, letisztultabb felületeket ígér. A RapidMiner 5.x verziókat továbbra is mindenki ingyenesen, memóriakorlátozás nélkül használhatja. Amikor kijön majd a RapidMiner 7, akkor a RapidMiner 6 ugyanilyen státuszba kerül, tehát az ingyenes felhasználók mindig korlátlanul használhatják az eggyel előző, 1-2 éves verziót.

Nem hiszem hogy a felhasználók 99%-át elveszítenék, csupán arról van szó, hogy a legújabb funkciókhoz csak fizetve férhetünk hozzá, és ingyenesen mindig egy kicsit régebbi verziót használhatunk csak.

2013-11-22 12:12 – Nagy Gábor

Mit kapunk 2999 USD-ért?

Donald Kacsa szerint az idő pénz. Egységnyi idő alatt minél több feladatot szeretnénk elvégezni, hogy produktívak legyünk. A RapidMiner igérete, hogy gyorsan tudunk benne adatot elemezni. Nézzük hát meg, mennyire igaz ez az állítás. A teszt azt feltételezi, hogy a memóriakezelést, és az operátorokat nem írták át gyökeresen a RapidMiner Studioban, erre utaló jelek nincsenek a sajtóközleményben. A tesztek ennek megfelelően az 5-ös verzióval készültek.

RapidMiner-rel minden egyes alkalommal, ha elemezni szeretnénk egy adathalmazt, be kell olvasnunk azt a memóriába. Nézzük mit jelent ez egy játék adatfájlnál, mondjuk a BRICS-CCI verseny 420 Mb-os adathalmazával, ami 36 oszlopot és 1.3 millió sort tartalmaz. Ez egy hitel visszafizetéshez kapcsolódó adathalmaz, van benne egy target változó, meg customer_id, dataset_id (ami a train/test adathalmazt azonosítja).

Első olvasásra a RapidMiner nem ismeri fel a 1.2e-4 alakú számokat (scientific notation), ezzel elment 25 másodperc. A második nekifutásra kikapcsoljuk a parse numbers-t a Read CSV operátorban, 25 másodperc alatt be is olvassa. Csodálatos. Ekkor 1.2 Gb memóriát foglalunk el, tehát a RapidMiner Starter itt már el is fekszik nekünk. Legalább 999$-t kell ennek az adathalmaznak az elemzéséhez elkölteni.

Hogy kell ezt python/pandas stack-kel?

                                            
                                                import pandas as pd

                                             
                                        
                                            
                                                data = pd.read_csv('data.csv')                                            
                                        

Mennyi memóriát eszünk? Kb. 460 Mb. Mennyi ideig tartott beolvasni az adatokat? 9 másodperc.

Mit kell tennünk, ha szeretnénk, mondjuk átlagokat kiszámítani az adatokból?

Rapid Miner: Read CSV -> Select Attributes -> Aggregate

Bedobunk egy Select Attributes-t kiszedjük az adatainkból a customer_id-t és a dataset_id-t, mint azonosítót. Az Aggregate operátorban kiszámítjuk az átlagokat. Ha nem vagyunk elég képzettek nem használjuk a default aggregation-t, hanem 34 átlagot kell beállítanunk, bőszen kattogtatva. Ha elég képzettek vagyunk, akkor a default aggregation-t használjuk az average-gel. Ez is kb. 25 másodpercig tartott, mivel be kellett olvasni újra az adatokat. Hol tartunk memóriában: 3.2 Gb. Nice.

Ugyanez python-ban. Az első két oszlop a customer_id és a dataset_id, ezeket kihagyjuk.

                                            
                                                print data[data.columns[2:]].mean()                                            
                                        

Mennyi ideig tart ez? 2 másodperc. Miért? Mert az adatok már a memóriában vannak, így az olvasgatással nem kell szórakozni. Mennyi memóriát eszünk? Ugyanannyit mint az előbb: 460 Mb.

Az a perverz ötletünk támadt, hogy a mediánt szeretnénk kiszámolni minden változóhoz. Vigyázat még nem akarunk csoportosítani semmi szerint. Mi történik RapidMiner-ben. Eltelik 27 másodperc az adatok beolvasásával és az aggregátum számításával és 4.2 GB-ra nő a memóriahasználat. Hopp, fizetnünk kell még 2000$-t hogy tovább játszunk RapdiMiner-rel. (A $999-os verzió csak 4 Gb-ot enged.)

Python. Copy-paste az előző sorból és 2 darab karakter beszúrása:

                                            
                                                print data[data.columns[2:]].median()                                            
                                        

Futásidő: 2 másodperc, Memóriahasználat: 460 Mb.

Az utolsó perverziónk a következő: Csináljunk egy kimutatást, hogy a városokban az egyes években, ahol a hitelkártya adósok laknak, évente a magyarázó változóknak mi a medián értéke? 300 körüli város van és 2 különböző év.

Python:

                                            
                                                print data.groupby(['cat_city','year']).median()                                            
                                        

Meddig tart ennek a parancsnak a végrehajtása python-ban? 4 másodperc. Mennyi memóriát foglalunk? 460 Mb.

A nagy kérdés, hogy ez hogyan néz ki RapidMiner-ben? A válasz az, hogy sehogy. Az eredetileg a Java VM-ben paraméterként beállított 10 Gb-ot telenyomtuk valamivel, a process elszállt azzal, hogy kicsit sokat szeretnénk végrehajtani egyszerre. Remélem mindenki látja már az üzleti modellt emögött. RapidMiner-rel ugyanis válaszúthoz értünk:

  1. Kifizetünk egy ismeretlen összeget, hogy képesek legyünk ennek a rendkívül bonyolult elemzésnek az elkészítésre. Emellett nem lehetünk biztosak abban, hogy ezzel a verzióval végre tudjuk hajtani majd ezt a feladatot, mert nagy valószínűséggel azt fogjuk tapasztalni, hogy a szerverünkben lévő RAM mennyisége sem elegendő. Vehetünk RAM-ot is 🙂
  2. Elkezdjük a szokásos hákolást: elkezdünk Loop-olni a változókat, törölgetni a memóriát a RapidMiner userek placebójával, a Free Memory operátorral, feldaraboljuk az adatainkat oszlopok szerint, vagy vehetünk mintát, kiírhatjuk lemezre, azt olvasgatjuk be, hátha azzal lefut, újraindítunk. Reménykedünk. Az biztos, hogy nem rapid lesz a megoldás, a RapidMiner átalakítja az adatbányászt RabidMiner-ré.

Arra a kérdésre, hogy mennyi időt fog ez a feladat igény bevenni RapidMiner használatával tehát a válasz: senki nem tudja, és senkit nem érdekel, mert python-ban 4 másodperc alatt megcsináltuk. Kérem kapcsolja ki.

2013-11-22 15:16 Gáspár Csaba

Python vs RapidMiner összehasonlítást azért érzem erősnek, mert itt azért a vizuális programozási felületeket hasonlítjuk össze egy programozási nyelvvel. De gondolom azért mindenki látta a fentiekből, hogy mekkora előnyei vannak annak, ha valamilyen adatelemzési nyelven is beszélünk. Most SPSS Modeler vagy SAS Guide/Miner futtatást nem csináltam, de biztos vagyok benne, hogy a Modelernek nagyobb gondot nem okozna a dolog, a SAS-sal szemben is bizakodó lennék, ha nem is annyira triviális a dolog.

Mindenesetre a profi ligában a RapidMiner a leggyengébb, nincs ezen mit szépíteni. De én azért annyira nem félteném őket. Ahogy Prekopcsák Zoli írta, az eggyel korábbi verziót mindvégig elérjük, ami mentén a szakmai közösség reméljük fenn marad – ehhez a mostani változás kommunikációja kevés lesz -, akkor a RapidMiner gyors fejlődése be tudja hozni a lemaradásokat. Ehhez komoly fejlesztések kellenek még az alaprendszerben is, reméljük hogy az új bevételekből erre is lesz erőforrás.

Megnéztük már, mit tud a RapidMiner 6, és bizton állíthatom hogy az új logón, néhány kezdőknek szóló tutorial megoldáson kívül nem tud többet, mint a legutóbbi 5.x verzió. Szóval aki eddig ezen a platformon dolgozott, projektelt, tanult, nem kell megijednie, nem fog eltűnni a megszokott technológia. Remélem az új irány hoz annyi új lendületet a RapidMinernek, ami alapján a szabadon elérhető verzió növekedési görbéje az eddig tapasztaltakhoz képest nem fog változni.

2013-11-24 19:35 – Gáspár Csaba

Közben a Rapidminer elkezdett az eddig felépített közössége felé is kommunikálni. Bocsánatot kértek, hogy nem voltak egyértelműek, és részletesen kifejtik, hogy a közösség számára milyen licensz megoldásokat javasolnak. Sőt az árazási struktúrához is hozzányúltak, az úgynevezett RapidMiner Starter csomagot nem 14 napig használhatjuk (ez volt eddig az 1GB-os csomag), hanem ezt a megoldást időkorlát nélkül használhatjuk. Emellett a Professional verziót (8GB memóriakorlát) próbálhatjuk ki 14 napig. Illetve elkezdte hangsúlyozni, ami a honlapról alapból nem jön le: mindig az aktuális verzió bevezetésével az előző verziót ingyenessé teszik – ez most ugye a RapidMiner 5.x verzió.