数据分析秘籍在这里:Kaggle六大比赛最全面解析(上)大数据应用

来源:互联网 / 作者:SKY / 2018-04-10 18:08 / 点击:
本文将以 Kaggle 上 6 个不同的比赛为例,介绍常见的三类数据(结构化数据,NLP 数据,图像数据)分析经验,以助力大家提升数据分析能力。此文为上篇,主要介绍结

笔者按,Kaggle 上有各式各样的数据挖掘类比赛,很多参赛者也乐于分享自己的经验,从他人的经验中进行总结归纳,对自己的实践也非常重要。

本文将以 Kaggle 上 6 个不同的比赛为例,介绍常见的三类数据(结构化数据,NLP 数据,图像数据)分析经验,以助力大家提升数据分析能力。此文为上篇,主要介绍结构化数据和 NLP 数据,包含 Titanic 比赛,房价预测比赛,恶意评论分类,恐怖小说家身份识别。下篇将会介绍两个极具特色的图像类比赛——树叶分类竞赛(Leaf Classification)和肺癌检测比赛(Data Science Bowl 2017)。

正文如下,编译整理:

建立准确模型的关键是全面了解正在使用的数据,但数据通常是混乱的。在我自学机器学习的前几个月,对如何理解数据并没有很多的想法。我假设数据来自一个自底向上组织完好的包,或者至少有一组明确的步骤可以遵循。

查看别人的代码之后,我发现大家理解、可视化和分析相同数据集的方式是不同的,对此我很震惊。我决定通读几种不同的数据分析方式,找出其中的异同点,并提炼出一套理解数据集的最佳实践或策略,以便更好地利用它们进行数据分析。

数据分析秘籍在这里:Kaggle六大比赛最全面解析(上)


数据科学家会花大量时间在数据预处理上,而不是模型优化问题上。——lorinc

本文中,我选择了一些在 Kaggle 上公开的探索性数据分析(EDA)。这些分析将交互式代码片段与文章结合在一起,有助于提供数据的鸟瞰图或梳理数据中的模式。

我同时研究了特征工程,这是一种获取现有数据并用一些方法将其转化,赋予数据其他含义的技术(例如,获取时间戳并提取 DAY_OF_WEEK 列,这些列可用于预测商店中的销售情况)。

我想看看各种不同的数据集,所以我选择了:

结构化数据

NLP(自然语言)

数据图像数据

结构化数据

结构化数据集是包含训练和测试数据的电子表格。电子表格可能包含分类变量(颜色,如绿色、红色和蓝色),连续变量(年龄,如 4、15 和 67)和序数变量(教育程度,如小学、高中、大学)。

训练数据表中包括一个尝试解决的目标列,这些列不会出现在测试数据中。我所研究的大部分 EDA 都侧重于梳理出目标变量与其他列之间的潜在关联性。

我们的主要目的是寻找不同变量之间的关联性,有很多切分数据的方法。可视化的选择更多。

特征工程可以让你充分发挥想象力,不同参赛选手在合成特征或将分类特征合并为新特征时,都有不同的方法。

让我们更深入地看看 Titanic competition 和 House Prices competition 这两项比赛。

Titanic

数据分析秘籍在这里:Kaggle六大比赛最全面解析(上)


图片来自 Viaggio Routard

Titanic 比赛非常受初学者欢迎,很多 Kaggle 用户都不断参与这个比赛。因此,这个比赛的 EDA 往往写得很好,并且有详细记录,是我看到的最清晰的。

数据集包括一个训练集电子表格,其中包含一列「Survived」,表示乘客是否幸存,以及其他补充数据,如年龄、性别、票价等等。

我选择用于分析的 EDA 是由 I,Coder 提供的 EDA to Prediction Dietanic,déjà vu 提供的 Titanic Survival for Beginners EDA to ML,katerina Kokatjuhha 提供的 In Depth Visualisations Simple Methods。

所有这三种 EDA 都以原始指标开始。

数据分析秘籍在这里:Kaggle六大比赛最全面解析(上)


I,Coder 描述的数据集

数据预处理过程中对空值或缺失值进行处理是关键一步。本文选取的三个 EDA,一个在前期处理了这一问题,另外两个在特征工程阶段进行处理。

I,Coder 反对指定一个随机数来填补缺失的年龄:

正如我们前面看到的,Age 特征有 177 个空值。要替换这些 NaN 值,我们可以为它们指定数据集的平均年龄。但问题是,有许多不同年龄段的人,我们不能把 4 岁小孩的平均年龄分配到 29 岁。有什么方法可以找出乘客的年龄段?我们可以检查名称特征。在这个特征中,我们可以看到像先生或夫人的称呼,我们可以将先生和夫人的平均值分配给各个年龄组。

数据分析秘籍在这里:Kaggle六大比赛最全面解析(上)


I, Coder 输入的年龄

I,Coder 将特征工程作为纯数据分析的一部分,然而其他两位作者认为它是一个独立的步骤。

这三位 kernel 作者在深入了解数据、找出数据间潜在相关性时,都非常依赖图表和可视化。他们使用的图表包括因子图、交叉表、条形图、饼图和小提琴图(结合箱线图和密度图特征的一种图)等等。

数据分析秘籍在这里:Kaggle六大比赛最全面解析(上)


deja vu 关于幸存者性别的图表

你可能对泰坦尼克号中的「女性与儿童优先」这句话很熟悉。在最初的数据分析中,对每位作者来说,年龄和性别这两个特征很重要。也可以对收入背景(如票价所示)进行一些详细的检测。

船上的男性比女性多很多。尽管如此,幸存的女性几乎是幸存男性的两倍。女性在船上的幸存率约为75%,而男性约为18-19%。——I,Coder

Jekaterina 和 I,Coder 都是基于对图表和数据的视觉检测得出结论,如 Jekaterina 所写:

性别:女性的幸存机会更高。

船舱等级:拥有头等舱票更有可能幸存。

阅读延展

1
3