决策树的几个常用算法: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、对中间值确实不敏感
缺点:
可能会产生过度匹配问题