欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据分析师养成之路之Python篇:从头学习机器学习之决策树(预)

程序员文章站 2022-07-14 23:18:59
...

引言:
上一节我们实现了k近邻算法,它可以给出很多分类任务,但是,它无法解释数据中所蕴含的信息(我们预测某个样本点,只找它附近的k个点,看它们分别属于哪个类别,从而断定这个样本点就属于该类别,(即所谓的物以类聚),但是我们不知道,预测的样本点在属性上为什么属于该类别?比如在K近邻中,把鸭子和鸟是划为一个类别,它所给出的解释是,因为鸭子周围大部分都是鸟,这种解释,太过于牵强,我们期待的解释是,因为鸭子满足鸟的特征,所以被划分为鸟类)
这种解释,决策树可以做到,决策树可以在不熟悉的数据集合中找出一系列规则,这些规则被创建的过程,就是机器学习的过程 (比如某女生选择了某男生,因为这个男生 ‘很高-很帅-很有钱’,引号中的特征就是找出的规则,而该男生就是满足该规则,所以女生选择了他.)
好了,不多说了,接下来进入正题

信息增益:
划分数据集的最大原则是,将无序的数据变得更加有序
划分前的数据变为划分后的数据,这个数据信息变化的过程称为信息增益.
我们需要计算每个属性的信息增益,找到获得信息增益最高的那个属性,这便是最好的选择.
如何计算信息增益?
这里以人作为实体,他有很多的属性(长相,身高,经济…)
信息:(信息增益中的信息)
-可以理解为属性所包含的特征,比如之前所说的被选上的某男 ,其’很高-很帅-很有钱’ 就是他的3个属性信息(特征)(身高:很高,长相:很帅,经济:有钱)
某个属性的特征定义如下:
数据分析师养成之路之Python篇:从头学习机器学习之决策树(预)

I(x) 用来表示随机变量的信息(某个属性的特征),p(x)是指信息发生的概率

熵(香农熵)(稍微提一句,香农这个人,太聪明了,其智商甚至在爱因斯坦之上)
-熵 是一种对无序程度的量度 ,即越混乱,越无规律,熵值就越大,反之,熵值就越小
- 熵是 信息的期望值(所有特征下的信息的期望值)
数据分析师养成之路之Python篇:从头学习机器学习之决策树(预)
数据分析师养成之路之Python篇:从头学习机器学习之决策树(预)

如上,0<p(x)<=1,所以-l(x)<0 (逐渐增大)     l(x)>0(逐渐减小--0)
H(x)---p(x)=0时 H(x)=0, p(x)=1时,H(x)=0
H(x)---x的图像如下:

数据分析师养成之路之Python篇:从头学习机器学习之决策树(预)

当p=0和p=1时,随机变量(某个属性完全没有不确定性,当p=0.5时,此时随机变量(某个属性的不确定性最大)—p值越接近0.5,熵值越大,越混乱!!!!

条件熵:
数据分析师养成之路之Python篇:从头学习机器学习之决策树(预)
即被选定的(X)属性的熵
X的情况下,Y的概率(X的条件下,Y的条件熵)

以上公式是对条件概率熵求期望
信息增益:
它是决策树算法中用来选择属性的指标,信息增益越大,属性选择性越好
数据分析师养成之路之Python篇:从头学习机器学习之决策树(预)
(即所有属性的信息熵-特定属性的信息熵,它们的差值越小,说明,特定属性的信息熵越大,说明该属性的混乱程度越高,该属性越无序,选择性越差,反之,越好!)