溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Sklearn廣義線性模型嶺回歸怎么實現(xiàn)

發(fā)布時間:2022-03-25 10:34:24 來源:億速云 閱讀:159 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“Sklearn廣義線性模型嶺回歸怎么實現(xiàn)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Sklearn廣義線性模型嶺回歸怎么實現(xiàn)”吧!

嶺回歸(Ridge)通過對系數(shù)的大小施加懲罰來解決"普通最小二乘法"的一些問題。嶺系數(shù)最小化的是帶罰項的殘差平方和,

Sklearn廣義線性模型嶺回歸怎么實現(xiàn)

其中,a>=0是控制系數(shù)收縮量的復(fù)雜性參數(shù):a的值越大,收縮量越大,模型對共線性的魯棒性也更強。

與其他線性模型一樣,Ridge用fit方法完成擬合,并將模型系數(shù)數(shù)w存儲在其coef_成員中

>>> from sklearn import linear_model
>>> reg = linear_model.Ridge (alpha = .5)
>>> reg.fit ([[0, 0], [0, 0], [1, 1]], [0, .1, 1])
Ridge(alpha=0.5, copy_X=True, fit_intercept=True, max_iter=None,
normalize=False, random_state=None, solver='auto', tol=0.001)
>>> reg.coef_
array([ 0.34545455,  0.34545455])
>>> reg.intercept_
0.13636...

嶺回歸示例:

      嶺回歸主要是顯示共線性對估計器系數(shù)的影響。嶺回歸是此示例中使用的估計量。 每種顏色代表系數(shù)矢量的不同特征,并且根據(jù)正則化參數(shù)進(jìn)行顯示。此示例還顯示了將Ridge回歸應(yīng)用于病情嚴(yán)重的矩陣的有用性。 對于此類矩陣,目標(biāo)變量的微小變化可能會導(dǎo)致計算出的權(quán)重出現(xiàn)巨大差異。 在這種情況下,設(shè)置某個正則化(alpha)來減少這種變化(噪聲)是很有用的。
當(dāng)alpha很大時,正則化效應(yīng)將主導(dǎo)平方損耗函數(shù),并且系數(shù)趨于零。 在路徑的盡頭,隨著alpha趨于零且解趨于普通的最小二乘,系數(shù)呈現(xiàn)出較大的振蕩。 實際上,有必要以使兩者之間保持平衡的方式調(diào)整alpha。

import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model

#創(chuàng)建10*10矩陣
X = 1. / (np.arange(1, 11) + np.arange(0, 10)[:, np.newaxis])
y = np.ones(10)

# 計算不同a的計算結(jié)果
n_alphas = 200
alphas = np.logspace(-10, -2, n_alphas)#創(chuàng)建等比數(shù)列

coefs = []
for a in alphas:
   ridge = linear_model.Ridge(alpha=a, fit_intercept=False)
   ridge.fit(X, y)
   coefs.append(ridge.coef_)
print(len(coefs))

# 可視化展示結(jié)果
ax = plt.gca()
ax.plot(alphas, coefs)
ax.set_xscale('log')
ax.set_xlim(ax.get_xlim()[::-1])  # reverse axis
plt.xlabel('alpha')
plt.ylabel('weights')
plt.title('Ridge coefficients as a function of the regularization')
plt.axis('tight')
plt.show()

輸出:

Sklearn廣義線性模型嶺回歸怎么實現(xiàn)

感謝各位的閱讀,以上就是“Sklearn廣義線性模型嶺回歸怎么實現(xiàn)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Sklearn廣義線性模型嶺回歸怎么實現(xiàn)這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI