基于移动网络通讯行为的风险用户识别

本文介绍了一次基于移动网络通讯行为的风险用户识别比赛经历。分享了从数据预处理到特征工程,再到模型训练的全过程,并总结了比赛心得,强调了特征工程的重要性。
部署运行你感兴趣的模型镜像

基于移动网络通讯行为的风险用户识别


比赛地址:基于移动网络通讯行为的风险用户识别,该比赛是联通大数据公司发起的,同时作为我们的实训的比赛。下面是自己参加比赛过程的报告:

第一次参加这种比赛,发现自己经验明显不足。初赛0.787(52/624),复赛0.784(71/624),虽然成绩很差,但是感觉对新手来说是一次很好的锻炼机会。简单的介绍一下自己的一些思路。

这次比赛分为初赛和复赛两部分,自己的比赛代码也有好几个版本,这里选取得成绩最好的一次讲讲思路。


特征工程

用户通话记录数据表

预处理

对start_time的时变量做除以2变换,对opp_len进行分组,避免one-hot变换后分布太稀疏(对线性模型有影响),同理对天变量除以5(或者对用户的生活作息时间进行分组).

统计特征

  • 统计每个用户的号码通话的所有与不同的号码数量,以及与均值的差
  • 统计用户通话in、out的不同号码数量,in、out的差值,以及所占比例。
  • 统计一些特殊号码,如opp_head为100的,像运营商的号码;170、171虚拟号码段
  • 统计不同opp_head的unique_count
  • 通话时长的相关统计量,如均值, 最大值,中位数,标准差,最小值等
  • 统计不同call_type下的opp_num
  • 统计不同opp_len下的opp_num

One-hot编码特征

  • 通话类型做one-hot编码,同时与in、out做特征交叉,统计数量
  • 对start_time的天变量和时变量做one-hot,统计数量
  • 对天变量,统计不同日期的通话数量的相关统计量,如均值, 最大值,中位数,标准差,最小值等

用户短信记录数据表

预处理

先统计所有opp_num,再清洗掉opp_head为000的系统短信;对opp_len进行分组,对start_time的时变量和天变量做类似通话数据的处理。
统计特征

  • 统计每个opp_num所有与不同的号码数量,与均值的差
  • 统计用户接收短信in、out的不同号码数量,in、out的差值,以及所占比例。
  • 分组统计一些特殊号码的所有与不同的数量以及与均值的差,如opp_head为100的,像运营商的号码;170、171虚拟号码段,106的通知类短信
  • 统计不同opp_len下的opp_num数量以及与均值的差
  • 统计不同opp_head的数量

One-hot编码特征

  • 对start_time的天变量和时变量做one-hot,与in、out做交叉,分别求count和unique_count

用户网站/App访问记录数据表

预处理
wa数据有很多缺失值,对wa_date缺失值填充-1做其他类别处理,将天数做除以5变换。求名字长度wa_len,对wa_len分组处理。

统计特征

  • 统计用户访问的wa_name所有与不同的名字的数量,与均值的差统计用户访问的名字的长度分组的数量。
  • 统计用户访问的次数的相关统计量,如均值, 最大值,中位数,标准差,最小值等。
  • 统计用户访问时长的相关统计量,如均值, 最大值,中位数,标准差,最小值等。
  • 统计用户上传流量的相关统计量,如均值, 最大值,中位数,标准差,最小值等。
  • 统计用户下载流量的相关统计量,如均值, 最大值,中位数,标准差,最小值等。
  • 统计不同opp_head的数量

One-hot编码特征

  • 对访问的日期进行one-hot编码,与up_flow、visit_cnt,down_flow、做交叉特征,求相关统计量,如均值, 最大值,中位数,标准差,最小值等。
  • 对访问的类型进行one-hot编码,与up_flow、visit_cnt,down_flow、做交叉特征,求相关统计量,如均值, 最大值,中位数,标准差,最小值等。

多项式特征:

最后根据feature_importance来选择一些特征进行做多项式组合

  • 将访问类型为网站的unique_count与sms的in类型的opp_head为106的做二次多项式组合
  • 将访问类型为网站的up_flow与sms的in类型的unique_count做二次多项式组合
  • 将访问类型为网站的unique_count与sms的in类型的unique_count为与voice的unique_count做二次多项式组合

