LARS Lasso[通俗易懂]

LARS Lasso[通俗易懂]例子LassoLars是一个使用LARS算法的lasso模型,不同于基于坐标下降法的实现,它可以得到一个精确解,也就是一个关于自身参数标准化后的一个分段线性解。>>>fromsklearnimportlinear_model>>>reg=linear_model.LassoLars(…

大家好,又见面了,我是你们的朋友全栈君。

LassoLars 是一个使用 LARS 算法的 lasso 模型,不同于基于坐标下降法的实现,它可以得到一个精确解,也就是一个关于自身参数标准化后的一个分段线性解。

>>> from sklearn import linear_model
>>> reg = linear_model.LassoLars(alpha=.1)
>>> reg.fit([[0, 0], [1, 1]], [0, 1])
LassoLars(alpha=0.1, copy_X=True, eps=..., fit_intercept=True,
     fit_path=True, max_iter=500, normalize=True, positive=False,
     precompute='auto', verbose=False)
>>> reg.coef_
array([ 0.717157...,  0.        ])

Lars 算法提供了一个几乎无代价的沿着正则化参数的系数的完整路径,因此常利用函数 lars_path 来取回路径。

1.1.8.1. 数学表达式
该算法和逐步回归非常相似,但是它没有在每一步包含变量,它估计的参数是根据与 其他剩余变量的联系来增加的。

在 LARS 的解中,没有给出一个向量的结果,而是给出一条曲线,显示参数向量的 L1 范式的每个值的解。 完全的参数路径存在 coef_path_ 下。它的 size 是 (n_features, max_features+1)。 其中第一列通常是全 0 列。

例子

Computes Lasso Path along the regularization parameter using the LARS algorithm on the diabetes dataset. Each color represents a different feature of the coefficient vector, and this is displayed as a function of the regularization parameter.

print(__doc__)

# Author: Fabian Pedregosa <fabian.pedregosa@inria.fr>
#         Alexandre Gramfort <alexandre.gramfort@inria.fr>
# License: BSD 3 clause

import numpy as np
import matplotlib.pyplot as plt

from sklearn import linear_model
from sklearn import datasets

diabetes = datasets.load_diabetes()
X = diabetes.data
y = diabetes.target

print("Computing regularization path using the LARS ...")
alphas, _, coefs = linear_model.lars_path(X, y, method='lasso', verbose=True)

xx = np.sum(np.abs(coefs.T), axis=1)
xx /= xx[-1]

plt.plot(xx, coefs.T)
ymin, ymax = plt.ylim()
plt.vlines(xx, ymin, ymax, linestyle='dashed')
plt.xlabel('|coef| / max|coef|')
plt.ylabel('Coefficients')
plt.title('LASSO Path')
plt.axis('tight')
plt.show()
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147769.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月15日 上午8:46
下一篇 2022年6月15日 上午9:00


相关推荐

  • 两个正序数组 找中位数_两个有序数组的中位数

    两个正序数组 找中位数_两个有序数组的中位数原题连接给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5示例 3:输入:nums1 = [0,

    2022年8月8日
    6
  • 聊一聊最近热门缺货的安森美 Python1300/300系列CMOS图像传感器型号互替问题

    聊一聊最近热门缺货的安森美 Python1300/300系列CMOS图像传感器型号互替问题作者 Hello Panda2021 年在电子产品领域最热的关键词可能是 缺货 涨价 和 替代料 从最初的车载芯片市场开始 到单片机 到电源芯片 然后是各种 PHY 接口 直至到 FPGA 等高端市场 这几个主题词一直贯彻到底 对于大多数的没有备货和必须从代理或市场拿货的中小型企业而言 无疑是一次地毯式的打击 大家有的选择各种渠道积极找料 有的选择寻找对应的替代方案 有的选择 躺平 等等 咱暂且不论这背后的故事 到底是真缺还是假缺 到底是被迫缺还是人为缺等等 简单的聊一下今天吹水的主题 几款热门的安森美

    2026年3月19日
    1
  • javabean java_javabean简介

    javabean java_javabean简介Javabean简介JavaBean是一个可重复使用的软件组件。实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。由于javabean是基于java语言的,因此javabean不依赖平台,具有以下特点:1.可以实现代码的重复利用2.易编写、易维护、易使用3.可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。编写ja…

    2022年7月17日
    15
  • 25种提高网页加载速度的方法和技巧

    25种提高网页加载速度的方法和技巧

    2021年9月23日
    39
  • AI表情包生成工作流

    AI表情包生成工作流

    2026年3月15日
    2
  • 告别Cursor!最强AI编程辅助Claude Code安装到使用全流程讲解

    告别Cursor!最强AI编程辅助Claude Code安装到使用全流程讲解

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号