推理引擎与决策树 [关闭]

     2023-03-12     160

关键词:

【中文标题】推理引擎与决策树 [关闭]【英文标题】:Inference engines vs Decision trees [closed] 【发布时间】:2011-09-12 15:34:35 【问题描述】:

我正在使用带有推理引​​擎(前向链接)的专家系统,我想用非常简单的概念解释为什么它比决策树更好。 (在一种特定情况下)

我知道 *** 上有一个 similar question,但这不是我要寻找的答案。

这是我的问题:

对于客户关系管理,我使用了许多不同的业务规则(诱导对话规则)来帮助客户对一种产品做出决定。 注意:经常添加规则(每天 2 条)。

客户在得到答案之前会回答一系列问题。业务规则与对话规则相结合,使生成的问卷看起来像由最优决策树生成的问卷。即使隐藏的推理完全不同。

我想知道在这种情况下,与决策树相比,在可扩展性、稳健性、复杂性和效率方面支持(或反对)推理引擎的主要论据是什么。

我已经有了一些想法,但既然我需要说服别人,就好像我从来没有足够的论据。

提前感谢您的想法,如果您能建议我阅读有关此主题的好论文,我会很高兴。

【问题讨论】:

【参考方案1】:

前向链推理引擎支持完整的一阶逻辑规范(转换为 if-then 规则),而决策树只能将集合向下推进到特定子集。如果你同时使用这两种方法,比如说,确定用户想要什么车,那么在一阶逻辑中你可以说(CHR 语法;<=> 将 LHS 替换为 RHS):

user_likes_color(C), available_color(C) <=> car_color(C).

除了确定用户想要的汽车品牌/类型的所有规则之外,推理引擎还会选择颜色以及其他属性。

使用决策树,您必须为颜色设置额外的树。只要颜色不与其他属性交互就可以了,但是一旦它们交互,你就完蛋了:你可能必须为每种颜色复制整个树,除了那些与其他属性冲突的颜色,你需要同时修改树。

(我承认颜色是一个非常愚蠢的例子,但我希望它能传达这个想法。)

【讨论】:

谢谢,这是我的一个想法,但我喜欢你的例子。我的例子不是很好。 (我正在检查正在交互的多数和居住国)。当属性相关时,节点数量会“分解”。【参考方案2】:

这么说,我在实践中没有使用过推理引擎或决策树。在我看来,如果你想从给定的训练集学习然后预测结果,你应该使用决策树。例如,如果您有一个数据集,其中包含说明您是否在给定天气条件(风、温度、雨......)的情况下外出烧烤的信息。使用该数据集,您可以构建决策树。决策树的好处是您可以使用剪枝来避免过度拟合,从而避免建模噪声。

如果您有特定的规则,我认为推理引擎比决策树更好,您可以使用这些规则进行推理。 Larsmans 已经提供了一个很好的例子。

希望对你有帮助

【讨论】:

谢谢,这是一个很好的观点。

决策树和规则引擎 (Drools)

】决策树和规则引擎(Drools)【英文标题】:Decisiontreesandruleengines(Drools)【发布时间】:2011-06-2017:20:33【问题描述】:在我现在正在处理的应用程序中,我需要定期检查数以万计的对象是否符合某种服务的要求。决策图本身采用以... 查看详情

r构建决策树模型实战

R构建决策树模型实战目录R构建决策树模型实战数据导入模型构建及可视化模型预测推理 查看详情

r语言图形用户界面数据挖掘包rattle:加载uci糖尿病数据集并启动rattle图形用户界面调用party包中的ctree函数构建条件推理树模型并使用rattle可视化条件推理决策树

R语言图形用户界面数据挖掘包Rattle:加载UCI糖尿病数据集、并启动Rattle图形用户界面、调用party包中的ctree函数构建条件推理树模型、并使用rattle可视化条件推理决策树目录 查看详情

用 Python 构建推理引擎

】用Python构建推理引擎【英文标题】:BuildinganInferenceEngineinPython【发布时间】:2011-01-1319:04:00【问题描述】:我正在寻找方向并尝试标记这个问题:我正在尝试在Python中构建一个简单的推理引擎(有更好的名称吗?),它将接受... 查看详情

一文看懂决策树

