目录
二:用jupyter编程(不借助第三方库),用最小二乘法重做
一. 用excel中数据分析功能做线性回归练习
选20组数据:
200组数据:
2000组数据:
二:用jupyter编程(不借助第三方库),用最小二乘法重做
- 引入需要的包:
-
计算代码:
20组数据:
200组数据:
2000组:
三.借助skleran对数据进行拟合
代码:
from sklearn import linear_model #表示,可以调用sklearn中的linear_model模块进行线性回归。
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
data = np.loadtxt(open("D:wh.csv","rb"),delimiter=",",skiprows=0)
data1=data[0:20]#根据所取数据更改值
x=[example[1] for example in data1]
y=[example[0] for example in data1]
pccs = np.corrcoef(x, y)
c,d=pccs
e,f=c
X = np.asarray(x).reshape(-1, 1)
Y = np.asarray(y).reshape(-1, 1)
model = linear_model.LinearRegression()
model.fit(X,Y)
b=model.intercept_[0] #截距
a=model.coef_[0]#线性模型的系数
a1=a[0]
print(f'回归线方程:y = {a1}x + {b}')
print(f'相关系数为{f}')
y1 = a1*X + b
plt.scatter(X,Y)
plt.plot(x,y1,c='r')
选取20个数据:
200组数据:
2000组数据:
四.总结
这次的作业不算太难,就是一开始环境配置的时候出了很多问题,后面慢慢跟着做发现线性回归也不是很难,用excel做只需要动动手就出结果了,编程题稍微复杂一点,但是也很快。