初识线性回归

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

一、用excel中数据分析功能做线性回归练习

1. 添加数据分析工具

打开excel软件–点击左上角“文件”–找到“选项”,进入excel选项界面。

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

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

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

2.用excel完成线性回归

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

(一)20组数据

将Weight作为Y值,Height作为X值,选择20组数据的区域,并勾选“线性拟合图”,点击“确定”。
在这里插入图片描述
确定后会得到如下图表
在这里插入图片描述
选中表中的数据,点击鼠标右键,“添加趋势线”。
在这里插入图片描述
选择“线性”,并勾选“显示公式”、“显示R平方值”。
在这里插入图片描述
完成后的图如下,可以看到公式以及R的平方值。
![在这里插入图片描述](https://img-blog.csdnimg.cn/9028b0c16a9d412fbabc6bb1ccf92ccf.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAT25lMjMzMng=,size_13,color_FFFFFF,t_70,g_se,x_1

(二)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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值