...决分类问题的算法,决策树算法采用树形结构,使用层层推理来实现最终的分类。决策树由下面几种元素构成:根节点:包含样本的全集内部节点:对应特征属性测试叶节点:代表决策的结果 预测时,在树的内部 查看详情

r语言使用party包中的cforest函数基于条件推理决策树(conditionalinferencetrees)构建随机森林使用varimp函数查看特征重要度使用table函数计算混淆矩阵

R语言使用party包中的cforest函数基于条件推理决策树(Conditionalinferencetrees)构建随机森林、使用varimp函数查看特征重要度、使用table函数计算混淆矩阵评估分类模型性能目录 查看详情

决策树

决策树是应用最广的归纳推理算法之中的一个,它是一种逼近离散函数方法,对噪声数据有非常好的鲁棒性,可以学习析取表达式,广为应用的算法有ID3,ASSISTANT和C4.5。通常决策树代表实例属性值约束的合取(conjunction)的析取... 查看详情

生成决策树的库[关闭]

】生成决策树的库[关闭]【英文标题】:Librarytogenerateadecisiontree[closed]【发布时间】:2012-06-2913:54:40【问题描述】:是否有C#库可以从数据表生成决策树,然后使用它来预测缺失的数据?我做了一些研究,但没有找到任何可以从一... 查看详情

决策树与随机森林

目录决策树的简介 信息增益 如何构建决策树如何避免过拟合剪枝随机森林Bagging算法(套袋发)特征选择决策树的生成决策树和随机森林-知乎Bagging和Boosting的概念与区别-多一点-博客园决策树的简介决策树模型是一种树形结构ÿ... 查看详情

决策树与迭代决策树(转)

... Poll的笔记 cnblogs.com/maybe2030/p/4734645.html阅读目录1.决策树的模型2.决策树的基本知识3.ID3、C4.5&CART4.RandomForest5.GBDT6.参考内容 今天我们来谈一谈机器学习算法中的各种树形算法,包括ID3、C4.5、CART以及基于集成思想的... 查看详情

什么是用于决策树的好的 Python 库? [关闭]

】什么是用于决策树的好的Python库?[关闭]【英文标题】:WhatisagoodPythonlibraryfordecisiontrees?[closed]【发布时间】:2011-03-0820:40:10【问题描述】:除非我遗漏了什么,否则通常的嫌疑人没有这个....【问题讨论】:考虑一下catch-22...我... 查看详情

决策树与随机森林算法

决策树决策树模型是一种树形结构,基于特征对实例进行分类或回归的过程。即根据某个特征把数据分划分到若干个子区域(子树),再对子区域递归划分,直到满足某个条件则停止划分并作为叶子节点,不满足条件则继续递归划... 查看详情

开源业务规则引擎jbossdrools

Drools是什么?规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决... 查看详情

决策树与随机森林

决策树简介决策树算法以树状结构表示数据分类的结果。每个决策点实现一个具有离散输出的测试函数,记为分支。f(x)=根结点非叶子节点(决策点)叶子节点分支f(x)=\\left\\\\beginaligned根结点\\\\非叶子节点(... 查看详情

使用python解析CSV文件(稍后制作决策树)[关闭]

】使用python解析CSV文件(稍后制作决策树)[关闭]【英文标题】:ParseaCSVfileusingpython(tomakeadecisiontreelater)[closed]【发布时间】:2011-02-1303:31:00【问题描述】:首先,全面披露:这是针对uni分配的,所以我不想收到代码。:)。我更在... 查看详情

rpart 决策树中的 rel 错误和 x 错误有啥区别? [关闭]

】rpart决策树中的rel错误和x错误有啥区别?[关闭]【英文标题】:Whatisthedifferencebetweenrelerrorandxerrorinarpartdecisiontree?[closed]rpart决策树中的rel错误和x错误有什么区别?[关闭]【发布时间】:2015-05-2516:09:54【问题描述】:我有一个来... 查看详情

决策树与随机森林

决策树是一个无参有监督的机器学习算法。Quinlan提出了ID3决策树算法,Breiman等人提出了CART决策树算法,1993年Quinlan又提出了C4.5决策树算法。一般而言,决策树的建树最常见的是自下而上的方式。一个给定的数据集被... 查看详情

决策树与随机森林

决策树  决策树学习采用的是自顶向下的递归方法,其基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零,  此时每个叶节点中的实例都属于同一类。决策树三种生成算法ID3--- 信息增益 最... 查看详情