机器学习基础之《回归与聚类算法(3)—线性回归优化:岭回归》

一、什么是岭回归

其实岭回归就是带L2正则化的线性回归

岭回归,其实也是一种线性回归。只不过在算法建立回归方程时候,加上L2正则化的限制,从而达到解决过拟合的效果

二、API

1、sklearn.linear_model.Ridge(alpha=1.0, fit_intercept=True, solver="auto", normalize=False)
具有l2正则化的线性回归
alpha:正则化力度=惩罚项系数,也叫λ
    λ取值:0~1或1~10
fit_intercept:是否添加偏置
solver:会根据数据自动选择优化方法
    sag:如果数据集、特征都比较大,会自动选择sag这个随机梯度下降优化
normalize:数据是否进行标准化
    normalize=False:可以在fit之前调用preprocessing.StandardScaler标准化数据
    normalize=True:在预估器流程前会自动做标准化
Ridge.coef_:回归权重
Ridge.intercept_:回归偏置

2、Ridge方法相当于SGDRegressor(penalty='l2', loss="squared_loss"),只不过SGDRegressor实现了一个普通的随机梯度下降学习,推荐使用Ridge(实现了SAG)
penalty:可以是l1或l2,这里是给线性回归加上L2惩罚项

3、sklearn.linear_model.RidgeCV(_BaseRidgeCV, RegressorMixin)
加上了交叉验证的岭回归
具有l2正则化的线性回归,可以进行交叉验证
coef_:回归系数

三、正则化力度(惩罚项系数)对最终结果有什么影响

1、惩罚项系数是上面的λ

横坐标是正则化力度,也就是alpha。纵坐标是权重系数

正则化力度越大(向左),权重系数会越小(接近于0)
正则化力度越小(向右),权重系数会越大

四、波士顿房价预测

1、修改day03_machine_learning.py

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression, SGDRegressor, Ridge
from sklearn.metrics import mean_squared_errordef linear1():"""正规方程的优化方法对波士顿房价进行预测"""# 1、获取数据boston = load_boston()# 2、划分数据集x_train,x_test, y_train, y_test = train_test_split(boston.data, boston.target, random_state=10)# 3、标准化transfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.transform(x_test)# 4、预估器estimator = LinearRegression()estimator.fit(x_train, y_train)# 5、得出模型print("正规方程-权重系数为:\n", estimator.coef_)print("正规方程-偏置为:\n", estimator.intercept_)# 6、模型评估y_predict = estimator.predict(x_test)print("预测房价:\n", y_predict)error = mean_squared_error(y_test, y_predict)print("正规方程-均方误差为:\n", error)return Nonedef linear2():"""梯度下降的优化方法对波士顿房价进行预测"""# 1、获取数据boston = load_boston()# 2、划分数据集x_train,x_test, y_train, y_test = train_test_split(boston.data, boston.target, random_state=10)# 3、标准化transfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.transform(x_test)# 4、预估器estimator = SGDRegressor()estimator.fit(x_train, y_train)# 5、得出模型print("梯度下降-权重系数为:\n", estimator.coef_)print("梯度下降-偏置为:\n", estimator.intercept_)# 6、模型评估y_predict = estimator.predict(x_test)print("预测房价:\n", y_predict)error = mean_squared_error(y_test, y_predict)print("梯度下降-均方误差为:\n", error)return Nonedef linear3():"""岭回归对波士顿房价进行预测"""# 1、获取数据boston = load_boston()# 2、划分数据集x_train,x_test, y_train, y_test = train_test_split(boston.data, boston.target, random_state=10)# 3、标准化transfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.transform(x_test)# 4、预估器estimator = Ridge()estimator.fit(x_train, y_train)# 5、得出模型print("岭回归-权重系数为:\n", estimator.coef_)print("岭回归-偏置为:\n", estimator.intercept_)# 6、模型评估y_predict = estimator.predict(x_test)print("预测房价:\n", y_predict)error = mean_squared_error(y_test, y_predict)print("岭回归-均方误差为:\n", error)return Noneif __name__ == "__main__":# 代码1:正规方程的优化方法对波士顿房价进行预测linear1()# 代码2:梯度下降的优化方法对波士顿房价进行预测linear2()# 代码3:岭回归对波士顿房价进行预测linear3()

2、运行结果

