詳解R語言實現前向逐步回歸(前向選擇模型)
前向逐步回歸原理
前向逐步回歸的過程是:遍歷屬性的一列子集,選擇使模型效果最好的那一列屬性。接著尋找與其組合效果最好的第二列屬性,而不是遍歷所有的兩列子集。以此類推,每次遍歷時,子集都包含上一次遍歷得到的最優子集。這樣,每次遍歷都會選擇一個新的屬性添加到特征集合中,直至特征集合中特征個數不能再增加。
數據導入並分組
導入數據,將數據集抽取70%作為訓練集,剩下30%作為測試集。特征與標簽分開存放。
導入數據
R語言的實現如下圖:
train和test中存儲的數據情況如下:
特征與標簽分開存放
R語言的實現如下圖:
前向逐步回歸構建輸出特征集合
通過for循環,從屬性的一個子集開始進行遍歷。第一次遍歷時,該子集為空。每一個屬性被加入子集後,通過線性回歸來擬合模型,並計算在測試集上的誤差,每次遍歷選擇得到誤差最小的一列加入輸出特征集合中。最終得到輸出特征集合的關聯索引和屬性名稱。
從空開始一次創建屬性列表
R語言的實現如下圖:
模型效果評估
分別畫出RMSE與屬性個數之間的關系,前向逐步預測算法對數據預測對錯誤直方圖,和真實標簽與預測標簽散點圖。R實現如下:
到此這篇關於詳解R語言實現前向逐步回歸(前向選擇模型)的文章就介紹到這瞭,更多相關R語言 前向逐步回歸內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python機器學習邏輯回歸隨機梯度下降法
- Python實現解析參數的三種方法詳解
- python機器學習樸素貝葉斯算法及模型的選擇和調優詳解
- Python基於LightGBM進行時間序列預測
- python機器學習基礎線性回歸與嶺回歸算法詳解