本文python决策树使用sklearn.tree.DecisionTreeRegressor模型来进行总结。首先我们要了解python机器学习中决策树用来做什么的,然后清楚的知道算法原理,最后才能将决策树算法应用到实际场景当中。
决策树,就是一种把决策节点画成树的辅助决策工具,一种寻找最优方案的画图法。画决策树有三步:第一步,写出你想要实现的目标;第二步,在目标的右侧写出实现这个目标的所有方案;第三步,评估每个方案的结果,以及这些结果实现的概率;
决策树介绍
1.什么是决策树
决策树字面意思可以拆分为决策与树,数有主干、枝干、叶这些部分。我们可以想象一下一棵树是什么样的,决策数据就是由根节点开始一步步走到叶子节点。下图就是常见的决策树的样子。
最上面的圆点我就是开始的位置我们叫它根节点,继续往下判断分类的圆点我们叫它分支节点,最后没法再分的方块叫叶子节点。所以我们通常理解的根节点:第一个选择点;非叶子节点与分子:为中间的过程;叶子节点:为最终的决策分类结果。
2.决策树能做什么
决策树是将所有的数据都落到叶子节点,既可以做分类也可以做回归(本文主要讨论分类问题)。在分类问题中,表示基于特征对实例进行分类的过程,可以认为是if-then的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。所以我们可以使用决策树进行一些基于样本而获取目标需求的概率分布情况,以下举一些简单的例子来说明:
有一家电商平台老板想提高产品销量,从可能会影响销量的因子:天气、时间、促销活动来分析是否对销量高低有影响,影响有多大。从而决策是否在哪些节点投入更多的资源来扩大销量。那么这种场景我们就把天气、时间、促销活动这三个作为训练样本,样本对应的销量高低作为目标标签。通过决策树就能很快的画出这每个节点的对于目标标签的概率,最终通过结果帮助决策应该用什么方式来提高销量。
3.决策树算法分类
决策树算法 | 算法描述 |
---|---|
ID3算法 | 其核心是在决策树的各级节点上,使用信息增益方法作为属性的选择标准,来帮组确定生成每个节点时所采用的合适属性 |
C4.5算法 | C4.5决策树生产算法对于ID3算法的重要改进是使用信息增益率来选择节点属性。C4.5算法可以克服ID案发存在的不足:ID3算法只使用与离散的描述属性,而C4.5算法即能够处理离散的描述属性,也可以处理连续的描述属性 |