获奖团队简介
团队名称:广东电信数营团队
团队成员:杜昭、陈伟宏、陈静旋、张伟斌、张绮琦
团队由来自广东电信、广东亿迅科技有限公司成员组成。有着机器学习、统计学、计算机专业背景。日常工作负责客户洞察与挖掘建模、大数据开发、全场景洞察等相关工作,依托数字化流程将AI大数据与业务紧融合,产出业务价值,积极推动企业数字化转型,为数字经济建设添砖加瓦。
所获奖项:二等奖
摘 要
本方案对46个匿名特征进行充分分析,识别和过滤干扰数据,并从单变量、多变量、同分类变量的联系,将不同特征进行分组和取对数预处理,并通过减法和除法运算、统计维度、knn方法构造新特征,使用了lightGBM、catboost等算法,结合交叉验证、autogluon等方法进行训练和模型融合,获得较优模型效果。
关 键 词
特征工程、LightGBM、Knn、 K折交叉验证
1 赛题理解及分析
赛题基于提供的信令数据、通话数据、互联网行为等脱敏模拟数据进行建模,对个人是否会返乡工作进行判断,赛题数据为46个匿名特征,并未有业务特征的解释,因此需要通过特征分析和特征构造进一步挖掘潜在的信息。
初赛提供的训练数据59872个,其中正样本14922个,负样本44950个,是典型的二分类问题。训练集正样本占比24.9%,从训练集正负样本比例看属于较为平衡的数据,方案设计思路是根据训练集数据进行探索,并根据特征重要性、相关性做特征选择和过滤,设计特征,对比选定分类算法建模,并尝试进行模型融合。
2 特征工程
2.1 异常值、缺失值处理
异常值:首先我们将训练集和测试集合并,新增标签<is_train>,将训练集样本标记为1,测试集样本标记为0。通过构建一个lgb分类器通过交叉训练混合后的数据集,拟合目标标签<is_train>,观察输出的综合AUC值,是否能较好的将训练集和测试集区分。
图1:对抗训练样本is_train概率图
最终训练AUC值约为0.667,有一定区分度,说明原始训练集和测试集分布存在不一致。通过输出每一个样本的属于训练集的预测概率,可以看到在训练集中序号从50000之后的样本概率值产生了骤变与其它样本差异较大,存在干扰。因此从原始训练集中选择1:50000的样本生成新的训练集。
查看样本中没有缺失值,除了特征f3为中文类别特征,其它特征均为数值型。针对f3的{低,中,高}分别使用{1,2,3}编码,转化为数值标签。
2.2 特征分析
原始特征变量与返乡发展关系iv值初步分析,其中f4、f6、f5、f1、f2均有较高的关联性。
图2:原始特征对目标的iv值TOP20
对原始特征变量进行相关性分析,位置特征f4-f6,通话特征f43-f46之间均有一定相关性。将可以通过四则运算进一步挖掘潜在的关系。
图3:特征相关性矩阵热力图
2.3 特征衍生构造
挖掘变量之间的组合关系、统计特性、相似性特征,对特征进行如下构造:
-
将位置信令特征f4,f5,f6作为一组两两<除法>和<减法>操作;将通话特征f43,f44,f45,f46作为一组两两进行<除法>和<减法>操作;以上两步一共得到18个新特征。(衍生特征1)
特征A与特征B相除记为:
A_div_B=(A+1)/(B+1) (1)
特征A与特征B相减记为:
A_minus_B=A-B (2)
-
统计每个样本中:f7-f42的互联网特征中是0的个数,位置特征f4-f6中是0的个数,通话特征f44-f46中是0的个数,以上计算得到3个新的特征,衡量用户具备特征属性的积量。 (衍生特征2)
-
统计每个样本中, f4-f46 里逐一计算特征是否为0,得到43个新特征。 (衍生特征3)
-
采用KNN算法:通过特征重要性从原始特征46个特征中选取30个特征,用于KNN计算样本距离和相似程度,构造最近邻衍生特征: (衍生特征4)
1) 训练集和测试集中的每个样本,通过KNN的kd树算法在训练集中找到邻居和排序。
2) 关联最相似前3个样本的 label值 作为新特征,关联与最相似的前2个样本的曼哈顿距离作为新特征。该步骤一共生成5个新特征。
由于特征数量级存在差异,对原始特征的 f3-f46、减法、除法衍生特征进行取对数log处理的运算,使得数据分布更接近正态分布。
在这里需要考虑到取对数时对变量域的要求和值限制,因此需要保证值非负值,且大于1。对特征列如下处理变换:
x=log10(x-x.min()+1) (3)
图4:不同类型特征沉默数与返乡关系图
3 算法模型
3.1 模型搭建
在算法层优先考虑采用LightGBM、CatBoost算法进行训练,并从两个思路考虑建立好而不同的模型进行后期融合。
1) 模型异构:采用lgb、catboost、RF等;
2) 训练数据特征:使用不同特征工程训练模型。
通过以上思路分别构建4类模型:
1、 模型一:使用特征(f1-f46)+衍生特征1 ,采用CatBoost算法训练;
图5:模型一TOP20 特征重要性
2、 模型二:使用特征(f1-f46)+衍生特征1+衍生特征4 ,采用LightGBM算法训练;
3、 模型三:使用特征(f1-f46)+衍生特征1+衍生特征2+衍生特征4 ,采用LightGBM算法训练;
图6:模型三TOP20 特征重要性
4、 模型四:使用特征(f1-f46)+衍生特征1+衍生特征2+衍生特征3 训练,基于automl训练stacking融合模型。这里引入开源框架autogluon包,其中包含了13个基模型(knn、lgb, catboost, 随机森林、决策树、nn这几大类主流模型)进行训练,采用一层stacking融合模型。相较传统stacking流程,采用开源框架减少基模型构建和调参时间。
3.1 K折交叉验证训练
为了使模型更稳定,更好的基于训练数据学习规律,以上模型训练均采用分层K折交叉验证(StratifiedKFold),在本方案中使用了10折交叉验证。通过多次平均学习得到更符合真实数据分布的模型,降低模型的方差和提高泛化能力。
图7:10折交叉验证
3.2 模型选择及加权
通过10折交叉验证,得到模型训练和对比。最后对4个模型采用简单加权融合方式:
图8:模型线下训练对比选择
最终结果加权平均方式获取:
0.17*模型1+0.07*模型2 + 0.25*模型3 + 0.51*模型4
结 果
最终比赛B榜成绩0.899866,表现较为稳定,有较强的鲁棒性和泛化性,人工干预少等优点,方案具有一定的扩展和迁移能力,符合实际需求。
致 谢
感谢主办方和和合作单位、出题单位组织了本次比赛,提供了一个公平的比赛环境及赛题,让我们有机会可以和行业的专家和选手交流学习、通过实战了解行业前沿动态,加深了大数据技术在企业的应用的理解,获益良多。
参 考
[1] 张春强等著。机器学习:软件工程方法与实现[M]。机械工业出版社,北京,第6章 .特征工程
[2] Gordon S. Linoff等 著 巢文涵等 译, 数据挖掘技术(第三版) [M]。清华大学出版社,北京,第9章.最近邻方法。
[3] 王贺等著,机器学习算法竞赛实战[M],人民邮电出版社,北京,第6章.模型融合
—End—
戳“阅读原文”,速来报名参赛~
原文始发于微信公众号(DataFountain):【二等奖方案】返乡发展人群预测「广东电信数营团队」团队思路