多元线性回归是尝试通过用一个线性方程来适配观测数据,这个线性方程是两个以上的特征和相应之间构建的一个关系。多元线性回归的实现步骤和简单的线性回归相似,只是在评价部分有所不同。
前提
- 自变量和因变量的关系是线性
- 误差项的方差必须等同
- 多元回归假定残差符合正态分布
- 缺少多重共线性
虚拟变量
在多元回归模型中,当遇到数据集时非数据类型时,使用分数数据是一个非常有效的方法。例如可使用1或0这样的值来表示肯定或者否定类型
步骤
1.数据预处理
- 导入相关库
- 导入数据集
- 检查缺失数据
- 数据分类
- 编辑虚拟变量并注意避免虚拟变量陷阱
- 特征缩放
#数据预处理
#导入库
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:]
2.训练模型
#拆分数据集为训练集合测试集
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)
3.预测结果
#在测试集上预测结果
y_pred = regressor.predict(X_test)
y_pred