面向电信行业存量用户的智能套餐个性化匹配模型(top6)

51次阅读

共计 1006 个字符,预计需要花费 3 分钟才能阅读完成。

1、赛题链接:面向电信行业存量用户的智能套餐个性化匹配模型
2、赛题任务:利用已有的用户属性 (如个人基本信息、用户画像信息等)、终端属性 (如终端品牌等)、业务属性、消费习惯及偏好匹配用户最合适的套餐,对用户进行推送,完成后续个性化服务。
3、数据解读及预处理:

多分类任务 –>11 分类;根据 service_type 来划分套餐,一类 8 个,另外一类 3 个(下文图片里面的大宝卡以及腾讯王卡系列)。
11 个套餐表所对应的卡,通过对 1_total_fee 进行 value_counts 和网上套餐比较可以大致推出来。

数据预处理 —-> 清洗数据以及对 1234_total_fee 进行类似 3sigma 的进行标记。
4、特征工程:
对 1 -2-3-4_total_fee 进行 min ,max ,std ,mean 等操作;最后发现四个月话费的最小值是比较强的特征,从 EDA 来看对套餐区分是比较明显的。

本月流量以及上个月流量的差值特征;并且发现某些用户上个月的流量是一个完整的数值,比方说 1024,2048,3072 这种数值,对这种用户进行了简单的标记。

用当月费用减去超出通话时长的钱。1_total_fee – (service1_caller_time)*0.15
计算每个用户的基本费用 (base_fee)

判断四个月的话费是否是一个整数。比方说套餐 36 的用户如果账单里面出现了 36 和 36.0 的话,那么后者 36.0 可能是其他 base_fee 通过开加油包等超出套餐费用叠加上来的。
四个月的费用分别 groupby(“complaint_fee”) 进行 count。

5、搭建模型:
模型:十折的 lightgbm 模型 + 五折的 xgboost 模型
xgboost 实在是太慢了,没有 GPU 加成的话貌似要跑差不多一个白天,但是用上 GPU 精度就降低了。
6、模型融合:通过林有夕大神分享的投票代码进行融合,有一点收益但是不大。
7、处理:

我们队伍是失败了,大概思路就是对模型分不开的两个套餐加一个权重。决赛队伍应该都是有分享的。
还有就是植物之前 ijcai2018 所用过的 ” 食之无味,弃之可惜 ”,惜的是我们也失败了。

最后附上我们队的 github 链接(记得点个星星哦~)
开源代码地址:2018_CCF_BDCI_ChinaUnicom_Package_Match_Rank6
这个比赛第一名,第二名,第四名貌似都有开源,还有砍手豪大佬对植物嫁接的进一步深入在知乎上都有文章,可以进行参考。

正文完
 0