记录数据挖掘竞赛trick

数据分析

首先在拿到数据的第一步,我们应该做的就是数据分析(exploratory Data Analysis EDA)。数据分析是数据挖掘中的重要步骤,同时也会在不同阶段反复进行。可以说数据分析是数据挖掘中非常重要的一步,不仅帮助你在后续的步骤中提供改进方向,而且帮助你更加理解数据。

拿到数据后,必须明确应该做哪几件事:

1.数据如何产生的,数据又是如何存储的
2.数据是原始数据,还是经过人工处理的数据(二次加工)
3.数据由哪些业务产生,数据字段又有什么含义
4.数据字段是什么类型的,每个字段的分布是怎样的
5.训练集和测试集数据分布是否有差异

在分析数据的过程中,还必须搞清楚以下的一些问题
1.数据是否充分,是否有外部数据可以进行补充
2.数据本事是否有噪音,是否需要进行数据清洗和降维操作
3.赛题的评估函数是什么,和数据字段有什么关系
4.数据字段和赛题标签的关系

赛题背景的分析

在进行数据分析之后,我们还需要对赛题背景进行理解。赛题背景能帮助我们理解赛题的任务,赛题数据的收集方式和评价方法。

无论出题方给了多少的赛题介绍,参赛选手还是应该重新理解下赛题,这样可以加深对赛题的印象。有的时候,赛题的一些细节会直接影响到最后的精度,而这些关键的细节是需要人工发现的。
总的说来赛题背景分析包括以下部分:
1.赛题的业务背景是什么,数据是如何产生的,数据标签是如何得来的?
2.赛题任务是什么,具体解决的问题如何定义?
3.赛题任务是否有对应的学术任务
在赛题背景分析步骤中最重要的是分析赛题是什么任务,赛题任务是什么问题,历史是否有类似的赛题,学术上是否有对应的问题。如果历史有类似的比赛/学术上对应的问题,那么直接copy解决方案来就OK了。

数据清洗

数据清洗步骤主要是对数据的噪音进行有效剔除。数据噪音可能有多个来源,来源于数据本身,来源于数据存储,或来源于数据转换的过程中。因为噪音会影响特征,也会影响最后的模型结果,因此数据清洗是非常有必要的。
数据清洗可以从以下几个角度完成:

1.对于类别变量,可以统计比较少的取值;
2.对于数字变量,可以统计特征的分布异常值;
3.统计字段的缺失比例;

特征预处理

特征预处理包括如下内容:

量纲归一化:标准化、区间放缩
特征编码:
对于类别特征来说,有如下处理方式:
自然数编码(Label Encoding)
独热编码(Onehot Encoding)
哈希编码(Hash Encoding)
统计编码(Count Encoding)
目标编码(Target Encoding)
嵌入编码(Embedding Encoding)
缺失值编码(NaN Encoding)
多项式编码(Polynomial Encoding)
布尔编码(Bool Encoding)
对于数值特征来说,有如下处理方式:
取整(Rounding)
分箱(Binning)
放缩(Scaling)
缺失值处理
用属性所有取值的平均值代替
用属性所有取值的中位数代替
用属性所有出现次数最多的值代替
丢弃属性缺失的样本
让模型处理缺失值

特征工程

特征工程与EDA联系紧密,可以说是EDA具体的操作吧。因为数据分析本身就是“假设”-“分析”-“验证”的过程,这个验证的过程一般是指构建特征并进行本地CV验证。

可以从一下几个角度构建新的特征:

数据中每个字段的含义、分布、缺失情况;
数据中每个字段的与赛题标签的关系;
数据字段两两之间,或者三者之间的关系;
特征工程本质做的工作是,将数据字段转换成适合模型学习的形式,降低模型的学习难度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值