下面给一个官方demo代码:

参考:https://github.com/dmlc/xgboost/blob/master/demo/guide-python/custom_objective.py

#!/usr/bin/python
import numpy as np
import xgboost as xgb
###
# advanced: customized loss function
#
print('start running example to used customized objective function')dtrain = xgb.DMatrix('../data/agaricus.txt.train')
dtest = xgb.DMatrix('../data/agaricus.txt.test')# note: for customized objective function, we leave objective as default
# note: what we are getting is margin value in prediction
# you must know what you are doing
param = {'max_depth': 2, 'eta': 1, 'silent': 1}
watchlist = [(dtest, 'eval'), (dtrain, 'train')]
num_round = 2# user define objective function, given prediction, return gradient and second order gradient
# this is log likelihood loss
def logregobj(preds, dtrain):labels = dtrain.get_label()preds = 1.0 / (1.0 + np.exp(-preds))grad = preds - labelshess = preds * (1.0 - preds)return grad, hess# user defined evaluation function, return a pair metric_name, result
# NOTE: when you do customized loss function, the default prediction value is margin
# this may make builtin evaluation metric not function properly
# for example, we are doing logistic loss, the prediction is score before logistic transformation
# the builtin evaluation error assumes input is after logistic transformation
# Take this in mind when you use the customization, and maybe you need write customized evaluation function
def evalerror(preds, dtrain):labels = dtrain.get_label()# return a pair metric_name, result# since preds are margin(before logistic transformation, cutoff at 0)return 'error', float(sum(labels != (preds > 0.0))) / len(labels)# training with customized objective, we can also do step by step training
# simply look at xgboost.py's implementation of train
bst = xgb.train(param, dtrain, num_round, watchlist, logregobj, evalerror)

xgboost使用自定义的loss function相关推荐

  1. R语言构建xgboost模型:自定义损失函数(目标函数、loss function、object function)、评估函数(evaluation function)

    R语言构建xgboost模型:自定义损失函数(目标函数.loss function.object function).评估函数(evaluation function) 目录

  2. R语言构建xgboost模型使用早停法训练模型(early stopping):自定义损失函数(目标函数,loss function)、评估函数(evaluation function)

    R语言构建xgboost模型使用早停法训练模型(early stopping):自定义损失函数(目标函数.loss function.object function).评估函数(evaluation ...

  3. Keras自定义损失函数出现:ValueError: Unknown loss function: focal_loss

    Keras自定义损失函数出现:ValueError: Unknown loss function: focal_loss 1.软件环境 2.问题描述 3.解决方法 4.结果预览 1.软件环境 Wind ...

  4. xgboost中自定义损失函数的使用方法

    起初以为在param里定义了就行,但屡屡报错,后来终于找到了方法. 首先是metric的写法: def maxRecall(preds,dtrain): #preds是结果(概率值),dtrain是个 ...

  5. TensorFlow损失函数(loss function) 2017-08-14 11:32 125人阅读 评论(0) 收藏 举报 分类: 深度学习及TensorFlow实现(10) 版权声明:

    TensorFlow损失函数(loss function) 2017-08-14 11:32 125人阅读 评论(0) 收藏 举报  分类: 深度学习及TensorFlow实现(10)  版权声明:本 ...

  6. 机器学习_LGB自定义huber loss函数

    很多时候为了达到更好的训练效果我们需要改变损失函数,以加速数据的拟合. 一.huber函数的近似函数 众所周知我们rmse会对异常值的损失关注度特别高,mae对异常会没有那么敏感.将两者进行结合就可以 ...

  7. Semantic Instance Segmentation with a Discriminative Loss Function【论文详解】

    PAPER:https://arxiv.org/abs/1708.02551 CODE:https://github.com/DavyNeven/fastSceneUnderstanding 一.整体 ...

  8. 神经网络中,设计loss function有哪些技巧?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:视学算法 神经网络中,设计loss function有哪 ...

  9. 损失函数(Loss Function) -1

    http://www.ics.uci.edu/~dramanan/teaching/ics273a_winter08/lectures/lecture14.pdf Loss Function 损失函数 ...

最新文章

  1. 如何选取合适的前端动效方案?
  2. 计算机5G英语文献,5G移动网络外文文献翻译2018中英文.docx
  3. Android 抽屉效果的导航菜单实现
  4. android开发应用知识,Android应用开发经常使用知识
  5. 中欧谋定原产地保护-农业大健康·万祥军:战略格局地理标志
  6. 怎样呵护友谊_【家校联动共同呵护孩子健康成长科普课堂】关爱学生心理健康,守护学生健康成长...
  7. 商业大亨微信草花服务器,商业大亨2每日答题和服务器进度奖励
  8. Python开发不可不知的虚拟环境
  9. 证件阅读机所能识别的类型与应用
  10. 汇编语言---80386寄存器,GCC内联汇编语法
  11. 三点定位法原理及实现——蓝牙定位
  12. 《幸福就在你身边》第九课、确信自己有好命【哈佛大学幸福课精华】
  13. Android opengles 动态调节高斯模糊
  14. QGIS离线数据或瓦片并使用Cesium调用离线瓦片(vx gzh【图说GIS】)
  15. win7电脑微信可以登录,但是网页无法访问
  16. 面试题:1、H5+css
  17. linux如何kill僵尸进程,linux 如何杀死僵尸进程——原理及操作
  18. 大数据职业发展规划和技能
  19. 基于matlab的史密斯圆图演示仿真图
  20. mysql查询关键字_MySQL查询关键词

热门文章

  1. 【简单解法】1093 字符串A+B (20分)_16行代码AC
  2. 15行代码AC——习题3-1 得分 (UVa1585,Score)
  3. 人工智能技术在互联网医疗中的应用
  4. 垃圾回收GC Roots
  5. 数据结构题:由逆置数组方法——逆置线性表L的所有元素
  6. 数据库原理与应用(SQL Server)笔记 第三章 连接查询
  7. java process exit_Java Process exitValue()方法
  8. 机器学习如何计算特征的重要性_干货 :机器学习中的特征工程总结
  9. win10远端服务器未响应,win10怎么连远程服务器未响应
  10. linux war版本管理,linux(centos8):用systemctl管理war包形式的jenkins(java 14 / jenkins 2.257)...