机器学习总结(二):决策树

1、基本概念

基本概念︰训练集,测试集,特征值,监督学习,非监督学习,半监督学习,分类,回归

在这里插入图片描述

在这里插入图片描述

1.1训练集(training set/data)/训练样例(training examples):用来进行训练,也就是产生模型或者算法的数据集。

1.2测试集(testing set/data)/测试样例(testing examples):用来专门进行测试已经学习好的模型或者算法的数据集。
一个运来训练,一个用来学习二者不冲突。

1.3特征向量(features/feature vector) :属性的集合,通常用一个向量来表示, 附属于一个实例,例子中的天气,温度,湿度,风力,水温为属性。

1.4标记(label): C(x)实例类别的标记,即最后预测的结果y,例子中为,最后是否运动,1为是,0为否。
同时:1为是也叫正例;0为否也叫返例。

1.5分类(classification):目标标记为类别型数据(category);结果为是否,结果只有是或否
1.6回归(regression):目标标记为连续性数值(continuous numeric value);例如房价预测,价格是数值型。

例:研究肿瘤良性还是恶性取决于尺寸和颜色的关系。这是一个分类问题。
特征值:肿瘤尺寸,颜色
标记:良性/恶性

1.7三个学习
有监督学习(supervised learning):训练集有类别标记(class label);训练集都知道最后得结果,例训练集里面的例子都知道肿瘤是良性还是恶性。
无监智学习(unsupervised learning):无类别标记(class label);训练集不知道最后结果,即不知道肿瘤是什么性质。
半监督学习(semi-supervised learning):有类别标记的训练集+无标记的训练集。

1.8机器学习步骤框架
把数据拆分为训练集和测试集
用训|练集和训练集的特征向量来训练算法
用学习来的算法运用在测试集上来评估算法(可能要设计到调整参数(parametertuning))用来验证集(validation set)
例:总共110天,100天是训练,10天用来验证。

机器学习中分类和预测算法的评估∶
准确率;速度;强壮性(有一些噪音或数值缺失时能否继续运行);可规模性(数据变成打的数据集时能否继续运行);可解释性

2、决策树

2.1什么是决策树
决策树是一个类似于流程图的树结构∶
其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布。树的最顶层是根结点。如下图
在这里插入图片描述

构造决策树的基本算法
如下图:判断是否会买电脑
在这里插入图片描述
列出决策树
在这里插入图片描述
2.2信息熵(information entropy):
一条信息的信息量大小和它的不确定性有直接的关系,要搞清楚一件非常非常不确定的事情,或者是我们一无所知的事情,需要了解大量信息==>信息量的度量就等于不确定性的多少。

用比特(bit)来衡量信息的多少,计算信息熵公式如下:
在这里插入图片描述
P(x)为事件发生的概率,变量的不确定性越大,熵的值越大。

2.3决策树归纳算法(ID3)
重点:选择属性判断的节点:即该把那个属性放到根节点。
信息增益量(Information Gain) : Gain(A) = Info(D) - lnfor_A(D),通过A来作为节点分类获取了多少信息,Gain(A)为A属性的增益量=没有A属性的原始增益量-加上A属性后的增益量。D为数据集。
信息增益量越大,节点纯度越高,越适合做根节点。


在这里插入图片描述
总共有14个例子,NO是5个,9个是yes,
计算原始数据集D的信息熵:根据上面信息熵计算公式,买电脑占比例9\14,不买电脑占比例5\14,两个情况带入公式相加的:
在这里插入图片描述
以年龄为例,计算加上年龄的信息熵:
14人中按年龄分为三类:youth有5个,senior有5个,middle_aged有4个,所以先计算他们各自在14人中所占比例,再乘以他们的信息熵(这里的信息熵是三个年龄段的信息上计算)
在这里插入图片描述
信息量Gain(age)计算:
在这里插入图片描述
依次计算其他的信息量:
在这里插入图片描述
因为年龄的信息增益量最大,所以选择age作为根节点。
下一个节点依旧重复计算
在这里插入图片描述
总结:
数是以代表训练样本的单个节点开始的(步骤1)。
如果样本都在同一个类,则该结点成为树叶,并用该类标号(步骤2和3),此类少见。
否则,算法使用称为信息增益的基于熵的度量作为后发信息,选择能够最好地将样本分类的属性(步骤6) 。该属性成为该结点的“测试”或"判定"属性(步骤7) 。
所有属性都是分类的,是离散的,若是连续属性必须进行离散化。
对测试属性的每个已知的值,创建一个分枝, 并据此划分样本(步骤8-10)。
算法使用同样的过程,递归地形成每个划分,上的样本判定树。一旦一个属性出现在一个结点上,就不必该结点的任何后代上考虑它(步骤13) 。

递归划分步骤仅当下列条件之一成立停止:
a.给定结点的所有样本属于同一类(步骤2和3)
b.没有剩余属性可以用来进一步划分样本(步骤4)。在此情况下,使用多数表决(步骤5)。

3、决策树应用

3.1学习的库
使用python里面的scikit-learn库。
pip install scikit-learn

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值