Калибровка вероятностей в lightgbm или XGBoost - PullRequest
0 голосов
/ 20 марта 2020

Привет мне нужна помощь в калибровке вероятностей в lightgbm

ниже мой код

cv_results = lgb.cv (params, lgtrain, nfold = 10, стратифицированный = False, num_boost_round = num_rounds, verbose_eval = 10, early_stopping_rounds = 50, seed = 50)

best_nrounds = cv_results.shape [0] - 1

lgb_clf = lgb.train (params, lgtrain, num_boost_round = 10000, valid_sets = [lgtrain, lgvalid], early_stopping_rounds = 50, verbose_eval = 10)

ypred = lgb_clf.predict (test, num_iteration = lgb_clf.best_iteration)

1 Ответ

0 голосов
/ 20 марта 2020

Я не уверен насчет LighGBM, но в случае XGBoost, если вы хотите откалибровать вероятности, наилучшим и наиболее вероятным единственным способом является использование CalibratedClassifierCV из sklearn .

Вы можете найти его здесь - https://scikit-learn.org/stable/modules/generated/sklearn.calibration.CalibratedClassifierCV.html

Единственный улов здесь заключается в том, что CalibratedClassifierCV принимает только оценки sklearn в качестве входных данных , поэтому вам, возможно, придется использовать Оболочка sklearn для XGBoost вместо традиционной функции .train API XGBoost.

Оболочку sklearn XGBoost можно найти здесь - https://xgboost.readthedocs.io/en/latest/python/python_api.html#xgboost .XGBClassifier

Я надеюсь, что она отвечает ваш вопрос.

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