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

总目录链接

多元线性回归

前言

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

相关概念看下图⏬

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

补充:

关于向前/向后选择
“向前”和“向后”:向前是事先用一步一步的方法筛选自变量,也就是先设立门槛。称作“前”。而向后,是先把所有的自变量都进来,然后再筛选自变量。也就是先不设置门槛,等进来了再一个一个淘汰。

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

Step0: 开撸代码

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

《【3%】100小时机器学习——多元线性回归》 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)
    原文作者:JustMe23
    原文地址: https://www.jianshu.com/p/cbdc7d5fcc52
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