Sobes.tech
Junior — Middle

Kaip vyksta sprendimų medžio kūrimo procesas? Kokius skirstymo kriterijus žinote?

sobes.tech AI

Atsakymas iš AI

Sprendimų medis yra kuriamas nuosekliai skirstant pradinį duomenų rinkinį į pogrupius, kurie tampa medžio mazgais. Kiekviename žingsnyje pasirenkama savybė ir riba (skaitinėms savybėms), pagal kurias duomenys skirstomi į dalis, siekiant maksimaliai padidinti gautų pogrupių homogeniškumą (grynumą) atsižvelgiant į tikslinę kintamąjį.

Pagrindiniai skirstymo kriterijai:

  • Gini indeksas (Gini impurity) — matuoja tikimybę, kad atsitiktinai pasirinktas objektas bus neteisingai klasifikuotas, jei jis bus atsitiktinai klasifikuotas pagal pogrupio klasių pasiskirstymą. Kuo mažesnis, tuo geriau.

  • Informacijos pelnas (Information Gain) — entropijos skirtumas prieš ir po skirstymo. Kuo didesnis informacijos pelnas, tuo geresnis skirstymas.

  • Informacijos pelno santykis (Information Gain Ratio) — informacijos pelno modifikacija, kuri atsižvelgia į pogrupių skaičių ir dydį, siekiant išvengti šališkumo į savybes su daug reikšmių.

  • Variacijos sumažinimas (Variance reduction) — naudojamas regresijai, sumažina tikslinės kintamosios reikšmių išsibarsymą pogrupiuose.

Paprastas skirstymo pavyzdys pagal savybę:

# Pseudokodas geriausio skirstymo pasirinkimui
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)