szó jelentését keresi. A DICTIOUS-ban nem csak a
szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a
szót egyes és többes számban mondani. Minden, amit a
szóról tudni kell, itt található. A
szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. A
és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.
Főnév
decision tree learning (tsz. decision tree learnings)
- (informatika, mesterséges intelligencia) A döntési fa tanulás a felügyelt gépi tanulás (supervised learning) egyik legnépszerűbb és legérthetőbb algoritmusa. Célja, hogy egy adathalmaz alapján egy fa-struktúrájú modellt hozzon létre, amely feltételek és szabályok alapján képes osztályozni vagy előre jelezni.
A döntési fa egy hierarchikus rendszer, ahol:
- minden belső csomópont egy kérdés (feltétel),
- minden él a válasz (pl. “igen” vagy “nem”),
- minden levél egy végső döntés (pl. osztálycímke vagy számérték).
2. Mikor használjuk?
A döntési fákat akkor használjuk, ha:
- Kategóriák közé kell besorolni valamit (osztályozás)
- Egy számértéket akarunk előre jelezni (regresszió)
- Szükség van magyarázhatóságra (pl. orvosi, jogi alkalmazások)
3. Példa – Egyszerű döntési fa
Kérdés: Menjek-e ki sétálni?
Esik az eső?
├── Igen → Van esernyőd?
│ ├── Igen → Menj ki!
│ └── Nem → Maradj otthon!
└── Nem → Menj ki!
Ez egy fa, amely szabályokat alkalmaz az adatokra.
4. Hogyan tanul egy döntési fa?
A tanulás során az algoritmus a bemeneti jellemzők (attribútumok) alapján megtalálja a legjobb szétválasztó kérdéseket, amelyek legjobban elkülönítik az osztályokat.
A folyamat rekurzív:
- Kezdjük az egész tanulóhalmazzal.
- Kiválasztjuk azt az attribútumot, amely a legjobban szétválasztja az adatokat.
- A halmazt kettébontjuk az attribútum értékei alapján.
- Ismételjük az eljárást a részhalmazokon.
5. Milyen szétválasztási mértékeket használunk?
📊 Osztályozási fáknál:
- Entropia és információnyereség (ID3 algoritmus)
- Gini-index (CART algoritmus)
- Gain Ratio (C4.5)
📈 Regressziós fáknál:
- Variancia minimalizálása
- Négyzetes hibák összege (MSE)
Az entropia az adatok rendezetlenségének mértéke:
Az információnyereség megmutatja, mennyit csökken az entropia, ha egy attribútum mentén szétválasztjuk az adatokat:
7. Típusai
- ID3 – csak diszkrét attribútumokat kezel, entropiát használ
- C4.5 – folyamatos és diszkrét adatokat is kezel, gain ratio-t használ
- CART (Classification and Regression Tree) – bináris fát épít Gini-index vagy négyzetes hiba alapján
8. Problémák: túltanulás (overfitting)
A döntési fák hajlamosak túlilleszkedni a tanuló adatokra, azaz túl bonyolult fákat építenek, amelyek nem általánosítanak jól új adatokra.
Megoldás: metszés (pruning)
- Pre-pruning: előre megállítjuk az osztást (pl. minimális elemszámnál)
- Post-pruning: először teljes fát építünk, majd levágjuk az irreleváns ágakat
9. Előnyök és hátrányok
✅ Előnyök
- Könnyen értelmezhető
- Nem kell adatnormalizálás
- Kategóriák és számok is kezelhetők
- Kevés előfeldolgozást igényel
❌ Hátrányok
- Túltanulás veszélye
- Instabil (kis adatváltozásra nagy modellváltozás)
- Kevésbé pontos, mint komplexebb modellek (pl. random forest)
10. Kiterjesztések és ensemble módszerek
- Random Forest: több fa véletlenszerűen építve → szavazással dönt
- Gradient Boosting Trees: egymás után épített fák, amelyek hibákat javítanak
- XGBoost, LightGBM, CatBoost: ipari szintű, optimalizált implementációk
Ezek sokkal pontosabbak és robusztusabbak, mint egyetlen fa.
11. Implementáció Pythonban (sklearn)
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree
import matplotlib.pyplot as plt
# Adatok betöltése
X, y = load_iris(return_X_y=True)
# Fa tanítása
clf = DecisionTreeClassifier(max_depth=3)
clf.fit(X, y)
# Kirajzolás
plt.figure(figsize=(12,6))
tree.plot_tree(clf, filled=True, feature_names=load_iris().feature_names, class_names=load_iris().target_names)
plt.show()
12. Összefoglalás
A döntési fa tanulás:
- Egy átlátható és magyarázható tanulási módszer
- Alkalmazható osztályozásra és regresszióra
- Egyszerű, de erőteljes alapmodellt ad, amit sok más algoritmus is használ
- Hátránya a túltanulás, de ez kezelhető metszéssel vagy ensemble módszerekkel