LGB单模型

树模型

使用lgb单模型,选择gdbt,使用GridSearchCV挑选最佳参数。主要调’min_data_in_leaf’和’num_leaves’这两个参数

尝试使用stacking将多个模型融合,尝试发现效果并不明显,故最后没有采用。

总结

赛后发现自己提取的特征明显不够,还有一些重要的特征没有考虑到,如没有对voice,sms,wa出现频次最多的top-k以及对voice和sms的opp_head进行one-hot变换;还有它们两次的最近的一些时间间隔等等。虽然自己也做了很多尝试,如分别对voice,sms,wa每天的一些特征统计量进行处理,但是因为特征方面没有大的提升。到后面复赛赛心态有点崩了,最高的一次分数还是第一次提交时候。赛后才发现对分数提升最大的就是对opp_head进行one-hot之后,本地cv是0.87,提高了大概0.07的分数,这才是拉开差距的主要特征。

附上github代码地址
数据集下载

您可能感兴趣的与本文相关的镜像

Yolo-v8.3

Yolo-v8.3

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

传感器技术、无线通讯技术、嵌入式计算技术、分布式信息处理技术、微电子技术等领域的进步及相互结合,推动了无线传感器网络的快速发展。无线传感 器网络将逻辑上的信息世界与客观上的物理世界连接起来,改变了人类与环境的 交互方式,供了利用逻辑信息来表述客观世界的一种有效的、便捷的方法。目 前,无线传感器网络已经广泛地应用于环境智能、环境监控、工业制造、交通运 输、军事工程等众多领域。 作为无线传感器网络的一个重要应用领域,环境智能泛指能感知到用户的存 在并为其供智能化服务的电子环境和系统。环境智能的实现依赖于与用户行为 密切相关的环境信息的采集和处理,依赖于对用户行为的分析、判断和推理,如; 判断用户的位置、识别用户行为、检测用户与环境的交互等,并在此基础上为 用户供智能化的服务。 本文的研究主要针对环境智能中的两个研究重点:行为识别和目标定位。对 于行为识别,介绍了基于环境变量的行为识别、人物交互式行为识别和穿戴式行 为识别三种方法,并着重分析了穿戴式行为识别方法。穿戴式行为识别方法常采 用监督学习方法,但该方法不具有异常检测能力和扩展学习能力。本文引入一类 分类算法,利用组合高斯一类分类模型来判断行为是否是己知的。对于已知行为, 采用加权支持向量机分类算法来识别行为类别:对于未知行为,在分段算法的 基础上,取新行为的样本加入到识别系统中,扩展系统的识别能力。 为了实现识别算法在传感器网络内的分布式实施,本文出了一种基于移动 代理的分布式分类方法,并将此方法运用到两种典型分类算法中。首先通过分解 分类模型,将模型参数存放到对应的各个传感器节点上,实现分类模型的离散化; 其次,在分类时,通过每个传感器节点计算自己的特征值和分类数据,实现分类 摘要 操作的离散化:最后,利用移动代理串行访问各个节点,累积计算结果。与集中 式分类算法相比较,基于移动代理的分布式分类算法可以减小带宽需求,平衡各 个节点之间的计算、存储和能量消耗。 对于目标定位,本文介绍人员定位和声音源定位。在人员定位中,常采用的 方法往往需要用户穿戴传感器节点或在传感器节点上安装附加设备,本文出了 一种基于无线电波的非穿戴式定位方法,利用接收信号强度的变化来判断是否有 人出现在一对无线电收发机之间,进而判断其位置。 对于声音源定位,本文出了一种源能量未知情况下的分布式声音源定位方 法。文章结合增量梯度算法和基于能量比的声音源定位方法,通过分解和重组能 量比定位方法的代价函数,得到适合分布式实施的迭代公式。采用合适的能量比 个数以及迭代起始点位置,该方法可以获得与穷尽搜索方法近似的准确率,但只 需要非常小的计算消耗。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值