Размеры случайного леса в сумке и узле - PullRequest
0 голосов
/ 10 октября 2019

Я должен сделать случайный лесной классификатор для упражнения, и в упражнении специально указаны параметры, и я цитирую на своем языке

процент в сумке: 25% 50% 85%

Количество измерений в одном узле: 10%, 50%, 80%

Я использую scikit-learn для классификатора, и я не знаю, какие параметры из классаустановить процент в сумке и количество размеров.

1 Ответ

1 голос
/ 11 октября 2019

Вы можете определить номер измерения с помощью параметра max_features. Что-то вроде:

rf = RandomForestClassifier(max_features=.1)

К сожалению, RandomForestClassifier пока не поддерживает субсэмплинг (т. Е. Процент в сумке). Однако эта функция была добавлена ​​ в текущей ветке разработки sklearn, поэтому будет доступна в будущем.

На данный момент хорошим обходным путем является использование BaggingClassifier: у него есть max_samplesпараметр для подвыборки, и его можно превратить в RandomForestClassifier, используя DecisionTreeClassifier в качестве базы.

base = DecisionTreeClassifier(max_features=.1)    
rf = BaggingClassifier(base_estimator=base, max_samples=.25)

Обратите внимание, что BaggingClassifier также имеет параметр max_features, но он работает иначе, чем случайный лес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...