Elosztott döntési fa algoritmusok összehasonlítása Apache Spark alapokon

OData támogatás
Konzulens:
Prekopcsák Zoltán
Távközlési és Médiainformatikai Tanszék

A világban jelenleg egyre több adatot tárolunk digitalizálva, és egyre nagyobb igény van ezen adatok gyors és pontos feldolgozására. Ennek a feladatnak a megoldására jöttek létre a Big Data technológiák, amelyek egyre népszerűbbek napjainkban, mert ezekkel képesek vagyunk az adatok egyszerre több gépen történő feldolgozására. Ezen technológiák felhasználási területe igen változatos, és ezek közé tartozik az osztályozási problémák megoldása is. Az adatok bináris osztályozására megfelelően használhatóak a különböző elosztott döntési fa típusú algoritmusok, amik gépi tanulási algoritmusok. Egy döntési fa két különböző könyvtárban lévő implementációjának a használatával viszont eltérő eredmények születhetnek mind pontosság, mind futási idő szempontjából. Egy éles környezetben, ahol a legkisebb eltérés és idő is számít nem mindegy, hogy melyiket használjuk ezek közül.

Az egyik legfelkapottabb Big Data technológiákat használó platform az Apache Spark. A Spark saját gépi tanulási könyvtára és a külső, H2O elnevezésű könyvtár is tartalmaz gépi tanulási algoritmusokat. A szakdolgozatom témája ezen algoritmusok összehasonlítása pontosság, skálázhatóság és futási idő alapján. Ennek a megvalósításához egy teszt keretrendszert terveztem meg és implementáltam le Scala nyelven. A keretrendszer többféle modellt képes építeni, amelyeknek a paramétereit kívülről kapja meg és a modelleken mért értékeket egy fájlba menti el, hogy utólag fel lehessen dolgozni azokat.

Ebben a dokumentumban összehasonlítom a Spark könyvtárában található döntési fa (Gradient Boosted Tree) algoritmus implementációját a H2O-ban találhatóval. Ennek segítségével az olvasó talán könnyebben el tudja majd dönteni, hogy melyik algoritmust érdemesebb használnia egy osztályozási probléma során. A méréseim alapján, a használt paraméterekkel és adathalmazokkal a H2O gyorsabbnak és pontosabbnak bizonyult a Spark beépített gépi tanulási algoritmusánál.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.