网址
:https://www.datafountain.cn/competitions/311/details/rule
面向电信行业存量用户的智能套餐个性化匹配模型
电信产业作为国家基础产业之一,覆盖广、用户多,在支撑国家建设和发展方面尤为重要。随着互联网技术的快速发展和普及,用户消耗的流量也成井喷态势,近年来,电信运营商推出大量的电信套餐用以满足用户的差异化需求,面对种类繁多的套餐,如何选择最合适的一款对于运营商和用户来说都至关重要,尤其是在电信市场增速放缓,存量用户争夺愈发激烈的大背景下。针对电信套餐的个性化推荐问题,通过数据挖掘技术构建了基于用户消费行为的电信套餐个性化推荐模型,根据用户业务行为画像结果,分析出用户消费习惯及偏好,匹配用户最合适的套餐,提升用户感知,带动用户需求,从而达到用户价值提升的目标。 套餐的个性化推荐,能够在信息过载的环境中帮助用户发现合适套餐,也能将合适套餐信息推送给用户。解决的问题有两个:信息过载问题和用户无目的搜索问题。各种套餐满足了用户有明确目的时的主动查找需求,而个性化推荐能够在用户没有明确目的的时候帮助他们发现感兴趣的新内容。
此题利用已有的用户属性(如个人基本信息、用户画像信息等)、终端属性(如终端品牌等)、业务属性、消费习惯及偏好匹配用户最合适的套餐,对用户进行推送,完成后续个性化服务。
-
数据分析,主要是利用第三方
matplotlib
库,利用图示的方式来对数据进行展示 -
数据清洗
-
数据特征提取
-
对于一些缺失值进行填充
-
由于数据集中既包含类别特征,也包含连续特征,所以对类别特征进行
one-hot编码
,对连续特征进行归一化操作。 -
利用
随机森林
和GBDT
结合GridSearchCV()
函数来对特征重要性进行排序,然后选择特征重要性比较高的特征,这样能去掉一些重要性较低的特征。 -
在数据特征工程做的差不多的时候,接下来进行模型的选择:
(1)lgb模型
f1_score:0.7441
(2)xgb模型
f1_score:0.7521
-
这里没有使用
stacking
方式,而是简单的将上述的两个模型通过调整不同的参数来生成多个结果,然后再将这些结果通过投票的原则生成一个最终的结果,最终的f1_score:0.7693
1.首先是要安装几个第三方库:
- numpy
- sklearn
- pandas
- xgboost
- lightgbm
- python 3.5.6
2. IDE使用的是pycharm 3.5
3.对于lgb_model文件夹:
- 先运行data_processing.py文件
- 再运行FeatureEngineering.py文件
- 运行lgb.py文件
- 为了与举办方要求的文件格式相同,最后使用get_final_result.py文件可以处理
- simple_vote.py文件主要是将多个结果进行简单的融合,可以后期使用
4.对于xgb_model文件夹
- 先运行data_processing.py文件,data_process.py文件和Preprocess.py文件
- 再运行RemoveFeatures.py文件
- 接下来运行xgb_model.py文件
- 最后运行main.py文件
- get_result.py文件是为了获得与举办方要求的相同格式的结果。
-
https://blog.csdn.net/github_38414650/article/details/76061893
-
https://blog.csdn.net/sinat_26917383/article/details/54667077
A榜 | B榜 |
---|---|
38/2546 |
49/2546 |