2022科大讯飞:电信客户流失预测挑战赛
赛题介绍
随着市场饱和度的上升,电信运营商的竞争也越来越激烈,电信运营商亟待解决减少用户流失,延长用户生命周期的问题。对于客户流失率而言,每增加5%,利润就可能随之降低25%-85%。因此,如何减少电信用户流失的分析与预测至关重要。
鉴于此,运营商会经常设有客户服务部门,该部门的职能主要是做好客户流失分析,赢回高概率流失的客户,降低客户流失率。某电信机构的客户存在大量流失情况,导致该机构的用户量急速下降。面对如此头疼的问题,该机构将部分客户数据开放,诚邀大家帮助他们建立流失预测模型来预测可能流失的客户。
赛题任务
给定某电信机构实际业务中的相关客户信息,包含69个与客户相关的字段,其中“是否流失”字段表明客户会否会在观察日期后的两个月内流失。任务目标是通过训练集训练模型,来预测客户是否会流失,以此为依据开展工作,提高用户留存。
代码实现
作为一个研0的小趴菜,学过的技术实在是太少,就决定用最简单的KNN来解决吧,用的方法也都是sklearn里提供的现成的,软件用的jupyter notebook。初次接触,代码写得很不好,但对于我的水平来说能做出结果就可以,所以新手们可以参考一下,大佬请自觉跳过。
导入模块
from sklearn.neighbors import KNeighborsClassifier
import pandas as pd
from sklearn.model_selection import GridSearchCV
数据导入和准备
train = pd.read_csv('./train.csv')
test = pd.read_csv('./test.csv')
#将训练集和测试集连接在一起组成data
data = pd.concat([train, test], axis=0