Почему Случайный Лес увеличивается в размере с количеством обучающих примеров? - PullRequest
0 голосов
/ 05 января 2019

В течение последних нескольких месяцев я регулярно тренировал sklearn Random Forests. Я заметил, что при экспорте модели в файл с помощью joblib размер файла резко увеличился - с 2,5 ГБ до 11 ГБ. Все параметры остались прежними, а количество тренировочных функций осталось неизменным. Разница лишь в том, что количество примеров в обучающих данных увеличилось.

Учитывая, что параметры остались фиксированными, а также указано количество оценщиков и глубина каждого дерева, почему увеличение числа примеров приведет к увеличению размера Случайного леса?

Вот параметры для модели:

RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
        max_depth=None, max_features='sqrt', max_leaf_nodes=None,
        min_impurity_decrease=0.0, min_impurity_split=None,
        min_samples_leaf=20, min_samples_split=2,
        min_weight_fraction_leaf=0.0, n_estimators=1000, n_jobs=-1,
        oob_score=False, random_state=123, verbose=0, warm_start=False)

1 Ответ

0 голосов
/ 09 января 2019

Я бы установил min_samples_leaf как плавающую точку, тогда это процент от вашего набора данных для обучения. Например, min_samples_leaf=0.01 для не менее 1% образцов на каждом листе.

Для оптимизации размера вашей модели вы можете использовать GridSearchCV на min_samples_leaf и n_estimators. Если у вас нет большого количества классов и функций, вы, вероятно, сможете уменьшить размер модели на пару порядков.

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