具有不同切点的java XGBoost交叉验证
我想创建两个二进制预测模型:一个切点严格大于0.5(以便获得更少但更好的信号),另一个切点严格小于0.5
进行交叉验证时,我们有一个与切点相关的测试误差等于0.5。如何使用其他切割值进行切割?我谈论的是XGBoost for Java
你可以在下面搜索框中键入要查询的问题!
我想创建两个二进制预测模型:一个切点严格大于0.5(以便获得更少但更好的信号),另一个切点严格小于0.5
进行交叉验证时,我们有一个与切点相关的测试误差等于0.5。如何使用其他切割值进行切割?我谈论的是XGBoost for Java
# 1 楼答案
xgboost返回一个分数列表。你可以做任何你想做的事来记录你的分数。 我认为,特别是在Java中,它返回一个形状为
(1, n)
的2dArrayList
在二元预测中,你可能使用了逻辑函数,因此你的分数将在0到1之间
使用你的分数对象,创建一个自定义函数,根据你描述的规则计算新的预测
如果您使用的是自动/xgboost实现的交叉验证函数,那么您可能希望构建一个定制的评估函数,该函数将按照您的出价执行,并将其作为参数传递给
xgb.cv
如果你想在设定阈值时变得聪明,我建议你阅读Roc曲线的AUC和精确回忆曲线