詳解R語言實現(xiàn)前向逐步回歸(前向選擇模型)
前向逐步回歸原理
前向逐步回歸的過程是:遍歷屬性的一列子集,選擇使模型效果最好的那一列屬性。接著尋找與其組合效果最好的第二列屬性,而不是遍歷所有的兩列子集。以此類推,每次遍歷時,子集都包含上一次遍歷得到的最優(yōu)子集。這樣,每次遍歷都會選擇一個新的屬性添加到特征集合中,直至特征集合中特征個數(shù)不能再增加。
數(shù)據(jù)導(dǎo)入并分組
導(dǎo)入數(shù)據(jù),將數(shù)據(jù)集抽取70%作為訓(xùn)練集,剩下30%作為測試集。特征與標(biāo)簽分開存放。
導(dǎo)入數(shù)據(jù)
R語言的實現(xiàn)如下圖:
train和test中存儲的數(shù)據(jù)情況如下:
特征與標(biāo)簽分開存放
R語言的實現(xiàn)如下圖:
前向逐步回歸構(gòu)建輸出特征集合
通過for循環(huán),從屬性的一個子集開始進(jìn)行遍歷。第一次遍歷時,該子集為空。每一個屬性被加入子集后,通過線性回歸來擬合模型,并計算在測試集上的誤差,每次遍歷選擇得到誤差最小的一列加入輸出特征集合中。最終得到輸出特征集合的關(guān)聯(lián)索引和屬性名稱。
從空開始一次創(chuàng)建屬性列表
R語言的實現(xiàn)如下圖:
模型效果評估
分別畫出RMSE與屬性個數(shù)之間的關(guān)系,前向逐步預(yù)測算法對數(shù)據(jù)預(yù)測對錯誤直方圖,和真實標(biāo)簽與預(yù)測標(biāo)簽散點圖。R實現(xiàn)如下:
到此這篇關(guān)于詳解R語言實現(xiàn)前向逐步回歸(前向選擇模型)的文章就介紹到這了,更多相關(guān)R語言 前向逐步回歸內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
R語言 install.packages 無法讀取索引的解決方案
這篇文章主要介紹了R語言 install.packages 無法讀取索引的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04