Ja, det er en forskjell. I sklearn hvis du poserer beslutningstrær, ender du fortsatt med å bruke alle funksjonene til hvert beslutningstreet. I tilfeldige skoger bruker du imidlertid en delmengde av funksjoner.
Den offisielle sklearn-dokumentasjonen om ensemblingsmetoder kunne ha vært litt mer tydelig om forskjellen, her er hva den sier:
- « Når prøver blir tegnet med erstatning, er metoden kjent som Bagging »
- » I tilfeldige skoger (se klassene RandomForestClassifier og RandomForestRegressor) er hvert tre i ensemblet bygget fra en prøve tegnet med erstatning (dvs. en bootstrap-prøve) fra treningssettet . «
Så det ser ut til at det ikke er noen forskjell om du legger beslutning om trær, ikke sant? Det viser seg at dokumentasjonen også sier:
« Videre, når du deler hver node under konstruksjonen av et tre, blir den beste splittingen funnet enten fra alle inngangsfunksjoner eller en tilfeldig delsett av størrelse max_features
. «
Så dette er en annen måte å introdusere tilfeldighet på, ved å begrense antall funksjoner ved splittene. I praksis er det nyttig å faktisk stille max_features
for å få en god passform.
Kommentarer