R中的决策树

时间:2014-07-01 08:55:20

标签: r machine-learning decision-tree

我是R中机器学习的新手。这是我的数据集:

channels <- sample(c("AFFILIATE","DIRECT","DISPLAY"),100,T)
booking <- sample(c("N","Y"),100,T)
placements <- sample(c("R","L","TR","TL"),100,T)
site <- sample(c("www.google.com","www.yahoo.com"),100,T)
campaigns <- sample(c("camp1","camp2","camp3"),100,T)
data <- data.frame(channels,campaigns,site,placements,booking)

我想弄清楚哪种组合的预订概率更高。我使用以下R代码来计算决策树:

tree <- rpart(booking~channels+campaigns+site+placements,data=data,method="class")

它会生成一个输出,但输入顺序不正确(我想要一个树,其中顺序应该是频道→广告系列→网站→展示位置→预订)。此外,它仅为每个父节点提供两个叶节点,但我想生成一个树,其中每个父节点将有两个以上的叶节点。有没有可以满足要求的先进方法? 在此先感谢!!

1 个答案:

答案 0 :(得分:0)

标准决策树不会对功能的顺序施加任何限制,除非它们区分的程度如何。所以我的猜测是你找不到任何准备好的实施来强制执行订单(也许其他人有其他建议吗?)。如果您想要严格的订单,那么您可以自己编写代码。在文献中查看如何计算分裂的基尼/增益标准。

我所知道的大多数实现都实现了二进制拆分,这意味着每个父级都有两个子级。你想要的是一个&#34; multiway&#34;分裂。

我希望这会有所帮助。