逻辑回归相关笔记
一.构建逻辑回归模型
对于二值目标数据,将建立逻辑回归线。利用如下的方程来建立逻辑回归线。与线性回归线类似,逻辑回归线中也有相关系数 β_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 函数。
评论区