機器學習(4) 多元線性回歸

2021-08-18 19:21:56 字數 1937 閱讀 2853

乙個唯一的因變數和多個自變數 之間的關係

這裡自變數在處理之前不僅僅是數值型

上圖:

我們要做的也就是,尋找到最佳的b0、b1、…….bn

這裡有關於50個公司的資料:

spend1、2、3代表了公司在某三個方面的花銷,state是公司的的位址,profit則是公司去年的收入。現在要選擇目標公司,要求績效最好,也就是利用前四列的資料**profit。

但是我們發現,y=b0+b1*x1+b2*x2+b3*x3+b4*h 當中的h一定是個數值的,就是state不同引起h的不同,將state分成三列,每一列對應乙個位址,將這三列的資料轉化成虛擬變數

就是說beijing是0時,上海便是1,hangzhou我們是完全可以忽略的,因為兩列資料確定數值以後,對應的第三列的資料便知道了

最終呢,我們只是將這個一列包含三種位址的資料,轉換成了兩列,每一列只有0或1的資料

到上一部的資料處理 加上測試集與測試集的操作

dataset = pd.read_csv('com.csv')

x = dataset.iloc[:, :-1].values

y = dataset.iloc[:, 4].values

labelencoder_x = labelencoder()

x[:, 3] = labelencoder_x.fit_transform(x[:, 3])

onehotencoder = onehotencoder(categorical_features = [3])

x = onehotencoder.fit_transform(x).toarray()

float_formatter= lambda x:"%.2f" % x

np.set_printoptions(formatter=)

x = x[:, 1:] #刪除第0列

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.2, random_state = 0)

擬合回歸器

regressor = linearregression()  #回歸器的物件

regressor.fit(x_train, y_train) #擬合

# predicting the test set results

y_pred = regressor.predict(x_test) #包含了的**結果的向量

這一部分與簡單線性回歸的道理是一樣的,可參考:簡單線性回歸

反向淘汰,選擇重要的指標和可以剔除的指標

先加上b0的對應的自變數,也就是該列全部都是1

反向傳播一般分五個步驟

選取顯著性指標 一般為0.05、每一列的p值大於指標的時候,可以認為是能夠刪除的,反之則認為對目標值的影響是不可以忽略的

輸入所有的訓練進行擬合

選出p值最大的那一列

如果第三步的p值大於顯著性指標,則刪除這一列

對剩餘的訓訓練值重複第三步,直到p值小於顯著性指標

ximo = x_train

regressor_ols = sm.ols(endog = y_train, exog = ximo).fit()

#endog 因變數 exog 自變數

第一次的summary結果顯示,x2的p值最大,而且大於顯著性指標

按照這個步驟一次進行判斷……….

機器學習之多元線性回歸

多元線性回歸概念 在回歸分析中,如果有兩個或兩個以上的自變數,就稱為多元回歸。社會經濟現象的變化往往受到多個因素的影響,例如,家庭消費支出,除了受家庭可支配收入的影響外,還受諸如家庭所有的財富 物價水平 金融機構存款利息等多種因素的影響。因此,一般要進行多元回歸分析,我們把包括兩個或兩個以上自變數的...

機器學習(九) 多元線性回歸

1 與簡單線性回歸區別 多個自變數 x 2 多元回歸模型 3 多元回歸方程 4 估計多元回歸方程 5 估計流程 6 估計方法 7 舉例 一家快遞公司送貨統計10次 x1 運輸里程miles,x2 運輸次數deliveries,y 總運輸時間 資料代入後計算b0,b1,b2 time 0.869 0....

機器學習基礎(二)多元線性回歸模型

變數多於兩個時,線性回歸模型就變成了多元線性回歸模型 代價函式為 線性回歸模型的訓練 就是用梯度下降法求解最小代價函式 需要注意一些問題 1.2.學習速率 代價函式應該是遞減的,如果代價函式不減反增,那麼很可能是學習速率太大,跳過了極小值。3.代價函式 代價函式必須是凸的,否則一樣存在難以收斂的問題...