簡體   English   中英

方差膨脹因子輸出統計模型

[英]Variance inflation factor output statsmodels

我正在嘗試使用 statsmodels 找到多重共線性,但是我的代碼的輸出沒有顯示方差膨脹因子,而是作為生成器對象的數據框:

from statsmodels.stats.outliers_influence import variance_inflation_factor
variables = df[['Mileage','Year','EngineV']]
vif = pd.DataFrame()
vif['VIF'] = (variance_inflation_factor(variables.values,i) for i in range(variables.shape[1]))
vif['features'] = variables.columns

結果在輸出

                                                 VIF  | features
  ---------------------------------------------------------------
0 | <generator object <genexpr> at 0x0000023A9F204... | Mileage
1 | <generator object <genexpr> at 0x0000023A9F204... |    Year
2 | <generator object <genexpr> at 0x0000023A9F204... | EngineV

而不是給出實際值。 我確信這是一個簡單的解決方法,但我對 Python 和編碼非常陌生。 謝謝

您應該將生成器轉換為列表。 您可以使用列表理解或 list() 函數。

vif['VIF'] = [variance_inflation_factor(variables.values,i) for i in range(variables.shape[1])]

或者

vif['VIF'] = list((variance_inflation_factor(variables.values,i) for i in range(variables.shape[1])))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM