我刚刚开始使用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
任何帮助将不胜感激。感谢
答案 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)
答案 1 :(得分:0)
首先,您必须将文本文件转换为数据框。这可能是一个好的开始:Converting (web site) text file into data frame in R
然后您可以使用'rpart'
来构建树。除了“rpart'
及其prp()
- 函数之外,您还可以使用"rattle" - 包中的'fancyRpartPlot'
来构建更高级的树。 Here就是一个很好的例子。