最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python數(shù)據(jù)預(yù)處理 :數(shù)據(jù)共線性處理詳解

 更新時間:2020年02月24日 15:30:47   作者:泛泛之素  
今天小編就為大家分享一篇python數(shù)據(jù)預(yù)處理 :數(shù)據(jù)共線性處理詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

何為共線性:

共線性問題指的是輸入的自變量之間存在較高的線性相關(guān)度。共線性問題會導(dǎo)致回歸模型的穩(wěn)定性和準確性大大降低,另外,過多無關(guān)的維度計算也很浪費時間

共線性產(chǎn)生原因:

變量出現(xiàn)共線性的原因:

數(shù)據(jù)樣本不夠,導(dǎo)致共線性存在偶然性,這其實反映了缺少數(shù)據(jù)對于數(shù)據(jù)建模的影響,共線性僅僅是影響的一部分

多個變量都給予時間有共同或相反的演變趨勢,例如春節(jié)期間的網(wǎng)絡(luò)銷售量和銷售額都相對與正常時間有下降趨勢。

多個變量存在一定的推移關(guān)系,但總體上變量間的趨勢一致,只是發(fā)生的時間點不一致,例如廣告費用和銷售額之間,通常是品牌廣告先進行大范圍的曝光和信息推送,經(jīng)過一定時間傳播之后,才會在銷售額上做出反映。

多變量之間存在線性的關(guān)系。例如y代表訪客數(shù),用x代表展示廣告費用,那么二者的關(guān)系很可能是y=2*x + b

如何檢驗共線性:

檢驗共線性:

容忍度(Tolerance):容忍度是每個自變量作為因變量對其他自變量進行回歸建模時得到的殘差比例,大小用1減得到的決定系數(shù)來表示。容忍度值越小說明這個自變量與其他自變量間越可能存在共線性問題。

方差膨脹因子 VIF是容忍度的倒數(shù),值越大則共線性問題越明顯,通常以10作為判斷邊界。當VIF<10,不存在多重共線性;當10<=VIF<100,存在較強的多重共線性;當VIF>=100, 存在嚴重多重共線性。

特征值(Eigenvalue):該方法實際上就是對自變量做主成分分析,如果多個維度的特征值等于0,則可能有比較嚴重的共線性。

相關(guān)系數(shù):如果相關(guān)系數(shù)R>0.8時就可能存在較強相關(guān)性

如何處理共線性:

處理共線性:

增大樣本量:增大樣本量可以消除猶豫數(shù)據(jù)量不足而出現(xiàn)的偶然的共線性現(xiàn)象,在可行的前提下這種方法是需要優(yōu)先考慮的

嶺回歸法(Ridge Regression):實際上是一種改良最小二乘估計法。通過放棄最小二乘法的無偏性,以損失部分信息、降低精度為代價來獲得更實際和可靠性更強的回歸系數(shù)。因此嶺回歸在存在較強共線性的回歸應(yīng)用中較為常用。

逐步回歸法(Stepwise Regression):每次引入一個自變量進行統(tǒng)計檢驗,然后逐步引入其他變量,同時對所有變量的回歸系數(shù)進行檢驗,如果原來引入的變量由于后面變量的引入而變得不再顯著,那么久將其剔除,逐步得到最有回歸方程。

主成分回歸(Principal Components Regression):通過主成分分析,將原始參與建模的變量轉(zhuǎn)換為少數(shù)幾個主成分,么個主成分是原變量的線性組合,然后基于主成分做回歸分析,這樣也可以在不丟失重要數(shù)據(jù)特征的前提下避開共線性問題。

人工去除:結(jié)合人工經(jīng)驗,對自變量進行刪減,但是對操作者的業(yè)務(wù)能力、經(jīng)驗有很高的要求。

部分方法python代碼實現(xiàn)

import numpy as np
import pandas as pd
from sklearn.linear_model import Ridge
from sklearn.decomposition import PCA
from sklearn.linear_model import LinearRegression

# 導(dǎo)入數(shù)據(jù)
df = pd.read_csv('https://raw.githubusercontent.com/ffzs/dataset/master/boston/train.csv')

# 切分自變量
X = df.iloc[:, 1:-1].values

# 切分預(yù)測變量
y = df.iloc[:, [-1]].values

# 使用嶺回歸處理
import matplotlib.pyplot as plt
plt.figure(figsize=(8,6))
n_alphas = 20
alphas = np.logspace(-1,4,num=n_alphas)
coefs = []
for a in alphas:
  ridge = Ridge(alpha=a, fit_intercept=False)
  ridge.fit(X, y)
  coefs.append(ridge.coef_[0])
