1. 程式人生 > >python Ridge 回歸(嶺回歸)的原理及應用

python Ridge 回歸(嶺回歸)的原理及應用

原理 blog 得到 one 技術 設置 fun src print

嶺回歸的原理:

首先要了解最小二乘法的回歸原理

設有多重線性回歸模型 y=Xβ+ε ,參數β的最小二乘估計為
技術分享

當自變量間存在多重共線性,|XX|≈0時,設想|XX|給加上一個正常數矩陣(k>0)

那麽|XX|+kI 接近奇異的程度就會比接近奇異的程度小得多。考慮到變量的量綱問題,

先要對數據標準化,標準化後的設計矩陣仍用X表示,定義稱為的嶺回歸估計,其中,

k稱為嶺參數。由於假設X已經標準化,所以就是自變量樣本相關陣。y可以標準化也可以未標準化,

如果y也經過標準化,那麽計算的實際是標準化嶺回歸估計。技術分享(k)作為β的估計應比最小二乘估計技術分享穩定,當k=0時的嶺回歸估計就是普通的最小二乘估計.

因為嶺參數k不是唯一確定的,所以得到的嶺回歸估計實際是回歸參數的一個估計族。

則嶺回歸的參數估計為

技術分享

python中嶺回歸的代碼:

主要使用python中的 scikit-learn 模塊

# 嶺回歸(Ridge 回歸)
from sklearn import linear_model
X = [[0, 0], [1, 1], [2, 2]]
y = [0, 1, 2]
clf = linear_model.Ridge(alpha=0.1)  # 設置k值
clf.fit(X, y)  # 參數擬合
print(clf.coef_)  # 系數
print(clf.intercept_)  # 常量
print(clf.predict([[3, 3]]))  # 求預測值
print(clf.decision_function(X))  # 求預測,等同predict
print(clf.score(X, y))  # R^2,擬合優度
print(clf.get_params())  # 獲取參數信息
print(clf.set_params(fit_intercept=False))  # 重新設置參數

後期的詳細分析應用可以自己看linear_model的用法



python Ridge 回歸(嶺回歸)的原理及應用