讯飞广告移动反欺诈算法竞赛

本文详细介绍了参加讯飞广告移动反欺诈算法竞赛的过程,包括数据探索分析(EDA)、数据预处理、特征构造、模型选择、参数优化、特征筛选及模型融合等关键步骤。文中提及了bagging、boosting、stacking和blending等集成学习方法,并提供了代码参考链接。
摘要由CSDN通过智能技术生成

讯飞移动反欺诈算法数据竞赛网址: http://challenge.xfyun.cn/2019/gamedetail?type=detail/mobileAD
在这里插入图片描述
在这里插入图片描述

讯飞移动反欺诈算法竞赛,目前分数只有94.48

总体流程

  | EDA
  | 数据预处理
  | 数据特征构造
  | 模型搭建
  | 模型参数的调优以及特征筛选
一、EDA

在做数据竞赛的时候,当我们拿到数据集的时候,我们首先要做的,也是最重要的事情那就是进行数据探索分析,这部分做的好,对接下来的每个部分的工作都是有力的参考,而不会盲目的去进行数据预处理,以及特征构造。数据探索分析主要做以下几个部分的工作:

  • 查看每个数据特征的缺失情况、特征中是否含有异常点,错误值
  • 查看每个特征的分布情况,主要包括连续特征是否存在偏移,也就是不服从正态分布的情况;离散特征的值具体分布如何
  • 查看一般特征之间的相关性如何
  • 查看一般特征与目标特征之间的相关性
二、数据预处理

通过EDA,我们对数据进行了初步分析,接下来就针对EDA部分得出的结果,来进行数据的预处理工作,主要做了以下工作:

  • 先是对特征中不符合类型的数据进行类别转换
  • 利用众数来对缺失值填充,异常值的剔除,以及错误值进行修正
  • 对于连续特征,如果存在偏移现象,使用对数或者Box-Cox进行转换,使其满足正太分布,降低拖尾带来的影响
  • 对于离散值,一般是进行独热编码,但由于本身数据集离散特征的取值类别数较多,如果使独热编码(OneHotEncoder),会使得数据得维度变得很高,会降低模型运行的速度;这里我使用的是类别编码(LabelEncoder)来对离散特征进行编码
  • 对部分连续特征进行分箱操作,将其离散化。
  • 对离散特征进行更加细粒度的划分,如make,model,osv这种特征,可以进行更加详细的划分,比如osv : 10.0.3 --- > 10 0 3,对于make制造商,为了降低噪声数据带来的影星,将make特征进行了预处理,如huawei/HUAWEI/honor/...统一用HUAWEI表示。
补充一点(比较重要)
面对数据量很大时候,如何解决大规模数据建模问题?一般会有三种基本方法:
  1. 对原始样本进行抽样,不过这样会存在一个问题,那就是会导致正负样本可能失衡,影响模型最终的效果
  2. 对数据结构或者类型进行优化来降低内存的消耗:
     (1) 当特征取值没有负数的时候,我们可以将int32类型的数据转换为uint8。
     (2) 将float64类型的数据转换为float32
     (3) 在不影响模型效果的前提下,可以将object类型的数据转化为category类型的数据,这种适合离散特征取值较少的情况,一般特征的的取值类别数占特征总的数量的比例小于5%。这次采用的是这种方法,具体实现见代码.
  3. 利用online learning等相关方法。
数据特征构造
特征主要分为:
   1. 原始特征  
   2. 统计特征 : count, max, min,std, nunique,mean,...
  
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值