正规方程-权重系数为:[-1.16537843  1.38465289 -0.11434012  0.30184283 -1.80888677  2.341711660.32381052 -3.12165806  2.61116292 -2.10444862 -1.80820193  1.19593811-3.81445728]
正规方程-偏置为:21.93377308707127
预测房价:[31.11439635 31.82060232 30.55620556 22.44042081 18.80398782 16.2762532236.13534369 14.62463338 24.56196194 37.27961695 21.29108382 30.6125824127.94888799 33.80697059 33.25072336 40.77177784 24.3173198  23.2977324125.50732006 21.08959787 32.79810915 17.7713081  25.36693209 25.0381105932.51925813 20.4761305  19.69609206 16.93696274 38.25660623  0.7015249932.34837791 32.21000333 25.78226319 23.95722044 20.51116476 19.537272583.87253095 34.74724529 26.92200788 27.63770031 34.47281616 29.8051127118.34867051 31.37976427 18.14935849 28.22386149 19.25418441 21.7149039538.26297011 16.44688057 24.60894426 19.48346848 24.49571194 34.4891563526.66802508 34.83940131 20.91913534 19.60460332 18.52442576 25.0017879919.86388846 23.46800342 39.56482623 42.95337289 30.34352231 16.893355923.88883179  3.33024647 31.45069577 29.07022919 18.42067822 27.4431489719.55119898 24.73011317 24.95642414 10.36029002 39.21517151  8.3074326218.44876989 30.31317974 22.97029822 21.0205003  19.99376338 28.647549730.88848414 28.14940191 26.57861905 31.48800196 22.25923033 -5.3597325221.66621648 19.87813555 25.12178903 23.51625356 19.23810222 19.046423427.32772709 21.92881244 26.69673066 23.25557504 23.99768158 19.2845825921.19223276 10.81102345 13.92128907 20.8630077  23.40446936 13.9168948428.87063386 15.44225147 15.60748235 22.23483962 26.57538077 28.6420362324.16653911 18.40152087 15.94542775 17.42324084 15.6543375  21.0413626433.21787487 30.18724256 20.92809799 13.65283665 16.19202962 29.2515560313.28333127]
正规方程-均方误差为:32.44253669600673
梯度下降-权重系数为:[-1.10819189  1.24846017 -0.33692976  0.35488997 -1.5988338   2.497786120.23532503 -2.95918503  1.78713201 -1.30658932 -1.7651645   1.22848984-3.78378732]
梯度下降-偏置为:[21.9372382]
预测房价:[30.55704932 32.05173832 30.60725341 23.44937757 18.99917813 16.1000257536.35984687 14.8219597  24.40027383 37.32474782 21.5136228  30.6786441827.64263953 33.58715018 33.34357549 41.02961052 24.56190835 22.826545725.55091571 21.70092286 32.87467814 17.66098552 25.68694993 25.1525498533.16850623 20.32656198 19.71924549 16.85013083 38.36906677 -0.063612532.73406521 32.08051235 26.11082213 24.04506778 20.25729015 19.777164693.70619504 34.45691833 26.92882569 27.80690875 34.66542721 29.5705631918.17563119 31.52879095 17.99350098 28.56441014 19.19066091 21.4221363238.1145129  16.56749119 24.53862046 19.30611604 24.18857419 35.0850191926.86672187 34.85386528 21.23005703 19.56549835 18.32581965 25.0223145420.21024376 23.85118373 40.23475025 43.25772524 30.50012791 17.1749763623.97539731  2.78651333 31.14016986 29.84080487 18.33899648 27.4617082719.28192918 24.53788739 25.36787612 10.25023757 39.41179243  7.9710262818.11455433 30.92992358 22.98914795 21.89678026 20.29065302 28.5543570831.1738028  28.36545081 26.50764708 31.89860003 22.31334327 -5.7728714921.72210665 19.74247295 25.14530383 23.69494522 18.83967629 19.1579255427.3208327  22.03369451 26.56809141 23.54003515 23.94824339 19.4946140121.04641077  9.8365073  13.99736749 21.15777556 23.16210392 15.1980546828.94748286 15.82614487 15.49056654 21.98524785 27.04398453 28.7181679624.00103595 18.26483509 15.80645364 17.68948585 15.8560435  20.7547522933.18483916 30.80830718 21.1511169  14.13781488 16.30748901 29.1982781413.02414535]
梯度下降-均方误差为:32.589364375873274
岭回归-权重系数为:[-1.15338693  1.36377246 -0.13566076  0.30685046 -1.77429221  2.35657730.31109246 -3.08360389  2.51865451 -2.02086382 -1.79863992  1.19474755-3.79397362]
岭回归-偏置为:21.93377308707127
预测房价:[31.02182904 31.81762296 30.5307756  22.56101986 18.83367243 16.2772061636.11020039 14.65795076 24.53401701 37.23901719 21.30179513 30.5929445527.88884922 33.74220094 33.22724169 40.75065038 24.34249271 23.2334033225.49591227 21.16642876 32.76426793 17.77262939 25.375461   25.0421619732.55916012 20.46991441 19.71767638 16.94589789 38.22924617  0.6794581532.36570422 32.16246666 25.81396987 23.96859847 20.48378122 19.562226923.92363179 34.6745904  26.8972682  27.62853379 34.46087333 29.7505016518.3389973  31.36674393 18.1533717  28.23955372 19.25477732 21.6743993838.20456951 16.47703009 24.58448733 19.46850857 24.45078345 34.5144544526.66775912 34.80353844 20.94272686 19.60603364 18.50096422 24.9938738619.89923157 23.49308585 39.58682259 42.93017524 30.32881249 16.930963123.89113672  3.3223193  31.37851848 29.1623479  18.42211411 27.4382901119.52539153 24.68355681 24.98105953 10.39357796 39.19016669  8.3112177518.43234108 30.3568052  22.97522145 21.12688558 20.03476147 28.6193767930.88518359 28.14590934 26.56509999 31.51187089 22.27686749 -5.3124194821.68661135 19.86726981 25.1163169  23.53556822 19.21105599 19.0843777227.30869525 21.94344682 26.65541972 23.26883666 23.9958039  19.3060780621.18985411 10.71242971 13.95709927 20.89648522 23.36054449 14.0580326528.85147775 15.51591674 15.61567092 22.20129229 26.6018834  28.6319077524.13317802 18.39685365 15.94882155 17.46607437 15.7003571  21.004634133.16362767 30.23909552 20.94330259 13.73934571 16.22231382 29.2129078713.28412904]
岭回归-均方误差为:32.4536692771621

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/162691.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用UniApp实现视频数组自动下载与播放功能:一步步指导

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

