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