Název:
Classifier of astrophysics data
Překlad názvu:
Classifier of astrophysics data
Autoři:
Rylko, Vojtěch ; Vrábelová, Pavla (oponent) ; Zendulka, Jaroslav (vedoucí práce) Typ dokumentu: Bakalářské práce
Rok:
2012
Jazyk:
eng
Nakladatel: Vysoké učení technické v Brně. Fakulta informačních technologií
Abstrakt: [eng][cze]
Cílem této práce je implementace algoritmu pro dolování z dat pro použítí v astrofyzice. V práci jsou představeny základní pojmy a principy dolování z dat. Zejména jeho obecná definice, rozlišení mezi klasifikací a regresí a vyhodnocování přesnosti modelu. Text se zabývá převážně učením s učitelem. Blíže představeny jsou algoritmy založené na rozhodovacích stromech. Je definován rozhodovací strom jako model a uveden obecný algoritmus pro tvorbu rozhodovacích stromů z dat. Jsou diskutována různá kritéria dělení v uzlech (zejména založená na etropii), kritéria pro ukončení růstu a ořezávání stromů. Pro ilustraci jsou uvedeny vybrané algoritmy - ID3, CART, RainForest a BOAT. Na dříve uvedených informacích je založena kapitola o souborech rozhodovacích stromů. Zabývá se základními způsoby jejich kombinací (bagging a arcing) . Detailněji je popsán obecný algoritmus náhodných lesů a RandomForest TM jako příklad jeho praktické realizace. Na základě srovnání algoritmů a provedených experimentů v literatuře jsou k implementaci vybrány náhodné lesy. Implementovaný algoritmus je detailněji popsán - k dělení uzlů používá Gini entropie a průměrnou kvadratickou chybu, ignoruje chybějící hodnoty a pro kombinaci výstupů jednotlivých stromů používá většinové hlasování / průměr. Jako formát vstupních a výstupních dat je zvolena podmnožina ARFF formátu. Architektura implementace je ilustrována UML diagramy s popisujícím komentářem. Jednotlivé aspekty implementace jsou stručně popsány - implementačním jazykem je C++11, je využívána knihovna Boost (zejména chytré ukazatele, serializace, nastavení parametrů a konfigurační soubory, ...) společně s dalšími volně dostupnými knihovnami (google-glog pro logování, googletest pro jednotkové testování, ...). Grafického výstupu je dosaženo tiskem modelu náhodného lesu do XML souboru a jeho transformací skriptem do jazyka DOT. Pro oveření validity a vlastností implementace a jejího srovnání s jinými implementacemi náhodných stromů (Waffles, RF-ACE a R - balíček randomForest) jsou navrženy, popsány a provedeny exprimenty: klasifikace astronomických těles na základě barevných indexů, regrese rudého posuvu na základě barevných indexů, osm klasifikačních a pět regresních experimentů na datech z UCI repository. Průběh experimentů je plně automatizován skripty (Bash, Python a R) a je měřena doba učení modelů. Z výsledků experimentů vyplývá, že autorova implementace si vedla výborně při klasifikaci a průměrně při regresi; z časového hlediska měla problémy při datech s mnoha instancemi. Výsledkem práce je zdokumentovaná, snadno rozšiřitelná implementace náhodných lesů v jazyce C++ s grafickým znázorněním modelu, mnoha možnostmi nastavení a experimentálně ověřenou funkčností. Diskuze o dalším možném pokračování projektu se zabývá zejména odstraněním problemů s časovou náročností a přídáním nových funkcionalit.
This bachelor thesis describes selection, design and implementation of a data mining algoritm for astrophysical usage. The implementation of the random decision forests algorithm in C++ is evaluated on two astrophysical and some general experiments. Experiments are both classification and regression with time measuring. For comparison another three implementations are evaluated. The resulting implementation shows good results mainly in classification.
Klíčová slova:
astroinformatics; astrophysics; C++; data mining; decision trees; machine learning; random decision forests; astrofyzika; astroinformatika; C++; dolování z dat; náhodné lesy; rozhodovací stromy; strojové učení
Instituce: Vysoké učení technické v Brně
(web)
Informace o dostupnosti dokumentu:
Plný text je dostupný v Digitální knihovně VUT. Původní záznam: http://hdl.handle.net/11012/55237