**********写在前面************************************ ****************************************************** *** *************
本文所有内容均摘自其他前辈。 我只是据此整理了一下,并标注了文章中某一段的出处。 文末附有链接~~~~~~~~~~
**************以下为正文******************************** **** ************************************************** ***** *********
(内容很全面,可以查看右侧目录,每个算法都附有参考代码。)
目录
一、决策树、线性模型和逻辑回归的区别 1、决策树和线性模型
树模型对特征进行逐一处理,而线性模型则对所有特征添加权重以获得新的值。
2.决策树和逻辑回归
逻辑回归将所有特征转换为概率,然后将大于某个概率阈值的特征划分为一类,将小于某个概率阈值的特征划分为另一类; 而决策树则对每个特征进行划分。 另外,逻辑回归只能找到线性分割(除非x是多维映射,否则输入特征x和logit之间的关系是线性的),而决策树可以找到非线性分割。
树模型更接近人类的思维方式,可以产生可视化的分类规则,并且生成的模型是可解释的(可以提取规则)。 树模型拟合的函数实际上是分区之间的阶跃函数。 (以上来自参考链接[1])
2. 决策树
(二叉树示例图,源自[2])
一、基本介绍:
决策树是一种机器学习方法。 决策树是一种树形结构,其中每个内部节点代表对属性的判断,每个分支代表判断结果的输出,最后每个叶子节点代表分类结果。
决策树是一种非常常用的分类方法,属于监督学习()。 所谓监督学习就是给一堆样本。 每个样本都有一组属性和一个分类结果。 即,分类结果是已知的。 然后通过学习这些样本,得到一棵决策树。 这个决策树可以给新的数据 得到正确的分类。
2. 一个简单的例子:
下面通过一个简单的例子来说明决策树的生成过程:
Tree):简单易懂的介绍" src="">
[样本]:学生情况数据
【样本数量】:10个
[变量]:分数、出勤率、回答问题数、作业提交率
[目标变量]:他是否是一个好学生
然后可以使用这组具有分类结果的样本来训练各种决策树。 为了简化过程,我们假设决策树是二叉树,类似于下左图:
Tree):简单易懂的介绍" src="">
Tree):简单易懂的介绍" src="">
(左图) (右图)
通过研究上表中的数据,可以得到A、B、C、D、E的具体值,A、B、C、D、E称为阈值。 当然,你也可以有一种与左边完全不同的树形状,比如右边的。
因此,决策树的生成主要分为以下两个步骤。 这两个步骤通常是通过学习分类结果已知的样本来实现的。
节点的分裂:一般当无法判断某个节点所代表的属性时,将该节点划分为2个子节点(如果不是二叉树,则会划分为n个子节点)。 阈值的确定:选择一个合适的阈值,使分类的错误率(Error)最小。 3.常用决策树算法:
比较常用的决策树算法有ID3、C4.5和CART(And Tree)。 CART的分类效果普遍优于其他决策树。 下面详细介绍各个决策树的构建过程。 (以上来自参考链接[3])
(一)ID3算法
ID3算法首先由. 该算法以信息论为基础,以信息熵和信息增益为衡量标准,实现数据的归纳分类。
1、如何选择特征作为划分数据集的标准?
ID3算法中选择信息增益最大的属性作为当前特征对数据集进行分类。 下面会介绍信息增益的概念,通过不断选择特征来不断划分数据集;
2、如何判断划分结束?
第一是划分的类属于同一类; 二是没有进一步分类的属性。 至此就结束了。