RandomForestClassifier vs ExtraTreesClassifier в scikit learn
Может ли кто-нибудь объяснить разницу между RandomForestClassifier и ExtraTreesClassifier в изучении scikit. Я потратил немало времени на чтение статьи:
Р. Geurts, D. Ernst., L. Wehenkel, "Чрезвычайно рандомизированные деревья", Machine Learning, 63 (1), 3-42, 2006
Кажется, что это разница для ET:
1) При выборе переменных при расщеплении выборки берутся из всего набора тренировок, а не из образца начальной загрузки обучающего набора.
2). Разбиения выбираются полностью случайным образом из диапазона значений в выборке на каждом расщеплении.
В результате этих двух вещей появилось гораздо больше "листьев".
Ответы
Ответ 1
Да, оба вывода правильны, хотя реализация Random Forest в scikit-learn позволяет включить или отключить повторную выборку бутстрапа.
На практике RF часто более компактны, чем ET. ET, как правило, дешевле тренироваться с вычислительной точки зрения, но могут расти намного больше. ET могут когда-нибудь обобщаться лучше, чем RF, но трудно угадать, когда это дело, не пытаясь сначала (и настройкой n_estimators
, max_features
и min_samples_split
с помощью кросс-проверенного поиска сетки).