Sobes.tech
Junior — Middle

Ako prebieha proces stavby rozhodovacieho stromu? Aké kritériá rozdelenia poznáte?

sobes.tech AI

Odpoveď od AI

Rozhodovacie strom je zostavené sekvenčným rozdeľovaním pôvodného súboru údajov na podmnožiny, ktoré sa stávajú uzlami stromu. Pri každom kroku sa vyberie vlastnosť a prah (pre číselné vlastnosti), ktorými sa údaje rozdelia na časti tak, aby sa maximalizovala homogénnosť (čistota) získaných podmnožín vo vzťahu k cieľovej premennej.

Hlavné kritériá rozdelenia:

  • Index Gini (Gini impurity) — meria pravdepodobnosť chybnej klasifikácie náhodne vybraného objektu, ak je klasifikovaný náhodne podľa rozloženia tried v podmnožine. Čím je nižší, tým lepšie.

  • Informačný zisk (Information Gain) — rozdiel entropie pred a po rozdelení. Čím väčší je informačný zisk, tým lepšie je rozdelenie.

  • Pomery informačného zisku (Information Gain Ratio) — modifikácia informačného zisku, ktorá zohľadňuje počet a veľkosť podmnožín, aby sa predišlo skresleniu voči vlastnostiam s veľkým počtom hodnôt.

  • Redukcia variancie (Variance reduction) — používa sa pre regresiu, minimalizuje rozptyl hodnôt cieľovej premennej v podmnožinách.

Príklad jednoduchého rozdelenia podľa vlastnosti:

# Pseudokód pre výber najlepšieho rozdelenia
best_gain = 0
best_feature = None
for feature in features:
    for threshold in possible_thresholds(feature):
        left, right = split(data, feature, threshold)
        gain = information_gain(data, left, right)
        if gain > best_gain:
            best_gain = gain
            best_feature = (feature, threshold)