机器学习(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):

    • 训练样本中特征的数量。
python 复制代码
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_error

x,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_)
相关推荐
ltqvibe4 分钟前
AI问数、找IT取数、自己导Excel,三条路怎么选
人工智能·excel·数据报表·智能问数·ai问数·本体语义·取数
小饕5 分钟前
llama‑cpp边缘部署内存溢出(OOM)问题排查报告
人工智能·大模型端侧部署
paopaokaka_luck5 分钟前
基于springboot3+vue3的精准扶贫管理系统(AI 问答、ECharts 图形化分析)
前端·人工智能·echarts
Wang's Blog5 分钟前
Vibe Coding一人即团队系列51: AI赋能项目交付与产品文档自动化生成实践
人工智能·自动化·devops
Carol06308 分钟前
AI 进化全景:符号 AI‑大模型‑通用 Agent 发展之路
人工智能
eBest数字化转型方案11 分钟前
Route Optimization for FMCG:多目标排线算法的工程实现
大数据·人工智能·算法
武子康14 分钟前
Seedream 5.0 Pro 进入 Vercel AI Gateway:图像生成开始网关化
人工智能·ai·chatgpt·gateway·agent·claude·harness
能源科技集17 分钟前
GWh时代储能逻辑生变,远景动力(AESC)790Ah电芯反向定义系统最优解
人工智能
Forerror202618 分钟前
API网关怎么部署?MAI Gateway配置教程与最佳实践
人工智能·gateway·maigateway·finapi·企业级ai网关·大模型财务管控
2601_9621007320 分钟前
AI批量生成视频的工程化复盘(2026):一条能断点续跑、不重复扣量的出片脚本
人工智能·音视频