Træer ser forskellige data
Bagging giver hvert træ et tilfældigt bootstrap-udsnit af datapunkterne.
Ensemble-læring og flokkens visdom i 2D
Laboratorium · Sammenlign · Stem · Forklar
Et beslutningstræ kan lære meget detaljerede regler, men det kan også overreagere på enkelte punkter. Random Forest træner mange forskellige træer og lader dem stemme. Hvert træ kan tage fejl – men fejlene udligner ofte hinanden, så skoven finder en mere stabil beslutningsgrænse.
Bagging giver hvert træ et tilfældigt bootstrap-udsnit af datapunkterne.
Ved hvert split prøver træet kun et tilfældigt udvalg af egenskaber.
Den endelige klasse er flokkens flertal – ikke ét træs skråsikre gæt.
Klik på et sted i koordinatsystemet. Så spørger du skoven, hvilken klasse den vil vælge, og ser hvor mange træer der stemmer hver vej.
Her ser du tre repræsentative træer fra den aktuelle skov. Blå bokse er beslutningsnoder, og farvede blade er træernes endelige klassifikationer.
Redigér skabelonen, download den, og forbind koden med beslutningsfladen ovenfor.
Kør lokalt med python random_forest_2d.py. Installér først pip install numpy matplotlib scikit-learn. Prøv især at ændre n_estimators, max_depth og NOISE.
stemmer = []
for træ in skoven:
stemmer.append(træ.predict([nyt_punkt])[0])
# Flertallet bestemmer klassifikationen.
klasse = mest_frekvente(stemmer)
selvtillid = stemmer.count(klasse) / len(stemmer)En skov er ikke magisk: den kombinerer mange beslutninger. Når træerne er både gode og tilpas forskellige, bliver flertallet robust.
Skift n_estimators fra 1 til 50. Tegn forskellen mellem et enkelt træ og en skov.
Skift max_depth til 2, 6 og 12. Beskriv beslutningsfladens kompleksitet.
Øg NOISE. Hvornår bliver selv flertallet usikkert?