如何在R中绘制基于规则的决策树

时间:2014-02-17 07:55:39

标签: r hadoop mapreduce machine-learning decision-tree

我刚刚开始使用R而且我很难在R中绘制基于规则的决策树。

问题是,我已经有一个来自hadoop MapReduce的输出,它是一个简单的文本文件的形式。现在我想使用Hadoop的这个输出并在R上以图形方式表示它。输出文件看起来像这样。

1 overcast yes
1 rain 3 strong no
1 rain 3 weak yes
1 sunny 2 high no
1 sunny 2 normal yes

有没有办法可以在R中以图形方式表示这个,比如

http://web.cs.swarthmore.edu/~meeden/cs63/f05/figure3.1.jpg

任何帮助将不胜感激。感谢

2 个答案:

答案 0 :(得分:3)

查看包'rpart'。它是递归分区和决策树的包。以下内容直接来自帮助文件?rpart中的示例。函数expand.grid也可能对你有用。

> example(rpart)

fit <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis)

fit2 <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis,
              parms = list(prior = c(.65,.35), split = "information"))

fit3 <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis,
              control = rpart.control(cp = 0.05))

par(mfrow = c(1,2), xpd = NA) # otherwise on some devices the text is clipped

plot(fit)
text(fit, use.n = TRUE)
plot(fit2)
text(fit2, use.n = TRUE)

enter image description here

答案 1 :(得分:0)

首先,您必须将文本文件转换为数据框。这可能是一个好的开始:Converting (web site) text file into data frame in R

然后您可以使用'rpart'来构建树。除了“rpart'及其prp() - 函数之外,您还可以使用"rattle" - 包中的'fancyRpartPlot'来构建更高级的树。 Here就是一个很好的例子。