决策树的几个常用算法:ID3, C4.5和CART算法

原理:

要对数据进行分类,涉及到通过选取什么样的特征对数据进行分类,比如将柚子和西瓜进行分类,可以选取(大小、颜色、甜度等特征)

决策树的功能就是判断使用哪个特征,然后选取他认为最好的特征对数据进行分类。

那么他是如何选取最好的特征呢?

对于ID3(选取信息增益最大的特征),C4.5(选择信息增益率最大的特征),CART(选择基尼值最小的特征)

1)ID3信息增益计算:

baseEnt = -Σ pi * log2 (pi)

InfoGain =  baseEnt - Σ pj * ent(j)  # 信息增益:j 表示以此数据特征来分类后的其他特征(需剔除j数据)

2)C4.5信息增益率计算:

信息增益率=信息增益 / Σ pj*log2(pj)

3)gini系数的计算

gini = -Σ pj 2


 

通常不会一次就能把数据进行分类(比如橘子和柠檬),可能需要不断地计算当前数据的信息熵(增益率、基尼值)选取最好的特征然后分类迭代下去,直到达到设置的条件(比如一定的树深度)。

 

优点:

1、计算复杂度不高

2、结果易于理解

3、对中间值缺失不敏感

 

缺点:

可能会产生过度匹配问题

posted on 2020-03-15 14:35  jaysonteng  阅读(886)  评论(0编辑  收藏  举报