程序员深度学习

Python 机器学习的利器(F)

2019-07-27  本文已影响44人  zidea

在生活少不了决策,大大小小的决策充满了我们的生活,也决定了我们成长的轨迹。我们花在选择和决策上时间和精力也不少。



介绍对象我想每个人都经历过,为了给你留下美好回忆,在是否决定相见前,我们会问介绍人一系列问题,这些问题帮助我们做出是否见对方的决定。首先我们会问年龄,如果满足我们继续询问,知道的到结论跳出询问做出决定。

决策树

为了要将表格转为一棵树,在决策树中每一个结点表示特征,每一条连线表示决策规则,叶节点表示输出。

评价决策树好快

不纯度越低决策树的拟合度就越好

决策树的特征选择算法

决策树学习的关键在于选择最优的划分属性,所谓最优划分属性,对于二元分类而言,就是尽量使用划分的样本同属于一类别。

问题

  1. 简述决策树的基本原理
    通过一系列问题(分类规则)后来判断数据的分类
  2. 简述如何构建决策树
    信息增益率有什么优缺点
    如何对决策树进行剪裁

决策树的算法

什么是决策树

是一个类似流程图的树结构,树上每一个节点表示对属性上的测试,每一个分支代表一个属性输出,每一树叶节点代表类或类分布

什么样数据适合决策树

比较适合分析离散数据。如果数据是连续要先转为离散数据再做分析

熵(entropy)概念

1948 年,香农提出了信息熵的概念
一条信息的信息量大小和他的不确定性有直接的关系,要搞清楚一件非常不确定的事情,需要大量信息,信息量的度量就是等于不确定性的多少。

信息熵计算

信息熵公式

一个普通骰子 如果 1-6 的概率都是 1/6

import math
a = -(1.0/6.0 * math.log((1.0/6.0),2))*6.0
print(a)
2.58496250072

第二种骰子,投掷 6 的概率 50%,投掷 1 - 5 概率为 10% 的情况进行计算,5 种情况为 10% 而 50% 为 6 一种情况,乘以 5 是对这几种情况进行求和

-(1.0/10.0 * math.log(1.0/10.0,2) * 5.0) - 1.0/2.0 * math.log(1.0/2.0,2)

有 5 骰子的概率为 10% ,

2.1609640474436813

投掷 6 概率是 100%,也就是说明信息熵为 0 ,表示确定性为 100%。

-(1.0 * math.log(1.0,2))
0

信息熵是可以度量不确定,信息熵越大不确定性越大。


上一篇 下一篇

猜你喜欢

热点阅读