Lasso回归

clc,clear;
close all;
data=[1.54  1.61 1.62 1.66 1.71 1.72 1.73 1.86 1.92  2 2.21 2.29  2.34 2.38 2.42 2.44  2.57 2.64 2.71 2.85  2.93 3.01 3.14 3.22  3.34 3.49 3.55 3.79  3.99 4.1220.1 20.1 20.3 20.4 20.4 20.5 20.6 20.7 20.9 21.1 21.3 21.5 21.7 21.9 22 22.2 22.4 22.5 22.7 22.7 22.8 22.9 23.4 23.7 24.4 24.9 25.3 27.4 28.4 29.15.17 5.14 5.13 5.10  5.08 5.03 5.01 4.99  4.93 4.91 4.89 4.81  4.77 4.75 4.62 4.56  4.5  4.48 4.46 4.31 4.28  4.19 4.12 3.99 3.91  3.84 3.75 3.64 3.51  3.5]';
m=size(data,1);
x=[ones(m,1),data(:,1:2)];%前两列为自变量,再添加一列常数项
y=data(:,3);%最后一列为因变量
runnums  = 200000;%迭代的步数
eps = 0.0001;%调整步长
Res = StageWise(x, y, eps, runnums);
y1=x*Res(end,:)';
%根据Res画 参数收敛
figure
hold on
xAxis = 1:runnums;
plot(xAxis, Res(:,1),'r');
plot(xAxis, Res(:,2),'b');
plot(xAxis, Res(:,3),'k');
legend('x1参数','x2参数','x3参数')
%拟合
figure
hold on
plot(y,'b');
plot(y1,'r');
legend('原数据','拟合数据')

逐步回归

%逐步回归
function [ Res ] = StageWise( x, y, eps, runtime)[m,n] = size(x);%数据集的大小Res = zeros(runtime, n);%最终的结果w = zeros(n,1);wMax = zeros(n,1);for i = 1:runtimews = w';%输出每一次计算出来的权重lowestError = inf;%定义最小值for j = 1:nfor sign = -1:2:1wTest = w;%初始化wTest(j) = wTest(j)+eps*sign;%只改变一维变量yTest = x*wTest;%求误差rssE = RegressError(y, yTest);if rssE < lowestError%如果好,就替换lowestError = rssE;wMax = wTest;endendendw = wMax;Res(i,:) = w;end
end

求误差平方和

function [ error ] = RegressError( y, yTest )yDis = y-yTest;%误差[m,n] = size(yDis);%求平方for i = 1:myDis(i) = yDis(i)^2;enderror = sum(yDis);%求列和
end

matlab Lasso回归相关推荐

  1. 【回归分析】MATLAB实现Lasso回归算法

    Lasso回归算法 Lasso(Least Absolute Shrinkage and Selection Operator) 回归是一种线性回归方法,它可以在保持预测准确性的同时,通过稀疏性约束( ...

  2. Matlab实现随机森林、神经网络、Lasso回归

    实现之前所说的上传Matlab实现随机森林.神经网络.Lasso回归的承诺. Lasso lasso具有降维的功能,但区别于PCA,lasso直接减少特征数,做的是特征选择,PCA是通过空间转换将特征 ...

  3. 【sklearn】线性回归、最小二乘法、岭回归、Lasso回归

    文章目录 机器学习的sklearn库 一.回归分析 <1.1>线性回归 1.1.1.Python实现线性回归 <1.2>最小二乘法 1.2.1.MATLAB实现最小二乘法 1. ...

  4. lasso.m matlab,lasso算法matlab代码

    这种算法通过构造一个惩罚函数获得一个精炼的模型;通过最终确定一些指标的系数为零,LASSO算法实现了指标集合精简的目的.这是一种处理具有复共线性数据的有偏估计.... 模型的LADMM算法 ... 第 ...

  5. lasso回归操作步骤

    lasso回归只起到一个筛选变量得作用,用完之后还得使用原来的线性回归 第一步:数据标准化 可以借助Matlab的zscore函数,或者直接使用SPSS(分析-描述统计-描述:在描述列表的方框左下角, ...

  6. 一文读懂线性回归、岭回归和Lasso回归

    (图片由AI科技大本营付费下载自视觉中国) 作者 | 文杰 编辑 | yuquanle 本文介绍线性回归模型,从梯度下降和最小二乘的角度来求解线性回归问题,以概率的方式解释了线性回归为什么采用平方损失 ...

  7. R语言glmnet拟合lasso回归模型实战:lasso回归模型的模型系数及可视化、lasso回归模型分类评估计算(混淆矩阵、accuracy、Deviance)

    R语言glmnet拟合lasso回归模型实战:lasso回归模型的模型系数(lasso regression coefficients)及可视化.lasso回归模型分类评估计算(混淆矩阵.accura ...

  8. Python使用sklearn构建lasso回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型

    Python使用sklearn构建lasso回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型 目录

  9. R构建lasso回归模型并获得最佳正则化系数

    R构建lasso回归模型并获得最佳正则化系数 目录 R构建lasso回归模型并获得最佳正则化系数 数据加载 拟合LASSO回归模型

最新文章

  1. 用oc/c编写冒泡排序
  2. k8s pvc扩容:pvc创建后扩容
  3. Sublime Text 3插件之Emmet:HTML/CSS代码快速编写神器
  4. 山东栋梁机器人比赛_谁是最强“移动机器人”?来深技师这场全国大赛一决高下!...
  5. django-模型类管理器-create方法-models属性
  6. 《Algorithms》Comparable 实现快速排序三向切分的快速排序
  7. keras_contrib安装
  8. 【优化预测】基于matlab遗传算法优化BP神经网络预测【含Matlab源码 1376期】
  9. Router-view
  10. 【洛谷题解】B2033 A*B 问题
  11. ie窗口如何最大化设置
  12. 如何多人共同编辑_微信编辑器可以多人协作排版吗?
  13. MC56F825X 芯片解密飞思卡尔芯片型号
  14. shiro设置ip白名单_亚马逊家庭IP:Luminati的搭建的步骤
  15. IPhone基于OAtuth的 twitter客户端开发
  16. 报错 error: use of undeclared identifier (AS)
  17. 基于KL变换的人脸识别
  18. C# .net微软OAuth身份验证在EWS中的应用
  19. 深度阅读:阿杜威少快意江湖 昆汀式的刀光剑影
  20. [陶陶啊……]陶陶摘苹果

热门文章

  1. Android基于mAppWidget实现手绘地图(四)--如何附加javadoc
  2. 黄聪:第2章 并发操作的一致性问题 (2)
  3. device刷机包 适合的android_nexus6 刷 LineageOS 17.1 实战
  4. uart口图片_认识UART接口
  5. java都市男人心痒痒_说的男人心痒痒的情话 让男人心痒痒的话,谁能帮我弄几句呀?...
  6. post传值php取不到数据,post请求中的参数形式和form-data提交数据时取不到的问题...
  7. flash写保护原理_一种基于flash写保护的防止flash被意外篡改的方法与流程
  8. 从实验角度来验证混沌数据可以被预测吗?
  9. 智能车竞赛技术报告 | 智能车视觉 - 西安邮电大学 - AI小布丁
  10. 第十六届全国大学生智能汽车竞赛总决赛 AI视觉组线上赛图片显示软件发布及线上赛注意事项