5.线性回归算法
1.本节重点知识点用自己的话总结出来,可以配上图片,以及说明该知识点的重要性
(1)有监督:训练数据集必须是有标记,然后通过给定的训练数据和特定的算法去构造一个模型。
无监督:训练数据集没有标记,去寻找训练数据中隐藏的模式或者是对数据进行分组。
(2)线性回归的定义:通过一个或多个自变量或因变量进建模的回归方法,其中可以为一个或多个自变量之间的线性组合。(一维、二维、三维空间)
(3)矩阵:矩阵的乘法
(4)python编程
np.multiply(a,b) 数组的点乘运算
np.dot(a,b) 矩阵的乘积运算
(5)
(6)
2.思考线性回归算法可以用来做什么?(大家尽量不要写重复)
线性回归可以预测新冠肺炎人数増涨速率,在一个地区通过之前的数据预测什么时候达到峰值等。
3.自主编写线性回归算法 ,数据可以自己造,或者从网上获取。(加分题)
import numpy as np
import matplotlib.pyplot as plt
x=np.array([1.,3.,6.,7.,9])
y=np.array([3.,6.,12.,17.,19])
plt.scatter(x,y)
plt.axis([0,20,0,20])
plt.show()
x_mean=np.mean(x)
y_mean=np.mean(y)
num=0.0 #分子
d=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
a=num/d
b=y_mean-ax_mean
a
b
y_hat=ax+b
plt.scatter(x,y)
plt.plot(x,y_hat,color="r")
plt.axis([0,20,0,20])
plt.show()
x_predict=6
y_predict=ax_predict+b
y_predict