本文节选自《2023mathorcup全部方案+代码+论文大纲》
赛题背景
移动通信技术飞速发展,给人们带来了极大便利,人们也越来越离不开移动通信技术带来的各种便捷。随着网络不断的建设,网络覆盖趋于
完善。各个移动运营商,越来越重视客户的网络使用体验,从而进一步提
升网络服务质量。
客户满意度是客户对运营商产品服务的满意程度,反映了客户期望与
实际感知的产品服务之间的差异。特别是在信息透明、产品同质化的今天,
客户满意度的表现成为各大运营商市场运营状况的重要体现。数字经济时
代,各大运营商需要运用数字经济的管理理念和技术手段,建立客户体验
生态的全方位系统性测评体系,实现客户满意度评测的数字化转型,让客
户体验赋能商业决策,让商业决策真正服务客户,共同推动移动网络高质
量可持续发展。
赛题回顾
本次2022mathorcup数学建模大赛采取中国移动通信集团北京公司数据,要求对于客户语音业务和上网业务分别建立客户打分基于相关影响因素的数学模型,这个方案基于对比20种机器学习模型进行,用于帮助参赛选手选择合适的模型。
使用工具
PyCaret
我们的建模方案使用Pycaret作为机器学习工具,PyCaret 是 Python 中的开源低代码机器学习库,可自动执行机器学习工作流程。它是一种端到端的机器学习和模型管理工具,可以成倍地加快实验周期并提高工作效率。与其他开源机器学习库相比,PyCaret 是一个高度封装的低代码库,可以用几行代码代替数百行代码。这使得机器学习实验呈指数级快速和高效。
Xgboost
XGBoost 是大规模并行 boosting tree 的工具,它是目前最快最好的开源 boosting tree 工具包,比常见的工具包快 10 倍以上。Xgboost 和 GBDT 两者都是 boosting 方法,除了工程实现、解决问题上的一些差异外,最大的不同就是目标函数的定义。
代码实现
此处仅提供部分代码演示,节选自《全部代码》
from pycaret.regression import *
reg = setup(df,target='语音通话整体满意度',
use_gpu = True,
text_features = '用户描述',
ignore_features = ['网络覆盖与信号强度','语音通话清晰度','语音通话稳定性'],
numeric_imputation = 'knn',
categorical_imputation = 'mode')
best=compare_models()
xgb = crate_model('xgboost')
best_tuned = tune_model(best)
RangeIndex: 5433 entries, 0 to 5432 Data columns (total 55 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 用户id 5433 non-null int64 1 语音通话整体满意度 5433 non-null int64 2 网络覆盖与信号强度 5433 non-null int64 3 语音通话清晰度 5433 non-null int64 4 语音通话稳定性 5433 non-null int64 5 是否遇到过网络问题 5433 non-null int64 6 居民小区 5433 non-null int64 7 办公室 5433 non-null int64 8 高校 5433 non-null int64 9 商业街 5433 non-null int64 10 地铁 5433 non-null int64 11 农村 5433 non-null int64 12 高铁 5433 non-null int64 13 其他,请注明 5433 non-null int64 14 用户描述 275 non-null object 15 手机没有信号 5433 non-null int64 16 有信号无法拨通 5433 non-null int64 17 通话过程中突然中断 5433 non-null int64 18 通话中有杂音、听不清、断断续续 5433 non-null int64 19 串线 5433 non-null int64 20 通话过程中一方听不见 5433 non-null int64 21 其他,请注明.1 5433 non-null int64 22 用户描述.1 109 non-null object 23 脱网次数 5433 non-null int64 24 mos质差次数 5433 non-null int64 25 未接通掉话次数 5433 non-null int64 26 重定向次数 1173 non-null float64 27 重定向驻留时长 1173 non-null float64 28 家宽投诉 5433 non-null int64 29 资费投诉 5433 non-null int64 30 4\5G用户 5433 non-null object 31 语音方式 5433 non-null object 32 是否关怀用户 200 non-null object 33 是否去过营业厅 2462 non-null object 34 ARPU(家庭宽带) 5433 non-null float64 35 套外流量(MB) 5433 non-null float64 36 是否4G网络客户(本地剔除物联网) 5428 non-null object 37 套外流量费(元) 5433 non-null float64 38 外省语音占比 5433 non-null float64 39 语音通话-时长(分钟) 5433 non-null int64 40 省际漫游-时长(分钟) 5433 non-null int64 41 终端品牌 5429 non-null object 42 终端品牌类型 5428 non-null object 43 当月ARPU 5433 non-null float64 44 当月MOU 5433 non-null int64 45 前3月ARPU 5433 non-null float64 46 前3月MOU 5433 non-null int64 47 外省流量占比 5431 non-null float64 48 GPRS总流量(KB) 5433 non-null int64 49 GPRS-国内漫游-流量(KB) 5433 non-null int64 50 是否5G网络客户 5428 non-null object 51 是否实名登记用户 5428 non-null object 52 客户星级标识 5428 non-null object 53 当月欠费金额 5428 non-null float64 54 前第3个月欠费金额 5428 non-null float64