Может ли кто-нибудь объяснить разницу между RandomForestClassifier и ExtraTreesClassifier в scikit learn. Я потратил немало времени на чтение статьи:
П. Гертс, Д. Эрнст. И Л. Вехенкель, «Чрезвычайно рандомизированные деревья», Машинное обучение, 63 (1), 3-42, 2006 г.
Кажется, в этом разница для ET:
1) При выборе переменных в разбиении выборки берутся из всего обучающего набора вместо начальной выборки обучающего набора.
2) Сплиты выбираются полностью случайным образом из диапазона значений в выборке при каждом разбиении.
В результате этих двух вещей намного больше «листьев».
scikit-learn
random-forest
Денсон
источник
источник
Ответы:
Да, оба вывода верны, хотя реализация Random Forest в scikit-learn позволяет включать или отключать повторную выборку начальной загрузки.
На практике RF часто более компактны, чем ET. Инопланетяне, как правило, дешевле обучать с вычислительной точки зрения, но они могут стать намного больше. ET могут иногда делать обобщения лучше, чем RF, но трудно угадать, когда это произойдет, не попробовав сначала (и настройку
n_estimators
,max_features
иmin_samples_split
поиск по сетке с перекрестной проверкой).источник
Классификатор ExtraTrees всегда проверяет случайные разбиения по части функций (в отличие от RandomForest, который проверяет все возможные разделения по части функций)
источник
Основное различие между случайными лесами и дополнительными деревьями (обычно называемыми крайними случайными лесами) заключается в том, что вместо вычисления локально оптимальной комбинации признака / разделения (для случайного леса) для каждой рассматриваемой особенности выбирается случайное значение. для раскола (для дополнительных деревьев). Вот хороший ресурс, чтобы узнать больше об их различии более подробно. Случайный лес и дополнительное дерево.
источник