亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 sklearn 的嶺回歸制作 L 曲線

使用 sklearn 的嶺回歸制作 L 曲線

qq_花開花謝_0 2022-06-28 15:19:23
可視化嶺回歸解決方案的一種常用方法是繪制L 曲線,該曲線繪制平方誤差之和與正則化參數的不同選擇的嶺懲罰的關系。這可以用sklearn嗎?
查看完整描述

2 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

這是一個純粹的sklearn答案:


import numpy as np

from sklearn.linear_model import Ridge


alphas = np.logspace(-10, 10, 1000)

solution_norm = []

residual_norm = []


for alpha in alphas: 

    lm = Ridge(alpha=alpha)

    lm.fit(X, y)

    solution_norm += [(lm.coef_**2).sum()]

    residual_norm += [((lm.predict(X) - y)**2).sum()]


plt.loglog(residual_norm, solution_norm, 'k-')

plt.show()

whereX和y分別是你的預測變量和目標。


查看完整回答
反對 回復 2022-06-28
?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

scikit-learn 中沒有這樣的內置功能,但是Yellowbrick庫提供了這樣的功能(使用pipor安裝conda);將 LassoCV 示例從他們的文檔改編到您的 RidgeCV 案例給出:


import numpy as np

from sklearn.linear_model import RidgeCV

from yellowbrick.regressor import AlphaSelection

from yellowbrick.datasets import load_concrete


# Load the regression dataset

X, y = load_concrete()


# Create a list of alphas to cross-validate against

alphas = np.logspace(-10, 1, 40)


# Instantiate the linear model and visualizer

model = RidgeCV(alphas=alphas)

visualizer = AlphaSelection(model)

visualizer.fit(X, y)

visualizer.show()

http://img1.sycdn.imooc.com//62baaba1000122c904090272.jpg

查看完整回答
反對 回復 2022-06-28
  • 2 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號