Decision tree (rozhodovací strom)
Čo je decision tree?
Decision tree (v slovenskom preklade rozhodovací strom) je supervízovaný algoritmus strojového učenia, ktorý modeluje rozhodovací proces vo forme stromovej štruktúry. Každý vnútorný uzol stromu reprezentuje test na určitom atribúte dát. Vetvy predstavujú možné výsledky tohto testu a listové uzly obsahujú konečné rozhodnutie alebo predpoveď.
Ako prebieha rozhodovanie?
Algoritmus decision tree funguje na princípe rekurzívneho delenia dát. V prvom kroku algoritmus vyberie atribút, ktorý najlepšie rozdeľuje tréningové dáta podľa cieľovej premennej. Pre výber optimálneho atribútu sa používajú metriky ako informačný zisk (information gain) alebo Gini impurity.
Po výbere atribútu sa dáta rozdelia do podmnožín podľa hodnôt tohto atribútu. Proces sa opakuje pre každú podmnožinu, až kým nie sú splnené ukončovacie podmienky – napríklad dosiahnutie maximálnej hĺbky stromu, minimálny počet vzoriek v uzle alebo dostatočná čistota listového uzla.
Typy rozhodovacích stromov
Rozhodovacie stromy sa delia podľa typu úlohy, ktorú riešia.
- Klasifikačné stromy predikujú kategorickú premennú, napríklad či je e-mail spam alebo nie.
- Regresné stromy predikujú spojitú numerickú hodnotu, ako je cena nehnuteľnosti alebo teplota.
Medzi najpoužívanejšie algoritmy patrí CART (Classification and Regression Trees), ID3 (Iterative Dichotomiser 3) a jeho vylepšená verzia C4.5. Tieto algoritmy sa líšia v spôsobe výberu atribútov a v type dát, ktoré dokážu spracovať.
…rozhodovací strom je jedným z mála algoritmov strojového učenia, ktorého výstup dokáže človek priamo interpretovať a vizualizovať bez ďalších nástrojov?
Výhody a obmedzenia decision tree
Hlavnou výhodou rozhodovacích stromov je ich interpretovateľnosť. Na rozdiel od neurónových sietí alebo ensemble metód možno presne sledovať, prečo model dospel ku konkrétnemu rozhodnutiu. Ďalšou výhodou je schopnosť pracovať s kategorickými aj numerickými dátami bez potreby normalizácie.
Rozhodovacie stromy sú však náchylné na tzv. „preučenie modelu“, známe aj ako overfitting, najmä pri hlbokých stromoch s malým množstvom tréningových dát. Malé zmeny v dátach môžu viesť k výrazne odlišnej štruktúre stromu. Tieto problémy pomáhajú zmierňovať metódy, ktoré spájajú viacero rozhodovacích stromov do jedného silnejšieho modelu – napríklad random forest alebo gradient boosting.
Príklady použitia decision tree v klientskom prístupe
V bankovníctve sa rozhodovacie stromy využívajú na hodnotenie kreditného rizika klientov. Model na základe atribútov ako príjem, história splácania alebo zamestnanosť rozhodne o schválení úveru. Vďaka interpretovateľnosti dokáže banka vysvetliť dôvody zamietnutia žiadosti.
V medicíne podporujú rozhodovacie stromy diagnostiku ochorení. Lekár môže sledovať rozhodovací proces modelu a porovnať ho s vlastným klinickým úsudkom. V marketingu sa stromy používajú na segmentáciu zákazníkov a predikciu pravdepodobnosti odchodu klienta.
Zdroje a odkazy
Použité zdroje:
- IBM Think – What is a decision tree?: https://www.ibm.com/think/topics/decision-trees
- scikit-learn Documentation – Decision Trees: https://scikit-learn.org/stable/modules/tree.html
Odporúčané zdroje:
- Stanford University – Introduction to Machine Learning: https://stanford.edu
Uvedené informácie sú orientačné a môžu sa líšiť v závislosti od verzie, implementácie a prostredia.