Middle+
Povězte mi o Random Forest: mechanika učení, jak jsou stromy vytvářeny, jak se provádí předpověď pro úlohy klasifikace?
sobes.tech AI
Odpověď od AI
Random Forest — это ансамблевый метод машинного обучения, основанный на построении множества решающих деревьев и объединении их результатов для повышения точности и устойчивости модели.
Механика обучения:
- Для каждого дерева из обучающей выборки создаётся бутстрэп-выборка (случайная выборка с возвращением).
- При построении каждого дерева на каждом узле выбирается случайный поднабор признаков (фич), из которых выбирается лучший сплит.
- Дерево растёт до максимальной глубины или пока не достигнет критерия остановки.
Формирование деревьев:
- Каждое дерево обучается на своей бутстрэп-выборке.
- Случайный выбор признаков на каждом сплите снижает корреляцию между деревьями, что улучшает обобщающую способность.
Предсказание для классификации:
- Для нового объекта каждый дерево даёт свой прогноз (класс).
- Итоговый класс определяется голосованием большинства деревьев (majority voting).
Пример на Python (sklearn):
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier(n_estimators=100, max_features='sqrt')
rf.fit(X_train, y_train)
predictions = rf.predict(X_test)