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

  统计/机器学习 假设检验 回归分析 Python    浏览次数:18602        分享
4

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

谢谢!


 

waccam   2017-10-12 11:18



   2个回答 
6

可以用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


SofaSofa数据科学社区DS面试题库 DS面经

道画师   2017-10-17 22:26

2

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


SofaSofa数据科学社区DS面试题库 DS面经

Lydia   2017-10-17 09:37



  相关讨论

sklearn里怎么做多项式回归?

sklearn回归的入门级问题

当训练集只有一个特征的时候,sklearn的LinearRegression报错

怎么检验等方差性?

同一个数据 做回归相比t检验/方差的p是否一样

二元logistic回归 有多个自编量,为啥调整一个x,其他x的p值也跟着变化

同样的数据,t检验p和二元logistic回归的系数p啥区别

回归中的p value怎么理解?

提取sklearn逻辑回归的模型系数

同一批样本数据,利用sklearn中二项逻辑回归预测同一批预测数据的概率,每次预测结果有很大不同

  随便看看

概率论中的鞅是什么?

怎么理解库克距离(Cook's distance)?

点击率的95%置信区间该怎么算?

matplotlib.pyplot做折线图的时候,显示为虚线,或者点划线?

95%置信区间的正确理解