导图社区 树回归算法知识点学习笔记
树回归算法知识点学习笔记:复杂数据的局部性建模、连续和离散型特征的树的构建、将CART算法用于回归、使用Python的Tkinter库创建GUI。
网店详情页排版方法分享~包括中心页面组成,优质详情必备,详情页的排版参考方法。感兴趣的小伙伴可以看看哦~
喷绘色彩基础培训方案,内容涵盖色彩基础,喷绘写真。框架清晰,内容丰富,希望对小伙伴有所帮助哦~
酒窖营销计划方案,包括结果目标,过程目标。框架清晰,内容丰富,有需要的小伙伴可以看看哦~ 可供大家参考,借鉴,交流。
社区模板帮助中心,点此进入>>
英语词性
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
民法分论
树回归算法知识点学习笔记
复杂数据的局部性建模
树回归
优点
可以对复杂和非线性数据建模
缺点
结果不易理解
适用数据类型
数值型
标称型
一般方法
收集数据
任意方法
准备数据
需要数值型数据
标称型需转为二值型
分析数据
绘出数据的二维可视化显示结果
以字典方式生成树
训练算法
大部分时间花费在叶节点树模型的构建上
测试算法
使用测试数据上的R2值分析模型效果
使用算法
使用训练出的树做预测
预测结果还可以用来做很多事
ID3
问题
切分过于迅速
不能直接处理连续型特征
CART
二元切分法
每次把数据集分为两份
易于在树构建过程中进行调整以处理连续型特征
节省了构建时间
连续和离散型特征的树的构建
存储树的字典
包含
待切分的特征
待切分的特征值
右子树
不再需要切分时,可以是单个值
左子树
与右子树类似
伪代码
找到最佳的待切分特征
如果该节点不能再分,存为叶节点
执行二元切分
右子树调用createTree()
左子树调用createTree()
将CART算法用于回归
回归树
叶节点为常数值
连续型数据的混乱度
计算所有数据的均值
计算每条数据的值到均值的差值
平方/绝对值
构建树
chooseBestSpilt()
用最佳方式切分数据集
生成相应的叶节点
regLeaf()
生成叶节点
目标变量的均值
regErr()
var()
均方差函数
对每个特征
对每个特征值
将数据集切分成两份
计算切分的误差
如果当前误差小于最小误差,则当前切分设为最佳切分并更新最小误差
返回最佳切分的特征和阈值
不会切分的时机
所有值相等
切分后效果提升不大
两个切分后的子集大小,某个小于用户定义的切分最小样本数
运行代码
树剪枝
剪枝
通过降低决策树的复杂度避免过拟合的过程
预剪枝
算法对输入参数tolN和tolS非常敏感
后剪枝
思想
需要将数据集分为测试集和训练集
首先,指定参数,是构建出的树足够大、足够复杂,便于剪枝
然后,从上而下找到叶节点,用测试集判断合并是否能降低测试误差,是则合并
基于已有的树切分数据
如果存在任一子集是一棵树,则在该子集递归剪枝过程
计算将当前两个叶节点合并后的误差
计算不合并的误差
如果合并后降低误差的话,则合并
塌陷处理
返回树平均值
结果
大量节点被剪枝,但没剪枝成两部分
说明后剪枝可能不如预剪枝有效
应同时使用两种剪枝技术
模型树
叶节点是分段线性函数
可解释性
更高的预测准确度
算法关键
误差的计算
对于给定的数据集,先用线性模型拟合
然后计算真实的目标值与预测值的差值
将这些差值的平方求和得到所需的误差
哪种模型好?
计算相关系数R2
使用Python的Tkinter库创建GUI
用Tkinter创建GUI
集成Matplotlib和Tkinter
TkAgg
从图像创建光栅图