机器学习--决策树

一、决策树简介

决策树(DecisionTree),又称为判定树,是另一种特殊的根树,它最初是运筹学中的常用工具之一;之后应用范围不断扩展,目前是人工智能中常见的机器学习方法之一。决策树是一种基于树结构来进行决策的分类算法,我们希望从给定的训练数据集学得一个模型(即决策树),用该模型对新样本分类。决策树可以非常直观展现分类的过程和结果,决策树模型构建成功后,对样本的分类效率也非常高。

二、决策树的优缺点

优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。
缺点:可能会产生过度匹配问题。

三、决策树的一般流程

(1)收集数据:可以使用如何方法。
(2)准备数据:树构造算法只适用于标称型数据,因此数值型数据必须离散化。
(3)分析数据:可以使用任何方法,构造树完成之后,我们应该检查图形是否符合预期。
(4)训练算法:构造树的数据结构。
(5)测试算法:使用经验树计算错误率。
(6)使用算法:此步骤可以适用于任何监督学习算法,而使用决策树可以更好地理解数据的内在          含义。

四、信息增益

样本有多个属性,该先选哪个样本来划分数据集呢?在划分数据集之前之后信息发生的变化称为信息增益,获得信息增益最高的属性就是最好的选择。

1.信息熵

样本集合D中第k类样本所占的比例p_k(k=1,2,…,|K|),|K|为样本分类的个数,则D的信息熵为:

Ent(D)的值越小,则D的纯度越高。换句话说,信息熵越小,信息增益越大。

2.信息增益

使用属性a对样本集D进行划分所获得的“信息增益”的计算方法是,用样本集的总信息熵

减去属性a的每个分支的信息熵与权重(该分支的样本数除以总样本数)的乘积。

通常,信息增益越大,意味着用属性a进行划分所获得的“纯度提升”越大。我们的目标就是寻找使信息增益最大的属性作为划分的依据。

五、决策树的具体实现

1.收集数据

我收集的数据依旧是集美大学计算机工程学院acm比赛校选的数据,其中每列的属性分别是成绩、用时、年级、奖项。

  

2.准备数据

由于我所用的数据很明显是连续型的,我们需要将数据离散化。这里我随机挑选15个数据进行离散化。 其中将成绩、用时、年级分为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值