【深度學習基礎-12】多元迴歸分析基礎及進階-python程式碼實現
目錄
2 使用python實現上述過程,並預測,x1=102,x2=6時的結果
1 多元線性迴歸基本理論
1.1 multiple regression
多個自變數x
1.2 多元迴歸模型
1.3 多元迴歸方程
1.4 估計多元迴歸方程
1.5 估計流程(與簡單線性迴歸類似)
1.6 估計方法
1.7 例子
x1 | x2 | y | |
1 | 100 | 4 | 9.3 |
2 | 50 | 3 | 4.8 |
3 | 100 | 4 | 8.9 |
4 | 100 | 2 | 6.5 |
5 | 50 | 2 | 4.2 |
6 | 80 | 2 | 6.2 |
7 | 75 | 3 | 7.4 |
8 | 65 | 4 | 6.0 |
9 | 90 | 3 | 7.6 |
10 | 90 | 2 | 6.1 |
假設計算出來的b0=-0.869 , b1 = 0.0611 , b2 = 0.923,理解,x1加1,則y變化0.0611
2 使用python實現上述過程,並預測,x1=102,x2=6時的結果
from numpy import genfromtxt
import numpy as np
from sklearn import datasets, linear_model
dataPath = r"F:/python/實驗/diliver.csv"
data =genfromtxt(dataPath,delimiter=',')
print("資料:")
print(data)
x = data[:, :-1]
y = data[:, -1]
print(x)
print(y)
regr = linear_model.LinearRegression()
regr.fit(x, y)
print("從b1開始輸出引數預測")
print(regr.coef_)
print("b0的結果,截面:")
print(regr.intercept_)
#假如x1=102,x2=6,預測新值
xp = [[102, 6]]
print(xp)
yp = regr.predict(xp)
print("預測出來的值:")
print(yp)
執行結果:
3 進階:如果自變數x中有不同種類怎麼解決?
x1 | x2 | 分類 | y | |
1 | 100 | 4 | 1 | 9.3 |
2 | 50 | 3 | 0 | 4.8 |
3 | 100 | 4 | 1 | 8.9 |
4 | 100 | 2 | 2 | 6.5 |
5 | 50 | 2 | 2 | 4.2 |
6 | 80 | 2 | 1 | 6.2 |
7 | 75 | 3 | 1 | 7.4 |
8 | 65 | 4 | 2 | 6.0 |
9 | 90 | 3 | 2 | 7.6 |
分型別變數不能直接將分類作為一個引數直接加入,因為1,2,0都沒有實際意義,只是用來區分種類
將上述表格的分類進行變換,將種類個數變為列數,如果屬於哪一類就為1,其它為0
x1 | x2 | 0 | 1 | 2 | y | |
1 | 100 | 4 | 0 | 1 | 0 | 9.3 |
2 | 50 | 3 | 1 | 0 | 0 | 4.8 |
3 | 100 | 4 | 0 | 1 | 0 | 8.9 |
4 | 100 | 2 | 0 | 0 | 1 | 6.5 |
5 | 50 | 2 | 0 | 0 | 1 | 4.2 |
6 | 80 | 2 | 0 | 1 | 0 | 6.2 |
7 | 75 | 3 | 0 | 1 | 0 | 7.4 |
8 | 65 | 4 | 0 | 0 | 1 | 6.0 |
9 | 90 | 3 | 0 | 0 | 1 | 7.6 |
#本程式是用來多元線性迴歸分析中,自變數含有類別時如何處理
from numpy import genfromtxt
import numpy as np
from sklearn import datasets, linear_model
dataPath = r"F:/python/實驗/PreDiliver.csv"
data =genfromtxt(dataPath,delimiter=',')
print("資料:")
print(data)
x = data[:, :-1]
y = data[:, -1]
print(x)
print(y)
regr = linear_model.LinearRegression()
regr.fit(x, y)
print("從b1開始輸出引數預測:b1,b2,b3,b4,b5")
print(regr.coef_)
print("b0的結果,截面:")
print(regr.intercept_)
#假如x1=102,x2=6,第1類,預測新值
xp = [[102, 6, 0, 1, 0]]
print(xp)
yp = regr.predict(xp)
print("預測出來的值:")
print(yp)
結果:
相關文章
- 【深度學習基礎-11】簡單線性迴歸(下)--例項及python程式碼實現深度學習Python
- 【深度學習基礎-10】簡單線性迴歸(上)深度學習
- 線性迴歸基礎程式碼
- 【深度學習基礎-13】非線性迴歸 logistic regression深度學習
- 深度學習及pytorch基礎深度學習PyTorch
- 深度學習基礎深度學習
- Python零基礎學習程式碼實踐——列印迴文數Python
- Python基礎學習之迴圈Python
- python程式設計基礎:深度學習基礎:繪相簿之matplotlib(1)Python程式設計深度學習
- 深度學習--RNN基礎深度學習RNN
- Python的基礎進階Python
- 多元統計分析01:多元統計分析基礎
- 從基礎到實現:整合學習綜合教程(附Python程式碼)Python
- 【機器學習基礎】神經網路/深度學習基礎機器學習神經網路深度學習
- Python TensorFlow深度學習迴歸程式碼:DNNRegressorPython深度學習DNN
- 基礎入門:深度學習矩陣運算的概念和程式碼實現深度學習矩陣
- 深度學習基礎之 Dropout深度學習
- DL-深度學習基礎深度學習
- 【scikit-learn基礎】--『監督學習』之 嶺迴歸
- 【scikit-learn基礎】--『監督學習』之 LASSO迴歸
- python基礎學習12—-裝飾器Python
- python基礎(補充):遞迴的深度Python遞迴
- C語言學習參考(基礎&進階)C語言
- python基礎學習Python
- 零基礎Python學習路線,小白的進階之路!Python
- 前端基礎進階(12):深入核心,詳解事件迴圈機制前端事件
- 前端進階 -- 微信小程式基礎前端微信小程式
- 【python基礎】input函式的基礎使用以及進階Python函式
- python基礎 while迴圈練習PythonWhile
- 深度學習之Pytorch(一)神經網路基礎及程式碼實現深度學習PyTorch神經網路
- Python文字統計與分析從基礎到進階Python
- 前端基礎迴歸-URI和URL前端
- 【scipy 基礎】--正交距離迴歸
- 迴歸樹模型 0基礎小白也能懂(附程式碼)模型
- 零基礎Python學習路線及階段學習目標【乾貨】Python
- Python基礎學習篇Python
- python基礎學習2Python
- python基礎學習1Python