You are on page 1of 3

Dubina stabla

Sjetimo se da smo na prošlom predavanju radili novi klasifikacijski algoritam stabla odluke. Algoritam
funkcionira tako da postavljanjem određenog niza o vrijednosti značajki (npr. Je li broj godina manji od
25?) određuje konačnu oznaku(klasu) tog podatka.

Kao što smo imali primjer na predavanju sa time možemo li i ne možemo ići na skijanje. Također
spomenuli smo da algoritam ima tzv. hiperparametar(hyperparametar) maksimalne dubine stabla.
Sjetimo se da smo već imali algoritme koju su imali parametre kod sebe, a jedan od njih je bio algoritam
KNN.

Vrijednost tog parametra određuje se provjeravanjem vrijednosti na validacijskom setu. Sada vam onda
u nastavku navodim objašnjenje što je zapravo dubina u stablu.

Prvi član u stablu zovemo korijenom(root). U našem primjeru je to broj 2. Dubina stabla je maksimalna
udaljenost od korijena. Tako je primjerice dubina ovog stabla jednaka 3.
Čvor 7 je za 1 udaljen od korijena, čvor 6 je za 2 udaljen od korijena, a onda čvorovi 5 i 11 za 3 udaljeni
od korijena. Ne bi bilo točno gledati put 2 – 7 – 2 jer bi tu dobili da je udaljenost 2, ali to nije najveća
udaljenost na grafu.
Pogledajmo još nekoliko primjera.

Dubina ovog stabla iznosi također 3 jer su mi zadnji čvorovi za 3 udaljeni od korijena.
Dubina ovog stabla je također jednaka 3.

Dok je dubina ovog stabla jednaka 2 jer su svi zadnji čvorovi za 2 udaljeni od korijena.

Dubina ovog stabla je također jednaka 2.


U kodu ste mogli primijetiti da piše clf = tree.DecisionTreeClassifier(max_depth=i)
, i onda na mjestu max_depth upisujem koliku dubinu stablu dopuštam. Zašto nam je bitna dubina
stabla? Jer bi nam se vrlo lako moglo dogoditi da stablo postane preveliko i da onda svaki podatak baci u
svoju posebnu kolonu što ne želimo jer nam dolazi do overfita. Želimo sa minimalnim brojem pitanja
dobiti traženi odgovor pripada li neki element nekoj klasi ili ne, tako da je to još jedan odgovor na pitanje
zašto želimo kontrolirati dubinu našeg stabla.

You might also like