拓端tecdat|Matlab廣義線性模型glm泊松迴歸的lasso、彈性網路正則化分類預測考試成績資料和交叉驗證視覺化
原文連結:http://tecdat.cn/?p=24777
原文出處:拓端資料部落公眾號
使用冗餘預測變數構建資料集並使用lasso和 glm
識別這些預測變數。
使用lasso
正則化去除冗餘預測變數
建立一個X
包含 100 個觀測值和 10 個預測變數的隨機矩陣。y
僅使用四個預測變數和少量噪聲建立正態分佈因變數。
- 預設值
- randn ;
- X*權重 + randn*0.1; % 小的附加噪音
執行lasso
正則化。
lasso
求第 75 個Lambda
值的係數向量B
。
lassoglm
識別並刪除冗餘預測變數。
廣義線性模型的交叉驗證lasso
正則化
從泊松模型構建資料,並使用lasso
建立具有 20 個預測變數的資料。僅使用三個預測變數加上一個常數來建立泊松因變數。
- rng % 用於重現性
- randn
- exp(X)*weights + 1
構建資料的泊松迴歸模型的交叉驗證lasso
正則化。
檢查交叉驗證圖以檢視Lambda
正則化引數的效果。
- Plot('CV');
- legend
綠色圓圈和虛線定位Lambda
交叉驗證誤差最小的位置。藍色圓圈和虛線定位具有最小交叉驗證誤差加一個標準偏差的點。
找到對應於兩個識別點的非零模型係數。
- FitInf
- find(B
- FitInf
- min1fnd(B)
來自最小加一標準誤差點的係數正是用於建立資料的那些係數。
使用lasso
正則化預測值
載入 學生考試成績資料集。將上次考試成績轉換為邏輯向量,其中1
代表80以上0
的成績,代表80以下的成績。
- ynm = (y>=80);
將資料劃分為訓練集和測試集。
- rng default % 設定可重複性的種子
- Xi = X(iTain,:);
- yran = yBinom
- yTe = yBinom
對訓練資料進行 3 折交叉驗證,對廣義線性模型迴歸執行lasso
正則化。假設 中的值y
是二項分佈的。選擇對應於Lambda
最小預期偏差的模型係數。
- lasso(Trn,Tain,'binomial','CV',3);
- ince = FitIiance;
- FitIept
使用在上一步中找到的模型係數預測測試資料的考試成績。使用 指定二項式因變數的連結函式'logit'
。將預測值轉換為邏輯向量。
使用混淆矩陣確定預測的準確性。
confuhart
該函式可以正確預測 31 個考試成績。然而,該函式錯誤地預測了1名學生獲得B或以上的成績,4名學生獲得B以下的成績。
最受歡迎的見解
3.matlab中的偏最小二乘迴歸(PLSR)和主成分迴歸(PCR)
6.r語言中對LASSO迴歸,Ridge嶺迴歸和Elastic Net模型實現
7.R語言邏輯迴歸、Naive Bayes貝葉斯、決策樹、隨機森林演算法預測心臟病
9.R語言用邏輯迴歸、決策樹和隨機森林對信貸資料集進行分類預測
▍關注我們 【大資料部落】第三方資料服務提供商,提供全面的統計分析與資料探勘諮詢服務,為客戶定製個性化的資料解決方案與行業報告等。 ▍諮詢連結:http://y0.cn/teradat ▍聯絡郵箱:[email protected]