机器学习与数据挖掘Python大讲堂每日一事

【3%】100小时机器学习——多元线性回归

2018-10-12  本文已影响2人  QuantumCC

多元线性回归

前言

在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。因此多元线性回归比一元线性回归的实用意义更大。
多元线性回归模型如下:
y = b0 + b1x1 + b2x2 + b3x3 + ... + bnxn

相关概念看下图⏬

image.png image.png

Step0: 开撸代码

文件下载地址(右键另存为)
简单解释一下各行

image.png

·设x1为 R&D Spend:研究与试验发展经费
·设x2为 Administration:事业行管经费
·设x3为 Marketing Spend:营销经费
·设x4为 State:州
·设y为 Profit:利润
假设变量之间存在线性关系:
y= b0 + b1x1 + b2x2 + b3x3 + b4x4
我们用机器学习来寻找这个关系,就得到了如何通过经费支出和地域来预测收益情况。
Let's Go!

Step1: 数据预处理

导入库

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:]

拆分数据集为训练集和测试集

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)

Step2:在训练集上训练多元线性回归模型

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

Step 3: 在测试集上预测结果

y_pred = regressor.predict(X_test)
上一篇下一篇

猜你喜欢

热点阅读