我是苏打水和机器学习的新手,
我用两个数据集构建了 GBM 模型,手动分为训练和测试。任务是具有所有数字属性的分类(响应列转换为枚举类型)。代码在 Scala 中。
val gbmParams = new GBMParameters()
gbmParams._train = train
gbmParams._valid = test
gbmParams._response_column = "response"
gbmParams._ntrees = 50
gbmParams._max_depth = 6
val gbm = new GBM(gbmParams)
val gbmModel = gbm.trainModel.get
在模型摘要中,我得到了四种不同的结果——一种在训练数据上,另一种在测试数据上,然后再构建带有预测的单个树。结果在每种情况下的预测值为 1 - 这是用于测试数据:
CM: Confusion Matrix (vertical: actual; across: predicted):
0 1 Error Rate
0 0 500 1,0000 500 / 500
1 0 300 0,0000 0 / 300
Totals 0 800 0,6250 500 / 800
第二个混淆矩阵与训练数据的预测值相似,在每种情况下都为 1。构建树后的第三和第四混淆矩阵给出了正常结果,其值分布在矩阵的所有部分。
我需要解释第一个和第二个矩阵。为什么苏打水会这样做?我可以使用这些结果还是只是中间步骤?
谢谢你。