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

  统计/机器学习 假设检验 回归分析 Python    浏览次数: 601
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单侧T检验   1回答

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

多因素方差分析   0回答

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

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

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

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

单侧T检验p值与双侧T检验p值的关系   1回答

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

F检验的使用场景   3回答

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



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

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

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

我们谢绝答非所问。

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

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