表的分类树

时间:2015-01-20 03:00:28

标签: r tree classification decision-tree

问题描述

我有一个简单的表,有2个因子和3行(表1)。注意,在该表中,Factor1和Factor2有三种独特的模式,F1 = 0& F2 = 1,F1 = 1& F2 = 0,F1 = 1& F2 = 1。 2个因素决定了目标变量。我的目标是使用树获取唯一模式列表。

我的link to tables and figures对于描述此问题至关重要。

我代表树中的表格。我将这棵树称为分类树(图1)。树的深度为2.深度应等于因子的数量。例如,图1中的节点N4表示唯一模式F1 = 1& F2 = 1。解释模式的方法是从顶部节点N1到N4遍历树。 生成六个节点以表示树。我只知道如何使用powerpoint创建树(图1)。

问题

如何以编程方式创建此树?有没有可以绘制这个的库/算法?任何程序都可以,不一定是R.请提供类似我的R代码的示例代码。

我尝试了什么

为了解决这个问题,我尝试使用R rpart生成决策树(图2)。在我需要的预期的6个节点中只生成了5个节点。我想我明白为什么会这样。决策树是不同的,因为它只显示可以预测目标变量的节点。我需要的树不是预测,而是显示所有因素的细分。我的R代码附在下面。

我环顾四周,偶然发现了这些选择:

  • 使用完全未修剪的决策树。但是我的决策树已经未修改了?

  • 使用随机森林生成更多观察结果,以便决策树也能够显示节点N6。

  • 找到另一个树构造算法 - 而不是决策树。

背景

目的是使用决策树来预测导致目标变量的因素。但是,出于报告目的,我想显示使用决策树减少了多少数据。例如,图2显示决策树已经减少了1个节点(没有N6)。对于更大的数据,节点的减少将更加明显。

我的R代码:

library(rpart.plot)  
F1<-c(0,1,1)
F2<-c(1,0,1)
TargetVar<-c(1,1,0)
mydata2 <- data.frame(F1, F2, TargetVar)
cart = rpart(TargetVar~., data = mydata2)
fit2 <- rpart(TargetVar~., method="class", data=mydata2, control=rpart.control(minsplit=1, cp=0.001))
rpart.plot(fit2, type = 4, extra =2)

0 个答案:

没有答案