【 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 条评论
登录 后参与评论

相关文章

来自专栏数据派THU

谷歌与CMU联合发文:审视数据对深度学习的重要性(附论文)

来源:机器人圈 作者:Chen Sun、Abhinav Shrivastava、Saurabh Singh、Abhinav Gupta 本文长度为1800字,建...

222100
来自专栏机器之心

学界 | 深度学习算法全景图:从理论证明其正确性

选自arXiv 机器之心编译 参与:蒋思源、黄小天 ? 论文地址:https://arxiv.org/abs/1705.07038 本论文通过理论分析深度神经...

33450
来自专栏机器人网

机器学习入门先搞懂这八大基础概念

准备好开始AI了吗?可能你已经开始了在机器学习领域的实践学习,但是依然想要扩展你的知识并进一步了解那些你听过却没有时间了解的话题。   这些机器学习的专业术语...

38870
来自专栏人工智能头条

由一只猫看深度学习面临哪些挑战?

我们要面对的可不仅仅是这样一只蹲在我们面前可爱的小猫,在实际中有着很多的可能性,比如光照强度,遮蔽程度,角度等等,这些就成为了我们深度学习任务的一个极大的挑战。

8920
来自专栏AlgorithmDog的专栏

XGBoost + LR 就是加特征而已

XGBoost + LR 在工业和竞赛实践中,都取得了不错的效果。但 XGBoost 的叶子节点不能完全替代人工特征, XGBoost + LR 并没有...

40180
来自专栏新智元

以色列神秘AI研究力量:深度学习的四大失败

【新智元导读】深度学习力量强大,但无论是理论研究者还是实际从业者,了解深度学习的局限也是十分重要的。耶路撒冷希伯来大学的一组研究人员,其中有两位任职于 Mobi...

44780
来自专栏数据科学与人工智能

人工智能、机器学习和深度学习是什么?

人工智能、机器学习与深度学习,每天都有它们的新闻。包括新的技术、新的应用、新的挑战、新的机遇。 人人都在谈,人人都在看,那究竟什么是人工智能、机器学习与深度学习...

39060
来自专栏数值分析与有限元编程

逆迭代法求矩阵特征值

前面提到,幂迭代法用于求矩阵的主特征值以及对应的特征向量。如果把幂迭代用于这个矩阵的逆矩阵,那么就能求得最小的特征值。来看下面的定理: 设n阶矩阵A的特征值用λ...

46460
来自专栏专知

机器学习模型的“可解释性”到底有多重要?

【导读】我们知道,近年来机器学习,特别是深度学习在各个领域取得了骄人的成绩,其受追捧的程度可谓是舍我其谁,但是有很多机器学习模型(深度学习首当其冲)的可解释性不...

4.7K40
来自专栏人工智能

深度学习的局限性

本文改编自我的书"Deep Learning with Python(用Python深度学习)"中第9章第2节( Manning Publications 出版...

637110

扫码关注云+社区

领取腾讯云代金券