2017-04-24 90 views
1

我是新来的苏打水和机器学习从苏打水的GBM算法的结果,如何解释在分类任务

我已经建立了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相似。构建树后的第三个和第四个混淆矩阵给出正常结果,其值分布在矩阵的所有部分中。

我需要解释第一个和第二个矩阵。 Sparkling Water为什么这样做?我可以使用这些结果吗?或者它只是一些中间步骤?

谢谢。

+0

为了便于阅读,将我的评论移到了答案上! – ImDarrenG

回答

0

解释由给出的矩阵:在Totals行用数字给出

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 

我们可以看到,所有800个观测标记1

正在测试的模型预测为0 500次,并且1由行给出的300次。这给你一个总体错误0.625或62.5%。

这告诉我们两两件事:

  • 在数据集中赞成1类的完全平衡的数据。
  • 模型做了一个非常糟糕的工作

有没有可能是两个初始矩阵表示未经训练模式的总结,随意采摘基本类?后两个矩阵代表了训练模型的总结?

+0

谢谢你的回复!这是我的想法,不幸的是我没有找到任何确切的证据来源。但这很可能。 – velaciela

+0

不,我无法找到一个来源:(希望你找到答案 – ImDarrenG