LightGBM: оценка AU C при подгонке модели отличается от ручной проверки AU C оценка для того же набора тестов - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть классификатор LightGBM со следующими параметрами:

lgbmodel_2_wt = LGBMClassifier(boosting_type='gbdt',
                        num_leaves= 105, 
                        max_depth= 11,
                        learning_rate=0.03,
                        n_estimators= 5000,
                        categorical_feature=[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15],
                        objective='binary',
                        class_weight= {0: 0.6, 1: 1},
                        min_split_gain=0.01,
                        min_child_weight=2,
                        min_child_samples=20,
                        subsample=0.9,
                        colsample_bytree=0.8,
                        reg_alpha=0.1,
                        reg_lambda=0.1,
                        n_jobs= -1,
                        verbose= -1)

Ниже приведен вызов функции подбора модели:

history = {}
eval_history = record_evaluation(history)
lgbmodel_2_wt.fit(
    X_train, y_train,
    eval_set= [(X_train, y_train), (X_test, y_test)],
    eval_metric='auc', verbose=500, early_stopping_rounds=30,
    callbacks= [eval_history])

Приведенное выше приближение возвращает следующие результаты оценки:

Training until validation scores don't improve for 30 rounds
[500]   training's auc: 0.902706    training's binary_logloss: 0.379436 valid_1's auc: 0.887315 valid_1's binary_logloss: 0.369
Early stopping, best iteration is:
[860]   training's auc: 0.909587    training's binary_logloss: 0.366997 valid_1's auc: 0.88844  valid_1's binary_logloss: 0.366346

Лучший показатель AU C равен 0,88844, согласно приведенному выше графику. Однако результаты изменяются при ручном прогнозировании результатов для того же набора, т. Е. «X_test»:

y_pred = lgbmodel_2_wt.predict(X_test)
roc_auc_score(y_test, y_pred)

В приведенном выше сегменте кода значение AU C составляет 0,7901740256981424. Какой балл AU C я должен считать правильным, так как баллы разные для одного и того же набора тестов. LightGBM имеет ограниченную онлайн-документацию, и мне было трудно интерпретировать результаты. Любая помощь приветствуется.

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