决策树入门
决策树是分类算法中最重要的算法,重点
决策树算法在电信营业中怎么工作?
为什么叫决策树?
因为树的叶子节点是我们最终预判的结果。
决策树如何来?
根据训练样本建立。
问题1:为什么费用变换率放第一个?
根据特征建决策树,会有n棵树,找出最优树。
问题2:当我们特征是连续值的时候,到底从哪里开始切分?
连续值要改为离散的。
问题3:决策树能不能做回归
决策树例子:
不同的决策树对我们判定的效率,速度有影响。
总结:
树的深度:深度的基数是1,上图深度是4。一棵树所有层次的最大值称为深度。
决策树进阶
**决策树一共有五种算法。**前面四个都是有关联的。
Hunt算法:
决策树是一个递归的过程。
2,3解释:当所有的样本点都属于同一个类别的时候,不需要划分(递归结束的一个条件);
5,6解释:属性不能再划分的时候,其类别标记取决于该样本中数据最多的类。如果类别数量相同,注意看一下另一个叶子节点,不能与上一个叶子节点的类别相同,否则,无需划分。
8,解释:如何构建最优决策树。
hunt算法有一个bug:不好选最优划分属性。D是样本集。
9~14解释:对于某一个特征(属性),的每一个值,设置为node并生成一个分支;形成两个样本子集。为空,分支节点为叶子节点,否则,样本子集中数量多的类为返回值。
信息增益–information gain(ID3)

(b)方法更好。
ID3算法主要针对属性选择问题
使用信息增益度选择测试属性。
决策树属于递归树。
信息熵:信息的度量,量化信息的作用。
信息量==不确定性的多少。
比特是位。正常都是2为底
当32支球队夺冠概率相同时,信息熵是5比特;否则小于5比特。
信息熵衡量的公式:

计算信息熵小例子:
Cm是指class label
**0~100%,先变大,后变小。50%的时候最大。**熵为1的时候,不确性最大。熵为0,数据最纯。


信息增益=样本集的信息熵-某属性的信息熵
选择信息增益最大的属性。
(按条件进行划分的信息熵)小例子



按年龄来划分:(年龄的信息增益最大)


实现ID3算法:
import numpy as np
import operator
def creatDataSet():
"""
outlook-> 0:sunny | 1:overcast | 2:rain
temperature-> 0:hot | 1:mild | 2:cool
humidity-> 0:high | 1:normal
windy-> 0:false | 1:true
"""
dataSet = np.array([[0, 0, 0, 0, 'N'],
[0, 0, 0, 1, 'N'],
[1, 0, 0, 0, 'Y'],
[2, 1, 0, 0, 'Y'],
[2, 2, 1, 0, 'Y'],
[2, 2, 1, 1, 'N'],
[1, 2, 1, 1, 'Y']])
labels = np.array(['outlook', 'temperature', 'humidity', 'windy'])
return dataSet, labels
def createTestSet():
"""
outlook-> 0:sunny | 1:overcast | 2:rain
temperature-> 0:hot | 1:mild | 2:cool
humidity-> 0:high | 1:normal
windy-> 0:false | 1:true
"""
testSet = np.array([[0, 1, 0, 0],
[0, 2, 1, 0],
[2, 1, 1, 0],
[0

本文深入讲解决策树算法,包括决策树的基本概念、构建过程及ID3算法的具体实现。通过实例演示了如何根据训练样本建立决策树,并介绍了信息熵、信息增益等关键概念。
最低0.47元/天 解锁文章
1439

被折叠的 条评论
为什么被折叠?



