线性回归的改进-岭回归

news/2025/1/10 14:24:32/

回归的改进岭回归">2.10 线性回归的改进-岭回归

学习目标

  • 知道岭回归api的具体使用

1 API

  • sklearn.linear_model.Ridge(alpha=1.0, fit_intercept=True,solver="auto", normalize=False)
    • 具有l2正则化的线性回归
    • alpha:正则化力度,也叫 λ
      • λ取值:0~1 1~10
    • solver:会根据数据自动选择优化方法
      • sag:如果数据集、特征都比较大,选择该随机梯度下降优化
    • normalize:数据是否进行标准化
      • normalize=False:可以在fit之前调用preprocessing.StandardScaler标准化数据
    • Ridge.coef_:回归权重
    • Ridge.intercept_:回归偏置

Ridge方法相当于SGDRegressor(penalty='l2', loss="squared_loss"),只不过SGDRegressor实现了一个普通的随机梯度下降学习,推荐使用Ridge(实现了SAG)

  • sklearn.linear_model.RidgeCV(_BaseRidgeCV, RegressorMixin)
    • 具有l2正则化的线性回归,可以进行交叉验证
    • coef_:回归系数`class _BaseRidgeCV(LinearModel): def __init__(self, alphas=(0.1, 1.0, 10.0), fit_intercept=True, normalize=False,scoring=None, cv=None, gcv_mode=None, store_cv_values=False):`

2 观察正则化程度的变化,对结果的影响?

在这里插入图片描述

  • 正则化力度越大,权重系数会越小
  • 正则化力度越小,权重系数会越大

3 波士顿房价预测

def linear_model3():"""线性回归:岭回归:return:"""# 1.获取数据data = load_boston()# 2.数据集划分x_train, x_test, y_train, y_test = train_test_split(data.data, data.target, random_state=22)# 3.特征工程-标准化transfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.fit_transform(x_test)# 4.机器学习-线性回归(岭回归)estimator = Ridge(alpha=1)# estimator = RidgeCV(alphas=(0.1, 1, 10))estimator.fit(x_train, y_train)# 5.模型评估# 5.1 获取系数等值y_predict = estimator.predict(x_test)print("预测值为:\n", y_predict)print("模型中的系数为:\n", estimator.coef_)print("模型中的偏置为:\n", estimator.intercept_)# 5.2 评价# 均方误差error = mean_squared_error(y_test, y_predict)print("误差为:\n", error)

4 小结

  • sklearn.linear_model.Ridge(alpha=1.0, fit_intercept=True,solver=“auto”, normalize=False)【知道】
    • 具有l2正则化的线性回归
    • alpha – 正则化
      • 正则化力度越大,权重系数会越小
      • 正则化力度越小,权重系数会越大
    • normalize
      • 默认封装了,对数据进行标准化处理


http://www.ppmy.cn/news/1561994.html

相关文章

爬取电影数据结合Flask实现数据可视化

网站:Scrape | Movie 本案例(爬虫)所需要的模块 requests (网络请求模块)pandas (数据保存模块)parsel (数据解析模块)lxml (数据解析模块) pyecharts (可视化库)flask(框架) 以上的模块均需要通过 指令 pip install 模块名 安装 Explain: 分析此页面的数据为静态的…

flask-admin 非自定义modelview下扩展默认视图(base.html)

背景 在默认视图下实现某些统一的业务需求,如想改变默认视图的某些样式等。本文想阐述的是在默认视图下添加“面包屑”效果 材料: 略 制作: 目标: 1、在不重构的情况下实现如下效果 2、上源码 {% if admin_view.category %}…

C#中 string.Equals 和 == 区别

在 C# 中,string.Equals方法和运算符都可用于比较字符串,但它们在某些方面存在区别,主要如下: **string.Equals方法:**是一个实例方法,用于比较两个字符串对象的内容是否相等,比较时会根据字符…

QT笔记- QTableWidget移动行

QTableWidget * tw ui->tableWidget;// 保存要移动的行的数据QList<QTableWidgetItem *> items;for(int i 0; i < 2; i){QTableWidgetItem * C0Item;QTableWidgetItem * C1Item;QTableWidgetItem * C2Item;int removeRow -1;for(int row 0; row < tw->ro…

Android studio gradle与gradle插件

最终换gradle版本&#xff0c;糊成一坨。 记录一下 Android studio里有两个容易搞混&#xff0c;记载一下。 build.gradle文件中的为插件版本&#xff1a; classpath "com.android.tools.build:gradle:3.5.0" gradle.properties里的才是gradle版本。 distributio…

飞书企业消息实践

一、飞书自带的消息机器人限制 频控策略 - 服务端 API - 飞书开放平台 自定义机器人的频率控制和普通应用不同&#xff0c;为单租户单机器人 100 次/分钟&#xff0c;5 次/秒。建议发送消息尽量避开诸如 10:00、17:30 等整点及半点时间&#xff0c;否则可能出现因系统压力导致…

什么是数据湖?大数据架构的未来趋势

&#x1f496; 欢迎来到我的博客&#xff01; 非常高兴能在这里与您相遇。在这里&#xff0c;您不仅能获得有趣的技术分享&#xff0c;还能感受到轻松愉快的氛围。无论您是编程新手&#xff0c;还是资深开发者&#xff0c;都能在这里找到属于您的知识宝藏&#xff0c;学习和成长…

JS控制对应数据隐藏

首先需要获得到所有的input框&#xff0c;并声明一个空对象来存放&#xff0c;遍历所有的复选框&#xff0c;将他们中选中的放入对象&#xff0c;并设置键值为true&#xff0c;然后执行checkFalseValues(result)函数 function hideItem() {let checkboxes $(.setting_box inp…