机器学习入门-决策树(二)

这篇文章主要是带来机器学习西瓜书决策书这一章的编程习题。相比机器学习实战中的对应章节有了一定的难度上的提升,主要体现在数据集中加入了连续值,对于连续值的处理不能够和离散值同等对待,否则其不同值各自分为一类显然信息增益最大,但这样在实际的应用中并没有意义甚至适得其反。这就涉及到了对于连续值的处理。

连续值处理

最简单的策略就是采用二分法对于连续值进行处理,这正是C4.5决策树算法中采用的机制。
这里写图片描述

习题4.3

数据集:

青绿,蜷缩,浊响,清晰,凹陷,硬滑,0.697,0.46,好瓜
乌黑,蜷缩,沉闷,清晰,凹陷,硬滑,0.744,0.376,好瓜
乌黑,蜷缩,浊响,清晰,凹陷,硬滑,0.634,0.264,好瓜
青绿,蜷缩,沉闷,清晰,凹陷,硬滑,0.608,0.318,好瓜
浅白,蜷缩,浊响,清晰,凹陷,硬滑,0.556,0.215,好瓜
青绿,稍蜷,浊响,清晰,稍凹,软粘,0.403,0.237,好瓜
乌黑,稍蜷,浊响,稍糊,稍凹,软粘,0.481,0.149,好瓜
乌黑,稍蜷,浊响,清晰,稍凹,硬滑,0.437,0.211,好瓜
乌黑,稍蜷,沉闷,稍糊,稍凹,硬滑,0.666,0.091,坏瓜
青绿,硬挺,清脆,清晰,平坦,软粘,0.243,0.267,坏瓜
浅白,硬挺,清脆,模糊,平坦,硬滑,0.245,0.057,坏瓜
浅白,蜷缩,浊响,模糊,平坦,软粘,0.343,0.099,坏瓜
青绿,稍蜷,浊响,稍糊,凹陷,硬滑,0.639,0.161,坏瓜
浅白,稍蜷,沉闷,稍糊,凹陷,硬滑,0.657,0.198,坏瓜
乌黑,稍蜷,浊响,清晰,稍凹,软粘,0.36,0.37,坏瓜
浅白,蜷缩,浊响,模糊,平坦,硬滑,0.593,0.042,坏瓜
青绿,蜷缩,沉闷,稍糊,稍凹,硬滑,0.719,0.103,坏瓜

对应的代码:

import math
import matplotlib
import matplotlib.pyplot as plt
from numpy import *


def getDataSet():
    with open('ex4-3.txt','r') as f:
        lines=f.readlines()
        DataSet=[]
        LabelSet=[]
        index=0
        for i in lines:
            LabelSet.append(i.strip().split(',')[-1])
            temp=[];temp.extend(i.strip().split(',')[:-3]);temp.append(float(i.strip().split(',')[-<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值