版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
附预测数值型数据:回归拟合直线局部加权线性回归理解数据权衡偏差和方差前言预测联系型数据“回归可以做任何事情”最近有新意的应用:预测名人的离婚率先介绍线性回归再引入局部平滑技术分析如何更好的拟合数据在欠拟合情况下的缩减技术探讨偏差和方差的概念用线性回归找到最佳拟合直线线性回归优点:结果易于理解,计算上不复杂缺点:对非线性的数据拟合不好回归的目的是预测数值型目标值:找到目标的计算公式预测某人的汽车功率:HorsePower=0.0015*annualSalary-0.99*hoursListeningToRadio以上为回归方程0.0015和-0.99为回归系数求回归系数的过程即为回归——本次只讨论线性回归回归的一般方法收集数据按输入要求整理数据数据可视化以直观分析数据训练算法:找到回归系数测试算法:使用R2或者预测值和数据的拟合度来分析模型的效果使用算法:给定输入的时候预测输出基本算法
例:对以下点集进行拟合importnumpyasnplstDt=[]lstLbl=[]#lbl:labelfr=open(".\\ex0.txt")forlineinfr.readlines():arLn=line.strip().split()lstDt.append([float(arLn[0]),float(arLn[1])])lstLbl.append(float(arLn[2]))计算回归:xMat=np.mat(lstDt)yMat=np.mat(lstLbl).TxTx=xMat.T*xMatifnp.linalg.det(xTx)==0.0:print"Thisismatrixissingular,cannotdoinverse!"else:ws=xTx.I*(xMat.T*yMat)绘图plt.figure()lstX=[dt[1]fordtinlstDt]plt.scatter(lstX,lstLbl)lstY=[ws[0,0]+ws[1,0]*xforxinlstX]plt.plot(lstX,lstY)如何如何评判模型的好坏?不同数据集:分别做线性回归,得到完全一样的两个模型如何比较回归效果?计算yHat和y的相关系数:arrYHat=np.array(lstY)arrY=np.squeeze(np.array(yMat))printnp.corrcoef(arrY,arrYHat)局部加权线性回归
平滑值k=1平滑值k=0.01平滑值k=0.003代码:算法实现xMat=np.mat(lstDt)yMat=np.mat(lstLbl).Tm=xMat.shape[0]k=0.01lstY=[]foriinrange(m):wgt=np.mat(np.eye(m))dtTst=xMat[i,:]forjinrange(m):difMat=dtTst-xMat[j,:]wgt[j,j]=np.exp(difMat*difMat.T/(-2*k**2))xTx=xMat.T*(wgt*xMat)ifnp.linalg.det(xTx)==0.0:print"Thisismatrixissingular,cannotdoinverse!"else:ws=xTx.I*(xMat.T*(wgt*yMat))matV=dtTst*wslstY.append(matV[0,0])代码:显示结果plt.figure()lstX=[dt[1]fordtinlstDt]plt.scatter(lstX,lstLbl)sIdx=np.argsort(lstX)lstXSort=[lstX[idx]foridxinsIdx]lstYSort=[lstY[idx]foridxinsIdx]plt.plot(lstXSort,lstYSort)arrYHat=np.array(lstY)arrY=np.squeeze(np.array(yMat))printnp.corrcoef(arrY,arrYHat)普通和加权的代码区别示例:预测鲍鱼的年龄使用较小的核将得到较小的训练误差:k=0.1:拟合值与原点集的误差为56.8426k=1:拟合值与原点集的误差为429.891k=10:拟合值与原点集的误差为549.118为什么不使用尽量小的核?因为会过拟合过拟合会体现在新数据的大误差上:k=0.1:拟合点与原值点的误差为25619.93k=1:拟合点与原值点的误差为573.526k=10:拟合点与原值点的误差为517.571缩减系数来“理解”数据
缩减系数来“理解”数据缩减法能取得更好的预测效果可通过预测误差最小化得到λ:获取数据抽出部分数据作为测试用剩余数据作为训练集训练完毕再用测试集测试使用不同的λ重复上述过程选取使预测误差最小的λ岭回归编程在普通回归方法可能会产生错误的时候,岭回归仍能正常工作所以不需要再判断行列式是否为0(λ>0)对列做归一化处理,使所有列同等重要如右图:
λ以指数变化λ最小时:回归系数与线性回归一致λ最大时:回归系数全部缩减为0修改代码:岭回归lam=0.2xMat=np.mat(lstDt)yMat=np.mat(lstLbl).TxTx=xMat.T*xMatdenom=xTx+np.eye(xMat.shape[1])*lamws=denom.I*(xMat.T*yMat)岭回归结果图预备:lasso方法
lasso方法
前向逐步回归与lasso效果相似,但计算更简单属于贪心算法,即每一步都尽可能减少误差算法开始时,所有权值都设为1然后每一步都决策对某个权值增加或减少一个很小的步长优点:理解现有模型并作出改进当模型建立,可以运行该算法找出最重要的特征及时停止对那些不重要特征的搜集如果用于测试,该算法每100次迭代就可以构建出一个模型,可以使用类似10折交叉验证的方法比较这些模型,选择最优模型权衡偏差与方差偏差:模型预测值和原始数据之间的差异方差:是模型之间的差异偏差是学习的产物,是度量学习效果的标准方差用来比较和选择较好的模型选择模型必须折中考虑偏差和方差示例:预测乐高玩具套装价格乐高套装的生命周期大约几年
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 8 Once upon a Time (Period 5)Section B (2a-Reflecting) (4)同步练2025-2026学年人教版英语七年级下册
- 去鱼头机械企业ESG实践与创新战略分析报告
- 股票市场分析软件创新创业项目商业计划书
- 企业数据分类分级传输协议2025年安全版
- 2025年中国烟草总公司北京市公司招聘考试真题
- 国有工程公司绩效体系升级成功案例|北京华恒智信
- 阳光心态健康堡垒-四年级主题班会课件
- 珍惜时间勇往直前小学主题班会课件
- 圣诞节周记范文集锦十篇
- 小学主题班会课件:团结协作与诚实守信
- 2026海南万宁市总工会招聘工会社会工作者11人(第1号)笔试备考试题及答案详解
- 2026年6月成都市锦江区国有企业招聘17人笔试参考试题及答案详解
- 2026年甘肃省金昌市公务员招聘笔试参考试题及答案详解
- 2026故宫博物院招聘应届毕业生(第二批)9人备考题库及1套完整答案详解
- 2026-2030中国人力资源服务行业全景调研与发展战略研究咨询报告
- 2026年无人机测绘操控员(高级)技能鉴定理论考试题库及答案
- 编制说明:可吸收缝合线用聚对二氧环己酮(PPDO)
- 商砼站安全环保制度内容
- 布病护理新进展分享
- 2025年大学(工学)计算机组成原理期末测试题及解析
- 中通快递培训课件
评论
0/150
提交评论