使用Python进行数据分析——线性回归分析

这篇具有很好参考价值的文章主要介绍了使用Python进行数据分析——线性回归分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,线性回归是确定两种或两种以上变量之间互相依赖的定量关系的一种统计分析方法。根据自变量的个数,可以将线性回归分为一元线性回归和多元线性回归分析。

一元线性回归:就是只包含一个自变量,且该自变量与因变量之间的关系是线性关系。例如通过广告费这一个自变量来预测销量,就属于一元线性回归分析。

多元线性回归:如果回归分析包含两个或以上的自变量,且每个因变量与自变量之间都是线性关系,则称为多元线性回归分析;例如通过肥料、灌溉等人工成本来预测产量,就属于多元线性回归。

一、线性回归分析的思路

  • 确定因变量与自变量。比如通过人工成本费进行产量预测时,人工成本费是自变量,产量是因变量。

  • 确定线性回归分析的类型。例如在一元线性回归分析中,只需要确定自变量与因变量的相关度为强相关性,即可建立一元线性回归方程,从而确定线性回归分析的类型为一元线性回归。

  • 建立线性回归分析模型

  • 检验线性回归分析模型的拟合程度。为了判断线性回归分析模型是否可用于实际检测,需要检验线性回归分析模型的拟合程度,也就是对模型进行评估,主要以这三个值作为评估标准:(R-squared统计学中的)、Adj.R-squared(即Adiustd )、P值;其中前两个用来衡量线性拟合的拟合程度,P值用来衡量特征变量的显著性。

  • 利用线性回归分析模型进行预测。如果拟合出来的回归分析模型的拟合度符合要求,就可以使用该模型以及计算出的系数a和b得到回归方程,从而根据已有的自变量数据来预测需要的因变量结果。

二、一元线性回归分析

使用Python进行数据分析——线性回归分析

那我们初中学过的一元一次方程y=ax+b来说:就是最简单的一元线性回归,接下来,我们以上图数据为例,假设当人工成本为6600元时,产量为多少?我们下面就这一实际生产问题问题进行一元线性回归分析代码演示。

确定因变量与自变量:


import pandas as pd
data= pd.read_excel('D:/shujufenxi/作物表型记录本.xlsx',sheet_name=0,index_col='序号')
print(data.head())
使用Python进行数据分析——线性回归分析

我们要进行的是根据已知的6600人工成本预测产量,由此可知,人工成本费为自变量,产量为因变量。

确定线性回归分析的类型:


import pandas as pd
data= pd.read_excel('D:/shujufenxi/作物表型记录本.xlsx',sheet_name=0,index_col='序号')
print(data.head())
# 选中自变量与因变量的数据,x为自变量,y为因变量
x=data[['人工成本费(元)']]
y=data[['产量(公斤)']]
# 确定线性回归分析的类型
corr=data.corr()
print(corr)
使用Python进行数据分析——线性回归分析

可以看到人工成本与产量之间的相关系数为0.965321,为强相关,随后利用Matplotlib模块进行绘制散点图,代码如下:


# 绘制散点图
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.scatter(x,y)
plt.xlabel('人工成本费(元)')
plt.ylabel('产量(公斤)')
plt.show()
使用Python进行数据分析——线性回归分析

建立回归分析模型以及检验线性回归分析模型的拟合程度:


#建立回归分析模型
from sklearn.linear_model import LinearRegression  # 需下载Scikit-Learn模块,使用LinearRegression()函数建立线性回归分析模型
Model=LinearRegression()
Model.fit(x,y)
#检验线性回归分析模型的拟合程度
score=Model.score(x,y)
print(score)
plt.scatter(x,y)
plt.plot(x,Model.predict(x))
plt.xlabel('人工成本费(元)')
plt.ylabel('产量(公斤)')
plt.show()
使用Python进行数据分析——线性回归分析

可以看出模型的评分约为0.93,很接近1,拟合程度还是较高的。

使用Python进行数据分析——线性回归分析

可以看出大多数散点还是比较靠近这条直线的,说明模型很好的捕捉到了数据特征,可以算是恰当拟合。

利用线性回归分析进行预测:


# 预测,也可以进行同时预测多个,如下
y=Model.predict([[6600],[15000],[8888]])
print(y)
使用Python进行数据分析——线性回归分析

三、多元线性回归分析

使用Python进行数据分析——线性回归分析

下面我们利用此虚拟数据假设当农药成本费、肥料成本费、田间管理成本费分别为3400、2900、3100时的产量为多少,下面我们将进行完整代码演示:


## 确定自变量与因变量
import pandas as pd
data= pd.read_excel('D:/shujufenxi/作物表型记录本.xlsx',sheet_name=1,index_col='序号')
print(data.head())
# 选中自变量与因变量的数据,x为自变量,y为因变量
x=data[['农药成本费(元)','肥料成本费(元)','田间管理成本费(元)']]
y=data[['产量(公斤)']]
# 确定线性回归分析的类型——图3
corr=data.corr()
print(corr)
# 绘制散点图——图1
import matplotlib.pyplot as plt
import seaborn as sns
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
sns.pairplot(data,x_vars=['农药成本费(元)','肥料成本费(元)','田间管理成本费(元)'],y_vars='产量(公斤)')
plt.show()

