更新、更全的《机器学习》的更新网站,更有python、go、数据结构与算法、爬虫、人工智能教学等着你:http://www.javashuo.com/article/p-vozphyqp-cm.htmlpython
决策树总结
1、ID3算法、C4.5算法和CART算法比较
ID3 |
分类 |
多叉树 |
信息增益 |
不支持 |
不支持 |
不支持 |
C4.5 |
分类 |
多叉树 |
信息增益比 |
支持 |
支持 |
支持 |
CART |
分类、回归 |
二叉树 |
基尼指数、均方差 |
支持 |
支持 |
支持 |
2、决策树优缺点
2.1 优势
- 简单明了,生成的决策树很直观,在逻辑上能够获得很好的解释,属于白盒模型。
- 一般状况下不须要进行数据预处理。
- 使用决策树预测的代价是\(O(\log_2m)\quad\text{m为样本数}\)。
- 不少算法只是专一于离散值或者连续值,而决策树既能够处理离散值也能够处理连续值。
- 能够处理多维度样本的分类问题。
- 可使用交叉验证的剪枝方法来选择模型,很大程度的提升了泛化能力。
- 对于敏感点的容错能力强。
2.2 缺点
- 决策树算法很是容易过拟合,进而致使泛化能力不强。(能够经过设置节点最少样本数量和限制决策树层数来改进)
- 决策树会由于样本发生一点的改动,进而致使树结构发生剧烈变化。(可使用集成学习生成随机森林、Xgboost等方法改善)
- 一般状况下经过启发式方法寻找最优的决策树,但因为该问题是一个NP难的问题,因此很容易获得局部最优解。(可使用集成学习生成随机森林、Xgboost等方法改善)
- 决策树很难学习比较复杂的关系,例如异或。(一般换个分类器解决该类问题,例如使用神经网络分类)
- 决策树容易偏向于征样本比例偏大的特征。(能够适度的调节样本的权重)