[英]statsmodels logistic regression odds ratio
我想知道如何從 python statsmodels 中擬合的邏輯回歸模型中獲得優勢比。
>>> import statsmodels.api as sm
>>> import numpy as np
>>> X = np.random.normal(0, 1, (100, 3))
>>> y = np.random.choice([0, 1], 100)
>>> res = sm.Logit(y, X).fit()
Optimization terminated successfully.
Current function value: 0.683158
Iterations 4
>>> res.summary()
<class 'statsmodels.iolib.summary.Summary'>
"""
Logit Regression Results
==============================================================================
Dep. Variable: y No. Observations: 100
Model: Logit Df Residuals: 97
Method: MLE Df Model: 2
Date: Sun, 05 Jun 2016 Pseudo R-squ.: 0.009835
Time: 23:25:06 Log-Likelihood: -68.316
converged: True LL-Null: -68.994
LLR p-value: 0.5073
==============================================================================
coef std err z P>|z| [95.0% Conf. Int.]
------------------------------------------------------------------------------
x1 -0.0033 0.181 -0.018 0.985 -0.359 0.352
x2 0.0565 0.213 0.265 0.791 -0.362 0.475
x3 0.2985 0.216 1.380 0.168 -0.125 0.723
==============================================================================
"""
>>>
您可以通過以下方式獲得優勢比:
np.exp(res.params)
還要獲得置信區間( source ):
params = res.params
conf = res.conf_int()
conf['Odds Ratio'] = params
conf.columns = ['5%', '95%', 'Odds Ratio']
print(np.exp(conf))
免責聲明:我剛剛匯總了對您問題的評論。
不確定 statsmodels,在 sklearn 中做:
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=1)
logisticRegr = LogisticRegression()
logisticRegr.fit(x_train, y_train)
df=pd.DataFrame({'odds_ratio':(np.exp(logisticRegr.coef_).T).tolist(),'variable':x.columns.tolist()})
df['odds_ratio'] = df['odds_ratio'].str.get(0)
df=df.sort_values('odds_ratio', ascending=False)
df
作為一種基本上等同於 lincolnfrias 的選項,但可能更方便(並且可直接用於觀stargazer
表),請考慮以下事項:
from stargazer.utils import LogitOdds
odds = LogitOdds(original_logit_model)
有關更多背景信息,請參閱此觀星者問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.