Cvičenie 9 - Učenie modelov pomocou knižnice MLlib

Cieľom deviateho cvičenia je naučiť sa pracovať s knižnicou MLlib pre vytváranie a validovanie modelov.

Knižnica MLlib

MLlib je knižnica distribuovaných algoritmov, ktorá podporuje učenie a validovanie prediktívnych a popisných modelov na rozsiahlych dátach. MLLib poskytuje algoritmy pre učenie klasifikačných a predikčných modelov, algoritmy zhlukovania, generovania asociačných pravidiel a frekventovaných n-tíc a modely kolaboratívneho filtrovania pre odporúčacie systémy. Okrem algoritmov učenia knižnica poskytuje aj funkcie a objekty pre validovanie modelov a pre export modelov v jazyku PMML (Predictive Model Markup Language).

Viac informácií o algoritmoch a ich nastaveniach je možné nájsť na tejto stránke (v angličtine). V ďalšom príklade aplikujeme klasifikačné modely na dátach KDD Cup z predchádzajúceho cvičenia.

Úlohy

Úloha 9.1

Transformujte si úlohu KDD Cup na binárnu klasifikáciu. Ako triedu 0.0 označte normálnu komunikáciu a ako triedu 1.0 podozrivé útoky. Na transformovaných dátach naučte model logistickej regresie a vyhodnoďte jeho presnosť.

Úloha 9.2

Naštudujte si dokumentáciu k objektu OneVsRest a vytvorte LR (Logistic Regression) klasifikátor do viacerých tried, ktorý otestujte na dátach KDD Cup.

Úloha 9.3

Naučte model rozhodovacieho stromu na dátach Iris. Pomocou operácie nad dátovým rámcom predictions.stat.crosstab("prediction", "label").collect() vypočítajte kontingenčnú tabuľku medzi predikovanou a skutočnou triedou. Z kontingenčnej tabuľky vypočítajte presnosť pre každú triedu.