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

嶺迴歸的原理:python

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

設有多重線性迴歸模型   y=Xβ+ε  ,參數β的最小二乘估計爲
設計

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

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

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

k稱爲嶺參數。因爲假設X已經標準化,因此就是自變量樣本相關陣。y能夠標準化也能夠未標準化,it

若是y也通過標準化,那麼計算的實際是標準化嶺迴歸估計。(k)做爲β的估計應比最小二乘估計穩定,當k=0時的嶺迴歸估計就是普通的最小二乘估計.io

由於嶺參數k不是惟一肯定的,因此獲得的嶺迴歸估計實際是迴歸參數的一個估計族。function

 則嶺迴歸的參數估計爲class

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的用法

相關文章
相關標籤/搜索