查看sklearn的线性回归系数的p value

  统计/机器学习 假设检验 回归分析 Python
3

不管是逻辑回归也好,线性回归也好,sklearn的线性模型只能查看每个变量的系数,有没有什么方法也可以像R里面那样查看系数的p value和显著性?

谢谢!


 

waccam   2017-10-12 11:18



   2个回答 
5

可以用statsmodel.api模块。比如说逻辑回归

>>> import statsmodels.api as sm
>>> log_reg = sm.Logit(df['y'], df[['a', 'b', 'c']])
>>> clf = log_reg.fit()
Optimization terminated successfully.
         Current function value: 0.692762
         Iterations 3

如果要查看系数的p value,调用clf.summary()就可以了,这个方法对OLS回归也是一样的。

>>> clf.summary()
Logit Regression Results
Dep. Variable:  y   No. Observations:   1000
Model:  Logit   Df Residuals:   997
Method: MLE Df Model:   2
Date:   Tue, 17 Oct 2017    Pseudo R-squ.:  -0.1341
Time:   10:19:37    Log-Likelihood: -692.76
converged:  True    LL-Null:    -610.86
                LLR p-value:    1.000
     coef    std err z   P>|z|   [95.0% Conf. Int.]
a   0.1240  0.219   0.565   0.572   -0.306 0.554
b   -1.9466 6.245   -0.312  0.755   -14.186 10.293
c   3.7477  6.230   0.602   0.547   -8.463 15.958


道画师   2017-10-17 22:26

2

sklearn不支持查看系数的p-value,可以参考statsmodels模块。


Lydia   2017-10-17 09:37



相关问题

回归中的p value怎么理解?   1回答

python里用F检验来比较方差   1回答

Python单侧T检验   1回答

多因素方差分析   0回答

假设检验中的p值是什么意思?为什么越小越好?   2回答

z test和t test什么区别?   1回答

如何从假设检验的角度去理解AB testing   0回答

多重检验中的FDR(false discovery rate, 错误发现率)是什么?   2回答

配对T检验和两样本T检验是一回事么?   1回答

t检验,需要测试集验证集吗?   3回答

F检验的使用场景   3回答

假设检验的效力是什么?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!