Sobes.tech
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' задава случайна подмножество от признаци за всяко разделяне.