Döntési fa osztályozó

Nézzük most azt az osztályozási feladatot, hogy reggel kinézünk az ablakon és meg akarjuk jósolni, hogy délután teniszezésre alkalmas lesz-e az idő. Az egyedeket (reggeli megfigyelés) {Égbolt, Hőmérséklet, Páratartalom, Szél} négy diszkrét jellemzővel írjuk le. Két célosztályunk van: {Igen, Nem}.

Példa tanító adatbázis részlet a tenisz osztályozási feladathoz.
A döntési fa osztályozó (decision tree classifier) egy tanuló algoritmus, ami a jellemzők közti kapcsolatok explicit gépi tanulásán alapul. A tanult modell formátuma itt egy döntési fa. A döntési fa egy olyan fa aminek a belső csúcsaiban egy-egy jellemző van. Egy csúcs gyerekei, az adott jellemző lehetséges értékeit jelentik (egy diszkrét jellemzőnek, aminek 4 lehetséges értéke van, 4 gyereke lesz a fában. A leveleken osztálycímkék vannak.
Döntési fa elemei.

Predikció döntési fával

Ha adott egy döntési fa és egy egyedre akarunk osztályozási döntést hozni, akkor elindulunk a döntési fa gyökeréből. Minden belső csúcson egy jellemző van. Megnézzük a kérdéses egyednél az adott jellemző értékét és ez alapján lelépünk a csúcs megfelelő gyerekére. Ezt addig ismételjük amíg egy leveléig nem érünk. Az így elért levélen lévő osztálycímkét fogja a döntési fa predikálni.

A tenisz feladaton adott egy döntési fa és az Égbolt=Napos, Hőmérséklet=Forró, Páratartalom=Magas, Szél=Gyenge egyedre akarunk predikálni. Először a gyökérben lévő Égbolt jellemzőt teszteljük. A kérdéses egyednél ez Napos értéket vesz fel, ezért lelépünk a baloldali gyerekre. Itt a Páratartalom jellemzőt vizsgáljuk és a bal oldali gyereket választjuk. Elértünk egy levélig. Ez a döntési fa erre az egyedre Nem predikciót fog adni.
A döntési fák tanító adatbázis alapján tanulhatóak, azok a gyökértől indulva építik fel a fát. Ennek részleteiről itt olvashatsz.

Döntési fák tulajdonságai

Az alábbi ábrán egy másik lehetséges döntési fát láthatunk a tenisz feladathoz. Figyeljük meg, hogy

  • nem minden jellemző szerpel a fában,
  • egy jellemző többször is szerepelhet a fában (de egy gyökértől levélig vezető úton legfeljebb egyszer),
  • nem kell, hogy minden levél ugyanazon a mélységen legyen.
Egy lehetséges döntési fa a tenisz feladathoz.
A döntési fa jellemzők feletti logikai szabályokat ír le. A fenti fa egyenértékű az (HA Égbolt=Napos) VAGY (HA Égbolt=Felhős ÉS Szél=Gyenge) VAGY (HA Égbolt=Esős ÉS Szél=Gyenge) AKKOR Igen EGYÉBKÉNT Nem szabállyal. Tehát egy gyökértől levélig vezető út a jellemző értéktesztjének ÉS kapcsolatát írják le, míg a különböző levelekig vezető utak VAGY kapcsolattal fűzhetőek össze.
Habár a döntési fák alapvetően diszkrét jellemzők kezelésére lettek kitalálva, minden modern implementáció képes folytonos változók kezelésére is. Ezt úgy érik el, hogy ha egy folytonos jellemző lesz csúcs, akkor automatikusan megkeresnek a jellemző értékkészletében egy vágási pontot és egy a jellemzőből egy bináris diszkrét változó lesz, a vágási értéknél kisebb vagy nagyobb a folytonos jellemzőérték? Például ha a Hőmérséklet jellemző folytonos lenne akkor a döntési fa tanulása során kialakulhat HA Hőmérséklet>22C AKKOR szabály (22C egy automatikusan azonosított vágási pont).

Döntési fa osztályozók a gyakorlatban

Döntési fák előnyei:

  • Diszkrét jellemzők közti explicit kapcsolatot tanul.
  • A gépi tanult modell (döntési fa) emberi szemmel is értlemezhető (interpretálható).
Döntési fák hátrányai:
  • Ha sok jellemző van, akkor az azok közti kapcsolatok megtanulásához rengeteg tanító példa kellene (ami a gyakorlatban sosem adott).
  • Csak a döntés meghozatalához nagyon fontos jellemzőket építi be a döntési fába, azok a jellemzők amik hasznosak, de nem a leghasznosabbak, nem kerülnek a fába, az információtartalmuk elveszik.
A klasszikus döntési fákat tehát akkor érdemes választani ha viszonylag kevés (pár száz), elsősorban diszkrét jellemzőnk van és feltételzzük, hogy bonyolutabb kapcsolat van köztöttük.
A döntési fák hátrainyainak orvoslására vezették be az ún. erdő osztályozókat. Ezeknél a modell nem egyetlen döntési fa, hanem több viszonylag kis méretű döntési fa, amiknek a "szavazataiból" alakul ki az erdő végső predikciója. A kisebb fák különböző jellemzőket tartalmaznak, így az erdő fái az egyedet különböző nézőpontokból értékelik. A legismertebb erdő osztályozók a véletlen erdő (random forest) és a boostolt erdő (pl. XGBoost).

Ellenörző kérdések

  1. Nézz ki az ablakon! Az első döntési fa szerint tudsz majd ma teniszezni?
  2. Mi az előnye a döntési erdőknek a fákkal szemben?

További ajánlott irodalom