AUC модели случайного леса ниже после настройки параметров с использованием гипергрид-поиска и CV с 10-кратным увеличением - PullRequest
0 голосов
/ 10 декабря 2018

Значение AUC, которое я получил без настройки гиперпараметра, было выше.Я использовал одни и те же данные тренировок, может быть, здесь что-то упущено или есть какое-то обоснованное объяснение

Данные являются средним значением встраивания слова твита, которое рассчитывается с использованием предварительно обученных векторов GLoVE для твитов с 50 измерениями

Без настройки:

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

AUC-0,978

Отстройка:

GridSearchCV(cv=10, error_score='raise-deprecating',
       estimator=RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
            max_depth=None, max_features='auto', max_leaf_nodes=None,
            min_impurity_decrease=0.0, min_impurity_split=None,
            min_samples_leaf=1, min_samples_split=2,
            min_weight_fraction_leaf=0.0, n_estimators='warn', n_jobs=None,
            oob_score=False, random_state=42, verbose=0, warm_start=False),
       fit_params=None, iid='warn', n_jobs=3,
       param_grid={'max_features': ['auto', 'sqrt', 'log2', None], 'bootstrap': [True, False], 'max_depth': [2, 3, 4], 'criterion': ['gini', 'entropy']},
       pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',
       scoring=None, verbose=0)
print(cv_rf.best_estimator_)
RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
            max_depth=4, max_features='auto', max_leaf_nodes=None,
            min_impurity_decrease=0.0, min_impurity_split=None,
            min_samples_leaf=1, min_samples_split=2,
            min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=None,
            oob_score=False, random_state=42, verbose=0, warm_start=False)

AUC-0,883

1 Ответ

0 голосов
/ 10 декабря 2018

Я ожидаю две возможные причины для этого.

  1. Максимальная глубина установлена ​​как None в предыдущей модели, что означает, что узлы расширяются до тех пор, пока все листья не станут чистыми или пока все листья не будут содержать меньше, чем min_samples_splitобразцы, тогда как max_depth=4 в более позднем, что делает модель менее гибкой.

Предложение: вы можете увеличить диапазон max-depth в Grid Search

Количество оценок (n_estimators) уменьшено со 100 до 10. Это делает модель ансамбля более слабой.

Предложение: Увеличьте количество оценок или настройте также количество оценок.

...