python机器学习从入门到精通(第2天)

线性回归

线性回归的基本假设

了解一个算法,必须得了解算法的适用条件。在用线性回归之前,我们必须得知道在什么条件下,才能用线性回归去分析数据。

  • 线性性 & 可加性

假设因变量为,自变量为,,则回归分析的默认假设为
线性性:每变动一个单位,相应变动个单位,与的绝对数值大小无关。
可加性:对的影响是独立于其他自变量(如)的。

  • 误差项()之间应相互独立。

若不满足这一特性,模型具有自相关性(Autocorrelation)。

  • 自变量之间应相互独立。

若不满足这一特性,模型具有多重共线性性(Multicollinearity)。

  • 误差项()的方差应为常数。

若满足这一特性,模型具有同方差性(Homoskedasticity),若不满足,则为异方差性(Heteroskedasticity)。

  • 误差项()应呈正态分布。

线性回归实现

使用单个特征来预测结果。在这种回归模型中,我们尝试最小化预测值和真实值之间的损失,来得到最佳的拟合性能。

第一步:数据预处理

回归模型中的数据预处理过程遵循第一天课程的数据处理流程,主要包括导入所需的库,导入所需的数据集,检查缺失数据,分离数据集以及特征缩放。

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.cross_validation import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split( X, Y, test_size = 1/4, random_state = 0) 

第二步:模型拟合

sklearn中模型建立步骤:
首先创建一个 LinearRegression,其次用 LinearRegression 类的 fit() 方法来用训练数据去拟合我们的目标 regressor,最后可以用summary去查看模型结果。

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor = regressor.fit(X_train, Y_train)

第三步:结果预测

使用我们训练好的模型,在测试集上预测我们的结果。
首先,我们为预测结果创建一个向量 Y-pred。然后,我们对训练好的 regressor 使用 LinearRegression 类的预测方法来进行预测。

Y_pred = regressor.predict(X_test)

第四步:结果可视化

最后一步是可视化拟合预测结果,

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

plt.scatter(X_test , Y_test, color = 'red')
plt.plot(X_test , regressor.predict(X_test), color ='blue')

下一章我们会介绍多元线性回归的实现以及线性回归中若假设不满足会出现的问题哈,请关注点赞哈,吼。

你可能感兴趣的:(python机器学习从入门到精通(第2天))