初识线性回归

excel线性回归练习

  • 一、excel中数据分析功能做线性回归练习
  • 二、jupyter编程(不借助第三方库),最小二乘法,重做第1题
    • (一)打开jupyter notebook程序
    • (二)进入页面
    • (三)新建文件
    • (四)改文件名称
    • (五)代码以及结果
      • 1. *20*组数据
      • 2.*200*组数据
      • 3.*2000*组数据
  • 三、jupyter编程,借助skleran,重做第1题
    • (一)20组数据
    • (二)200组数据
    • (三)2000组数据
  • 四、总结
  • 五、参考资料

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

(一)用excel打开下载的身高体重文件夹。

初识线性回归_第1张图片
(二)添加数据分析的工具:
1.文件—更多—选项
初识线性回归_第2张图片

初识线性回归_第3张图片

2.点击加载项,后点击跳转
初识线性回归_第4张图片

3.勾选分析工具库分析工具库—VBA,后点击确定
初识线性回归_第5张图片

4.点击查看右上角有一个数据分析,则添加成功
初识线性回归_第6张图片

(三)用excel表完成线性回归
1.点击数据数据分析回归,点击确定
初识线性回归_第7张图片
2.选择体重做Y值,身高X值,选取20个数据
输入自己适合的输出区域,选择线性拟合图,点击确定
初识线性回归_第8张图片

2.输出图表如下
初识线性回归_第9张图片
3.双击体重,设置坐标轴格式,点击坐标轴选项,设置最大最小值,间隔单位
初识线性回归_第10张图片

初识线性回归_第11张图片

4.修改后图像如下
初识线性回归_第12张图片
5.点击选择原始数据,鼠标右键
初识线性回归_第13张图片
6.选择添加趋势线,设置趋势线格式为线性,点击选择显示公式,显示R平方值
初识线性回归_第14张图片
初识线性回归_第15张图片

初识线性回归_第16张图片

7.设置好格式如下
初识线性回归_第17张图片

8.以同样的方法选择200个数据
初识线性回归_第18张图片
8.其图像数据如下
初识线性回归_第19张图片
9,继续选择2000个数据
初识线性回归_第20张图片

10.获得回归图像、方程、相关系数如下
初识线性回归_第21张图片

二、jupyter编程(不借助第三方库),最小二乘法,重做第1题

(一)打开jupyter notebook程序

初识线性回归_第22张图片

(二)进入页面

初识线性回归_第23张图片

(三)新建文件

初识线性回归_第24张图片

(四)改文件名称

初识线性回归_第25张图片

初识线性回归_第26张图片

(五)代码以及结果

1. 20组数据

import pandas as pd
import numpy as np
from numpy import array
from numpy import mean
import os
import matplotlib.pyplot as plt
import math
df=pd.read_excel('C:\\Users\\86199\\weights_heights.xlsx')
dl=df.head(20)
x=dl["Weight"]
y=dl["Height"]
plt.scatter(x,y)
plt.axis([0,180,65,72])
#计算平均值
x_mean=mean(x)
y_mean=mean(y)
num=0.0#分子
d=0.0#分母
m=0.0
for x_i,y_i in zip(x,y):
    num+=(x_i-x_mean)*(y_i-y_mean)
    d+=(x_i+x_mean)**2
    m+=(y_i+y_mean)**2
a=num/d
b=y_mean-a*x_mean
y_hat=a*x+b
plt.scatter(x,y)#散点图绘制数据x,y
plt.plot(x,y_hat,color='coral')#绘制图线
plt.axis([80,180,65,72])#规定范围
plt.show()#调用显示

显示输出
初识线性回归_第27张图片

2.200组数据

初识线性回归_第28张图片

结果
初识线性回归_第29张图片

3.2000组数据

初识线性回归_第30张图片
结果
初识线性回归_第31张图片

三、jupyter编程,借助skleran,重做第1题

(一)20组数据

1.代码部分
(1)调用包

import numpy as np
import pandas as pd
from contextlib import contextmanager as _contextmanager
import logging
from numpy import array
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
import math
df=pd.read_excel('C:\\Users\\86199\\weights_heights.xlsx')

(2)读取数据

df.shape

(3)赋值变量取20组数据

x=array(df[['Weight']].values[:20,:])
y=array(df[['Height']].values[:20,:])

(4)调用线性回归函数

model=LinearRegression(fit_intercept=True,normalize=True)
model.fit(x,y)

(5)输出斜率

print(model.coef_)

初识线性回归_第32张图片

(6)输出截距

print(model.intercept_)

初识线性回归_第33张图片

(7)输出线性回归表达式

a=model.intercept_
b=model.coef_
y_hat=b*x+a
print("线性回归方程为:y=",b,"x",a)

初识线性回归_第34张图片

(8)计算R的平方

model.score(x,y)

初识线性回归_第35张图片

(9)绘图输出

plt.figure()
plt.scatter(x,y)#散点图绘制原始数据
plt.plot(x,y_hat,color='coral')
plt.show()

初识线性回归_第36张图片

(二)200组数据

1.代码,其他与第一题类似
初识线性回归_第37张图片
2.结果输出
初识线性回归_第38张图片
初识线性回归_第39张图片

(三)2000组数据

1.代码与第一题类似
初识线性回归_第40张图片
2.结果输出
初识线性回归_第41张图片

初识线性回归_第42张图片

四、总结

excel做线性回归和jupyter借助skleran很像,比较简单都是通过调用已有存在的函数进行输出直接得到结果,而自己用Python编写代码进行运算也对线性回归的原理性质更加清晰,丰富了自己的知识。

五、参考资料

用excel中数据分析功能做线性回归练习。分别选取20、200、2000(或20000)组数据。记录回归方程式、R2 ; 用jupyter编程(不借助第三方库),用最小二乘法;借助skleran。

你可能感兴趣的:(r语言,python,big,data)