我在R中使用gbm预测二元结果(0,1)。在训练集上拟合gbm模型(使用交叉验证)后,我能够通过以下方式获得训练集的预测值: / p>
p<-predict(gbm_model,type="response")
对于训练样本,我获得了非常准确的结果(如预期的那样)
a FALSE TRUE
FALSE 1000 238
TRUE 80 410
但是,当我尝试预测样本外时,这就是我所获得的:
b
a FALSE TRUE
FALSE 360 169
TRUE 62 123
显然,似乎存在一个问题,因为我的模型在真实情况下表现比硬币翻转更糟糕。因此,我想知道,有没有办法获得测试样本中观察的预测概率?我想检查那些,以找出模型表现如此糟糕的原因。
此外,我想知道在创建分类表时是否有办法修改截止值。提前谢谢。
******顺便说一下,这里是我用来获取分类表的代码
confusion(predict(gbm_model, test_sample, n.trees = 5000) > 0, test_sample$Outcome_Variable > 0)