CMD + K

Kapittel 6Begreper & formler · Beslutningstrær og ensembles
Referanseside · Kapittel 6

Begreper & referanser

Alle nøkkelbegrepene, formlene og referansene fra Beslutningstrær og ensembles, samlet på én side. Bruk denne som oppslag når du leser, øver flashcards eller tar quiz.

Øv med flashcards15 kort fra dette kapittelet

Begreper

Sentrale begreper fra kapittelet med korte definisjoner.

01Beslutningstre

En modell som følger en sekvens av featuretester fra rotnoden til en prediksjon i et blad.

02Beslutningsnode

Et punkt i treet som deler observasjonene etter en betingelse på en feature.

03Split

Valget av feature og grense som deler dataene i to eller flere barnegrupper.

04Bladnode

En terminal node som gir treets klasse eller regresjonsprediksjon.

05Urenhet

Et mål på hvor blandet klassefordelingen er i en node.

06Bagging

Trening av flere modeller på bootstrap-utvalg og aggregering av prediksjonene deres.

07Random forest

Et bagging-ensemble av beslutningstrær som også bruker tilfeldige featureutvalg ved splittene.

08Gradient boosting

En sekvensiell ensemblemetode der hver ny modell trenes for å korrigere den foreløpige modellens feil.

Formler

Hver formel: hva den heter, hvordan den ser ut, og hva symbolene betyr.

gini-urenhet

Gini-urenhet

Gini er lav når én klasse dominerer en node og null når noden er ren.

GGini-urenhet
p_kandel av klasse k i noden
Kantall klasser
entropi

Entropi

Entropi måler usikkerhet i klassefordelingen i en node.

Hentropi målt i bit
p_kandel av klasse k i noden
Kantall klasser
urenhetsreduksjon

Reduksjon i urenhet

En split vurderes etter hvor mye den reduserer vektet urenhet fra foreldrenoden.

ΔIreduksjon i vektet urenhet
I(P)urenhet i foreldrenoden
I(L)urenhet i venstre barn
I(R)urenhet i høyre barn
n_L,n_R,n_Pantall observasjoner i nodene
flertallsstemme

Flertallsstemme

Et klassifikasjonsensemble kan velge klassen flest av de modellene stemmer på.

ŷensemblets predikerte klasse
h_m(x)prediksjonen fra modell m
Mantall modeller
gradient-boosting

Gradient boosting

Boosting legger til et nytt tre som korrigerer feilene i den foreløpige modellen.

F_m(x)ensemblet etter steg m
h_m(x)det nye treets korreksjon
ηlæringsrate

Kodesnutter

Kodesnutter fra kapittelet, vist literal.

kap6-finn-split

Finn beste split med Gini

python
import numpy as np X = np.array([1.0, 1.4, 2.1, 2.8, 3.2, 4.0, 4.4, 5.1])y = np.array([0, 0, 0, 1, 0, 1, 1, 1]) def gini(labels):    if labels.size == 0:        return 0.0    andeler = np.bincount(labels, minlength=2) / labels.size    return 1.0 - np.sum(andeler**2) for terskel in (1.75, 2.45, 3.60, 4.70):    venstre = y[X <= terskel]    hoyre = y[X > terskel]    vektet = (venstre.size * gini(venstre) + hoyre.size * gini(hoyre)) / y.size    print(f"x <= {terskel:.2f}: vektet Gini = {vektet:.3f}")

Koden evaluerer kandidatgrenser deterministisk og viser at treet må vekte barneurenheten med antall observasjoner.

kap6-bootstrap-stemmer

Bootstrap og flertallsstemme

python
import numpy as np rng = np.random.default_rng(4172)n = 10bootstrap = [rng.integers(0, n, size=n) for _ in range(3)]stemmer = np.array([    [1, 0, 1, 1, 0],    [1, 1, 1, 0, 0],    [0, 1, 1, 1, 0],])ensemble = (stemmer.mean(axis=0) >= 0.5).astype(int) for i, utvalg in enumerate(bootstrap, start=1):    print(f"tre {i}, unike treningsrader:", np.unique(utvalg))print("stemmer per tre:\n", stemmer)print("ensemble:       ", ensemble)

Eksemplet skiller mekanismene: bootstrap skaper ulike treningsutvalg, mens flertallsstemmen samler de ferdige prediksjonene.

Læringsmål

Hva du skal kunne etter å ha lest kapittelet.

  1. 01Følge en observasjon fra rot til blad og forklare hvordan et beslutningstre predikerer
  2. 02Beregne Gini, entropi og vektet urenhetsreduksjon for en kandidatsplit
  3. 03Forklare hvordan bootstrap, featureutvalg og avstemning reduserer varians i random forest
  4. 04Sammenligne bagging og gradient boosting med hensyn til avhengighet, læringsrate og overtilpasning