decision tree learning
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)
6. Entropia és információnyereség – röviden
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
- decision tree learning - Szótár.net (en-hu)
- decision tree learning - Sztaki (en-hu)
- decision tree learning - Merriam–Webster
- decision tree learning - Cambridge
- decision tree learning - WordNet
- decision tree learning - Яндекс (en-ru)
- decision tree learning - Google (en-hu)
- decision tree learning - Wikidata
- decision tree learning - Wikipédia (angol)