基于PyCaret和Xgboost的MathorCup B 题机器学习建模方案

本文节选自《2023mathorcup全部方案+代码+论文大纲》

赛题背景

移动通信技术飞速发展,给人们带来了极大便利,人们也越来越离不开移动通信技术带来的各种便捷。随着网络不断的建设,网络覆盖趋于 完善。各个移动运营商,越来越重视客户的网络使用体验,从而进一步提 升网络服务质量。 客户满意度是客户对运营商产品服务的满意程度,反映了客户期望与 实际感知的产品服务之间的差异。特别是在信息透明、产品同质化的今天, 客户满意度的表现成为各大运营商市场运营状况的重要体现。数字经济时 代,各大运营商需要运用数字经济的管理理念和技术手段,建立客户体验 生态的全方位系统性测评体系,实现客户满意度评测的数字化转型,让客 户体验赋能商业决策,让商业决策真正服务客户,共同推动移动网络高质 量可持续发展。

赛题回顾

本次2022mathorcup数学建模大赛采取中国移动通信集团北京公司数据,要求对于客户语音业务和上网业务分别建立客户打分基于相关影响因素的数学模型,这个方案基于对比20种机器学习模型进行,用于帮助参赛选手选择合适的模型。

基于PyCaret和Xgboost的MathorCup B 题机器学习建模方案_第1张图片

使用工具

PyCaret

我们的建模方案使用Pycaret作为机器学习工具,PyCaret 是 Python 中的开源低代码机器学习库,可自动执行机器学习工作流程。它是一种端到端的机器学习和模型管理工具,可以成倍地加快实验周期并提高工作效率。与其他开源机器学习库相比,PyCaret 是一个高度封装的低代码库,可以用几行代码代替数百行代码。这使得机器学习实验呈指数级快速和高效。

基于PyCaret和Xgboost的MathorCup B 题机器学习建模方案_第2张图片

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') 

基于PyCaret和Xgboost的MathorCup B 题机器学习建模方案_第3张图片

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

 基于PyCaret和Xgboost的MathorCup B 题机器学习建模方案_第4张图片

 

你可能感兴趣的:(数据驱动建模,人工智能,低代码,自动化,回归算法)