决策树的优缺点
- 优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。既能用于分类,也能用于回归
- 缺点 可能产生过度匹配问题
- 信息熵是衡量信息量多少的,信息熵越大,说明包含信息越多,内部混乱程度越大
- 决策树可以是二叉树或非二叉树
- 使用决策树进行决策的过程就是从根节点开始,测试待分类项目的特征属性,并按照其值选择输出分支
决策树构造
分类解决离散问题, 回归解决连续问题
- 决策树:信息论
- 逻辑斯蒂回归,贝叶斯:概率论
- 构建决策树的关键步骤是分裂属性,所谓分裂属性就是再某个节点处按照某一特征属性的不同划分构造不同的分支,其目标是让各个分裂子集经可能的 纯。
- 尽可能“纯”就是尽量让一个分裂子集中待分类项属于同一类别。分裂属性分为三种不同的情况:
1属性是离散值且不要求生成二叉决策树。此时用属性的每一个划分作为一个分支。
2属性是离散值且要求生成二叉决策树。此时使用属性划分的一个子集进行测试,按照“属于此子集”和“不属于此子集”分成两个分支。
3属性是连续值。此时确定一个值作为分裂点split_point,按照>split_point和<=split_point生成两个分支。
常用的ID3算法
-
划分数据集的大原则是:将无序的数据变得更加有序
-
entropy(熵)
定义信息的期望值
其中p(x)是选择该分类的概率
-
为了计算熵,我们需要计算所有类别,所有可能值包含的信息期望值,通过下面的公式
#一本电子书50万字
#假设50w电子书出现的汉字有7000个,并且等概率分布
#一个汉字最多需要多少比特
p_ch = 1/7000
-(7000 * p_ch * np.log2(p_ch))
熵
- 通常当你测量熵,看到熵的度量,你将看到对数的总和
- 这是产品的对数
- 产品是一堆概率
-m*np.log2(m)-n *np.log2(n)
2.
-a*np.log2