ID3完整代码实现

本文介绍了ID3决策树的基本思想,通过一个IT公司销售笔记本电脑的案例,展示了如何使用决策树对客户进行分类,以提升销售效率。文章提供了一份数据集链接,并用Python实现了ID3算法。
摘要由CSDN通过智能技术生成
  • 决策树的基本思想

    决策树的思想来源非常朴素,每个人大脑中都有类似if-then这样的判断逻辑,if表示条件,then就是选择或决策。在程序设计中,最基本的语句条件分支结构就是if-then结构。而最早的决策树就是利用这类结构分隔数据的一种分类学习方法。

  • 实例背景

    假定某IT公司销售笔记本电脑产品,为了提高销售收入,公司对各类用户建立了统一的调查表,统计了几个月的销售数据之后收集了如图所示的数据。为了提高销售效率,公司希望通过这份数据对潜在客户进行分类。
    (1)如何对客户分类
    (2)如果根据分类的依据,给出对销售人员的指导意见?
    图1

  • 问题分析:

    从第一列开始看这张表格,表格不大,共15行,每行表示列特征取不同值时的统计人数。第一列是统计人数值,第二列是年龄特征,取三个值:老、中、青;第三列是收入,同样取三个值:高、中、低;第四列是学生,取两个值:是、否;第五列是信誉,取两个值:优、良;最后一列是销售结果,可以理解为分类标签,取两个值:买、不买。
    那么对于取任意给定特征值的一个客户(测试样例),算法需要帮助公司将这位客户归类,即预测这位可是是否属于“买”计算机的那一类,还是属于“不买”计算机的那一类,并且给出判断依据。

  • 代码实现

    方法选择:ID3
    数据集下载地址:http://www.threedweb.cn/forum.php?mod=viewthread&tid=1458&highlight=ID3
    语言:python
    一个文件主要定义ID3DTree类来封装算法 :ID3.py
    另外一个文件则是训练决策树:ID3example.py

#!/usr/bin/python

#ID3.py created by lixin 20161118
from numpy import *
import math
import copy
import cPickle as pickle

class ID3DTree(object):
    def __init__(self):
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值