什么是决策树
决策树是机器学习当中的有监督分类算法,是一种利用概率来分析的图解法,从根节点开始按待测样本的特征属性,选择分支,直到叶子节点,其结果即叶子节点中较多数类别的结果
决策树分为两大类:分类树和回归树
决策树常用算法
ID3
C4.5
CART (classification and regression tree)
决策树的构建过程
关键步骤就是分裂属性
遍历所有属性,计算其【信息增益】,对划分结果的纯度作比较,找到最好的分割属性,然后递归
决策树量化“纯度”的三个方法
1 Gini系数
2 信息熵(Entropy)
3 错误率
- 然后计算信息增益,用原来样本的“纯度”,减去分割后样本的“纯度”,信息增益越大,表示样本被分的越好,越多的同类样本被分到一起。
决策树算法的效果评估
和其他分类任务一样,可以利用混淆矩阵来判断,准确率,召回率,精确率等指标
也可以采用叶子节点的“纯度”值来评估效果,即损失函数
ID3算法
内部使用【信息熵】及【信息增益】来进行特征的划分
C4.5算法
是ID3的改进算法,采用【信息增益率】来作为特征划分的标准,在树的构建过程中会对树进行【剪枝】优化操作
CART
classification and regression tree,使用【基尼系数】或【均方差】来量化指标构建决策树,可以进行分类和回归两种模型的构建,必须是【二叉树】,注意:一般只会用cart做回归树,回归结果是叶子节点的均值,用MSE作为评价指标
决策树的优化策略
剪枝:
- 前置剪枝:在构建决策树的过程中减小决策树的深度
- 后置剪枝:在决策树构建完之后,计算叶子节点的剪枝系数
-集成学习:bagging ,boosting,stacking
决策树可视化
安装graphviz服务
安装python的graphviz插件: pip install graphviz
安装python的pydotplus插件: pip install pydotplus