机器学习【1】决策树中ID3、C4.5、C5.0、CART、CHAID、QUEST算法_c5.0 chaid-程序员宅基地

技术标签: 机器学习  

在这里插入图片描述

C4.5和C5.0的区别:
C5.0是C4.5应用于大数据集上的分类算法,主要在执行效率和内存使用方面进行了改进。

CHAID算法

  • 根节点的选取:
    每个输入变量和输出变量(标签)做独立性检验,卡方值最大(P值最小)的为父节点,也就是说,跟输出变量相关的显著性最高的变量作为根节点。

  • 节点的分裂:
    一、连续型输入变量:

1、先将输入变量进行区间划分,比如输入变量为价格,价格的最小单位是1元,那么,组距为1,划分区间为[1]、[2]、[3]、…,计算每个区间里面的频数,再算出与输出变量的交叉表。
在这里插入图片描述
在这里插入图片描述

2、计算两两相邻区间和输出变量的卡方值。
比如[1]和[2],如下表,对其进行独立性检验,如果卡方值<临界值,P值大于显著水平,说明价格是1或者是2,对是否购买产品没有影响,则把这两个区间合并,变成[1,2],接下来再对[3],[4]进行检验。
在这里插入图片描述
3、两两检验完之后,在重复这个合并的动作,直到任何两个区间都无法合并(卡方值大于临界值,P小于显著水平)。
比如[1]、[2]合并成[1,2],[3]、[4]合并成[3,4],则对[1,2]和[3,4]进行检验。

4、最后我们得到的所有无法合并的区间,其实就是对连续型变量处理成离散型,根据区间进行分裂。

ps:任何具有太少观测值(用户设定的最小个案数)的区间都将自动跟相邻区间进行合并

二、离散型变量:

如同连续型变量,只是不用对变量进行离散化,直接对变量中两两元素进行卡方检验及合并,直到无法合并为止。如果是顺序型分类变量,只能合并相邻的元素。

  • 算法特点:
    根据独立性检验的特点,要求样本量必须足够大,特别是每个单元中的期望频数不能过小。如果只有两个单元格,每个单元格的期望频数必须是5或者5以上。CHAID算法也应该满足期望频数必须>=5(上面的例子就是一个错误的例子)

  • spss中可控制的值:
    在这里插入图片描述
    在这里插入图片描述

QUEST算法

输入变量:分类型、数值型变量
输出变量:分类变量(两个水平,如果超过两个水平,则先进行预处理,合并成为两个超类)

如果输入变量是定类,采用卡方检验(独立性检验)
如果属性变量为定距,采用F检验(相关性检验)
选择P值最小,且小于显著水平的输入变量作为当前最佳的分支变量。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/IN_Joseph/article/details/108235563

智能推荐

【附源码】计算机毕业设计java学生学科竞赛管理系统设计与实现_学科竞赛管理系统开发与应用-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏20次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:SSM + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。_学科竞赛管理系统开发与应用

matlab错误使用 矩阵维度必须一致,错误使用 + 矩阵维度必须一致-程序员宅基地

文章浏览阅读1.5k次。function dx=shuangzhou(t,x,Tmh,Tmp,Mh,Ihx,Ihy,Ihz,Ihxy,Ihxz,Ihyz,Mp,Ipx,Ipy,...Ipz,Ipxy,Ipxz,Ipyz,g,xh,yh,zh,xp,yp,zp,xhp,yhp,zhp,xch,ych,zch,u,v,w,...p,q,r,theta,varphi,Ch,Cp,Kp)A=p*cos(x(1))*cos(x(2..._错误使用+

Java 异常:捕获异常_java子异常与父异常如何补获-程序员宅基地

文章浏览阅读611次。语法结构 1.捕获异常语法结构: 红框:使用try{}块来抛出异常蓝框:使用try{}块来抛出异常橙框:由于对循环体中的异常进行了捕获处理,所以该行代码可以执行 2.try…catch…finally异常处理结构中,try语句块是必须的, catch和finally语句块至少出现一个。 3.注意:如果try语句块包含的是检查时异常,则在没有..._java子异常与父异常如何补获

【最新Unity3D—Particle System粒子系统】最新Unity2017.2018.2019.2020均适用且超详细_unity particle system 实例化-程序员宅基地

文章浏览阅读299次。方法1.GameObject中选择Particle System,即可在场景中创建粒子系统对象方法2.先create empty ,再到Component中选择Effects后,选择Particle System,即为该空物体添加了粒子系统组件。_unity particle system 实例化

通过EasyX实现Bresenham画线_easyx线条粗细-程序员宅基地

文章浏览阅读1k次,点赞2次,收藏3次。基本上Bresenham画线算法的思路如下:// 假设该线段位于第一象限内且斜率大于0小于1,设起点为(x1,y1),终点为(x2,y2).// 根据对称性,可推导至全象限内的线段.1.画起点(x1,y1).2.准备画下个点。x坐标增1,判断如果达到终点,则完成。否则,由图中可知,下个要画的点要么为当前点的右邻接点,要么是当前点的右上邻接点.2.1.如果线段ax+by+c=0与x=x1..._easyx线条粗细

i5-1035G1和R7 4800U 哪个好_r74800u和i51035g1哪个好-程序员宅基地

文章浏览阅读7.7k次。酷睿i5-1035G1是一款高效的四核SoC,适用于基于Ice -Lake-U 系列的笔记本电脑和超极本 。它集成了四个Sunnycove处理器内核(由于HyperThreading而支持8个线程),主频为1(基本) – 3.7(单核Turbo)GHz。选锐龙i5-1035G1 还是R7 4800U 哪个好 https://list.jd.com/list.html使用Turbo Boost,2个内核可以达到3.6 GHz,所有4个3.3 GHz。据英特尔称,Sunnycove内核的IPC数量增加了1_r74800u和i51035g1哪个好

随便推点

OpenGL SuperBible 7th源码编译记录_superbible7-media github-程序员宅基地

文章浏览阅读765次。OpenGL SuperBible 7th 源码编译_superbible7-media github

Wireshark简单使用-程序员宅基地

文章浏览阅读794次,点赞14次,收藏18次。wireshark下载、安装、使用教程

MXNet 粗糙的使用指南_iou loss mxnet-程序员宅基地

文章浏览阅读288次。MXNet 粗糙的使用指南写于2020年3月24日,最新的CUDA版本为10.2MXNet简介MXNet是一个(跟TF与Torch相比特别小众的)多平台神经网络框架。优点:灵活,多平台,可移植性强。工业界常用框架。缺点:复杂,难以入门,基本没有教材。只能依靠代码来学习代码。框架介绍MXNet现在存在两种界面:symbol与gluon。Symbol的设计思路与T..._iou loss mxnet

iOS对ipa包进行代码混淆《二》 ---代码混淆_ipa包混淆-程序员宅基地

文章浏览阅读1.3k次。接上一篇文章ipa包砸壳,接下来讲一下代码混淆。混淆代码,我们需要生成两个文件confuse.sh和func.list。confuse.sh是一个脚本文件,里边定义了混淆的一些算法,以及需要混淆方法的路径。func.list是我们列举的一些需要混淆的方法。当然系统的方法不能混淆,不然一些库文件方法没办法正确加载。1、首先,终端cd到文件目录,并且利用指令touch生成这两个文件touch confuse.shtouch func.list不出意外,文件目录里已经有这两个文件了。_ipa包混淆

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。