我有代码可以从数据集中创建决策树。我使用的是Weka示例中的天气数据集。如何在Java中从决策树生成规则?
数据集如下:
@relation weather@attribute outlook {sunny, overcast, rainy}@attribute temperature real@attribute humidity real@attribute windy {TRUE, FALSE}@attribute play {yes, no}@datasunny,85,85,FALSE,nosunny,80,90,TRUE,noovercast,83,86,FALSE,yesrainy,70,96,FALSE,yesrainy,68,80,FALSE,yesrainy,65,70,TRUE,noovercast,64,65,TRUE,yessunny,72,95,FALSE,nosunny,69,70,FALSE,yesrainy,75,80,FALSE,yessunny,75,70,TRUE,yesovercast,72,90,TRUE,yesovercast,81,75,FALSE,yesrainy,71,91,TRUE,no
回答:
你可以通过沿着路径到达每个叶节点,并用“and”连接节点上的条件,来从决策树中获取决策规则。也就是说,对于每个叶节点,你最终会得到一条规则,告诉你到达该叶节点需要满足哪些条件。
不过,直接训练一组决策规则(例如使用DecisionTable
分类器)可能更容易,而不是训练一棵树。