/2018-CCF-BDCI-China-Unicom-Research-Institute-top2

2018-CCF大数据与计算智能大赛-面向电信行业存量用户的智能套餐个性化匹配模型联通赛-复赛第二名解决方案

Primary LanguagePythonMIT LicenseMIT

2018-CCF-BDCI-China-Unicom-Research-Institute-top2

===============================================================================================================

主办方:**计算机学会 & DataFountain & **联通研究院

赛道:2018-CCF大数据与计算智能大赛-面向电信行业存量用户的智能套餐个性化匹配模型

赛道链接https://www.datafountain.cn/competitions/311/details/data-evaluation
赛程时间2018.08.28-2018.11.11
参与人:郭大林有夕小兔子乖乖
百度云盘下载链接:为避免数据丢失,提供数据集下载地址链接:https://pan.baidu.com/s/1RoGBAknW7O_AfS-x6CSHWA 提取码:bgk2

数据集解释:官方下载数据集命名可能不一样
百度云分享数据集我将初赛训练集和测试集分别命名为:train_all.csv,test_1.csv
百度云分享数据集我将复赛训练集和测试集分别命名为:train_2.csv,test_2.csv

1.数据说明

字段 中文名 数据类型 说明
USERID 用户ID VARCHAR2(50) 用户编码,标识用户的唯一字段
current_type 套餐 VARCHAR2(500) /
service_type 套餐类型 VARCHAR2(10) 0:23G融合,1:2I2C,2:2G,3:3G,4:4G
is_mix_service 是否固移融合套餐 VARCHAR2(10) 1.是 0.否
online_time 在网时长 VARCHAR2(50) /
1_total_fee 当月总出账金额_月 NUMBER 单位:元
2_total_fee 当月前1月总出账金额_月 NUMBER 单位:元
3_total_fee 当月前2月总出账金额_月 NUMBER 单位:元
4_total_fee 当月前3月总出账金额_月 NUMBER 单位:元
month_traffic 当月累计-流量 NUMBER 单位:MB
many_over_bill 连续超套 VARCHAR2(500) 1-是,0-否
contract_type 合约类型 VARCHAR2(500) ZBG_DIM.DIM_CBSS_ACTIVITY_TYPE
contract_time 合约时长 VARCHAR2(500) /
is_promise_low_consume 是否承诺低消用户 VARCHAR2(500) 1.是 0.否
net_service 网络口径用户 VARCHAR2(500) 20AAAAAA-2G
pay_times 交费次数 NUMBER 单位:次
pay_num 交费金额 NUMBER 单位:元
last_month_traffic 上月结转流量 NUMBER 单位:MB
local_trafffic_month 月累计-本地数据流量 NUMBER 单位:MB
local_caller_time 本地语音主叫通话时长 NUMBER 单位:分钟
service1_caller_time 套外主叫通话时长 NUMBER 单位:分钟
service2_caller_time Service2_caller_time NUMBER 单位:分钟
gender 性别 varchar2(100) 01.男 02女
age 年龄 varchar2(100) /
complaint_level 投诉重要性 VARCHAR2(1000) 1:普通,2:重要,3:重大
former_complaint_num 交费金历史投诉总量 NUMBER 单位:次
former_complaint_fee 历史执行补救费用交费金额 NUMBER 单位:分

2.配置环境与依赖库

  • python3
  • scikit-learn
  • gensim
  • Ubuntu

3.运行代码步骤说明

  • path 根据各自所需路径自行修改
  • sh run.sh

#!/usr/bin/env bash
python ./src/w2v_feature.py
python ./src/stacking_model.py
python ./src/w2v_feature.py
python ./src/model.py
运行两次 w2v_feature.py是为了 增大差异

4.特征工程

    我们特征工程所有特征命名为列**features**:包括原始特征,差值特征,W2V特征和stacking_features特征。         
    其中原始特征包括:origin_num_feature原始数值特征,原始类别特征origin_cate_feature      
    features = base_features+cont_features+diff_features+w2v_features+stacking_features    
  • 原始特征
    对应函数 origin_cate_feature和origin_num_feature

  • 统计特征
    对应函数feature_count
    每个月话费,流量,上网时间等进行计数统计 每个月话费,流量,上网时间等分别与套餐类型、合约类型交叉统计特征
    其他:当月话费占当月话费占比、各同类型流量话费等比例 等

  • 差值特征
    对应特征列diff_feature_list 1到4月费用相邻之间的差值
    其他同类别计数特征之间的差值等

  • w2v 特征
    对应函数w2v_feature

  • stacking特征
    对应函数stacking_feature

5.模型训练

最终成绩:线上复赛B:0.838

6.w2v图tsne.png

详见:plot.py(2018.12.03更新)