python-线性回归NumPy和Matplotlib库

import matplotlib.pyplot as plt
from scipy import stats

x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y = [99,86,87,88,111,86,103,87,94,78,77,85,86]

slope, intercept, r, p, std_err = stats.linregress(x, y)

def myfunc(x):
  return slope * x + intercept

mymodel = list(map(myfunc, x))

plt.scatter(x, y)
plt.plot(x, mymodel)
plt.show()

这段代码使用了Matplotlib和SciPy库来进行简单的线性回归分析,并绘制出数据点和回归线的散点图。下面是对每行代码的解释:

  1. import matplotlib.pyplot as plt:导入Matplotlib库中的pyplot模块,并将其命名为plt,以便在代码中使用。

  2. from scipy import stats:从SciPy库中导入stats模块,用于进行统计分析。

  3. x = [5,7,8,7,2,17,2,9,4,11,12,9,6]:定义一个一维数组x,表示自变量的取值。

  4. y = [99,86,87,88,111,86,103,87,94,78,77,85,86]:定义一个一维数组y,表示因变量的取值。

  5. slope, intercept, r, p, std_err = stats.linregress(x, y):使用stats模块中的linregress函数进行线性回归分析,得到回归方程的斜率(slope)、截距(intercept)、相关系数(r)、p值(p)和标准误差(std_err)。

  6. def myfunc(x)::定义一个名为myfunc的函数,接受一个参数x,用于计算回归线上的y值。

  7. return slope * x + intercept:在myfunc函数中,返回根据回归方程计算的y值。

  8. mymodel = list(map(myfunc, x)):使用map函数将自变量数组x中的每个元素传入myfunc函数,并将结果存储在mymodel中,得到回归线上的所有y值。

  9. plt.scatter(x, y):使用Matplotlib的scatter函数绘制数据点的散点图。

  10. plt.plot(x, mymodel):使用Matplotlib的plot函数绘制回归线。

  11. plt.show():显示绘制的散点图和回归线。

通过这段代码,我们可以对给定的x和y数据进行线性回归分析,并绘制出数据点和回归线的散点图,从而观察数据的线性趋势和相关性。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值