关键词:机器学习、CHAID算法、决策树、卡方检验、市场细分、问卷分析、类别合并、Python CHAID、商业智能、统计显著性 一句话答案:CHAID 是唯一基于统计显著性检验(卡方/F检验)的决策树算法 如果你在搜索:“CHAID 和 CART/C4.5 有什么区别?”“CHAID 如何用卡方检验选择分裂特征?”“为什么市场研究常用 CHAID?”“Python 能实现 CHAID 吗?” (使用 CHAID 库) ⚠️ scikit-learn 不支持 CHAID! 八、实战建议:何时选择 CHAID? 现在,你已经能:理解 CHAID 如何用卡方检验驱动分裂 手动执行类别合并与树构建 在 Python 中调用 CHAID 库进行市场分析 为业务场景选择是否使用 CHAID相关链接 大模型技术专栏
CHAID决策树 在进行完K-means聚类分析后,为了更好地了解各个类别的特征和关系,本文使用CHAID决策树算法对数据集GDP的影响因素进行进一步的分析。 首先使用SPSS Modeler的CHAID节点进行计算,得到以下变量重要性和决策树结果。 变量重要性 在CHAID决策树算法中,我们使用卡方值(χ2)来表征每个变量的重要性。 决策树结果 通过CHAID决策树算法,我们得到了以下的决策树模型。其中每个叶子节点代表一类,而每个内部节点包含了一个决策规则,用于判断不同属性值的记录应该属于哪一个分支。 模型误差 为了检验CHAID决策树模型的性能,我们采用随机抽样的方法将数据集分为训练集和测试集,然后利用训练集来训练模型,并使用测试集来验证模型的预测精度。 最终的分类结果与CHAID决策树模型比较相似,也可提供对土地利用管理的一些启示。
CHAID决策树 在进行完K-means聚类分析后,为了更好地了解各个类别的特征和关系,本文使用CHAID决策树算法对数据集GDP的影响因素进行进一步的分析。 首先使用SPSS Modeler的CHAID节点进行计算,得到以下变量重要性和决策树结果。 变量重要性 在CHAID决策树算法中,我们使用卡方值(χ2)来表征每个变量的重要性。 决策树结果 通过CHAID决策树算法,我们得到了以下的决策树模型。其中每个叶子节点代表一类,而每个内部节点包含了一个决策规则,用于判断不同属性值的记录应该属于哪一个分支。 模型误差 为了检验CHAID决策树模型的性能,我们采用随机抽样的方法将数据集分为训练集和测试集,然后利用训练集来训练模型,并使用测试集来验证模型的预测精度。 最终的分类结果与CHAID决策树模型比较相似,也可提供对土地利用管理的一些启示。
首先,网络游戏的数据在数据库中是以表的形式保存的,每个玩家的数据占用其中的一行或几行.以玩家基本属性为例: 基本表: chainfo 表结构:chaid,chaname,hp,mp,maxhp,maxmp ,missionid ... chaid和missionid一起建立了一个唯一的数据库索引,但可以为它建立两个逻辑索引,chaid和chaid,missionid. 这样,当用户上线时(假设用户id为1001),将导入所有chaid==1001的行,在hash-table中建立一个list,这个list中的每个元素都是一个array,每个array表示一个任 务记录行 ,list就是这个玩家所有任务的集合,如果游戏逻辑需要获取这个玩家的任务列表,可以通过以下key获取"mission,chaid,1001".当然仅有一个行集是不够的, 因为当用户的某个任务数据变动时, hash-table中,这样如果1001号玩家希望改变他的2号任务的数据,则可以发key="mission, chaid,missionid,1001,2"后跟变更数据.来改变2号任务的数据.
AID(Automatic Interaction Detection) 是CHAID的早期版本,或者说一个更一般的方法, 因此在后面说明中不会提及。 CHAID(Chi—squared Automatic Interaction Detection)是AID的后续版本, 在认识的AID的偏差性后, 利用χ2-Test和F-Test结合的方式来选择属性 同时CHAID也意识到二叉树的复杂性, 运行多叉树合并产生更小的决策树。 二叉:CART, QUEST, GUIDE 二叉或者多叉:C4.5,CHAID, CRUISE 是一颗树还是多棵树? 有重要性排序:CART GUIDE 没有重要性排序: C4.5 CHAID QUEST CRUISE 连续值如何划分?
我们使用R语言中的CHAID决策树算法帮助客户对这个数据集进行了分析,并通过可视化展现了影响种花的关键因素。 读取数据 df2=read.xlsx("data.xlsx",sheet = 2) head(df2) 关联分析 cor(df2) CHAID决策树 CHAID(Chi-square Automatic 在每次分割过程中,CHAID使用卡方检验来评估特征和目标变量之间的关联程度。它将特征的不同取值作为自变量,目标变量的不同取值作为因变量,计算卡方值。 CHAID决策树的优点是能够处理离散型和连续型的特征变量,并且可以处理多分类问题。它还可以自动选择最佳的分割点,减少了人工选择特征的主观性。 然而,CHAID决策树在处理高维数据和处理缺失值方面存在一定的局限性。
IBM SPSS Modeler 包含多种决策树模型,包括 C5.0、C&R Tree、Quest、CHAID。 考量到数据特性以及我们希望提供的决策树具有多元分类法,因此我们将建立 C5.0 和 CHAID 两种分类模型。 CHAID 节点设定 将 CHAID 节点与分区节点连结后,我们将于此节点编辑页面中的模型标签下设定相关的变数。由于 CHAID 节点设定较多,以下将挑选我们有修改预设值的变数进行详细介绍。 从结果来看,不论是训练以及测试数据,C5.0 的正确率都高于 CHAID,因此接下来我们会使用 C5.0 结果为主。 CHAID 决策树分析结果 ? 变量重要性 C5.0 与 CHAID 模型的变量重要性如图 13 所示。
首先,网络游戏的数据在数据库中是以表的形式保存的,每个玩家的数据占用其中的一行或几行.以玩家基本属性为例: 基本表: chainfo 表结构:chaid,chaname,hp,mp,maxhp,maxmp ,missionid ... chaid和missionid一起建立了一个唯一的数据库索引,但可以为它建立两个逻辑索引,chaid和chaid,missionid. 这样,当用户上线时(假设用户id为1001),将导入所有chaid==1001的行,在hash-table中建立一个list,这个list中的每个元素都是一个array,每个array表示一个任 务记录行 ,list就是这个玩家所有任务的集合,如果游戏逻辑需要获取这个玩家的任务列表,可以通过以下key获取"mission,chaid,1001".当然仅有一个行集是不够的, 因为当用户的某个任务数据变动时, hash-table中,这样如果1001号玩家希望改变他的2号任务的数据,则可以发key="mission, chaid,missionid,1001,2"后跟变更数据.来改变2号任务的数据.
IBM SPSS Modeler 包含多种决策树模型,包括 C5.0、C&R Tree、Quest、CHAID。 考量到数据特性以及我们希望提供的决策树具有多元分类法,因此我们将建立 C5.0 和 CHAID 两种分类模型。 CHAID 节点设定 将 CHAID 节点与分区节点连结后,我们将于此节点编辑页面中的模型标签下设定相关的变数。由于 CHAID 节点设定较多,以下将挑选我们有修改预设值的变数进行详细介绍。 从结果来看,不论是训练以及测试数据,C5.0 的正确率都高于 CHAID,因此接下来我们会使用 C5.0 结果为主。 CHAID 决策树分析结果 ? 变量重要性 C5.0 与 CHAID 模型的变量重要性如图 13 所示。
在数据准备完成后,文章建立了一个CHAID决策树分类模型,并详细介绍了模型的设定和生成过程。最后,文章分析了决策树模型的结果,揭示了对顾客每次平均消费金额影响最大的变量是购物数量和商品的打折力度。 在 IBM SPSS Modeler 中,主要提供了四种常用的决策树演算法供使用者选择,分别为:C5.0、CHAID、QUEST 以及 C&R Tree 四种。 考量到数据特性以及我们希望提供的决策树具有多元分类法,因此我们将建立 chaid分类模型。 CHAID 节点设定 将 CHAID 节点与分区节点连接后,我们将于此节点编辑页面中的模型标签下设定相关的变数。由于 CHAID 节点设定较多,以下将挑选我们有修改预设值的变数进行详细介绍。
datanew.train$是否流失 ) ## ## 0 1 ## 0 84 15 ## 1 23 589 #变量重要程度 importance(rf) chaid 树 CHAID是一种高效的统计分箱技术,是商业上运用最成功的算法之一。 通过统计检验方法,CHAID评估潜在预测变量的所有取值,合并对目标变量而言在统计意义上同质的取值成为一个分箱,保留那些有异质性的取值为单独的分箱,然后选择最佳的预测,成为决策树的第一个分支,因此每一个子节点都是同质的
为了回答这个问题,我们必须回顾一下主要的DTs算法: CHAID 卡方自动交互检测(CHAID)是最古老的DT算法之一,它产生多路DTs(分裂可以有两个以上分支),适用于分类和回归任务。 当构建分类树时(因变量本质上是分类的),CHAID依赖于卡方独立检验来确定每一步的最佳分割。 在回归树的情况下(因变量是连续的),CHAID依靠f检验(而不是卡方检验)来计算两个总体均值之间的差值。如果F-test是显著的,则创建一个新的分区(子节点)(这意味着分区在统计上与父节点不同)。 CHAID不替换丢失的值,并将它们作为一个单独的类来处理,如果合适,这个类可以与另一个类合并。它还产生了更广泛而不是更深的DTs(多路特性),这可能是不切实际的短,并且很难与实际的业务条件相关联。 虽然CHAID不是最强大的(在检测最小可能的差异方面)或最快的DT算法,但是CHAID易于管理、灵活并且非常有用。 主要的DTs算法还有很多,我们明天继续介绍。 End
在 IBM SPSS Modeler 中,主要提供了四种常用的决策树演算法供使用者选择,分别为:C5.0、CHAID、QUEST 以及 C&R Tree 四种。 考量到数据特性以及我们希望提供的决策树具有多元分类法,因此我们将建立 chaid分类模型。 CHAID 节点设定 将 CHAID 节点与分区节点连结后,我们将于此节点编辑页面中的模型标签下设定相关的变数。由于 CHAID 节点设定较多,以下将挑选我们有修改预设值的变数进行详细介绍。
Dichotomiser 3(ID3) Iterative Dichotomiser 3(ID3) C4.5算法 C4.5 algorithm C5.0算法 C5.0 algorithm 卡方自动交互检测(CHAID ) Chi-squared Automatic Interaction Detection(CHAID) 决策残端 Decision stump ID3算法 ID3 algorithm 随机森林 Random
Dichotomiser 3(ID3) Iterative Dichotomiser 3(ID3) C4.5算法 C4.5 algorithm C5.0算法 C5.0 algorithm 卡方自动交互检测(CHAID ) Chi-squared Automatic Interaction Detection(CHAID) 决策残端 Decision stump ID3算法 ID3 algorithm 随机森林 Random
Dichotomiser 3(ID3) Iterative Dichotomiser 3(ID3) C4.5算法 C4.5 algorithm C5.0算法 C5.0 algorithm 卡方自动交互检测(CHAID ) Chi-squared Automatic Interaction Detection(CHAID) 决策残端 Decision stump ID3算法 ID3 algorithm 随机森林 Random
不过SPSS工具中只包含了CHAID,ECHAID,CART和QUEST,并没有包含C5.0。 根据需要,可以选择不同的算法,比如选择默认的CHAID算法。 第四步:配置其余信息。
Dichotomiser 3(ID3) Iterative Dichotomiser 3(ID3) C4.5算法 C4.5 algorithm C5.0算法 C5.0 algorithm 卡方自动交互检测(CHAID ) Chi-squared Automatic Interaction Detection(CHAID) 决策残端 Decision stump ID3算法 ID3 algorithm 随机森林 Random
C4.5 and C5.0 (different versions of a powerful approach) Chi-squared Automatic Interaction Detection (CHAID
Dichotomiser 3(ID3) Iterative Dichotomiser 3(ID3) C4.5算法 C4.5 algorithm C5.0算法 C5.0 algorithm 卡方自动交互检测(CHAID ) Chi-squared Automatic Interaction Detection(CHAID) 决策残端 Decision stump ID3算法 ID3 algorithm 随机森林 Random