RandomForestClassifier против ExtraTreesClassifier в scikit узнать


95

Может ли кто-нибудь объяснить разницу между RandomForestClassifier и ExtraTreesClassifier в scikit learn. Я потратил немало времени на чтение статьи:

П. Гертс, Д. Эрнст. И Л. Вехенкель, «Чрезвычайно рандомизированные деревья», Машинное обучение, 63 (1), 3-42, 2006 г.

Кажется, в этом разница для ET:

1) При выборе переменных в разбиении выборки берутся из всего обучающего набора вместо начальной выборки обучающего набора.

2) Сплиты выбираются полностью случайным образом из диапазона значений в выборке при каждом разбиении.

В результате этих двух вещей намного больше «листьев».


7
Причина, по которой я так заинтересован в классификаторе extratreeclassifier, заключается в том, что я получаю гораздо лучшие результаты с помощью ET по конкретной проблеме. Мой вектор признаков большой,> 200 переменных, и переменные очень шумные. Стандартный классификатор RDF дает плохие результаты, но ET получает баллы F1> 90%. Классы несбалансированы с относительно небольшим количеством положительных выборок классов и множеством отрицательных.
denson

См. Также более свежий ответ: stats.stackexchange.com/questions/175523/…
Арчи

Ответы:


59

Да, оба вывода верны, хотя реализация Random Forest в scikit-learn позволяет включать или отключать повторную выборку начальной загрузки.

На практике RF часто более компактны, чем ET. Инопланетяне, как правило, дешевле обучать с вычислительной точки зрения, но они могут стать намного больше. ET могут иногда делать обобщения лучше, чем RF, но трудно угадать, когда это произойдет, не попробовав сначала (и настройку n_estimators, max_featuresи min_samples_splitпоиск по сетке с перекрестной проверкой).


21

Классификатор ExtraTrees всегда проверяет случайные разбиения по части функций (в отличие от RandomForest, который проверяет все возможные разделения по части функций)


13
Меня позабавило, что этот комментарий является дословным ответом на вопрос викторины Coursera
Боб

Да @ Боб, это так. Я считаю этот ответ очень полезным, поэтому я разместил здесь, он помогает другим понять разницу между дополнительным деревом и случайным лесом.
Мухаммад Умар Аманат

3
тоже пришел из того же курса. и этот ответ был полезен!
killezio

да @ skeller88, это потрясающий курс. Вы также должны посмотреть этот курсra.org/learn/competitive-data-science?specialization=aml
Мухаммад Умар Аманат

0

Основное различие между случайными лесами и дополнительными деревьями (обычно называемыми крайними случайными лесами) заключается в том, что вместо вычисления локально оптимальной комбинации признака / разделения (для случайного леса) для каждой рассматриваемой особенности выбирается случайное значение. для раскола (для дополнительных деревьев). Вот хороший ресурс, чтобы узнать больше об их различии более подробно. Случайный лес и дополнительное дерево.


Я думаю, вы хотели вставить ссылку.
Томаш Гандор
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.