python岭迹图绘制函数

news/2024/11/17 11:36:40/文章来源:https://www.cnblogs.com/hongbao/p/18550373

一.岭迹图是什么?

        岭迹图(Ridge Trace Plot)是一种可视化工具,用于展示岭回归中正则化参数($\alpha$)对回归系数的影响。它能帮助我们理解特征的稳定性和正则化在控制模型复杂度中的作用。

二.什么时候需要看岭迹图?

  1. 存在共线性特征时

    • 当特征间高度相关,普通最小二乘法(OLS)回归的系数会变得不稳定。
    • 岭迹图帮助选择合适的正则化强度,缓解共线性问题。
  2. 模型复杂度调整时

    • 如果模型过拟合,可以通过岭迹图观察较大的 $\alpha$ 是否能有效控制模型复杂度。
    • 如果模型欠拟合,则观察适中的 $\alpha$ 是否能有效提高拟合能力。
  3. 特征选择或降维时

    • 岭迹图可帮助识别对模型贡献较小的特征,便于特征选择或进一步降维。
  4. 解释非线性模型时

    • 尽管岭迹图主要用于线性模型,但也可以用于理解岭回归对特定问题的建模方式。

三.岭迹图能说明什么问题?

  1. 正则化的作用

    • $\alpha$ 控制模型的复杂度:小$\alpha$,模型复杂,可能过拟合;大$\alpha$,模型简单,可能欠拟合。
    • 通过观察岭迹图,可以选择一个合适的 $\alpha$,在模型复杂度和拟合能力之间取得平衡。
  2. 特征的稳定性

    • 稳定的特征对预测更有意义,不易受共线性或噪声影响。
    • 变化剧烈的特征可能需要进一步处理,比如移除、归一化或降维。
  3. 共线性问题

    • 如果某些系数在 $\alpha$ 较小时变得极大或波动剧烈,可能存在特征共线性问题。
  4. 特征重要性

    • 岭迹图可以直观展示哪些特征对预测目标最重要,以及它们的重要性如何随正则化变化。

四.分析岭迹图

  1. $\alpha$ 较小时(接近左侧)

    • 正则化强度较低,岭回归趋近于普通最小二乘法(OLS)。
    • 系数可能波动较大,尤其在共线性特征存在时,系数值可能很高甚至不稳定。
  2. $\alpha$ 增大时

    • 正则化逐渐加强,各特征的系数被逐渐压缩。
    • 特征间的共线性被削弱,系数值趋于稳定。
  3. $\alpha$ 很大时(接近右侧)

    • 强正则化将所有系数压缩接近 0。
    • 模型变得过于简单,可能导致欠拟合。

 特征行为观察

  • 稳定性:如果某条曲线随着 $\alpha$ 增大仍保持较大绝对值,说明该特征对目标变量的影响更显著、更稳定。
  • 敏感性:某些曲线在 $\alpha$ 较小时变化剧烈,表明这些特征可能高度共线或受噪声影响。

五.输出示例

 

 

  现象1:一条曲线始终接近 0

 

    该特征对预测目标贡献较小,可能是无关特征。

  现象2某些曲线在 $\alpha$ 较小时波动剧烈,但逐渐趋于稳定

    这些特征可能存在共线性,但岭回归缓解了问题。

  现象3大部分曲线在 $\alpha$ 增大时趋近 0

    说明正则化削弱了所有特征的重要性,$\alpha$ 太大可能导致欠拟合。

  通过观察这些现象,可以有效调整模型参数和特征选择,从而构建更稳健的模型。

 

 

留到最后:python岭迹图函数代码

# 绘制岭迹图
def Ridge_Plot(x_train, y_train):import numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import Ridge# 确保 y_train 是一维数组y_train = np.ravel(y_train)  # 自动将 (n, 1) 转换为 (n,)# 定义正则化参数范围alphas = np.logspace(-4, 4, 100)# 存储系数coefs = []# 遍历每个正则化参数,训练岭回归模型for alpha in alphas:ridge = Ridge(alpha=alpha)ridge.fit(x_train, y_train)coefs.append(ridge.coef_)# 转换系数为数组coefs = np.array(coefs)# 绘制岭迹图plt.figure(figsize=(10, 6))for i in range(x_train.shape[1]):plt.plot(alphas, coefs[:, i], label=f'Feature {i + 1}')plt.xscale('log')plt.xlabel('Regularization Parameter (alpha)')plt.ylabel('Coefficients')plt.title('Ridge Trace Plot')plt.axhline(0, color='black', linestyle='--', linewidth=0.7)plt.legend(loc='upper right', bbox_to_anchor=(1.2, 1), ncol=1)plt.tight_layout()plt.show()Ridge_Plot(x_train=X_train,y_train=y_train)
View Code

值得注意的是,这里顺便学一个方法:

1.abs() #取绝对值

