线性回归

简单线性回归

2018-12-08  本文已影响3人  何同尘

回归是统计中的明珠。利用回归我们可以预测反应变量的值。简单的线性回归就是利用独立的简单变量预测一个反应变量。

其假设反应变量和自变量之间具有很强的相关性,这个可以通过相关分析得出。利用最小二乘法计算出参数,就可以通过模型来预测其他值。

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')

plt.scatter(X_train,Y_train,color = 'red') plt.plot(X_train,regressor.predict(X_train),color='blue')
上一篇下一篇

猜你喜欢

热点阅读