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

机器学习经典算法——线性回归

目录

        算法介绍

一元线性回归模型

多元线性回归模型

​误差项分析

相关系数

算法案例

一元线性回归预测——广告销售额案例

二元线性回归预测——血压收缩案例

多元线性回归预测——糖尿病案例


算法介绍

线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。

一元线性回归模型

多元线性回归模型
误差项分析
  • 误差项可以省略吗?

    误差项不可省略,误差是必然产生的。并且由于产生了误差项,我们便可以基于误差的特点来进行对线性回归的参数估计的。

  • 误差项有什么特点? 独立同分布。

  • 误差项满足高斯分布的原因?

    1. 数据样本偏离线性回归模型不会太远。

    2. 大部分都是在偏离一点点。

    3. 极少数的样本点会偏离比较远。

相关系数

又称皮尔逊相关系数,是研究变量之间相关关系的度量,一般用字母r表示。计算方式如下:

相关系数解释:

算法案例

一元线性回归预测——广告销售额案例

如图是广告投入与销售额的数据截图,请根据这份数据预测广告投入为35和40时的营业额分别是多少

data=pd.read_csv("data.csv")
l=LinearRegression()
x=data[['广告投入']]
y=data[['销售额']]
l.fit(x,y)
result=l.predict(x)
score=l.score(x,y)
print('y={:.2f}x+{:.2f}'.format(l.coef_[0][0],l.intercept_[0]))
print(f"预测广告投入为35时销售额为:{l.predict([[35]])}")
print(f"预测广告投入为40时销售额为:{l.predict([[40]])}")
二元线性回归预测——血压收缩案例

如图是血压收缩的数据截图,请根据这份数据预测体重60,年龄为40的人,体重70,年龄为30这两人的血压收缩为

data=pd.read_csv('血压收缩.csv',encoding='gbk',engine='python')
corr=data[['体重','年龄','血压收缩']].corr()
lr=LinearRegression()
x=data[['体重','年龄']]
y=data[['血压收缩']]
lr.fit(x,y)
score=lr.score(x,y)
print('y={:.2f}x1+{:.2f}x2+{:.2f}'.format(lr.coef_[0][0],lr.coef_[0][1],lr.intercept_[0]))
print(f"预测体重60,年龄为40的人的血压收缩为:{lr.predict([[60,40]])}")
print(f"预测体重70,年龄为30的人的血压收缩为:{lr.predict([[70,30]])}")
多元线性回归预测——糖尿病案例

如图是糖尿病的数据'糖尿病数据.csv'的部分截图,请根据这份数据求解糖尿病的线性回归方程

data=pd.read_csv('糖尿病数据.csv',encoding='gbk',engine='python')
corr=data[['age','sex','bmi','bp','s1','s2','s3','s4','s5','s6','target']].corr()
lr=LinearRegression()
x=data[['age','sex','bmi','bp','s1','s2','s3','s4','s5','s6']]
y=data[['target']]
lr.fit(x,y)
score=lr.score(x,y)
print('y={:.2f}x1+{:.2f}x2+{:.2f}x3+{:.2f}x4+{:.2f}x5+{:.2f}x6+{:.2f}x7+{:.2f}x8+{:.2f}x9+{:.2f}'.format(lr.coef_[0][0],lr.coef_[0][1],lr.coef_[0][1],lr.coef_[0][2],lr.coef_[0][3],lr.coef_[0][4],lr.coef_[0][5],lr.coef_[0][6],lr.coef_[0][7],lr.coef_[0][8],lr.intercept_[0]))

http://www.lryc.cn/news/516741.html

相关文章:

  • MLU上使用MagicMind GFPGANv1.4 onnx加速!
  • VulnHub—potato-suncs
  • 【Flink CDC】Flink CDC的Schema Evolution表结构演变的源码分析和流程图
  • 【智能算法】改进蚁狮优化算法【matlab】
  • swagger导出json
  • Go语言的 的引用数据类型(Reference Data Types)核心知识
  • JAVA解析Excel复杂表头
  • jmeter 中 BeanShell 预处理程序、JSR223后置处理程序使用示例
  • 我的创作纪念日——《惊变128天》
  • vuedraggable 选项介绍
  • 微信小程序获取后端数据
  • ThreadLocal` 的工作原理
  • 数据挖掘教学指南:从基础到应用
  • 大模型搜索引擎增强问答demo-纯python实现
  • 【C语言程序设计——选择结构程序设计】按从小到大排序三个数(头歌实践教学平台习题)【合集】
  • 简洁安装配置在Windows环境下使用vscode开发pytorch
  • conda安装及demo:SadTalker实现图片+音频生成高质量视频
  • 【面试】后端开发面试中常见数据结构及应用场景、原理总结
  • 141.《mac m系列芯片安装mongodb详细教程》
  • Java 23 集合框架详解:ArrayList、LinkedList、Vector
  • 03、MySQL安全管理和特性解析(DBA运维专用)
  • 创建型模式5.单例模式
  • 用户界面软件02
  • VTK 鼠标+键盘重构
  • go语言处理JSON数据详解
  • 基于gin一个还算比较优雅的controller实现
  • PDFMathTranslate: Star13.8k,一款基于AI的PDF文档全文双语翻译PDF文档全文双语翻译,保留格式神器,你应该需要它
  • Python编程实例-特征向量与特征值编程实现
  • Vue3-跨层组件通信Provide/Inject机制详解
  • Linux Jar包定时重启脚本,按最新时间的Jar包启动