机器学习之线性回归
前言
线性回归是机器学习中非常重要的一个技术,本文将通过一个很基础的例子来具体讲述线性回归模型如何进行使用。
一、机器学习中的线性回归是什么?
在机器学习中,线性回归是一项很重要的技术,它主要通过将大量数据“喂”给计算机,根据线性回归的方法,找出其中的线性规律,确定数据中两个或多个变量的定量关系,然后就可以根据所得到的线性关系对未来的可能结果进行预测。
二、使用步骤
1.引入库
我们首先需要引入几个在线性回归中可能用到的库
代码如下:
from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
data=pd.read_csv('generated_data.csv') //加载数据
data.head() //返回数据集中前5个数据,可以用于审查加载数据是否正确
2.根据数据集画出线性图形
代码如下:
先将data的值赋给变量x和y:
x = data.loc[:,'x']
y = data.loc[:,'y']
print(x,y)
在引入库函数的过程中已经引入了matplotlib库,所以下面可以直接使用这个库的功能去可视化这组数据
from matplotlib import pyplot as plt
plt.figure(figsize=(20,20))
plt.scatter(x,y) //用scatter画出的是散点图
plt.show()
如果不画散点图,而是画直线图:
plt.plot(x,y)
3.使用线性回归模型
这里需要用到一个新的机器学习相关的库 scikit-learn
from sklearn.linear_model import LinearRegression
lr_model = LinearRegression()
此时就可以训练模型了,但是由于x,y的维度问题(两者都是一维,但是模型训练需要2维)可能会报错,所以我们先对x,y的维度进行调整:
x=np.array(x)
x=x.reshape(-1,1)
y=np.array(y)
y=y.reshape(-1,1)
然后是训练模型:
lr_model.fit(x,y)
接下来我们可以检验一下我们的模型:
我们将x作为未知的量输入进去,看看是否会得到我们数据集中已知的y
y_predict=lr_model.predict(x)
print(y_predict)
结果如下:
[[ 7.]
[ 9.]
[11.]
[13.]
[15.]
[17.]
[19.]
[21.]
[23.]
[25.]]
与我们提供的y 值一致,所以模型训练成功(这里用题目所给的x是为了能够方便和已有的y进行比较,一般情况下只是和y比较接近,这里是由于所给的x和y正好每一对都符合同样的线性关系,所以才会一致,如果用不在数据集中的x,那么所得出的值就应该是根据我们训练出的这个线性回归模型预测出的y值。