【问题标题】:How can I get the decision path to specific class type in classification decision tree如何在分类决策树中获取特定类类型的决策路径
【发布时间】:2015-12-29 10:40:50
【问题描述】:

假设我创建了一个分类决策树,如下所示:

HP(1:size(HP), end) = 0; LP(1:size(LP), end) = 1;
% the dt's input & target pop
x = [HP(:,1:end-1); LP(:,1:end-1)]; t = [HP(:,end); LP(:,end)];
dt = fitctree(x,t);
view(dt)
view(dt, 'mode', 'graph');

输出如下:

1  if x2<-21.4866 then node 2 elseif x2>=-21.4866 then node 3 else 1
2  class = 1
3  if x2<20.093 then node 4 elseif x2>=20.093 then node 5 else 0
4  if x1<27.8438 then node 6 elseif x1>=27.8438 then node 7 else 0
5  if x2<39.6866 then node 8 elseif x2>=39.6866 then node 9 else 1
6  if x1<-33.7504 then node 10 elseif x1>=-33.7504 then node 11 else 0
7  class = 1
8  class = 1
9  class = 0
10  class = 1
11  if x2<1.53772 then node 12 elseif x2>=1.53772 then node 13 else 0
12  if x2<-2.50063 then node 14 elseif x2>=-2.50063 then node 15 else 0
13  class = 0
14  if x1<14.2153 then node 16 elseif x1>=14.2153 then node 17 else 0
15  class = 1
16  class = 0
17  class = 1

还有

问题

1) 我怎样才能得到所有导致叶子值为 '0' 的路径?

2) 是否有任何精致方法可以基于决策树创建新实例(除了随机生成实例并循环直到所需的输出)?例如,我想创建一个 random 实例,上面的树将其分类为 '0'

【问题讨论】:

    标签: matlab classification instantiation decision-tree data-generation


    【解决方案1】:

    如果你知道决策的结束节点,你就可以找到路径。您可以从[lable, score, node, cusum] = predict(mdl,x); 获取端节点号。如果您想从 Treebagger 获取每棵树的节点,那么您需要在每棵树的循环中运行相同的节点。 [lable, score, node, cusum] = mdl.Trees{i}.predict(x);

    【讨论】:

      猜你喜欢
      • 2019-03-04
      • 2018-05-15
      • 1970-01-01
      • 2014-06-09
      • 2016-07-29
      • 2021-04-22
      • 2016-07-12
      • 2018-12-12
      • 2016-05-31
      相关资源
      最近更新 更多