получить вероятность от xgb.train () - PullRequest
0 голосов
/ 14 июня 2019

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

Я работаю над своей первой моделью XGboost.Я настроил параметры с помощью xgb.XGBClassifier, а затем хотел бы обеспечить монотонность переменных модели.По-видимому, я должен использовать xgb.train () для обеспечения монотонности, как показано в моем коде ниже.

xgb.train () может выполнять функцию предиката (), но НЕ прогнозирует функцию ().Итак, как я могу получить вероятность от xgb.train ()?

Я пытался использовать «цель»: «мульти: softprob» вместо «цель»: «двоичный: логистика».затем оценка = bst_constr.predict (dtrain).Но счет не кажется мне правильным.

Большое вам спасибо.

params_constr={
    'base_score':0.5, 
    'learning_rate':0.1, 
    'max_depth':5,
    'min_child_weight':100, 
    'n_estimators':200, 
    'nthread':-1,
    'objective':'binary:logistic', 
    'seed':2018, 
    'eval_metric':'auc' 
}

params_constr['monotone_constraints'] = "(1,1,0,1,-1,-1,0,0,1,-1,1,0,1,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,)" 

dtrain = xgb.DMatrix(X_train, label = y_train)

bst_constr = xgb.train(params_constr, dtrain)


X_test['score']=bst_constr.predict_proba(X_test)[:,1]

AttributeError: 'Booster' object has no attribute 'predict_proba'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...