Junior — Middle
Разкажете за RandomForest: как работи, как се различава от обикновения бэгинг на дървета.
sobes.tech AI
Отговор от AI
RandomForest е ансамблов метод за машинно обучение, който изгражда множество дървета на решения и комбинира техните прогнози за подобряване на качеството и стабилността на модела.
Основни характеристики на RandomForest:
- Всяко дърво се обучава върху случайна подвыборка на оригиналните данни с връщане (bagging).
- При изграждането на всяко дърво, на всеки възел се избира случайна подмножество от признаци, от които се избира най-доброто за разделяне.
Разлики от обикновения bagging на дървета:
- В класическия bagging дърветата се строят върху случайни подвыборки от данни, но при избора на признака за разделяне се използва цялата налична характеристика.
- В RandomForest се въвежда допълнителна случайност при избора на признаци на всеки възел, което намалява корелацията между дърветата и увеличава обобщаващата способност.
Пример на Python с използване на 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)
Тук параметърът max_features='sqrt' задава случайна подмножество от признаци за всяко разделяне.