跟我一起数据挖掘(23)——C4.5

简介: C4.5简介 C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法。它的目标是监督学习:给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类。C4.5的目标是通过学习,找到一个从属性值到类别的映射关系,并且这个映射能用于对新的类别未知的实体进行分类。

C4.5简介

C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法。它的目标是监督学习:给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类。C4.5的目标是通过学习,找到一个从属性值到类别的映射关系,并且这个映射能用于对新的类别未知的实体进行分类。

由于ID3算法在实际应用中存在一些问题,于是Quinlan提出了C4.5算法,严格上说C4.5只能是ID3的一个改进算法。

C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:

1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;

2) 在树构造过程中进行剪枝;

3) 能够完成对连续属性的离散化处理;

4) 能够对不完整数据进行处理。

C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。此外,C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。

C4.5的分类器示意图

我们以一个很典型被引用过多次的训练数据集D为例,来说明C4.5算法如何计算信息增益并选择决策结点。

无标题

由其中四个属性来决定是否进行活动还是取消活动。上面的训练集有4个属性,即属性集合A={OUTLOOK, TEMPERATURE, HUMIDITY, WINDY};而类标签有2个,即类标签集合C={Yes, No},分别表示适合户外运动和不适合户外运动,其实是一个二分类问题。

C4.5的优缺点及算法流程

C4.5算法的优点是:产生的分类规则易于理解,准确率较高。

C4.5算法的缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。

C4.5的算法流程:

image

DEMO示例

算法测试:

https://github.com/zongtui/zongtui-Algorithm-test

目录
相关文章
|
存储 弹性计算 对象存储
预留空间是什么?阿里云OSS对象存储预留空间说明
阿里云OSS预留空间是预付费存储产品,提供折扣价以锁定特定容量,适用于抵扣有地域属性的Bucket标准存储费用及ECS快照费。通过购买预留空间,如500GB通用预留+100GB标准-本地冗余存储包,用户可优化成本。
559 4
|
运维 监控 数据可视化
ARMS应用监控
【8月更文挑战第25天】
373 1
|
存储 弹性计算 大数据
2024年阿里云服务器租用价格表(最新收费标准及活动价格表)
阿里云服务器价格:我们先来看下阿里云服务器的价格组成,云服务器ECS是由CPU内存配置+公网带宽价格+磁盘存储价格组成。事实上,阿里云官方是有官方报价表的,只是有的新手用户没有找到而已。在实际购买的时候,大部分用户还是会通过阿里云推出的各种活动去购买,为什么呢?一是活动内所提供的云服务器实例和配置已经足可以满足绝大部分个人和企业用户建站、部署APP等常见的应用场景需求,二是通过活动购买可以便宜很多,大大的节约了我们的上云成本。阿里云服务器从地域上来区分可分为ECS云服务器和轻量应用服务器,从活动内容来区分又可分为秒杀云服务器和新用户特惠云服务器,下面是截止目前,阿里云服务器最新的秒杀及新用户特
345 0
|
JavaScript 前端开发
自定义事件的触发 dispatchEvent 的用法
自定义事件的触发 dispatchEvent 的用法
|
数据采集 网络安全 UED
揭秘豆瓣网站爬虫:利用lua-resty-request库获取图片链接
本文探讨了如何使用Lua的lua-resty-request库和爬虫代理IP技术从豆瓣网站高效获取图片链接。通过定制请求头部和代理服务,可以应对反爬虫机制,提高爬虫的稳定性和匿名性。示例代码展示了一种方法,但实际应用需考虑版权和法律法规。
269 2
揭秘豆瓣网站爬虫:利用lua-resty-request库获取图片链接
|
SQL 索引
SQL查看表字段信息如:字段名、字段类型、字段精度、字段大小、索引、主键等
表名、字段名、字段类型、字段精度、字段大小 字段名、是否为主键、字段类型、字段大小、索引名
1570 0
SQL查看表字段信息如:字段名、字段类型、字段精度、字段大小、索引、主键等
|
算法 安全 数据安全/隐私保护
浅浅学习一下消息认证码MAC(Message Authentication Code)
浅浅学习一下消息认证码MAC(Message Authentication Code)
603 0
|
数据采集 分布式计算 数据可视化
阿里云大数据ACA及ACP复习题(251~260)
本人备考阿里云大数据考试时自行收集准备的题库,纯手工整理的,能够覆盖到今年7月份,应该是目前最新的,发成文章希望大家能一起学习,不要花冤枉钱去买题库背了,也希望大家能够顺利通关ACA和ACP考试。
|
Cloud Native NoSQL Java
微服务治理技术白皮书重磅发布
在微服务大行其道的今天,大家越来越认同业务的生产落地离不开微服务的维护。但是业内对微服务的认知却是五花八门各不相同,未曾统一标准和共识。
微服务治理技术白皮书重磅发布
|
存储
MongoTemplate 多表查询中 将String转换为ObjectId
MongoTemplate 多表查询中 将String转换为ObjectId
364 0