机器学习实战(三)决策树ID3:树的构建和简单分类

本文聚焦机器学习实战中的ID3决策树算法,介绍算法实现过程,并提供简单的编程示例。同时,分享了如何使用Pycharm学生邮箱注册获取专业版免费试用一年的经验。
摘要由CSDN通过智能技术生成
说明:主要参考 机器学习实战之决策树,里面代码的实现和详细的注释,是一个关于机器学习实战的不错的学习资料,推荐一波。出于编程实践和机器学习算法梳理的目的,按照自己的代码风格重写该算法,在实现的过程中也很有助于自己的思考。为方便下次看时能快速理解便通过截图的方式截取了个人认为比较关键的内容,推荐看原链接,自己在代码实现过程中会留下一些思考,也欢迎交流学习。

还有个写得更为详细的资料可以参考一下:ID3算法实现,每一步都有很详细的计算。

相关知识点

下面两个图是自己以前看决策树的时候整的PPT里面的两页,主要是说的是ID3和相关概念,至于C4.5,CART,GBDT, RandomForest等内容就不贴上来了,ID3的原理还是很简单的,可以找到很多其他资料,这里呢主要还是侧重于编程实践。




ID3算法实现

下面代码的主要参考链接在上面已经给出了,详细的分析建议看原链接,这份代码应该算是最最最simple的一个例子了,没有剪枝和非离散化的数据处理,更没有不完整数据的处理,只是简单的构建几个数据实现ID3树的构建和分类决策。

#  __author__ = 'czx'
# coding=utf-8
"""
Description:
    ID3 Algorithm for fish classification task .
"""
from numpy import *
from math import log

def createData():
    """
    :return:
        data: including feature values and class values
        labels: description of features
    """
    data = [[1, 1, 'yes'], [1, 1, 'yes'], [1, 0, 'no'], [1, 0, 'no'], [0, 1, 'no']]
    labels = [
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值