Antwoord
Ja, er is een verschil. Als je in sklearn beslissingsbomen verzamelt, gebruik je uiteindelijk nog steeds alle functies met elke beslissingsboom. In willekeurige bossen gebruik je echter een subset van functies.
De officiële sklearn documentatie over ensembling-methoden had wat duidelijker kunnen zijn over het verschil, dit is wat het zegt:
- “ Wanneer monsters worden getrokken met vervanging, dan staat de methode bekend als Bagging ”
- ” In willekeurige forests (zie RandomForestClassifier en RandomForestRegressor klassen), wordt elke boom in het ensemble opgebouwd uit een monster dat is getekend met vervanging (dwz een bootstrap-monster) uit de trainingsset . “
Het lijkt er dus op dat er geen verschil is als je beslisbomen kiest, toch? Het blijkt dat in de documentatie ook staat:
“ Bovendien wordt bij het splitsen van elk knooppunt tijdens de constructie van een boom de beste splitsing gevonden uit alle invoerfuncties of een willekeurige subset van grootte max_features
. “
Dus dit is nog een manier om willekeur te introduceren, door het aantal features bij de splitsingen te beperken. In de praktijk is het handig om max_features
inderdaad af te stemmen om een goede match te krijgen.
Reacties
- Het ' is niet elke boom die een subset van kandidaat-features ontvangt, het ' is elk split .
- @Matthew Drury Bedankt voor uw opmerking, gecorrigeerd.