回归是统计中的明珠。利用回归我们可以预测反应变量的值。简单的线性回归就是利用独立的简单变量预测一个反应变量。
其假设反应变量和自变量之间具有很强的相关性,这个可以通过相关分析得出。利用最小二乘法计算出参数,就可以通过模型来预测其他值。
setp 1:数据预处理
包括导入必须的包、导入必须的数据、处理异常值、数据集分割、对数据进行特征缩放、对分类数据进行编码。
import pandas as pd#导入包
import numpy as np
import matplotlib.pyplot as plt
dataset = pd.read_csv("studentscores.csv")
X = dataset.iloc[:,:1].values; Y = dataset.iloc[:,1].values#导入数据
from sklearn.model_selection import train_test_split#分割数据集
X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=1/4,random_state=0)
setp 2:利用训练数据训练简单线性回归模型
在sklearn.learn_mode 中,导入 LinearRegression ,可以用来创建线性回归模型,使用fit()方法去训练模型。
PS.在很多模型中,都是使用fit()来训练模型的。
from sklearn.linear_model import LinearRegression#导入线性回归模型类
regressor = LinearRegression()#初始化模型
regressor = regressor.fit(X_train,Y_train)#训练模型
setp 3:利用回归模型预测结果
模型训练结束后,我们并不知道模型的精度如何,因此使用测试集用来测试,也就是用测试集做预测。使用LinerRegression类中的predict()方法预测值。
PS.在很多模型中,都是使用predict()方法预测值。
Y_pred = regressor.predict(X_test)#预测
setp 4:可视化
对于数据,结果非常不直观,我们需要将数据可视化,也就是做成图表,更加直观。在任何行业都有可视化的工作。在这里,我们使用matplotlib.pyplot 包 画图。听名字大家都知道,这是在matlab的画图工具中继承过来的。我们可以画出散点图scatter()来查看训练结果。
当然,除了matplot包之外,还有plotyy,seaborn,等等,绘图超好看!!!
plt.scatter(X_train,Y_train,color = 'red')
plt.plot(X_train,regressor.predict(X_train),color='blue')