Python中嶺回歸的示例分析

這篇文章將為大家詳細(xì)講解有關(guān) Python中嶺回歸的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的松北網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

嶺回歸是一種專門用于共線性數(shù)據(jù)分析的有偏估計(jì)回歸方法,實(shí)質(zhì)上時(shí)改良的最小二乘估計(jì)法,通過放棄最小二乘法的無偏性(在反復(fù)抽樣的情況下,樣本均值的集合的期望等于總體均值),以損失部分信息、降低精度為代價(jià)獲得回歸系數(shù)更為符合實(shí)際、更可靠的回歸方法,對共線性問題和病態(tài)數(shù)據(jù)的擬合要強(qiáng)于最小二乘法經(jīng),常用于多維問題與不適定問題(ill-posed problem)。
嶺回歸通過引入一個(gè)懲罰變量解決了普通最小二乘法的問題。嶺回歸相關(guān)系數(shù)是的懲罰殘差平方和最小:
Python中嶺回歸的示例分析
Python中嶺回歸的示例分析是收縮率,既控制模型復(fù)雜度的因子。

import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model#創(chuàng)建一個(gè)希伯特矩陣(高度病態(tài),任何一個(gè)元素的點(diǎn)發(fā)生變動(dòng),整個(gè)矩陣的行列式的值和逆矩陣都會(huì)發(fā)生巨大變化)#這里的加法運(yùn)算類似于矩陣相乘X = 1. / (np.arange(1, 11) + np.arange(0, 10)[:, np.newaxis])
y = np.ones(10)#計(jì)算路徑n_alphas = 200alphas = np.logspace(-10, -2, n_alphas)
clf = linear_model.Ridge(fit_intercept=False)

coefs = []for a in alphas:
    clf.set_params(alpha=a)
    clf.fit(X, y)
    coefs.append(clf.coef_)#圖形展示#設(shè)置刻度ax = plt.gca() 
#設(shè)置刻度的映射 ax.plot(alphas, coefs)#設(shè)置x軸的刻度顯示方式ax.set_xscale('log')#翻轉(zhuǎn)x軸ax.set_xlim(ax.get_xlim()[::-1])#設(shè)置x、y標(biāo)簽以及標(biāo)題plt.xlabel('alpha')
plt.ylabel('weights')
plt.title('Ridge coefficients as a function of the regularization')#使得坐標(biāo)軸最大值和最小值與數(shù)據(jù)保持一致plt.axis('tight')
plt.show()

Python中嶺回歸的示例分析
上圖展示了嶺回歸模型的解的10個(gè)分量隨正則化參數(shù)Alpha變化而變化的趨勢。每一種顏色代表了不同的相關(guān)系數(shù)向量特征,它隨著傳入的正則化參數(shù)Alpha的變化而變化。由于圖像形態(tài),嶺回歸又稱為脊回歸。
這個(gè)例子展示了嶺回歸處理病態(tài)矩陣( ill-conditioned matrices)的優(yōu)勢。在病態(tài)矩陣?yán)锩恳粋€(gè)目標(biāo)變量微小的變動(dòng)都會(huì)產(chǎn)生巨大的方差。對于這種情況就需要設(shè)置一個(gè)比較合適的正則化參數(shù)來減少離差(噪聲)。
當(dāng)正則參數(shù)Alpha非常大的時(shí)候,正則化的影響支配了二乘法函數(shù),相關(guān)系數(shù)趨近于0。在路徑的結(jié)尾,當(dāng)正則參數(shù)alpha趨近于0的時(shí)候,結(jié)果解趨近于了普通最小二乘法,系數(shù)表現(xiàn)出了很大的震蕩。

設(shè)置正則參數(shù)
在實(shí)踐中要不斷的調(diào)節(jié)正則參數(shù)Alpha在上述過程中尋求一種平衡。
RidgeCV實(shí)現(xiàn)了嶺回歸的交叉驗(yàn)證,下面是一種高效的交叉驗(yàn)證方式-留一交叉驗(yàn)證(leave-one-out):

>>> from sklearn import linear_model
>>> clf = linear_model.RidgeCV(alphas=[0.1, 1.0, 10.0])
>>> clf.fit([[0, 0], [0, 0], [1, 1]], [0, .1, 1])       
RidgeCV(alphas=[0.1, 1.0, 10.0], cv=None, fit_intercept=True, scoring=None,
    normalize=False)
>>> clf.alpha_                                      
0.1

關(guān)于“ Python中嶺回歸的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

當(dāng)前名稱:Python中嶺回歸的示例分析
URL標(biāo)題:http://muchs.cn/article48/gesiep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、外貿(mào)建站、品牌網(wǎng)站制作、網(wǎng)站改版、企業(yè)網(wǎng)站制作做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站