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

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

maria_g
источник
Я думаю, вы хотели вставить ссылку.
Томаш Гандор