Junior — Middle
Povedzte nám o RandomForest: ako je zostavený, v čom sa líši od bežného baggingu stromov.
sobes.tech AI
Odpoveď od AI
RandomForest je ansambl metoda strojnog učenja koja gradi više odlučujućih stabala i kombinuje njihove prognoze radi poboljšanja kvaliteta i stabilnosti modela.
Glavne karakteristike RandomForest-a:
- Svako stablo se trenira na slučajnom podskupu originalnih podataka sa vraćanjem (bagging).
- Prilikom građenja svakog stabla, na svakom čvoru se bira slučajni podskup karakteristika, od kojih se bira najbolji za deljenje.
Razlike od klasičnog bagging-a stabala:
- U klasičnom bagging-u, stabla se grade na slučajnim podskupovima podataka, ali pri izboru karakteristike za deljenje koristi se ceo skup karakteristika.
- U RandomForest-u, dodatno se uvodi slučajnost pri izboru karakteristika na svakom čvoru, što smanjuje korelaciju između stabala i povećava sposobnost generalizacije.
Primer u Python-u sa sklearn:
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(n_estimators=100, max_features='sqrt')
model.fit(X_train, y_train)
predictions = model.predict(X_test)
Ovde, parametar max_features='sqrt' postavlja slučajni podskup karakteristika za svako deljenje.