决策树中的一组结果
Posted
技术标签:
【中文标题】决策树中的一组结果【英文标题】:A set of results in Decision Tree 【发布时间】:2017-07-29 03:31:24 【问题描述】:我有一个 1672x6 的数据。我已经把其中一些放在了图片中。
其中 x 值为 A1 A2 A3 A4 A5 A6,y 值为 B1 B2 ....B1672。
我在生成决策树时使用了以下代码:
vars = 'A1', ' A2 ','A3',' A4 ','A5',' A6'
x = [A1 A2 A3 A4 A5 A6];
y = [B];
t = clas-s-regtree(x, y, 'method','classification', 'names',vars, ...
'categorical',[2 4], 'prune','off');
view(t)
它会生成超级疯狂的树,比如
我想获得比我给出的值更大的值。当我说:
inst = [3 2.3 2 0 1 0];
prediction = eval(t, inst)
它只给了我具有该变量的 B 值(如 B271),但我想获取所有值大于 inst
变量的 B 变量,如 A1>3 A2>2.3 A3>2 A4>0 A5>1 A6>0
。我怎样才能得到它们?
【问题讨论】:
为什么需要决策树?您似乎只想获取所有大于inst
的行。还是需要使用决策树?
【参考方案1】:
您似乎混淆了两件事:决策树和寻找所需的行
如果要查找所有大于inst
的行,以下是打印所有此类行的简单代码。
for i = 1:size(B,1)
if all(a(i,:)>inst)==1
i,
end
end
然而,决策树是一个完全不同的话题。在决策树中,您有一组条件(在您的情况下为 A1 到 A6)和许多用于训练的行(B1 到 B1672)以及每个条件的结果。当查询一个新的测试用例时,机器会从所有后果中决定最好的结果。
一些决策树教程:1、2 和 wikipedia
【讨论】:
以上是关于决策树中的一组结果的主要内容,如果未能解决你的问题,请参考以下文章
scikit学习决策树导出graphviz - 决策树中的错误类名