Tak, jest różnica. W sklearn, jeśli zbierasz drzewa decyzyjne, nadal używasz wszystkich funkcji z każdym drzewem decyzyjnym. Jednak w lasach losowych używasz podzbioru funkcji.
Oficjalna dokumentacja sklearn dotycząca metod tworzenia zestawów mogłaby być nieco bardziej przejrzysta różnica, oto co jest napisane:
- „ Kiedy próbki są pobierane z wymianą, wówczas metoda jest znana jako Bagging ”
- ” W lasach losowych (patrz klasy RandomForestClassifier i RandomForestRegressor), każde drzewo w zespole jest budowane z próbki narysowanej z wymianą (tj. próbka bootstrap) z zestawu uczącego . ”
Więc wydaje się, że nie ma różnicy, jeśli zbierasz drzewa decyzyjne, prawda? Okazuje się, że dokumentacja podaje również:
„ Co więcej, podczas dzielenia każdego węzła podczas budowy drzewa, najlepszy podział można znaleźć albo ze wszystkich elementów wejściowych, albo z losowego podzbioru rozmiaru max_features
. „
Więc jest to jeszcze jeden sposób na wprowadzenie losowości, poprzez ograniczenie liczby cech na podziałach. W praktyce warto dostroić max_features
, aby uzyskać dobre dopasowanie.
Komentarze