今天就来学一学简单的线性回归模型(Simple Linear Regession Model),也就是通常所说的单变量线性回归模型。按照上节的分类,它属于监督模型中的回归算法。线性回归模型可以说是很多机器学习模型的基础(Basic)。更重要的是求解线性回归模型中的一些方法,比如梯度下降(Gradient Desecent)等更是被大家所熟知,被用于各种模型当中来求解。
线性回归模型可以用来干什么呢?其实用途蛮大的,比如房价预测,股票走势等连续变化量的预测。
废话不多说,本节学习教程分三步:首先Sklearn实现,随后Tensorflow实现,最后Numpy,Pandas两人登场。前两个属于黑盒子,无脑操作;后面一个需要理解算法背后的原理。看大家自己选择喽~~~~数据下载提取码:y6qt
1、Sklearn的简单线性回归模型(开始花里胡哨一波操作)
#数据:学习时间和分数
Hours Scores
0 2.5 21
1 5.1 47
2 3.2 27
3 8.5 75
4 3.5 30
5 1.5 20
6 9.2 88
7 5.5 60
8 8.3 81
9 2.7 25
10 7.7 85
11 5.9 62
12 4.5 41
13 3.3 42
14 1.1 17
15 8.9 95
16 2.5 30
17 1.9 24
18 6.1 67
19 7.4 69
20 2.7 30
21 4.8 54
22 3.8 35
23 6.9 76
24 7.8 86
#一般来说拿到数据,不是直接上模型,首先画出数据图像分布
import matplotlib.pyplot as plt
import pandas as pd
dataset=pd.read_csv(path)#利用pd读取数据,注意路径
x=dataset.iloc[:,:1].values#注意x要是一个二维数组
y=dataset.iloc[:,1].values#注意y是一维数组
plt.scatter(x,y)
plt.xlabel('Time/Hours')
plt.ylabel('Score')
plt.title('Time and Score')
plt.show()
据我推断还是挺符合线性关系的啊(这不是废话嘛)