2.(22,1)类型数据与(22,)类型数据,

 
特性(22, 1)(22,)
维度 二维(矩阵) 一维(向量)
适用场景 矩阵运算、机器学习特征输入 数组运算、数据表示
广播行为 明确列方向 没有方向,需要额外处理
相互转换方法

.squeeze()

.rabel()

.reshape(-1)

.reshape(-1, 1)

选择形状时,要根据上下文需求(是否需要明确区分行列结构)和函数的要求(如线性模型对输入特征形状的要求)来判断使用哪种形式。  

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

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

相关文章

探索训练人工智能模型的词汇大小与模型的维度

前一篇:《人工智能同样也会读死书----“过拟合”》 序言:你看,人工智能领域的专家都在做什么?他们其实只是在不断试错,因为并没有一种“万能药”——一种万能的算法可以一次性设计出任何人工智能大模型来实现客户的需求。所有的模型在设计和训练过程中都是——验证结构——…

北美竞赛-加拿大计算机竞赛CCC-收获滑铁卢

给定一个 RCRC 的方格矩阵。 矩阵左上角方格坐标为 (0,0)(0,0),右下角方格坐标为 (R−1,C−1)(R−1,C−1)。 每个方格中要么有南瓜,要么有干草。 南瓜分为大、中、小三种。 初始时,一个农民位于方格 (A,B)(A,B)。 他可以朝上下左右四个方向自由移动,但是他不能走出矩阵,也…

BUU CODE REVIEW 1 1

BUU CODE REVIEW 1 1 打开实例发现php代码,代码审计一波看到unserialize(),初步判断这题存在php反序列化 分析代码:需要GET传参传入pleaseget=1 需要POST传参传入pleasepost=2 需要POST传入md51和md52,使得md51的md5加密后的MD5值弱相等,参数值不相等 需要POST传入obj,用来…

25 个值得关注的检索增强生成 (RAG) 模型和框架

大型语言模型 (LLM) 如 GPT-4 彻底革新了自然语言处理 (NLP) 领域,在生成类人文本、回答问题和执行各种语言相关任务方面展现出卓越的能力。然而,这些模型也存在一些固有的局限性:知识截止:LLM 的训练数据通常截止于特定时间点,使其无法获取训练后发生的事件或信息。 静态…

IDEA不使用lombok,如何快速生成get和set方法

前言 大家好,我是小徐啊。我们在开发Java应用的时候,对于实体类,一般是entity或者pojo类,需要设置好属性的get和set方法。这是比较普通的操作。当然,现在已经有lombok这个插件和依赖来帮助我们不用写get和set方法了。不过,对于一些老系统,我还是习惯于手写get和set方法。…

爱玛单车队-冲刺日志第一天

会议记录:今天是整个冲刺计划最关键的一天,我们需要制定好整个计划并且安排好分工任务,为每个分工任务制定好负责人,来督促每个环节的任务。 本次冲刺确定了以下分工:成员姓名 职责曾庆徽 组长,分配协调组织林传昊 代码审查翁林靖 AI接回查找与测试毛震 软件测试(性能、…

达梦数据库数据类型的变更无效错误,如此解决妙啊

前言 大家好,我是小徐啊。之前在做国产化改造,用到了达梦数据库。其中的一项工作就是将旧数据库里面的数据和结构迁移到达梦数据库。达梦提供了迁移的的工具,大部分时间是挺好用的。 但是这里也有问题,比如我原来的数据库是postgresql,将它迁移到达梦数据库之后,在运行程…

域名选购操作指南

一、前言 在这个互联网时代, 域名已成为网站的数字身份证和品牌象征。它不仅是访问网站的便捷入口, 更一、前言 在这个互联网时代, 域名已成为网站的数字身份证和品牌象征。它不仅是访问网站的便捷入口, 更是树立网络品牌形象的重要资产。2024 年双十一期间, 我在腾讯云平台购置…

2024-2025-1 学号20241315《计算机基础与程序设计》第八周学习总结

作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 <作业要求的链接>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08这个作业目标 功能设计与面向对象设计 面向对象设计过程 面向对象语言三要素 汇编、编译、解释、执行作业正文…

2024六安市第二届网络安全大赛-misc

六安市第二届网络安全大赛复现misc听说你也喜欢俄罗斯方块?ppt拼接之后缺三个角补上flag{qfnh_wergh_wqef}流量分析流量包分离出来一个压缩包出来一张图片黑色代表0白色代表11010101000rab反的压缩包转一下密码:拾叁拾陆叁拾贰陆拾肆密文:4p4n575851324332474r324753574o594…

2024强网杯-misc

2024强网杯-misc谍影重重5.0打开发现是SMB流量,从NTLM流中找到数据来解密。用NTLMRawUnhide这个脚本 一键提取出数据。下载下来运行一下Hashcat直接爆破babygirl233再用smb流量脚本解密跑出key,再导入这个时候发现有flag的压缩包导出来压缩包需要密码,接着可以看到流量包还有…