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

栏目: 编程工具 · 发布时间: 5年前

内容简介:1、赛题链接:2、赛题任务:利用已有的用户属性(如个人基本信息、用户画像信息等)、终端属性(如终端品牌等)、业务属性、消费习惯及偏好匹配用户最合适的套餐,对用户进行推送,完成后续个性化服务。

1、赛题链接: 面向电信行业存量用户的智能套餐个性化匹配模型

2、赛题任务:利用已有的用户属性(如个人基本信息、用户画像信息等)、终端属性(如终端品牌等)、业务属性、消费习惯及偏好匹配用户最合适的套餐,对用户进行推送,完成后续个性化服务。

3、数据解读及预处理:

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

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

  • 数据预处理---->清洗数据以及对1234_total_fee进行类似3sigma的进行标记。

4、特征工程:

  • 对1-2-3-4_total_fee进行min ,max ,std ,mean等操作;最后发现四个月话费的最小值是比较强的特征,从EDA来看对套餐区分是比较明显的。

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

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

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

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

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

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

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

5、搭建模型:

模型:十折的lightgbm模型 + 五折的xgboost模型

xgboost实在是太慢了,没有GPU加成的话貌似要跑差不多一个白天,但是用上GPU精度就降低了。

6、模型融合:通过林有夕大神分享的投票代码进行融合,有一点收益但是不大。

7、处理:

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

最后附上我们队的github链接(记得点个星星哦~)

开源代码地址: 2018_CCF_BDCI_ChinaUnicom_Package_Match_Rank6

这个比赛第一名,第二名,第四名貌似都有开源,还有砍手豪大佬对植物嫁接的进一步深入在知乎上都有文章,可以进行参考。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

测试驱动开发

测试驱动开发

Kent Beck / 孙平平、张小龙 / 中国电力出版社 / 2004-4-1 / 28.00元

《测试驱动开发》(中文版)设想把编程看成是转动曲柄从井里提一桶水上来的过程。如果水桶比较小,那么仅需一个能自由转动的曲柄就可以了。如果水桶比较大而且装满水,那么还没等水桶全部被提上来你就会很累了。你需要一个防倒转的装置,以保证每转一次可以休息一会儿。水桶越重,防倒转的棘齿相距越近。测试驱动开发中的测试程序就是防倒转装置上的棘齿。一旦我们的某个测试程序能工作了,你就知道,它从现在开始并且以后永远都可......一起来看看 《测试驱动开发》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器