ax = plt.gca()
ax.plot(alphas, coefs)
ax.set_xscale('log')
handles, labels = ax.get_legend_handles_labels()
plt.legend(labels=df.columns[1:-1])
plt.xlabel('alpha')
plt.ylabel('weights')
plt.axis('tight')
plt.show()

只有nox有些許波動。

# 主成分回歸進行回歸分析
pca_model = PCA()
data_pca = pca_model.fit_transform(X)

# 得到所有主成分方差
ratio_cumsum = np.cumsum(pca_model.explained_variance_ratio_)
# 獲取方差占比超過0.8的索引值
rule_index = np.where(ratio_cumsum > 0.9)
# 獲取最小的索引值
min_index = rule_index[0][0]
# 根據(jù)最小索引值提取主成分
data_pca_result = data_pca[:, :min_index+1]
# 建立回歸模型
model_liner = LinearRegression()
# 訓(xùn)練模型
model_liner.fit(data_pca_result, y)
print(model_liner.coef_)
#[[-0.02430516 -0.01404814]]

以上這篇python數(shù)據(jù)預(yù)處理 :數(shù)據(jù)共線性處理詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • pytorch 實現(xiàn)二分類交叉熵逆樣本頻率權(quán)重

    pytorch 實現(xiàn)二分類交叉熵逆樣本頻率權(quán)重

    這篇文章主要介紹了pytorch 實現(xiàn)二分類交叉熵逆樣本頻率權(quán)重的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 學(xué)會python操作excel永不加班系列

    學(xué)會python操作excel永不加班系列

    這篇文章主要介紹了python操作excel的詳解,,需要的朋友可以參考下,小編覺得這篇文章寫的還不錯,希望能夠給你帶來幫助
    2021-11-11
  • Python3中對json格式數(shù)據(jù)的分析處理

    Python3中對json格式數(shù)據(jù)的分析處理

    這篇文章主要介紹了Python3中對json格式數(shù)據(jù)的分析處理,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Django項目中使用JWT的實現(xiàn)代碼

    Django項目中使用JWT的實現(xiàn)代碼

    這篇文章主要介紹了Django項目中使用JWT的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 淺談python數(shù)據(jù)類型及其操作

    淺談python數(shù)據(jù)類型及其操作

    今天帶大家了解python數(shù)據(jù)類型的相關(guān)知識,文中介紹的非常詳細,對正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • python?cv2.waitKey()函數(shù)的使用

    python?cv2.waitKey()函數(shù)的使用

    這篇文章主要介紹了python?cv2.waitKey()函數(shù)的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • numpy中np.nditer、flags=[multi_index] 的用法說明

    numpy中np.nditer、flags=[multi_index] 的用法說明

    這篇文章主要介紹了numpy中np.nditer、flags=['multi_index'] 的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • Python使用pyforms實現(xiàn)輕松構(gòu)建GUI

    Python使用pyforms實現(xiàn)輕松構(gòu)建GUI

    pyforms是一個基于Python的GUI框架,它提供了一種簡單而強大的方式來構(gòu)建圖形用戶界面,本文將介紹pyforms的使用場景、優(yōu)勢以及常用的Python代碼案例,需要的小伙伴可以了解下
    2024-01-01
  • Python實現(xiàn)二維有序數(shù)組查找的方法

    Python實現(xiàn)二維有序數(shù)組查找的方法

    這篇文章主要介紹了Python實現(xiàn)二維有序數(shù)組查找的方法,結(jié)合實例形式分析了Python二維有序數(shù)組的查找思路及具體實現(xiàn)技巧,需要的朋友可以參考下
    2016-04-04
  • python opencv 實現(xiàn)讀取、顯示、寫入圖像的方法

    python opencv 實現(xiàn)讀取、顯示、寫入圖像的方法

    這篇文章主要介紹了python opencv 實現(xiàn)讀取、顯示、寫入圖像的方法,本文通示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06

最新評論

财经| 栾川县| 临夏市| 囊谦县| 出国| 丹阳市| 高淳县| 焦作市| 西华县| 天门市| 株洲市| 新蔡县| 彰武县| 融水| 聊城市| 镇巴县| 高州市| 西盟| 常山县| 滨海县| 漠河县| 留坝县| 潍坊市| 新源县| 招远市| 体育| 南投市| 德江县| 祁门县| 竹山县| 大石桥市| 台东市| 肇州县| 确山县| 班戈县| 南木林县| 曲松县| 和田县| 梁河县| 鹿泉市| 德保县|