机器学习经典分类算法 —— C4.5算法(附python实现代码)

理论介绍

什么是分类

  • 分类属于机器学习中监督学习的一种。模型的学习在被告知每个训练样本属于哪个类的“指导”下进行,新数据使用训练集中得到的规则进行分类。
    874b0eb1gy1fznh9w9bkkj21bb0lpdjp.jpg

分类的步骤

874b0eb1gy1fznhce62gej219w0g7q6r.jpg
874b0eb1gy1fznhce2eapj21930my786.jpg
874b0eb1gy1fznhce1axkj216i0hqdjs.jpg
874b0eb1gy1fznhce2pr0j21670myq6d.jpg

什么是决策树

874b0eb1gy1fznhdty6snj217e0najuu.jpg

决策树归纳

874b0eb1gy1fznhejo49mj21aq0kkq7w.jpg
874b0eb1gy1fznhejh77dj21aj0dn0uu.jpg
874b0eb1gy1fznhejssrxj21980msgs1.jpg
874b0eb1gy1fznhejsansj21aq0medjz.jpg

信息增益

相关理论基础

874b0eb1gy1fznhf5v2dqj219z0n579q.jpg

计算公式

874b0eb1gy1fznhfpkhl2j21am0n4jx6.jpg

ID3

874b0eb1gy1fznhh84f09j21a80nxtca.jpg
874b0eb1gy1fznhhp68bij217c0nbdjx.jpg
874b0eb1gy1fznhhp6rqlj217m0mxtcc.jpg
874b0eb1gy1fznhhp1ldrj212t0jiwg2.jpg
注:生成的决策树有误,fair对应的应该是yes,excellent对应的应该是no

C4.5

874b0eb1gy1fznhjljoypj21bp0ledla.jpg

python实现

  • GitHub地址
  • 不足之处:目前只能处理离散值,并且还没有添加从文件中读取数据集的功能。但是基本上算法的大部分都实现了,以后到了具体应用场景时可以继续调整后使用。

参考资料

  • 理论部分参考:福州大学数学与计算机科学学院苏雅茹老师数据挖掘课上使用的课件(一并上传到Github了,课件内还包括其他一些常用分类算法,例如贝叶斯算法)
  • 代码部分参考:Python实现C4.5(信息增益率)
  • 如有侵权,请联系我删除

转载于:https://www.cnblogs.com/multhree/p/10334400.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值