逻辑回归相关笔记

一.构建逻辑回归模型

  对于二值目标数据,将建立逻辑回归线。利用如下的方程来建立逻辑回归线。与线性回归线类似,逻辑回归线中也有相关系数 β_0β_1 需要计算。

  逻辑回归的公式如下所示。

                       y=\frac{e^{β_0+β_1}}{1+e^{β_0+β_1}}

  python代码实现如下:

import statsmodels.api as sm
#导入需要的软件包
logit_model=sm.Logit(product_sales["Bought"],product_sales["Income"])
#这是配置模型的步骤。需要在配置模型时先设置目标变量,接着再设置预测变量。Logit()函数用于构建逻辑回归线。
logit_model1=sm.Logit(product_sales["Bought"],sm.add_constant(product_sales["Income"]))
#该步骤与前一个步骤类似,前一个步骤没有给出截距值。
#截距是一个常数。需要利用sm.add_constant()函数获取截距
logit_fit1=logit_model1.fit()
#在前面的步骤中,已经解释了模型的配置,现在是构建模型。
#在该步骤中,真实数据已经传入到模型中并执行了优化。该步骤将构建模型。
#在该步骤中可以得到β_0和β_1的值。在该步骤模型已经构建完成。
logit_fit1.summary()
#该步骤用于显示模型的摘要。在模型的摘要中包含了逻辑回归的相关系数β_0和β_1。

二.计算逻辑回归模型的准确率

  逻辑回归模型的准确率通常使用混淆矩阵(confusion matrix)来计算。

  准确率=\frac{正确分类的记录数}{总记录数}

  准确率=\frac{cm[0,0]+cm[1,1]}{cm[0,0]+cm[0,1]+cm[1,0]+cm[1,1]}

  即混淆矩阵中对角线上的元素为正确记录数。

三.多元逻辑回归线

  多元逻辑回归模型如下:

                    y=\frac{e^{β_0+β_1x_1+β_2x_2+β_3x_3+...+β_kx_k}}{1+e^{β_0+β_1x_1+β_2x_2+β_3x_3+...+β_kx_k}}

  构建模型的代码如下:

import statsmodels.api as sm
logit_model2-sm.Logit(telco_cust['Active_cust'],telco_cust[["estimated_income"]+['months_on_network']+['complaints_count']+['plan_changes_count']+['relocated_new_place']+['monthly_bill_avg']+["CSAT_Survey_Score"]+['high_talktime_flag']+['internet_time']])
logit_fit2=logit_model2.fit()
logit_fit2,summary()

四.逻辑回归中的多重共线性

  逻辑回归中的多重共线性的检测与线性回归一样,仍然使用 VIF 函数。