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()
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • insmod失败_ins玩不了

    insmod失败_ins玩不了cmemk:versionmagic’2.6.32mod_unloadmodversionsARMv7’shouldbe’2.6.32preemptmod_unloadmodversionsARMv7’如上所示,是配置没有匹配.比如上面这个要配置为preempt,抢占式的.特此记录下.

  • @transactional的使用_@transactional注解默认的回滚方式

    @transactional的使用_@transactional注解默认的回滚方式@Transactional是声明式事务管理编程中使用的注解1.添加位置1)接口实现类或接口实现方法上,而不是接口类中。2)访问权限:public的方法才起作用。@Transactional注解应该只被应用到public方法上,这是由SpringAOP的本质决定的。系统设计:将标签放置在需要进行事务管理的方法上,而不是放在所有接口实现类上:只读的接口就不需要事务管…

  • 业务架构师如何进阶成长[通俗易懂]

    业务架构师如何进阶成长[通俗易懂]一、前言接触业务架构工作之后,除了单位提供的方法论外,为了做好这项工作,认真学习了软件过程、系统分析与设计、架构设计、设计模式、Java语言等内容,并研读了敏捷开发、领域驱动设计、工作流分析等方面的书籍,为了拓展对新技术的理解,在人工智能和区块链两方面也阅读了一些著作,总体而言,不够系统,都是为了能够更好地理解企业级业务架构的方法论及其向技术端的传导。除了恶补基础知识,更重要的当然是实践,珍惜每一个设计任务,珍惜每一次与业务人员、技术人员的沟通机会…

    2022年10月12日
  • Java自定义类加载器「建议收藏」

    Java自定义类加载器「建议收藏」一.Java类加载器的分类引导类加载器(bootstrapclassloader):用于加载Java的核心库,JDK自带,C++代码实现的 扩展类加载器(extensionsclassloader):用于加载Java扩展库,JDK自带 系统类加载器(systemclassloader):用于加载classpath路径下的类,也就是我们编写的应用程序 自定义类加载器(customclassloader):用于加载自定义的类,这个是重点二.Java自定义类加载器的使用场景依赖冲..

  • javascript动画效果代码html_javascript代码写在哪里

    javascript动画效果代码html_javascript代码写在哪里javascript缓动动画的js代码

  • Java中的相除(/)和取余(%)

    Java中的相除(/)和取余(%)让我们先看一段代码:publicclassDivision_remainder{publicstaticvoidmain(String[]args){inta=13/5;intb=13%5;intc=5/13;intd=5%13;inte…

发表回复

您的电子邮箱地址不会被公开。

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