在机器学习算法中,决策树算法是一种经常使用的预测算法。今天我们通过介绍决策树算法的实现和决策树算法的优缺点,来了解一下决策树算法。
1.算法概述
决策树算法是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法。
分类算法是利用训练样本集获得分类函数即分类模型(分类器),从而实现将数据集中的样本划分到各个类中。分类模型通过学习训练样本中属性集与类别之间的潜在关系,并以此为依据对新样本属于哪一类进行预测。
决策树算法是直观运用概率分析的一种图解法,是一种十分常用的分类方法,属于有监督学习。
决策树是一种树形结构,其中每个内部结点表示在一个属性上的测试,每个分支代表一个测试输出,每个叶子结点代表一种类别。
决策树学习是以实例为基础的归纳学习,它采用自顶向下的递归方法,其基本思想是以信息熵为度量构造一颗熵值下降最快的树,到叶子结点处的熵值为零,此时每个叶子节点中的实例都属于同一类。
决策树学习算法的最大优点是,它可以自学习,在学习的过程中不需要使用者了解过多的背景知识,只需要对训练实例进行较好的标注,就能够进行学习。
2.算法种类
ID3算法
- ID3算法中根据信息论的信息增益评估和选择特征。每次选择信息增益最大的候选特征,作为判断模块。
- 信息增益与属性的值域大小成正比。属性取值种类越多,越有可能成为分裂属性。
- ID3也不能处理连续分布的数据。
C4.5算法
- C4.5算法使用信息增益率代替信息增益,进行特征选择,克服了信息增益选择特征时偏向于特征值个数较多的不足。
- C4.5算法具体算法步骤与ID3类似。
- C4.5能够完成对连续属性的离散化处理,能够对不完整数据进行处理。
C5.0算法
- C5.0算法是Quinlan在C4.5算法的基础上提出的商用改进版本,目的是对含有大量数据的数据集进行分析。
- C5.0算法与C4.5算法相比有以下优势:
- 决策树构建时间要比C4.5算法快上数倍,同时生成的决策树规模也更小,拥有更少的叶子结点数
- 使用了提升法(boosting),组合多个决策树来做出分类,使准确率大大提高
- 提供可选项由使用者视情况决定,例如是否考虑样本的权重、样本错误分类成本等
CART算法