网站首页 > 技术文章 正文
一:模型介绍
1.线性回归的薄弱之处:
1.1. 需要拟合所有的样本点(局部加权线性回归除外)但是当数据拥有众多特征并且特征之间关系十分复杂时,构建全局模型的想法就显得太难了,也略显笨拙。
1.2. 生活中很多问题都是非线性的,不可能使用全局线性模型来拟合任何数据
2.解决方案:
树回归:将数据集切分成很多份易建模的数据,然后利用我们的线性回归技术来建模。如果首次切分后仍然难以拟合线性模型就继续切分。
3.回归树与分类决策树的区别:
3.1. 回顾一下分类决策树的算法
3.1.1. 基于ID3(信息增益):
原理: 每次选取当前最佳的特征来分割数据,并按照该特征的所有可能取值来切分。也就是说,如果一个特征有 4 种取值,那么数据将被切分成 4 份。一旦按照某特征切分后,该特征在之后的算法执行过程中将不会再起作用
缺点:
1. 切分方式过于迅速
2. 不能直接处理连续型特征。只有事先将连续型特征转换成离散型,才能在 ID3 算法中使用。但这种转换过程会破坏连续型变量的内在性质
3.1.2. 基于 C4.5(信息增益比)
(1)只能分类 (2)子节点可以多分
3. 基于基尼系数的CART决策树
(1)CART算法既可以分类,也可以回归 (2)由无数个二叉子节点构成
3.2. 下面谈谈基于基尼系数的CART分类决策树的构建特点
1. 创建分类树递归过程中,CART每次都选择当前数据集中具有最小Gini信息增益的特征作为结点划分决策树。
2. CART算法的二分法可以简化决策树的规模,提高生成决策树的效率。
3. 不能直接处理连续型特征。只有事先将连续型特征转换成离散型
3. CART分类与CART回归的区别
1. 结果不同: 分类得到类别标签, 回归得到数值
2. 划分子节点方法不同: 分类采用gini系数,回归采用最小均方差来决定回归树的最优划分,该划分准则是期望划分之后的子树误差方差最小。
4.CART算法最重要的基础
4.1. 二分(Binary Split):在每次判断过程中,都是对观察变量进行二分。
问题一: 对离散分布、且取值数目>=3的特征的处理:
通过组合人为的创建取值序列并取GiniGain最小者作为树分叉决策点
问题二: 对连续特征的处理
CART算法中要以GiniGain最小作为分界点选取标准
过程如下:
1. 对特征的取值进行升序排序
2. 两个特征取值之间的中点作为可能的分裂点,将数据集分成两部分,计算每个可能的分裂点的GiniGain。优化算法就是只计算分类属性发生改变的那些特征取值
3. 选择GiniGain最小的分裂点作为该特征的最佳分裂点(注意,若修正则此处需对最佳分裂点的Gini Gain减去log2(N-1)/|D|(N是连续特征的取值个数,D是训练数据数目)
4.2. 单变量分割:每次最优划分都是针对单个变量。
4.3. 剪枝策略
1.预剪枝(Pre-Pruning):根据一些原则及早的停止树增长,如树的深度达到用户所要的深度、节点中样本个数少于用户指定个数、不纯度指标下降的最大幅度小于用户指定的幅度等
2.后剪枝(Post-Pruning):通过在完全生长的树上剪去分枝实现的,通过删除节点的分支来剪去树节点,
5.CART算法类别
5.1CART算法用于回归时根据叶子是具体值还是另外的机器学习模型,分为两种
回归树:回归树返回的是“一团”数据的均值,而不是具体的、连续的预测值
模型树:模型树的叶子是一个个机器学习模型,如线性回归模型,所以更称得上是“回归”算法
回归树在选择不同特征作为分裂节点的策略上,与分类决策树思路类似,不同之处在于,回归树叶节点的数据类型不是离散型,而是连续型。决策树每个叶节点依照训练数据表现的概率倾向决定了其最终的预测类别;而回归树的叶节点却是一个个具体的值,从预测值连续这个意义上严格来讲,回归树不能称为回归算法。因为回归树的叶节点返回的是一团训练数据的均值,而不是具体的连续的值。
6.性能评测
6.1我们希望衡量预测值与真实值之间的差距。因此可以通过多种测评函数进行评价。
1.平均绝对误差 Mean Absolute Error, MAE
2.均方误差 Mean Squared Error, MSE
3.R-squared:拟合度检验是对已制作好的预测模型进行检验,比较它们的预测结果与实际发生情况的吻合程度。通常是对数个预测模型同时进行检验,选其拟合度较好地进行试用。常用的拟合度检验方法有:剩余平方和检验、卡方(c2)检验和线性回归检验等。拟合度,也就是“R-squared”。
7.总结
树模型的优点:
1. 树模型可以解决非线性特征问题
2. 树模型不要求对特征标准化和统一量化,即数值型和类别型特征都可以直接被应用在树模型的构建和预测过程中
3. 树模型也可以直观地输出决策过程,使得预测结果具有可解释性
树模型的缺点:
1. 因为它可以解决复杂的非线性拟合问题,所以更容易因为模型搭建过于复杂而失去对新数据预测的精度
2. 树模型从上至下的预测流程会因为数据细微的更改而发生较大的结构变化,因此预测稳定性差
3. 依托训练数据构建最佳的树模型是NP难问题,即在有限时间内无法找到最优解的问题。因此我们使用类似贪婪算法的解法只能找到一些次优解,所以我们经常借助集成模型,在多个次优解中找一个更高的模型性能。
猜你喜欢
- 2024-11-12 电力系统领域,电力系统暂态稳定判别方法
- 2024-11-12 机器学习“司马家族”——树族 机器学习实战树回归
- 2024-11-12 大白话人工智能算法-第27节决策树系列之预剪枝和后减枝(6)
- 2024-11-12 机器学习之图解 GBDT 的构造和预测过程
- 2024-11-12 机器学习算法之随机森林算法通俗易懂版本
- 2024-11-12 决策树之 GBDT 算法 - 回归部分 gbdt和决策树
- 2024-11-12 大数据:如何用决策树解决分类问题
- 2024-11-12 几种特征选择方法的比较,孰好孰坏?
- 2024-11-12 决策树算法之随机森林 决策树和随机森林预测结果
- 2024-11-12 3分钟掌握机器学习中的决策树 机器学习和深度学习决策树
你 发表评论:
欢迎- 11-13第一次养猫的人养什么品种比较合适?
- 11-13大学新生活不适应?送你舒心指南! 大学新生的不适应主要有哪些方面
- 11-13第一次倒班可能会让人感到有些不适应,以下是一些建议
- 11-13货物大小不同装柜算法有哪些?怎么算?区别有哪些?
- 11-13五大基本算法 五大基本算法是什么
- 11-13高级程序员必备:分治算法分享 分冶算法
- 11-13最快速的寻路算法 Jump Point Search
- 11-13手机实时人工智能之「三维动作识别」:每帧只需9ms
- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)