机器学习--决策树学习(超级完整!包含python代码!)

 2024-03-21 03:10:40  阅读 0

**********写在前面************************************ ****************************************************** *** *************

本文所有内容均摘自其他前辈。 我只是据此整理了一下,并标注了文章中某一段的出处。 文末附有链接~~~~~~~~~~

**************以下为正文******************************** **** ************************************************** ***** *********

(内容很全面,可以查看右侧目录,每个算法都附有参考代码。)

目录

一、决策树、线性模型和逻辑回归的区别 1、决策树和线性模型

树模型对特征进行逐一处理,而线性模型则对所有特征添加权重以获得新的值。

2.决策树和逻辑回归

逻辑回归将所有特征转换为概率,然后将大于某个概率阈值的特征划分为一类,将小于某个概率阈值的特征划分为另一类; 而决策树则对每个特征进行划分。 另外,逻辑回归只能找到线性分割(除非x是多维映射,否则输入特征x和logit之间的关系是线性的),而决策树可以找到非线性分割。

树模型更接近人类的思维方式,可以产生可视化的分类规则,并且生成的模型是可解释的(可以提取规则)。 树模型拟合的函数实际上是分区之间的阶跃函数。 (以上来自参考链接[1])

2. 决策树

决策树算法chaid_决策树c语言_c语言决策树算法

(二叉树示例图,源自[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、如何判断划分结束?

第一是划分的类属于同一类; 二是没有进一步分类的属性。 至此就结束了。

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码