拓端tecdat|R語言彈性網路Elastic Net正則化懲罰迴歸模型交叉驗證視覺化
阿新 • • 發佈:2022-04-10
原文連結:http://tecdat.cn/?p=26158
原文出處:拓端資料部落公眾號
彈性網路正則化同時應用 L1 範數和 L2 範數正則化來懲罰迴歸模型中的係數。為了在 R 中應用彈性網路正則化。在 LASSO迴歸中,我們為 alpha 引數設定一個 '1' 值,並且在 嶺迴歸中,我們將 '0' 值設定為其 alpha 引數。彈性網路在 0 到 1 的範圍內搜尋最佳 alpha 引數。在這篇文章中,我們將學習如何在 R 中應用彈性網路正則化。
首先,我們將為本教程建立測試資料集。
- df <- data.frame(a,b,c,z)
- x <- as.matrix(df)[,-4]
- for (i in 1:length(alpha))
- {
- bst$mse <- c(bet$mse, min(cg$cm))
- }
- inx <- which(bst$mse==min(bst$mse))
- betlha <- bs$a[inex]
- be_mse <- bst$mse[inex]
接下來,我們再次使用最佳 alpha 進行交叉驗證以獲得 lambda(收縮水平)。
- elacv <- cv(x, v)
- bestbda <- elacv$lambda.min
現在,我們可以使用函式擬合具有最佳 alpha 和 lambda 值的模型。
- coef(elamod)
最後,我們可以使用模型預測測試資料並計算 RMSE、R 平方和 MSE 值。
- predict(elasod, x)
- cat(" RMSE:", rmse, "\n", "R-squared:", R2, "\n", "MSE:", mse)
最受歡迎的見解
3.matlab中的偏最小二乘迴歸(PLSR)和主成分迴歸(PCR)
5.R語言迴歸中的Hosmer-Lemeshow擬合優度檢驗