#建立回归分析模型
from sklearn.linear_model import LinearRegression  # 需下载Scikit-Learn模块,使用LinearRegression()函数建立线性回归分析模型
Model=LinearRegression()
Model.fit(x,y)
#检验线性回归分析模型的拟合程度——图3
score=Model.score(x,y)
print(score)
# 绘制拟合成果图——图2
sns.pairplot(data,x_vars=['农药成本费(元)','肥料成本费(元)','田间管理成本费(元)'],y_vars='产量(公斤)',kind='reg')# kind参数可添加一条最佳拟合直线和95%的置信带,从而更直观的展示模型的拟合程度
plt.show()

# 预测,也可以进行同时预测多个,如下——图3
y=Model.predict([[3400,2900,3100]])
print(y)
使用Python进行数据分析——线性回归分析
使用Python进行数据分析——线性回归分析
使用Python进行数据分析——线性回归分析

以上就是根据此数据所进行的多元线性回归分析以及模型预测;在上面第二个图中,我们从置信带的宽度来看,农药成本费与产量的线性关系较强,肥料成本费、田间管理成本费两者与产量的线性关系则较弱。

本文所讲对模型进行拟合在实际生产中具有重大意义,不仅可以利用已知变量预测未知变量,还能根据拟合结果判断所得数据是否具有生产意义。文章来源地址https://www.toymoban.com/news/detail-409903.html

到了这里,关于使用Python进行数据分析——线性回归分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于多元线性回归的Boston房价数据分析

    Boston房价数据是R语言中一类重要的数据,常被用来做各种方法分析,即它是波士顿不同地区的506个家庭住房信息,其中包括影响房价的14个因素如城镇的人均犯罪率、氮氧化合物浓度、城镇黑人的比例、低教育程度的人口比例等,而且每个因素对房价的影响都是不同显著程度

    2024年01月19日
    浏览(54)
  • 大数据分析案例-基于多元线性回归算法构建广告投放收益模型

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 1.项目背景 2.项目简介 2.1

    2024年02月03日
    浏览(53)
  • 鲍鱼数据集案例分析-预测鲍鱼年龄(线性回归/梯度下降法实操)

    数据集来源UCI Machine Learning Repository: Abalone Data Set 目录 一、数据集探索性分析 二、鲍鱼数据预处理 1.对sex特征进行OneHot编码,便于后续模型纳入哑变量 2.添加取值为1的特征 3. 计算鲍鱼的真实年龄 4.筛选特征 5. 将鲍鱼数据集划分为训练集和测试集 三、实现线性回归和岭回归

    2024年02月08日
    浏览(72)
  • 使用Python进行数据分析——方差分析

    大家好,方差分析可以用来判断几组观察到的数据或者处理的结果是否存在显著差异。本文介绍的方差分析(Analysis of Variance,简称ANOVA)就是用于检验两组或者两组以上样本的均值是否具备显著性差异的一种数理统计方法。 根据影响试验条件的因素个数可以将方差分析分为

    2024年02月15日
    浏览(66)
  • 如何使用Python进行数据分析?

    要使用Python进行数据分析,可以按照以下步骤进行: 安装Python:首先,你需要安装Python解释器。可以从Python官方网站下载并安装适合你操作系统的Python版本。 安装数据分析库:Python有许多强大的数据分析库,如NumPy、Pandas和Matplotlib。使用pip命令或包管理工具安装这些库。 导

    2024年02月10日
    浏览(57)
  • 使用Python批量进行数据分析

    知识延伸 1、sort_value()是pandas模块中DataFrame对象的函数,用于将数据区域按照某个字段的数据进行排序,这个字段可以是行字段,也可以是列字段。 语法格式: sort_value(by=\\\'##\\\',axis=0,ascending=True,inplace=False,na_position=\\\'last\\\') 参数 说明 by 要排序的列名或索引值 axis 如果省略或者为

    2024年02月10日
    浏览(40)
  • Python小知识 - 使用Python进行数据分析

    使用Python进行数据分析 数据分析简介 数据分析,又称为信息分析,是指对数据进行综合处理、归纳提炼、概括总结的过程,是数据处理的第一步。 数据分析的目的是了解数据的内在规律,为数据挖掘,并应用于商业决策、科学研究等提供决策依据。 数据分析的基本方法 数

    2024年02月10日
    浏览(32)
  • 使用Python进行健身手表数据分析

    健身手表(Fitness Watch)数据分析涉及分析健身可穿戴设备或智能手表收集的数据,以深入了解用户的健康和活动模式。这些设备可以跟踪所走的步数、消耗的能量、步行速度等指标。本文将带您完成使用Python进行Fitness Watch数据分析的任务。 Fitness Watch数据分析是健康和保健领域

    2024年02月10日
    浏览(50)
  • 数据分享|R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据...

    本教程为读者提供了使用频率学派的广义线性模型(GLM)的基本介绍。具体来说,本教程重点介绍逻辑回归在二元结果和计数/比例结果情况下的使用,以及模型评估的方法 ( 点击文末“阅读原文”获取完整 代码数据 )。 本教程使用教育数据例子进行模型的应用。此外,本

    2024年02月16日
    浏览(43)
  • 使用Python进行数据分析——描述性统计分析

    大家好,描述性统计分析主要是指求一组数据的平均值、中位数、众数、极差、方差和标准差等指标,通过这些指标来发现这组数据的分布状态、数字特征等内在规律。在Python中进行描述性统计分析,可以借助Numpy、Pandas、SciPy等科学计算模块计算出指标,然后用绘图模块Ma

    2024年02月07日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包