当前位置: 首页 > news >正文

机器学习(12):拉索回归Lasso

- 拉索回归可以将一些权重压缩到零,从而实现特征选择。这意味着模型最终可能只包含一部分特征。
- 适用于特征数量远大于样本数量的情况,或者当特征间存在相关性时,可以从中选择最相关的特征。
- 拉索回归产生的模型可能更简单,因为它会去除一些不重要的特征。

API

sklearn.linear_model.Lasso()

参数:

  1. alpha (float, default=1.0):

    • 控制正则化强度;必须是非负浮点数。较大的 alpha 增加了正则化强度。

  2. fit_intercept (bool, default=True):

    • 是否计算此模型的截距。如果设置为 False,则不会使用截距(即数据应该已经被居中)。

  3. precompute (bool or array-like, default=False):

    • 如果为 True,则使用预计算的 Gram 矩阵来加速计算。如果为数组,则使用提供的 Gram 矩阵。

  4. copy_X (bool, default=True):

    • 如果为 True,则复制数据 X,否则可能对其进行修改。

  5. max_iter (int, default=1000):

    • 最大迭代次数。

  6. tol (float, default=1e-4):

    • 精度阈值。如果更新后的系数向量减去之前的系数向量的无穷范数除以 1 加上更新后的系数向量的无穷范数小于 tol,则认为收敛。

  7. warm_start (bool, default=False):

    • 当设置为 True 时,再次调用 fit 方法会重新使用之前调用 fit 方法的结果作为初始估计值,而不是清零它们。

  8. positive (bool, default=False):

    • 当设置为 True 时,强制系数为非负。

  9. random_state (int, RandomState instance, default=None):

    • 随机数生成器的状态。用于随机初始化坐标下降算法中的随机选择。

  10. selection ({'cyclic', 'random'}, default='cyclic'):

    • 如果设置为 'random',则随机选择坐标进行更新。如果设置为 'cyclic',则按照循环顺序选择坐标。

属性:

  1. coef_

    • 系数向量或者矩阵,代表了每个特征的权重。

  2. intercept_

    • 截距项(如果 fit_intercept=True)。

  3. n_iter_

    • 实际使用的迭代次数。

  4. n_features_in_ (int):

    • 训练样本中特征的数量。

 

from sklearn.linear_model import Lasso
from sklearn.model_selection import train_test_split
from sklearn.datasets import fetch_california_housing
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import mean_squared_errorx,y = fetch_california_housing(return_X_y=True,data_home = "./src")x_train,x_test,y_train,y_test = train_test_split(x,y,test_size = 0.2,random_state = 42)
scaler = StandardScaler()
x_train = scaler.fit_transform(x_train)
x_train = scaler.fit_transform(x_train)model = Lasso(alpha =0.01,max_iter = 100,fit_intercept=True)
#调节alpha越大出现的零越多,因此拉索回归自带降维
model.fit(x_train,y_train)y_hat = model.predict(x_test)
print("loss:",mean_squared_error(y_test,y_hat))
print("w:",model.coef_)
print("b:",model.intercept_)

http://www.dtcms.com/a/314522.html

相关文章:

  • 墨者学院SQL过滤字符后手工绕过漏洞测试(万能口令)
  • 【2025/08/04】GitHub 今日热门项目
  • vue3+vue-flow制作简单可拖拽可增删改流程图
  • 基于Matlab图像处理的液晶显示器表面缺陷检测与分类研究
  • 使用 SecureCRT 连接华为 eNSP 模拟器的方法
  • 【测试】⽤例篇
  • Android Telephony 框架与横向支撑层
  • SpringBoot+SpringMVC常用注解
  • 多线程(线程的创建与常见方法的使用)
  • sqli-labs靶场less29~less35
  • milvus client操作简单示例
  • 数据与模型优化随机森林回归进行天气预测
  • PyTorch深度学习实战(48)——基于Transformer实现机器翻译
  • 1.kotlin数组、集合常用方法
  • Day31:文件的规范拆分与写法
  • 三维模型轻量化双杀技:GISBox的纹理压缩与顶点压缩联合
  • 交叉验证:原理、作用与在机器学习流程中的位置
  • 【笔记】ROS1|1 ROS基本命令介绍及创建工作空间与功能包【旧文转载】
  • 从知识管理到智能协作:Gitee Wiki如何重塑软件研发效率范式
  • AI聊天:虚拟主播的角色提示词
  • HTTPS有哪些优点
  • LLM嵌入特征工程
  • Coze Studio 概览(七)--记忆管理功能
  • 单调栈|图
  • 电脑上不了网怎么办?【图文详解】wifi有网络但是电脑连不上网?网络设置
  • 【C++】——类和对象(下)
  • SpringBoot3.x入门到精通系列:3.3 整合 Elasticsearch 详解
  • Oracle EBS ERP接口开发 — 修复bug基本流程
  • 《人形机器人的觉醒:技术革命与碳基未来》——类人关节设计:气动人工肌肉PAM及其对材料技术要求与限制
  • 安装MySQL可视化管理工具DBeaver教程