5分钟内在Linux上安装.NET Core应用程序

作为开源的忠实粉丝,我喜欢 .NET Core 的跨平台特性。它开启了无限的可能性,从业余爱好项目、实验和概念验证,到在具有高安全性和可扩展性的经济高效基础设施上运行的大规模高负载生产应用程序。我通常从任何云平台提供商那里获得最简单、最便…

Java:SpringBoot整合Spring Batch示例

目录 文档基础概念Tasklet方式示例Chunk方式示例参考文章 文档 https://docs.spring.io/spring-batch/docs/4.3.9/reference/html/index.html 基础概念 JobLauncher:作业启动器,启动作业的入口。对应的实现类为SimpleJobLauncher。Job:作业…

上海亚商投顾:沪指震荡调整跌 减肥药、华为概念股持续活跃

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 沪指上个交易日低开后震荡调整,深成指、创业板指盘中跌超1%,宁德时代一度跌超3%&#xff…

apk和小程序渗透

apk和小程序域服务器通信使用的还是http协议,只是使用了加密。只要可以获取到http的请求报文,就可以回归到web渗透的层面。apk和小程序的渗透很复杂,涉及逆向时要进行脱壳,脱壳后反编译了,源代码没做加密就能直接逆向出…

华为eNSP配置专题-NAT的配置

文章目录 华为eNSP配置专题-NAT的配置0、参考文档1、前置环境1.1、宿主机1.2、eNSP模拟器 2、基本环境搭建2.1、基本终端构成和连接2.2、各终端基本配置2.2.1、PC1和PC2的配置2.2.2、交换机不做任何配置2.2.3、网关路由器的配置2.2.4、模拟互联网的路由器的配置 3、配置静态NAT…

代码随想录第四十三天|343. 整数拆分 ● 96.不同的二叉搜索树

