简单线性回归:
目的:使用单一特征来预测响应值;
这是一种基于自变量值(x)来预测因变量(y)的方法,假设这两个变量是线性相关的,因此可以尝试寻找一种根据特征或者自变量(x)的线性函数来描述和预测(y)值
怎么找最佳拟合线:
在这个回归任务,我们将通过找到”最佳拟合线”来最小化预测误差—回归线误差最小,简单来说就缩小预测值(拟合值)与真实值(测量值)的差距。
步骤:
1、 数据预处理 上一篇文章的6个步骤;
2、 通过训练集来训练简单线性回归模型 使用sklearn.liner_model中的LinearRegression类 先实例化LinearRegression类再使用fit方法拟合训练集
3、 预测结果 使用fit出的模型返回的LinearRegression类中的predict类预测测试集的结果
4、 可视化 使用matplotlib.pyplot中的plot画出拟合线,使用scatter画出训练集的散点
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
DataSets = pd.read_csv('./datasets/studentscores.csv')
X = DataSets.iloc[:,:1].values
Y = DataSets.iloc[:,1].values
print(X)
print(Y)
from sklearn.impute import SimpleImputer
simp = SimpleImputer(missing_values=np.nan, strategy="mean")
simp.fit(X)
X = simp.fit_transform(X)
from sklearn.model_selection import train_test_split
X_trian, X_test, Y_trian, Y_test = train_test_split(X, Y, test_size=1/4, random_state= 0)
print(X_trian)
print(X_test)
print(Y_trian)
print(Y_test)
from sklearn.linear_model import LinearRegression
LinerReg= LinearRegression()
LinerReg.fit(X_trian,Y_trian)
Y_Pred = LinerReg.predict(X_test)
print("预测:")
print(Y_Pred)
print("增益")
print(LinerReg.coef_)
print("偏置")
print(LinerReg.intercept_)
plt.scatter(X_trian, Y_trian,marker= 'p', color='green')
plt.plot(X_trian,LinerReg.predict(X_trian),color= 'blue')
plt.show()
plt.scatter(X_test, Y_test, color='red')
plt.plot(X_test, LinerReg.predict(X_test), color='blue')
plt.show()
结果图:
|