詳解R語言實現前向逐步回歸(前向選擇模型)

前向逐步回歸原理

前向逐步回歸的過程是:遍歷屬性的一列子集,選擇使模型效果最好的那一列屬性。接著尋找與其組合效果最好的第二列屬性,而不是遍歷所有的兩列子集。以此類推,每次遍歷時,子集都包含上一次遍歷得到的最優子集。這樣,每次遍歷都會選擇一個新的屬性添加到特征集合中,直至特征集合中特征個數不能再增加。

數據導入並分組

導入數據,將數據集抽取70%作為訓練集,剩下30%作為測試集。特征與標簽分開存放。

導入數據

R語言的實現如下圖:

在這裡插入圖片描述

train和test中存儲的數據情況如下:

在這裡插入圖片描述

特征與標簽分開存放

R語言的實現如下圖:

在這裡插入圖片描述

前向逐步回歸構建輸出特征集合

通過for循環,從屬性的一個子集開始進行遍歷。第一次遍歷時,該子集為空。每一個屬性被加入子集後,通過線性回歸來擬合模型,並計算在測試集上的誤差,每次遍歷選擇得到誤差最小的一列加入輸出特征集合中。最終得到輸出特征集合的關聯索引和屬性名稱。

從空開始一次創建屬性列表

R語言的實現如下圖:

在這裡插入圖片描述

模型效果評估

分別畫出RMSE與屬性個數之間的關系,前向逐步預測算法對數據預測對錯誤直方圖,和真實標簽與預測標簽散點圖。R實現如下:

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

到此這篇關於詳解R語言實現前向逐步回歸(前向選擇模型)的文章就介紹到這瞭,更多相關R語言 前向逐步回歸內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: