我希望我的预测概率在 0 到 1 之间。我已经在 xgboost 中做到了,但我也想尝试 Lightgbm,但它输出可靠的预测(仅整数)。我可以在 XGBoost 中通过将 'objective' 参数设置为 binary:logistic 来做到这一点,但在 Lightgbm 中似乎没有任何类似的参数,它只有二进制并且输出 0 或 1。
问问题
2897 次
3 回答
0
要在 lightgbm 中获得 0 和 1 之间的类概率,您必须使用参数“objective”的默认值是回归。
'objective' = 'binary' ( return class label 0 or 1)
'objective' = 'regression' ( return class probability between 0 and 1)
于 2018-08-21T05:56:12.000 回答
0
您可以通过使用 num_class: 2 作为参数设置objective:“multiclass”来做到这一点。结果可能与直接二元分类模型不同,但我可以向您保证不会有性能损失。
奖励:作为损失度量,您可以使用“multi_error”或“multi_logloss”,或者有趣的是两者的组合,例如:metric:“multi_error”,“multi_logloss”
于 2018-10-11T22:21:14.480 回答
-1
您可以使用predict(raw_score=True)
如果您使用的是sklearn API
- 您可以使用目标“二进制”,只需使用predict_proba()
而不是predict()
于 2018-12-11T12:26:48.293 回答