当前位置:   article > 正文

数据线性回归分析_wps回归分析

wps回归分析

目录

一、利用WPS进行线性回归分析

二、利用jupyter编程(不借助第三方库) 对数据进行线性回归分析

1、将数据文件上传(方便后续打开数据文件)

 2、添加代码

​编辑

3 、输出200组数据

4、输出2000组数据

 5、利用pandas打开excel文件出现ImportError解决方法

 三、借助skleran对数据进行线性回归分析

 总结

参考资料


一、利用WPS进行线性回归分析

1、20组数据

选中两组数据,插入散点图

更改数据为前20组

 进行线性回归分析

选中散点图,点击图表元素,选中趋势线

 显示回归方程和R平方值

选中回归线,点击趋势线,选中显示公式和R平方值

获得数据

y = 4.128x - 152.23

R^{2} = 0.3254

2、200组数据

将数据更改为使用前200组

 

获得数据

y = 3.4317x - 105.96

R^{2} = 0.31

3、2000组数据

将数据更改为前2000组

获得数据

y = 2.9555x - 73.661

R^{2}=0.2483

二、利用jupyter编程(不借助第三方库) 对数据进行线性回归分析

1、将数据文件上传(方便后续打开数据文件)

 2、添加代码

  1. import pandas as pd
  2. import numpy as np
  3. import math
  4. import matplotlib.pyplot as plt
  5. #准备数据
  6. p=pd.read_excel('weights_heights(身高-体重数据集).xls','weights_heights')
  7. #读取20行数据
  8. p1=p.head(20)
  9. x=p1["Height"]
  10. y=p1["Weight"]
  11. # 平均值
  12. x_mean = np.mean(x)
  13. y_mean = np.mean(y)
  14. #x(或y)列的总数(即n)
  15. xsize = x.size
  16. zi=((x-x_mean)*(y-y_mean)).sum()
  17. mu=((x-x_mean)*(x-x_mean)).sum()
  18. n=((y-y_mean)*(y-y_mean)).sum()
  19. # 参数a b
  20. a = zi / mu
  21. b = y_mean - a * x_mean
  22. #相关系数R的平方
  23. m=((zi/math.sqrt(mu*n))**2)
  24. # 这里对参数保留4位有效数字
  25. a = np.around(a,decimals=4)
  26. b = np.around(b,decimals=4)
  27. m = np.around(m,decimals=4)
  28. print(f'回归线方程:y = {a}x +({b})')
  29. print(f'相关回归系数为{m}')
  30. #借助第三方库skleran画出拟合曲线
  31. y1 = a*x + b
  32. plt.scatter(x,y)
  33. plt.plot(x,y1,c='r')

输出20组数据

3 、输出200组数据

4、输出2000组数据

 5、利用pandas打开excel文件出现ImportError解决方法

错误原因:没有安装xlrd模块

解决方法:在Anaconda安装xlrd模块

激活虚拟环境

 安装xlrd模块

conda install -c anaconda xlrd

 三、借助skleran对数据进行线性回归分析

添加代码

  1. # 导入所需的模块
  2. import numpy as np
  3. import pandas as pd
  4. import matplotlib.pyplot as plt
  5. from sklearn.linear_model import LinearRegression
  6. p=pd.read_excel('weights_heights(身高-体重数据集).xls','weights_heights')
  7. #读取数据行数
  8. p1=p.head(20)
  9. x=p1["Height"]
  10. y=p1["Weight"]
  11. # 数据处理
  12. # sklearn 拟合输入输出一般都是二维数组,这里将一维转换为二维。
  13. y = np.array(y).reshape(-1, 1)
  14. x = np.array(x).reshape(-1, 1)
  15. # 拟合
  16. reg = LinearRegression()
  17. reg.fit(x,y)
  18. a = reg.coef_[0][0] # 系数
  19. b = reg.intercept_[0] # 截距
  20. print('拟合的方程为:Y = %.4fX + (%.4f)' % (a, b))
  21. c=reg.score(x,y) # 相关系数
  22. print(f'相关回归系数为%.4f'%c)
  23. # 可视化
  24. prediction = reg.predict(y) # 根据高度,按照拟合的曲线预测温度值
  25. plt.scatter(x,y)
  26. y1 = a*x + b
  27. plt.plot(x,y1,c='r')

20组数据

 200组数据

2000组数据

 总结

利用wps和jupyter解决线性回归问题得出的结果大致相同。在利用jupyter解决线性回归问题时,出现无法打开目标文件读取数据,利用网络查询最终解决问题。

参考资料

Python错误集锦:pandas读取excel提示ImportError

Excel和jupyter实现数据的线性回归

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/102918
推荐阅读
相关标签
  

闽ICP备14008679号