lightgbm使用自定义损失函数后,二分类的预测结果不再是【0,1】区间

  统计/机器学习 监督式学习    浏览次数:4097        分享
1

如题,对lightgbm使用如下的自定义函数后


def logistic_obj(y_hat, dtrain):
    y = dtrain.get_label()
    p = y_hat 
    p = 1. / (1. + np.exp(-y_hat)) # 用于避免hessian矩阵中很多0
    grad = p - y
    hess = p * (1. - p)
    grad = 4 * p * y + p - 5 * y
    hess = (4 * y + 1) * (p * (1.0 - p))
    return grad, hess

其预测结果不再是【0,1】,而是有正有负。如果再结果上再加一层sigmoid,效果和不自定义损失函数差很多。

 

wwb_306   2020-06-17 08:55



    还没有回答。我来答!  


  相关讨论

决策树是如何得到量化的概率,不只是0或1的标签?

决策树剪枝有什么策略或者注意事项?

决策树的深度和数据特征个数的关系

随机森林预测问题

剪枝是什么意思

Gradient tree boosting和random forest (随机森林) 有什么区别和联系

随机森林中增加树的数量对于偏差和方差的影响

随机森林是如何计算测试样本的概率的?

关于knn算法中kd树的问题

怎么理解RandomForest中的max_features?

  随便看看

机器学习基础

cvr和ctr的区别是什么?

为什么LR要用Sigmoid函数?

训练集中有的特征含有缺失值,一般怎么处理

seaborn如何显示图?