python数据分析从入门到进阶:线性回归和正则化

回归分析(线性回归、逻辑回归)详解与 Python 实现 文章目录1. 回归分析概述1.1 基本概念 1. 回归分析概述 1.1 基本概念   回归分析是处理多变量间相关关系的一种数学方法。相关关系不同于函数关系,函数关系反应变量间严格依存性,简单说就是一个自变量对应一个因变量。而相关分析中,对自变量的每一个取值,因变量可以有多个数值与之对应。在统计上,研究相关关系可以运用回归分析和相关分析。   当自变量为非随机变量而因变量为随机变量时,它们的关系分析... 阅读详情

引言

上一章中我们以minist数据集演示了如何实现一个分类算法,并进行选择。这一章中,我们将介绍广义线性模型。广义线性模型是机器学习的基础部分,也是很多其他算法的延伸。本文主要介绍一下如何实现简单的线性回归和正则化方法

🍅1.线性回归

通常,线性回归通过简单计算输入特征的加权和,加上一个称为偏差项(也称为截距项)的常数来进行预测。具体公式如下:

y^=β0+β1X1+…+βnXn\hat{y}=\beta_0 + \beta_1 X_1+…+\beta_n X_ny^​=β0​+β1​X1​+…+βn​Xn​

接下来我们看看具体如何实现线性回归模型

import numpy as np
import matplotlib.pyplot as plt

# 生成模拟数据集
X = np.random.randn(100,1)
y = 3*X+4+np.random.randn(100,1)

观察一下生成的数据集

output_5_0

plt.plot(X, y, "b.")
plt.xlabel("$x_1$", fontsize=18)
plt.ylabel("$y$", rotation=0, fontsize=18)
plt.axis([0, 2, 0, 15])
plt.savefig("generated_data_plot")
plt.show()

可以看出数据呈现比较明显的线性趋势,下面使用LinearRegression实现对线性模型的训练

from sklearn.linear_model import LinearRegression
lin_reg = LinearRegression()
lin_reg.fit(X, y)
a = lin_reg.intercept_
b = lin_reg.coef_
a,b#回归系数和截距

(array([3.86880209]), array([[3.0229374]]))

下面根据训练好的线性回归模型进行预测,

X_new = np.array([[0], [2]])
y_predict = lin_reg.predict(X_new)
y_predict

array([[3.86880209],
       [9.91467688]])

将预测结果可视化如下

plt.plot(X_new, y_predict, "r-", linewidth=2, label="Predictions")
plt.plot(X, y, "b.")
plt.xlabel("$x_1$", fontsize=18)
plt.ylabel("$y$", rotation=0, fontsize=18)
plt.legend(loc="upper left", fontsize=14)
plt.axis([0, 2, 0, 15])
plt.show()


请添加图片描述

可以看出拟合结果还不错,下面我们绘制一下Learning curve:随着模型训练样本的变化观察训练集和测试集的误差

