通过weka建立决策树怎么提取分类规则?

高手们帮帮忙啊,就是提取象IFTHEN格式的规则... 高手们帮帮忙啊,就是提取象IF THEN 格式的规则 展开
 我来答
hofland09
2009-12-04 · TA获得超过367个赞
知道小有建树答主
回答量:75
采纳率:0%
帮助的人:137万
展开全部
你的意思是从训练好的决策树模型中自动提取出分类规则吗?weka好像没有可以直接从树结构中提取规则的功能吧。

不过如果模型不是太复杂的话手工统计每个从根节点到叶子节点的遍历也很方便啊,每个遍历上的内部节点加上树枝就是if条件,叶子节点就是then的判断结果。如果模型比较复杂的话可以考虑做个简单的二次开发。

假设你用的是J48,用weka explorer把训练好的决策树另存下来(或者直接在代码里用输出流写入文件),再用输入流把决策树读入为一个sourcable对象,调用对象的tosource方法把决策树代码化,接下来就是文本处理的问题了,通过分析代码结构得到相应的分类规则。

大概是这样的读入过程:

FileInputStream j48 = new FileInputStream("j48.model");
ObjectInputStream j48object = new ObjectInputStream(j48);

Sourcable j48code = (Sourcable) j48object.readObject();
System.out.println(j48code.toSource("J48 Tree"));

用上面几行举个例子,希望对你有启发^^
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式