ML-项目-181227-电信公司客户流失项目

该博客介绍了电信公司客户流失预测的建模过程,包括数据读取、清洗、假设检验、模型训练、检验、调优和评估。通过逻辑回归模型,识别了影响客户流失的相关变量,最终模型预测准确率为0.82,召回率为0.807。
摘要由CSDN通过智能技术生成

建模大致思路

  1. 数据读取
  2. 数据清洗
  3. 两变量假设检验
  4. 划分训练集和测试集
  5. 使用训练集做模型进行预测
  6. 模型检验(混淆矩阵、ROC)
  7. 模型调优(向前法去除不显著变量、多重共线性)

各变量解释

#subscriberID=“个人客户的ID”
#churn=“是否流失:1=流失”;
#Age=“年龄”
#incomeCode=“用户居住区域平均收入的代码”
#duration=“在网时长”
#peakMinAv=“统计期间内最高单月通话时长”
#peakMinDiff=“统计期间结束月份与开始月份相比通话时长增加数量”
#posTrend=“该用户通话时长是否呈现出上升态势:是=1”
#negTrend=“该用户通话时长是否呈现出下降态势:是=1”
#nrProm=“电话公司营销的数量”
#prom=“最近一个月是否被营销过:是=1”
#curPlan=“统计时间开始时套餐类型:1=最高通过200分钟;2=300分钟;3=350分钟;4=500分钟”
#avPlan=“统计期间内平均套餐类型”
#planChange=“统计期间是否更换过套餐:1=是”
#posPlanChange=“统计期间是否提高套餐:1=是”
#negPlanChange=“统计期间是否降低套餐:1=是”
#call_10086=“拨打10086的次数”

1.数据读取

首先读入数据

#%%
import os
import pandas as pd
#%%
os.chdir(r'D:\data_py\chapter5\ML_project_181227_chapter5')
telecom_churn=pd.read_csv('telecom_churn.csv')

数据有3463个观测,20个变量。
在这里插入图片描述

2.数据清洗

判断数据有多少的NA

telecom_na=pd.isna(telecom_churn)

for name in telecom_na.columns:
   print(telecom_na[name].value_counts())

输出结果如图,发现该数据集并无NA
在这里插入图片描述

3.两变量假设检验

检验posTrend和churn是否相关,因为两变量均为离散性变量,先做列联表

cross_table=pd.crosstab(telecom_churn.posTrend,telecom_churn.churn,margins=True)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值