XGBoost交叉验证具有不同的切入点



我想创建两个二进制预测模型:一个是切点严格大于0.5(为了获得更少但更好的信号(,另一个是切点严格小于0.5。

在进行交叉验证时,我们有一个与切割点相关的测试误差,等于0.5。如何使用其他切割值?我谈到了XGBoost for Java。

xgboost返回分数列表。你可以对分数列表做任何你想做的事。我认为,特别是在Java中,它返回形状为(1, n)的2dArrayList

在二进制预测中,你可能使用了逻辑函数,因此你的分数将在0到1之间。

取你的分数对象,创建一个自定义函数,根据你描述的规则计算新的预测

如果您使用的是自动/xgboost实现的交叉验证函数,您可能需要构建一个自定义的评估函数,该函数将按照您的出价进行操作,并将其作为参数传递给xgb.cv

如果你想在设置阈值时聪明一点,我建议阅读Roc曲线的AUC精密回忆曲线

最新更新