拓端tecdat|Python中LARS和Lasso回歸之最小角算法Lars分析波士頓住房數(shù)據(jù)實例
原文鏈接:http://tecdat.cn/?p=23178
原文出處:拓端數(shù)據(jù)部落公眾號
回歸算法最小角回歸(LARS)通過高維數(shù)據(jù)的線性組合提供變量。它與正向逐步回歸有關(guān)。在這種方法中,在每個步驟中選擇最相關(guān)的變量,其方向在兩個預(yù)測因子之間是等角的。???
在本教程中,我們將學(xué)習(xí)如何用Python中的LARS和Lasso Lars算法擬合回歸數(shù)據(jù)。我們將在本教程中估計住房數(shù)據(jù)集。這篇文章包括
?
準(zhǔn)備數(shù)據(jù)
如何使用LARS
如何使用Lasso LARS
?讓我們從加載所需的包開始。
?
from sklearn import linear_model
準(zhǔn)備數(shù)據(jù)
我們將加載波士頓的數(shù)據(jù)集,并將其分成訓(xùn)練和測試兩部分。
?
boston = load_boston()
xtrain, xtest, ytrain, ytest=train_test_split(x, y, test_size=0.15)
如何使用LARS
我們將用Lars()類定義模型(有默認參數(shù)),并用訓(xùn)練數(shù)據(jù)來擬合它。
?
Lars().fit(xtrain, ytrain)
并檢查模型的系數(shù)。
?
print(lars.coef_)
[-1.16800795e-01 ?1.02016954e-02 -2.99472206e-01 ?4.21380667e+00
-2.18450214e+01 ?4.01430635e+00 -9.90351759e-03 -1.60916999e+00
-2.32195752e-01 ?2.80140313e-02 -1.08077980e+00 ?1.07377184e-02
-5.02331702e-01]
接下來,我們將預(yù)測測試數(shù)據(jù)并檢查MSE和RMSE指標(biāo)。
?
mean_squared_error(ytest, ypred)
print("MSE: %.2f" % mse)
MSE: 36.96
print("RMSE: %.2f" % sqrt(mse))
RMSE: 6.08
最后,我們將創(chuàng)建繪圖,使原始數(shù)據(jù)和預(yù)測數(shù)據(jù)可視化。
?
plt.show()
?
如何使用Lasso Lars
LassoLars是LARS算法與Lasso模型的一個實現(xiàn)。我們將用LassoLars()類定義模型,將α參數(shù)設(shè)置為0.1,并在訓(xùn)練數(shù)據(jù)上擬合模型。
?
LassoLars(alpha =.1).fit(xtrain, ytrain)
我們可以檢查系數(shù)。
?
print(coef_)
[ 0. ? ? ? ? ?0. ? ? ? ? ?0. ? ? ? ? ?0. ? ? ? ? ?0. ? ? ? ? ?3.00873485
0. ? ? ? ? ?0. ? ? ? ? ?0. ? ? ? ? ?0. ? ? ? ? -0.28423008 ?0.
-0.42849354]
接下來,我們將預(yù)測測試數(shù)據(jù)并檢查MSE和RMSE指標(biāo)。
?
predict(xtest)
print("MSE: %.2f" % mse)
MSE: 45.59
print("RMSE: %.2f" % sqrt(mse))
RMSE: 6.75
最后,我們將創(chuàng)建繪圖,使原始數(shù)據(jù)和預(yù)測數(shù)據(jù)可視化。
?
plt.show()

???在本教程中,我們已經(jīng)簡單了解了如何用LARS和Lasso Lars算法來擬合和預(yù)測回歸數(shù)據(jù)。
參考文獻
Least Angle Regression,?by?Efron Bradley; Hastie Trevor; Johnstone Iain; Tibshirani Robert (2004)
Least-Angel Regression, Wikipedia

?
?
最受歡迎的見解
1.R語言多元Logistic邏輯回歸 應(yīng)用案例
2.面板平滑轉(zhuǎn)移回歸(PSTR)分析案例實現(xiàn)
3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)
4.R語言泊松Poisson回歸模型分析案例
5.R語言回歸中的Hosmer-Lemeshow擬合優(yōu)度檢驗
6.r語言中對LASSO回歸,Ridge嶺回歸和Elastic Net模型實現(xiàn)
7.在R語言中實現(xiàn)Logistic邏輯回歸
8.python用線性回歸預(yù)測股票價格
9.R語言如何在生存分析與Cox回歸中計算IDI,NRI指標(biāo)