转载注明出处http://pocore.com/blog/article_491.html
1.运用决策树进行新加入数据分类的整体流程
已知条件:一组包含了若干特征值和对应的最终分类的数据输入:和上面特征值数据一一对应的新的特征值信息
执行算法后得到:输入的这组特征值对应的分类
2.信息熵:数据越无序包含的信息越多,对应的信息熵也越大
信息熵计算公式: 信息增益:由于某个条件的加入使得信息熵减小,该条件带来的信息增益就是这个减小的值
信息增益计算公式:该条件的信息增益=原信息熵-该条件下的信息熵
决策树算法运用信息增益来选择最好的分类划分顺序,比如两个特征A和B,因为A的信息增益更大则先用特征A划分
3.构建决策树的算法执行流程
例子:根据两个海洋生物特征判断该生物是否是鱼类,特征如下
('no surfacing')-不浮出水面是否可以生存
('flippers')-是否有脚蹼
上面的表格数据转换成矩阵表示为:
dataSet=[[1, 1, 'yes'], [1, 1, 'yes'], [1, 0, 'no'], [0, 1, 'no'], [0, 1, 'no']]
两个特征值的标签为
labels=['no surfacing', 'flippers']
构建决策树算法的执行需要先构建相应的梯子
梯子1-计算香农熵(数据集划分时需要用到)
可能的输入情况:
(1.)整个dataSet --得到整个dataSet的香农熵
(2.)在某个条件下dataSet的香农熵,比如no surfacing=1时
这时输入的dataSet为[[1, 1, 'yes'], [1, 1, 'yes'], [1, 0, 'no']]