一、何为决策树
决策树是监督学习算法之一,并且是一种基本的分类与回归方法;决策树也分为回归树和分类树,本文讨论的是分类树。如果了解或者学过数据结构,肯定对"树"这个概念是不陌生的,在此基础上学习掌握决策树也会更加容易,下面通过一个小例子帮助理解何为决策树。
下图所示流程图即为一个决策树,矩形代表判断模块、椭圆形则代表终止模块,表示已经得出结论可以终止程序的运行;左右箭头表示分支,可以通过它到达另一判断模块或终止模块。
这个流程图主要是假想一个择偶系统,之前网上不流行这样一句话嘛,"阿姨我不想努力了",该树就以是否想继续努力为判断依据,如果你不想继续努力了,你可以选择找一个"富婆";反之,你想找一个女朋友一起奋斗,这里又以女孩的性格为判断依据,如果喜欢性格温柔的,即选择"温柔女孩",若喜欢性格高冷的,则选择"酷女孩"。
整个决策树可以看成一个if—then规则,即"如果判断条件,则……",并且需要注意以下三点:
- 根节点到每一个子节点的路径可构成一条规则。
- 每条路径上中间节点的特征对应该条规则的判断条件,叶子节点的标签对应该规则的结论。
- 每一个实例都被有且仅有一条实例覆盖,即实例的特征与路径上的特征一致。
二、决策树的流程
- 收集数据:公开数据源或爬虫等方式。
- 准备数据:树构造算法只适用于标称型数据,因此数值型数据必须离散化。
- 分析数据:可以使用任何方法,构造树完成之后,需检查图形是否符合预期。
- 训练算法:构造树的数据结构。
- 测试算法:计算树模型的正确率。
- 使用算法:此步骤可以适用于任何监督学习算法,决策树可视化能更好地理解数据的内在含义。
构造决策树的数据必须要充足,特征较少的数据集可能会导致决策树的正确率偏低。若数据特征过多,不会选择特征也会影响决策树的正确率。构建一个比较理想的决策树,大致可分为以下三步:特征选择、决策树的生成与决策树的修剪。
三、特征选择
特征选择即决定