【3%】100小時(shí)機(jī)器學(xué)習(xí)——多元線性回歸

總目錄鏈接

多元線性回歸

前言

在回歸分析中,如果有兩個(gè)或兩個(gè)以上的自變量,就稱為多元回歸。事實(shí)上,一種現(xiàn)象常常是與多個(gè)因素相聯(lián)系的,由多個(gè)自變量的最優(yōu)組合共同來預(yù)測或估計(jì)因變量,比只用一個(gè)自變量進(jìn)行預(yù)測或估計(jì)更有效,更符合實(shí)際。因此多元線性回歸比一元線性回歸的實(shí)用意義更大。
多元線性回歸模型如下:
y = b0 + b1x1 + b2x2 + b3x3 + ... + bnxn

相關(guān)概念看下圖?

mindmap

補(bǔ)充:

關(guān)于向前/向后選擇
“向前”和“向后”:向前是事先用一步一步的方法篩選自變量,也就是先設(shè)立門檻。稱作“前”。而向后,是先把所有的自變量都進(jìn)來,然后再篩選自變量。也就是先不設(shè)置門檻,等進(jìn)來了再一個(gè)一個(gè)淘汰。


Day3

Step0: 開擼代碼

文件下載地址(右鍵另存為)
簡單解釋一下各行

image.png

·設(shè)x1為 R&D Spend:研究與試驗(yàn)發(fā)展經(jīng)費(fèi)
·設(shè)x2為 Administration:事業(yè)行管經(jīng)費(fèi)
·設(shè)x3為 Marketing Spend:營銷經(jīng)費(fèi)
·設(shè)x4為 State:州
·設(shè)y為 Profit:利潤
假設(shè)變量之間存在線性關(guān)系:
y= b0 + b1x1 + b2x2 + b3x3 + b4x4
我們用機(jī)器學(xué)習(xí)來尋找這個(gè)關(guān)系,就得到了如何通過經(jīng)費(fèi)支出和地域來預(yù)測收益情況。
Let's Go!

Step1: 數(shù)據(jù)預(yù)處理

導(dǎo)入庫

import pandas as pd
import numpy as np

導(dǎo)入數(shù)據(jù)集

dataset = pd.read_csv('50_Startups.csv')
X = dataset.iloc[ : , :-1].values
Y = dataset.iloc[ : ,  4 ].values

將類別數(shù)據(jù)數(shù)字化

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

拆分?jǐn)?shù)據(jù)集為訓(xùn)練集和測試集

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:在訓(xùn)練集上訓(xùn)練多元線性回歸模型

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

Step 3: 在測試集上預(yù)測結(jié)果

y_pred = regressor.predict(X_test)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容