线性回归练习
一、用excel中数据分析功能做线性回归练习
1. 添加数据分析工具
打开excel软件–点击左上角“文件”–找到“选项”,进入excel选项界面。

点击左下角“加载项”,在点击“转到”。

勾选“分析工具库”、“分析工具库VBA”选项,点击“确定”。

点击“数据”可以看到“数据分析”选项,即为添加成功。

2.用excel完成线性回归
打开weights_heights(身高-体重数据集).xls表格,点击“数据”–打开“数据分析”选项–选择“回归”–“确定”。

(一)20组数据
将Weight作为Y值,Height作为X值,选择20组数据的区域,并勾选“线性拟合图”,点击“确定”。

确定后会得到如下图表

选中表中的数据,点击鼠标右键,“添加趋势线”。

选择“线性”,并勾选“显示公式”、“显示R平方值”。

完成后的图如下,可以看到公式以及R的平方值。

(二)200组数据
同上步骤,选取200个数据区域。

得到的图表如下

(三)2000组数据
同上步骤,选取2000个数据区域。

得到的图表如下

二、用jupyter编程(不借助第三方库),用最小二乘法,重做第1题
1.安装Anaconda,并启动Jupyter Notebook

2.进入界面,点击“new”新建文件

新建文件如下

3.运行代码
20组数据
20组数据代码如下:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import math
# 读取表格
df = pd.read_excel(r"C:\Users\lh\Desktop\weights_heights.xls")
df.shape
# 20组数据
d = df.head(20)
x = d["Height"]
y = d["Weight"]
plt.scatter(x,y)
plt.axis([65,72,0,180])
plt.show()
#计算平均值
x_mean=np.mean(x)
y_mean=np.mean(y)
a = num/d
b = y_mean - a * x_mean
print("所得直线方程为:y=",a,"x",b)
# 输出结果为:所得直线方程为:y= 4.128037498890453 x -152.2337845345731
print("R-squared:",((num/math.sqrt(d*m))**2))
# 输出结果为:R-squared: 0.32542302493662545
y_hat=a * x +b
plt.scatter(x,y

这篇博客对比了使用Excel的数据分析功能和Python的sklearn库进行线性回归的方法。作者首先介绍了如何在Excel中设置数据分析工具并完成20、200、2000组数据的线性回归,接着在Jupyter Notebook中不借助第三方库用最小二乘法重做此过程,最后使用sklearn库进行了同样的操作,发现sklearn方法更简便。
最低0.47元/天 解锁文章
1693

被折叠的 条评论
为什么被折叠?



