Decision Tree
1. 决策树
决策树是机器学习中最接近人类思考问题的过程的一种算法。通过若干个节点,对特征进行提问并分类(可以是二分类也可以使多分类),直至最后生成叶节点(也就是只剩下一种属性)。每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布。树的最顶层是根结点。
2. 决策树的基本算法
决策树一般的算法有如下三种:
- 信息增益:ID3算法
- 信息增益率:C4.5算法
CART基尼指数
三种算法的共同点和不同点:
共同点:都是贪心算法,自上而下(Top—down approach)
- 不同点:属性选择度量方法不同:C4.5(gain ratio)CRAT (gini index)ID3(information gain)
3. ID3算法的实现
决策树算法实现一般分为三步走,其一:特征的选择,feature selection;其二:生成递归,Decision tree ;其三:防止过拟合,剪枝,pruing;
下面从以上三步,来介绍ID3算法的实现:
4. 信息熵
信息熵用来解决什么问题:如何选择节点。
信息熵如何解决节点的选择问题:
5. 决策树如何避免过拟合(overfitting)
决策树剪枝:决策树算法通过剪枝来避免过拟合。具体有以下两种实现方法:
- 先剪枝
- 后剪枝
6. 决策树优缺点
算法的评估:可有有五个维度来评价一个算法的优劣,准确性、运行速度、强壮性、可规模化、课解释性具体参见
决策树算法的优点:
- 直观、便于理解、小规模数据有效
决策树算法的缺点:
- 处理连续数据不好
- 类别较多时,错误增加的比较快
- 可规模性一般