电信客户流失预测——逻辑回归实战

该文通过处理AT&T的用户数据,包括客户ID、性别、服务使用情况等,进行数据预处理、缺失值处理和异常值检测。采用逻辑回归模型预测客户流失,通过对不同特征的相关性分析,选择关键特征进行建模。结果显示,减少特征数量能提高模型的AUC值和精确率,表明特征选择对预测效果有显著影响。
摘要由CSDN通过智能技术生成

项目背景

AT&T数据,⽤户个⼈,通话,上⽹等信息数据,充分利⽤数据预测客户的流失情况,帮助挽留⽤户,保证⽤户基数和活跃程度。

数据信息

数据集下载:电信客户数据集

  1. CustomerID 客户ID
  2. Gender 性别
  3. partneratt 配偶是否也为att⽤户
  4. dependents_att 家⼈是否也是att⽤户
  5. landline 是否使⽤att固话服务
  6. internet_att/internet_other 是否使⽤att的互联⽹服务
  7. Paymentbank/creditcard/electroinc 付款⽅式
  8. MonthlyCharges 每⽉话费
  9. TotalCharges 累计话费
  10. Contract_month/1year ⽤户使⽤⽉度/年度合约
  11. StreamingTv/streamingMovies 是否使⽤在线视频或者电影app
  12. Churn 客户转化的flag

处理流程

  1. 基本数据处理
    • 基本数据信息
    • 缺失值和异常值处理
  2. 描述性分析(单变量分析)
    • 连续型变量的指标
    • 离散型变量的类别
    • 预测样本比例
  3. 相关性分析(多变量相关性)
    • 连续变量的相关性分析
    • 相关性热力图
  4. 特征工程
    • 数据分割
    • 数据标准化处理
  5. 逻辑回归模型
    • 逻辑回归应用
    • 模型评估

具体代码如下

导入所有用到的包

# 导入包
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import classification_report
from sklearn.metrics import roc_auc_score
from sklearn.linear_model import LogisticRegression

1.基本数据处理

导入数据并查看数据信息

# 导入数据集,并查看数据基本信息
df = pd.read_csv('churn.csv', sep=',', encoding='utf-8')
df.info()

在这里插入图片描述
离散变量数值化,并去除没用的特征

# 离散型变量转化为数值型
churn_df = pd.get_dummies(df)
# 去除重复的数据
churn_df.drop(['Churn_No', 'gender_Female'], axis=1, in
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AIGC人工智残

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值