from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
'''
定义learning_curves函数
'''
def plot_learning_curves(model, X, y):
    X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=10)#将数据分为训练集合验证集
    train_errors, val_errors = [], []#定义训练误差和验证误差
    for m in range(1, len(X_train) + 1):
        model.fit(X_train[:m], y_train[:m])#根据训练集大小训练模型
        y_train_predict = model.predict(X_train[:m])#拟合训练集
        y_val_predict = model.predict(X_val)#拟合验证集
        train_errors.append(mean_squared_error(y_train[:m], y_train_predict))#计算训练集MSE
        val_errors.append(mean_squared_error(y_val, y_val
Python—线性回归 目录 1.简单线性回归模型2.多元线性回归模型2.1 应用F检验法完成模型的显著性检验2.2应用t检验法完成回归系数的显著性检验 3.基于回归模型识别异常点4.含有离散变量的回归模型 前言: 线性回归模型属于经典的统计学模型,该模型的应用场景是根据已知的变量(即自变量)来预测某个连续的数值变量(即因变量)。例如餐厅根据媒体的营业数据(包括菜谱价格、就餐人数、预订人数、特价菜折扣等)预测就餐规模或营业额;网站根据访问的历史数据(包括新用户的注册量、老用户的活跃度、网站内容的更新频率等)预测用户的支 阅读详情

相关推荐

Python实战:利用LinearRegression实现数据拟合与预测

本文详细介绍了如何使用Python的LinearRegression模型进行数据拟合与预测。从一元线性回归到多元线性回归,文章涵盖了环境搭建、数据理解、模型实现、结果可视化及R²评分等核心步骤,并深入探讨了模型评估、过拟合陷阱及正则化等优化方法,为机器学习入门者提供了完整的实战指南。

y7z8a9的博客 850

机器学习之线性回归

文章目录一、线性回归1、普通线性回归(Linear Regression)2、岭回归(Ridge Regression)3、套索回归(lasso回归)二、python实战0、导包 数据说明1、线性回归2、岭回归3、Lasso回归 一、线性回归 1、普通线性回归(Linear Regression) 线性回归是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。 这种函数是一个或多个称为回归系数的模型参数的线性组合(自变量都是一次方); 只有一个自变量的情况称为一元

m0_69435474的博客 2953

线性回归模型(7大模型)

​ 先从一个简单的问题开始:如何用一个线性函数来拟合一个二维数据集?​ 假设我们有一个二维数据集,其中每个样本都由一个x和一个y组成。我们可以用一个线性函数 y = ax + b 来拟合这个数据集,其中a和b是待定的系数。我们的目标是找到最佳的a和b,使得这个线性函数能够尽可能地拟合这个数据集。​ 这就是线性回归的基本思想:通过拟合一个线性函数来预测一个连续型的输出变量。这是一个非常简单的案例。

Kayleigh520的博客 2万+

线性回归建模核心知识点梳理:原理、假设、可视化与正则化详解

线性回归是数据分析与机器学习的基础建模方法,广泛应用于业务分析、经济建模等领域。本文系统介绍了简单线性回归和多元线性回归的核心概念,包括模型构建、假设检验、特征选择以及正则化方法。通过Python代码示例展示了如何实现回归模型,并强调了模型评估指标如MSE和R²的重要性。文章还探讨了回归分析的四大基本假设、共线性问题及解决方案,以及防止过拟合的正则化技术。最后指出,尽管机器学习模型不断涌现,线性回归凭借其可解释性和高效性,仍是数据分析师必须掌握的核心技能。

long1973m的博客 1238

Python数据分析之机器学习:回归

回归模型包括:线性回归,带正则化的线性回归;罗吉斯特回归;人工神经网络;回归树;

weixin_45085051的博客 3002

【Python机器学习】——线性回归

在下面的示例中,x 轴表示车龄,y 轴表示速度。重要的是要知道 x 轴的值和 y 轴的值之间的关系有多好,如果没有关系,则线性回归不能用于预测任何东西。注释:结果 -0.76 表明存在某种关系,但不是完美的关系,但它表明我们可以在将来的预测中使用线性回归。r 平方值的范围是 0 到 1,其中 0 表示不相关,而 1 表示 100% 相关。让我们创建一个实例,其中的线性回归并不是预测未来值的最佳方法。例如:让我们尝试预测一辆拥有 10 年历史的汽车的速度。您应该得到了一个非常低的 r-squared 值。

玄链教育 1301

Modbus 通信协议详解

Modbus是由 Modicon(现为施耐德电气公司的一个品牌)在 1979 年发明的,是全球第一个真正用于工业现场的总线协议。ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给 IDA(,分布式自动化接口)组织,并成立了 Modbus-IDA 组织。

Projectsauron 的博客 7万+

RTL8306MB交换芯片驱动开发避坑指南:从硬件接线到SDK移植全流程解析

本文详细解析了RTL8306MB交换芯片驱动开发的全流程,重点从硬件接线、SDK移植到实战调试。针对RMII模式下的常见问题,特别是TXEN与RXDV信号交叉连接等关键“坑点”,提供了清晰的排查指南和解决方案,旨在帮助嵌入式工程师高效完成网络设备开发。

277

安装Anaconda和Labelme的教程

1 登录Anaconda官网,选择Download https://www.anaconda.com/distribution/ 2 选择你想下载的Python版本,选择你的操作系统和位数,然后点击Download按钮就开始下载了 3 开始安装 下面两个框框都勾选 点击next,等待安装成功 打开Anaconda Navigator 点击红色圈圈的按钮 在cmd中输入 (1)创建虚拟环境 conda create -n labelme python=3.6 (2)激活虚拟环境 conda activa

qq_42178122的博客 3808

学习STM32的无人机控制

下面是一个基于STM32的无人机控制的简单示例代码,包括四旋翼的PID控制、遥控器信号解析和电机控制。本示例以STM32F103系列为例,使用Keil C编译器进行开发。

qq_67153941的博客 706

《C#零基础入门之百识百例》(七)算数运算符 -- 圆的面积

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C# 有丰富的内置运算符,本文带你学习C# 中算数运算符。

陈言必行 -- Unity游戏开发领域优质博主 3612

智能工厂评估模型研究

摘要:通过对国内外现有智能制造评估模型的研究,结合重庆制造业行业领跑者与落后者之间差距大的现状,以实现全要素全连接的数字化工厂为出发点,融合工业互联网标识,构建实践可行的智能工厂评估模型推动中小型企业参与智能制造转型,缓和两极分化问题。本评估模型包含工厂体系架构的3个层级,提供用于推动智能制造转型的参考,包括设计、生产、管理的全过程评估。关键词:智能制造评估模型;智能制造转型;全连接工厂;工业互联网标识0 引言受行业需求与技术创新的影响,全球制造业在历经了工业1.0机械化、工业2.0电气化和工业3.0自动

罗伯特技术屋 677

4、基于球面波展开的近场/远场变换技术解析

本文深入解析了基于球面波展开的近场/远场变换技术,涵盖坐标系统选择、截断测量处理、高级SWE方法及实际应用场景。重点介绍了广义SWE、全探头补偿、平移SNF测量(TSWE)等关键技术,结合吸收材料与导电地板系统的误差处理方案,系统总结了各类方法的优缺点与适用场景,并通过流程图和案例分析展示了技术应用路径。该技术在汽车、通信和航空航天领域的天线测量中具有重要价值,可显著提升测量效率与精度。

dell8的博客 255

Muse Spark:功能、性能测试及使用方法

对于一个仅用九个月时间从零开始重建的团队来说,这样的健康状况和多模态测试结果无疑是迈出了坚实的第一步,并且经受住了独立测试的考验。Muse Spark 为每个产品确定了最重要的主题(A 产品的发布策略、B 产品的定价策略、C 产品的规模化策略),并提出了切实可行的具体行动方案。抽象视觉推理也遵循同样的模式:Muse Spark 的 ARC-AGI-2 得分为 42.5,而 GPT-5.4 和 Gemini 的得分都在 70 分左右。他的离职是由于组织结构的变化限制了他的角色,以及团队转向闭源开发。

xiaoshun007的专栏 123

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: python数据分析从入门到进阶:分类算法:下(含详细代码)
下一篇: 十大Python可视化工具,太强了
Python_P叔
博客等级 码龄3年 5447粉丝 827原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值