【 SPA大赛 】关于数据挖掘的理论与实践

这是我第一次参加数据挖掘类的比赛,幸运的是在比赛中认识了两个小伙伴,能够一起讨论,分享,得出成果,对我来说,受益良多。下面按照数据挖掘过程:数据预处理、特征工程、模型融合这三个方面进行一下总结,谈谈感受。

1. 数据预处理

1.1 稀疏特征值处理

在初赛中,数据量在百万级别,因为我们没有做稀疏特征值的处理,但是决赛这种数据量增长了10倍的情况下,稀疏特征值的处理能够影响模型的稳定性,因此我们会对特征值中少于10次出现的值进行统一的稀疏标记。

1.2 验证集的构建

构建验证集是比较重要的,目的是为了让线下成果与线上测试集结果保持一致,在几个周冠军的分享中,也都提到了构建有效的验证集的事情。在初赛中,我们直接使用了29号的数据进行验证,因为30号的数据不够准确,直接被我们舍弃了。在决赛中,我们会尝试一下方法进行验证集的构造:使用29号的数据,使用训练数据的10%(10%取决于训练集与测试集的比例)。

2. 特征工程

特征工程一般有三步:找到新的特征,然后进行简单的统计分析,判断其价值,再使用模型判断其是否有用。

2.1 特征产生

在本次比赛中,我们将所有特征分成以下几类:

特征分类

描述

原始特征

数据当中原有的特征

组合特征

将原来特征中的两个或多个直接进行组合

计数特征

主要针对用户,广告进行时序,非时序的统计

先验概率特征

类别特征的历史转化率

gbdt特征

利用gbdt模型对部分特征进行学习,将gbdt结果的叶子特征作为新的特征

在产生新的特征的过程中,如何初步判断特征的有效性是非常重要的,我们可以采取一些初步的统计进行比较,然后进行特征验证。

2.2 特征筛选

在本次比赛中,最让我感到困惑的地方就在于特征筛选,特征筛选的流程一般如下图所示:

在一开始的时候,我们将生面提到的所有特征一股脑的塞到模型里面,尽管有些特征的重要性很低,然而在我们删除了某些特征以后,模型的效果还是下降了,然而我们之后再删除特征的情况下,进行了模型参数的调整,把xgboost训练的树的深度增加以后,线下验证集的效果就提升了很多。其实,现在的特征中有很多冗余的特征,特征之间相关度比较高,目前正在采用单个特征逐步验证的方法,希望能够有所提升。

2.3 特征验证

此次比赛中,我们使用了xgboost来进行特征的验证,之所以选择这个,是因为本次比赛中的很多特征都是类别特征,用传统的lr模型进行分类的话,会遇到onehot维度爆炸的情况,而是用xgboost则比较便捷,并且能够很好的查看特征的重要性。

3. 模型融合

在初赛中,我们并没有采用模型融合的方法,但是“三个臭皮匠,赛过诸葛亮”,据此次比赛中的小伙伴们实践分享,模型融合能够大幅度提升效果。

在类似的比赛中(广告点击率预估),比较常用的模型包括ffm,ftlr,xgboost,这些模型在各个优胜大佬们的分享中都起到了很大作用,值得尝试一下。模型融合方法有简单的平均,均值平均,或者是stacking等,初步的计划是使用不同的模型进行训练,然后讲给结果进行stacking。

参加这次比赛,能让我将理论与实践相结合,是一次很不错的经历。

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

窦凯丽的专栏

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技大本营的专栏

Google AI提新型神经网络,对神经元进行高精度自动重建

7 月 16 日, Google AI 发布了一篇博客称,Google Research 部门和 Max Planck 研究所合作提出了一种新型的递归神经网络,...

763
来自专栏技术翻译

深度学习和神经网络的六大趋势

神经网络的基本思想是模拟计算机“大脑”中的多个相互关联的细胞,这样它就可以从环境中学习、识别不同的模式,并做出与人类相似的决定。

1071
来自专栏CDA数据分析师

一篇文章了解贝叶斯机器学习

你知道贝叶斯法则。机器学习与它有何相关?它可能很难掌握如何把拼图块放在一起——我们了解它花了一段时间。 贝叶斯和频率论者 在本质上,贝叶斯意味着概率。这个具体的...

1826
来自专栏AI研习社

【算法】机器学习算法实践 K均值聚类的实用技巧

本文作者为美国数据分析专家 Bilal Mahmood,他是用户数据分析平台 Bolt 的创始人之一。在本文中,他详细介绍了一种称为 K-Means Clust...

2796
来自专栏新智元

【Nature重磅】谷歌AI自动重构3D大脑,最高精度绘制神经元

【新智元导读】AI能够映射大脑神经元。人类大脑包含大约860亿个神经元,并且一个立方毫米的神经元可以产生超过1000TB的数据。由于其庞大的规模,绘制神经系统内...

502
来自专栏菩提树下的杨过

归一化(softmax)、信息熵、交叉熵

机器学习中经常遇到这几个概念,用大白话解释一下: 一、归一化 把几个数量级不同的数据,放在一起比较(或者画在一个数轴上),比如:一条河的长度几千甚至上万km,与...

18510
来自专栏机器学习算法全栈工程师

受限玻尔兹曼机(RBM)原理总结

地址:http://www.cnblogs.com/pinard/p/6530523.html

851
来自专栏TensorFlow从0到N

TensorFlow从1到2 - 1 - 深度神经网络

上一主题《TensorFlow从0到1》介绍人工神经网络的基本概念与其TensorFlow实现,主要基于浅层网络架构,即只包含一个隐藏层的全连接(FC,F...

41411
来自专栏机器之心

深度 | Pedro Domingos总结机器学习研究的12个宝贵经验

34110
来自专栏专知

何去何从:从经典深度学习模型探讨图像识别新方向

【导读】1月22日,深度学习工程师George Seif发布一篇文章,主要介绍了一些经典的用于图像识别的深度学习模型,包括AlexNet、VGGNet、Goog...

3756

扫码关注云+社区