Xgboost得分以'IF ..... THEN ....“格式

时间:2018-11-17 11:24:14

标签: python xgboost

我不想在xgboost中使用predict_proba()predict(),而是想获得IF… THEN…格式的逻辑来计算预测概率,只是想知道是否有办法这个吗?

1 个答案:

答案 0 :(得分:0)

嗯..我不认为 xgboost 用IF ELSE逻辑来实现。但是您可以使用以下包装器

import xgboost as xgb

def new_predict_wrapper(old_predict):
    def newp(*args, **kwargs):
        old_preds = old_predict(*args, **kwargs)
        new_preds = [1 if pred > 0.5 else 0 for pred in old_preds]
        return new_preds
    return newp

new_pred_func = new_predict_wrapper(xgb.Booster.predict)

您可以在包装器中添加IF ELSE逻辑,因为我现在已将阈值保持设置为0.5。而不是使用旧的预测,而是像这样使用new_pred_func

pred_y = new_pred_func(unlabeled_data)