Junior — Middle
Povězte mi o RandomForest: jak je uspořádán, čím se liší od běžného baggingu stromů.
sobes.tech AI
Odpověď od AI
RandomForest je ensemble metoda strojového učení, která vytváří více rozhodovacích stromů a kombinuje jejich předpovědi ke zlepšení kvality a stability modelu.
Hlavní vlastnosti RandomForest:
- Každý strom je trénován na náhodném podvzorku původních dat s vracením (bagging).
- Při stavbě každého stromu se na každém uzlu vybírá náhodný podmnožina znaků, ze které je vybrán nejlepší pro rozdělení.
Rozdíly od klasického baggingu stromů:
- V klasickém baggingu jsou stromy stavěny na náhodných podvzorcích dat, ale při výběru znaku pro rozdělení se používá celý soubor znaků.
- V RandomForest je dále zaváděna náhodnost při výběru znaků na každém uzlu, což snižuje korelaci mezi stromy a zvyšuje schopnost generalizace.
Příklad v Pythonu s použitím 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)
Zde parametr max_features='sqrt' určuje náhodný podmnožinu znaků pro každé rozdělení.