MATLAB分类树(fitctree)

时间:2015-11-21 00:35:05

标签: matlab decision-tree

我尝试为下表构建分类树: http://en.zimagez.com/zimage/screenshot-211115-014315.php

我写的脚本如下(在查阅本论坛的文档和之前的问题之后):

TBL = [1,1,1,0,1,0 ; 2,1,1,1,0,1 ; 3,0,0,1,0,0 ; 4,0,1,0,1,0 ;...
    5,1,0,1,1,1 ; 6,0,0,1,1,0 ; 7,1,0,0,0,0 ; 8,0,1,1,1,1];
DT = fitctree(TBL(:,2:5), TBL(:,6), 'SplitCriterion', 'deviance',...
    'CategoricalPredictors','all');
view(DT,'mode','graph')

是的......这张桌子只是PDF上的图片,所以我必须自己写一下... 无论如何,我得到了一个无效的树:http://www.zimagez.com/zimage/screenshot-211115-074929.php

有谁知道脚本中的问题是什么? 提前谢谢

1 个答案:

答案 0 :(得分:1)

可以通过训练集中只有8个样本的问题来解决这个问题,这不是很好吗,不是吗?我没有在文档

中看到任何提及它的内容

所以我的修复基本上是复制TBL。像魔术一样工作(不需要关心这里的第一列,因为它仍然未使用):

TBL = [1,1,1,0,1,0 ; 2,1,1,1,0,1 ; 3,0,0,1,0,0 ; 4,0,1,0,1,0 ;...
    5,1,0,1,1,1 ; 6,0,0,1,1,0 ; 7,1,0,0,0,0 ; 8,0,1,1,1,1];
TBL = [TBL;TBL];
TBL = [TBL;TBL];

DT = fitctree(TBL(:,2:5), TBL(:,6), 'SplitCriterion', 'deviance',...
    'CategoricalPredictors','all');
view(DT,'mode','graph')

enter image description here