简单线性回归

1、什么是简单线性回归
使用单一特征来预测响应值
这是一种基于自变量值(X)来预测因变量值(Y)的方法。假设这两个变量是线性相关的。因此,我们尝试寻找一种根据特征或自变量(X)的线性函数来精确预测响应值(Y)。
简单线性回归
2、怎样找到最佳的拟合线
在这个回归任务中,我们将通过找到“最佳拟合线”来最小化预测误差—回归线的误差将是最小的。我们试图最小化观测值(Yi)和模型预测值(Yp)之间的长度

简单线性回归
下面举个例子
我们将预测一个学生根据所学习的小时数来计算分数的百分比

在这里插入图片描述
简单线性回归

基本步骤可分为以下4步:
(1)数据预处理
我们将按照之前的数据预处理信息图表那样来执行相同的步骤
 导入相关库(pandas、numpy)
 导入数据集(.csv)
 检查缺失数据(平均值或中间值)
 划分数据集(训练集、测试集)
 特征缩放我们将使用简单线性模型的相关库来进行
(2)通过训练集来训练简单线性回归模型
为了使用模型来训练数据集
我们将使用来自sklearn.linear_model库的LinearRegression类
然后我们创建一个LinearRegression类的regressor对象
最后我们将适用LinearRegression类的fit()方法将regressor对象对数据集进行训练
(3)预测结果
现在我们将预测来自测试集的观测结果
我们将把输出保持在向量Y_pred中。
我们使用前一步中训练的回归模型regressor的LinearRegression类的预测方法来对结果进行预测
(4)可视化
最后一步是将结果可视化,我们将使用matplotlib.pyplot库对我们训练的训练集结果和测试集结果做散点图,以查看我们的模型预测效果。
代码
#Data Preprocessing
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

dataset = pd.read_csv(’…/datasets/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)

#Fitting Simple Linear Regression Model to the training set
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor = regressor.fit(X_train, Y_train)

#Predecting the Result
Y_pred = regressor.predict(X_test)

#Visualising the Training results
plt.scatter(X_train , Y_train, color = ‘red’)
plt.plot(X_train , regressor.predict(X_train), color =‘blue’)

#Visualizing the test results
plt.scatter(X_test , Y_test, color = ‘red’)
plt.plot(X_test , regressor.predict(X_test), color =‘blue’)
plt.show()