Python下的Logistic回归模型

以前都是写杂文,今天也写写专业文章。

不讲理论,Logistic回归模型(中文简称逻辑回归)的形式就是:

f(y)=\frac{1}{1+e^{-y}}

其中,

y=\sum \beta x

有的人会把Logistic回归模型的形式写成:

f(y)=\frac{e^{y}}{1+e^{y}}

 其实,它和第一个公式没有区别,只是分子分母同时乘以了e^y而已。

不管是R或者SAS或者Python要求解的都是y=\sum \beta x这个部分。

用Python做逻辑回归可以用几个方式实现:

(1)采用 statsmodels.api中的 Logit 函数(注意Python中字母的大小写有区别),缺点是没有截距项,需要自己 sm.add_constant 加入

(2)采用statsmodels.formula.api中的 logit 函数,优点是自动含有截距项

(3)采用 statsmodels.api中的 Logit.from_formula 函数,优点也是自动含有截距项,其实它与第(2)个做法是一个做法的两个形式

(4)采用 statsmodels.api中的 GLM 函数,family选二项分布就可以,因为默认的连接函数就是Logit,缺点也是没有截距项

(5)采用statsmodels.formula.api中的 glm 函数,也是family选二项分布,优点是自动含有截距项

(6)采用 statsmodels.api中的 GLM.from_formula 函数,优点也是自动含有截距项,道理同上面的第(3)点

(7)采用sklearn.linear_model中的 LogisticRegression 函数,缺点是看结果比较麻烦statsmodels中一个 summary 看到所有关键结果的快感

需要说明的是,Logit函数采用的是极大似然估计法来求解模型参数,而 GLM采用的是迭代加权最小二乘法来求解参数的。

推荐使用上面的方法2、3或者5、6。

    

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值