多元线性回归

多元线性回归是想在简单线性回归的基础上,建立两个或者两个以上的解释变量与反应变量之间的关系。它的步骤和一元线性回归相似。

四个假设条件

线性关系:要求解释变量与反应变量之间是是线性关系。

方差齐性:保证方差的均匀性

残差正太性:残差服从正太分布

多重共线性:假设个解释变量之间没有多重共线性

逐步回归:

不一定每一个变量与反应变量的相关性都十分高,当变量太多时,可以使用逐步回归来筛选变量。

“假”变量的处理:

对于分类变量可以进行编码。以及改进多元回归模型,使之能预测分类数据。

setp 1:数据预处理

1、导入必须的包 pandas、numpy、matplot、sklearn

2、导入数据集 read_csv()

3、进行数据清洗(异常值处理)

4、处理"假"数据(如果有必要)

5、特征缩放(和简单线性回归相同)

import pandas as pd

import numpy as np

dataset = pd.read_csv("50_Startups.csv")

X = dataset.iloc[:,:-1].values

Y = dataset.iloc[:,4].values

from sklearn.preprocessing import LabelEncoder,OneHotEncoder

labelencoder = LabelEncoder()

X[:,3]=labelencoder.fit_transform(X[:,3])

onehotencoder = OneHotEncoder(categorical_features=[3])

X = onehotencoder.fit_transform(X).toarray()

X =X[:,1:]#变成数据框格式


setp 2:训练模型

1、导入必须的类 LinerRegression从 sklearn.linear_model

2、数据集分割

3、创建回归模型对象 regressor 从 LinearRegression类

4、使用 fit()来训练模型

from sklearn.model_selection import train_test_split

X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=0.2,random_state=0)

from sklearn.linear_model import LinearRegression

regressor = LinearRegression()

regressor.fit(X_train,Y_train)

setp 3:预测结果

1、使用 predict()预测结果

y_pred = regressor.predict(X_test)

import matplotlib.pyplot as plt

plt.scatter(Y_test,y_pred)



多元线性回归_第1张图片
实测值与预测值

你可能感兴趣的:(多元线性回归)