Day3:多变量线性回归

Day3:多变量线性回归_第1张图片
Day 3.jpg

多变量线性回归

对两个或多个变量与结果之间的关系建模,通过线性关系式(Y= b0+b1X1+b2X2+……+bnXn)来观察数据。
多变量线性回归的步骤与简单线性回归相似,不同之处在于对预测结果的评估。
通过多变量线性回归,可以发现哪个变量对预测结果的影响最大,以及不同变量之间的相互关系。

案例:预测公司收益

数据下载

一、数据预处理

  • 导入库
  • 导入数据
  • 处理缺失值
  • 分类变量编码
  • 生成dummy variable
  • 数据标准化
import numpy as np
import pandas as pd
df = pd.read_csv('D:\\data\\day3-50_Startups.csv')
X =df.iloc[:,:-1].values
Y =df.iloc[:,-1].values
#分类数据编码
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
le = LabelEncoder()
X[:,3] = le.fit_transform(X[:,3])
#生成dummy variable
ohe = OneHotEncoder(categorical_features = [3])
X = ohe.fit_transform(X).toarray()
X = X[:,1:]  #避免Dummy Variable陷阱
#分割数据集
from sklearn.cross_validation import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state = 0)

Dummy Variable陷阱:
当两个或多个变量高度相关,通过一个变量可以推测出另一个,即有一个变量是多余的。如,male和female,male为0时即为female,删除一个后亦可通过保留的变量推测出来。
解决Dummy Variable陷阱的方法是删除一个变量。如果有m个变量,在模型中使用m-1个,不属于m-1个变量的即为被删除的变量。

二、用训练集训练模型

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

三、在测试集上预测结果

Y_pred = lr.predict(X_test)

你可能感兴趣的:(Day3:多变量线性回归)