343.整数拆分 题目: 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2 输出: 1 解释: 2 1 1, 1 1 1。 示例 2: 输入: 10 输出: 36 解释: 10 3 3 4, 3 3 4 …

强化学习 | 强化学习基础知识(图解)

强化学习是机器学习的一个领域。它是关于在特定情况下采取适当的行动来最大化奖励。它被各种软件和机器用来找到在特定情况下应该采取的最佳行为或路径。强化学习与监督学习的不同之处在于,在监督学习中,训练数据具有答案键,因此模型本身使用…

RabbitMQ从0到1完整学习笔记一:《基础篇》

目录 启篇 一、初识MQ 1.1 同步调用 1.2异步调用 1.3 技术选型 二、RabbitMQ 架构 2.2 收发消息 2.2.1 交换机 2.2.2 队列 2.2.3 绑定关系 2.2.4 发送消息 2.3 数据隔离 2.3.1 用户管理 2.3.2 virtual host 三、SpringAMQP 3.1 案例入门 3.1.1 导入依赖 3.1.2 消息发送 3.1.2 消…

图像识别-人脸识别与疲劳检测 - python opencv 计算机竞赛

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是…

threejs(2)-Geometry进阶详解

一、全面讲解UV与应用 在本节中,我们将讨论Three.js中的UV映射,包括UV映射的概念、与顶点位置的关系和区别以及如何在Geometry中设置UV坐标。我们将使用BufferGeometry进行示例说明。 颜色对应 什么是UV映射? UV映射是一种将二维纹理映…

Ubuntu系统如何进行网络连接-连接电脑局域网-物联网开发-Ubuntu系统维护

一、前言 在Ubuntu系统的维护中,我们常常需要对VMware中的Ubuntu虚拟机配置网络连接,以连接服务器下载或安装软件包以及进行网络通信等。 基于上述问题,本文将着重分享Ubuntu配置网络链接的若干方法。 二、网络连接模式 打开VM,右…

【Java 进阶篇】JavaScript 动态表格案例

在这篇博客中,我们将深入了解JavaScript如何创建和操作动态表格。我们将从头开始构建一个动态表格,并逐步添加各种功能,使其能够实现数据的添加、删除和编辑。这个示例将有助于理解如何在前端开发中使用JavaScript创建交互性强大的表格。 准…

网站如何优化加速,让网站降低延迟

优化网站架构 精简页面加载过程:通过消除冗余代码和不必要的图像,并采用CDN资源分发,以减少加载时间。 精心规划内容架构:通过使用恰当的标题和描述,使搜索引擎能够快速理解页面的内涵。 选择性能出众的前端框架&…

RT-Thread学习笔记(三):线程管理

线程管理 线程管理相关概念什么是时间片轮转调度器锁线程运行机制线程的五种状态 动态和静态创建线程区别动态和静态创建线程优缺点RT-Thread动态线程管理函数动态创建线程动态删除线程 RT-Thread静态线程管理函数静态创建线程 线程其他操作线程启动线程延时获得当前执行的线程…

Java并发面试题:(六)悲观锁和乐观锁和Java内存模型和CAS原理

悲观锁和乐观锁的区别 什么是悲观锁? 基本上我们理解的操作前对资源加锁,操作完后释放锁。说的都是悲观锁。悲观锁认为所有的资源都是不安全的,随时会被其他线程操作、更改。所以操作资源前一定要加一把锁、防止其他线程访问。 什么是乐观锁&…

【23种设计模式】装饰器模式

个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…

Excel·VBA单元格区域数据对比差异标记颜色

之前的一篇博客《ExcelVBA单元格重复值标记颜色》,是对重复的整行标记颜色 而本文是按行对比2个单元格区域的数据,并对有差异的区域(一个单元格区域有的,而另一个单元格区域没有的)标记颜色,且只要存在任意…

单链表经典OJ题:合并有序链表

目录 ​编辑 题目: 图例: 分析: 解法: 解法1: 解法2: 解法的对比: 解法2: 注意事项: 图例: 代码演示: 代码分析: 代码缺点: 重复…

[MySQL]BLOB/TEXT column ‘xxx‘ used in key specification without a key length

报错信息: SQLSTATE[42000]: Syntax error or access violation: 1170 BLOB/TEXT column xxx used in key specification without a key length 原因: MySQL的唯一索引不支持text类型的字段!