在 Kaggle 比赛中崛起的 3 大非机器学习技能

数据、创造力和策略会让你登上排行榜——这听起来可能违反直觉。但是,在 Kaggle 等机器学习竞赛中,让你比其他人更有优势的关键技能可能不是机器学习。你对机器学习算法的了解只是你在 Kaggle 中需要的基本技能。应用不同的算法、集成和超参数优化是……

在 Kaggle 比赛中崛起的 3 大非机器学习技能

数据、创造力和策略会让你登上排行榜

在 Kaggle 比赛中崛起的 3 大非机器学习技能

这听起来可能违反直觉。但是,在 Kaggle 等机器学习竞赛中,让你比其他人更有优势的关键技能可能不是机器学习。

你对机器学习算法的了解只是你在 Kaggle 中需要的基本技能。应用不同的算法、集成和超参数优化当然是必要的,但这只是自动化。任何人都可以从 Stack-overflow 或 Python Scikit-learn 复制/粘贴算法功能代码。它会帮助你获得不错的分数,但很少能让你进入前 10 名或前 20%。

我将使用 Kaggle Space Titanic 问题来说明这篇文章,我在本次比赛中获得了前 20% 的成绩。 (参考资料和数据集引用可在故事结尾处获得)

在 Kaggle 比赛中崛起的 3 大非机器学习技能

我使用的机器学习算法是 XGBoost。然而,帮助我进入前 20% 的并不是算法。帮助我的是

  • Focusing on data
  • Creative feature engineering
  • 选择正确的机器学习策略
在 Kaggle 比赛中崛起的 3 大非机器学习技能

1.关注数据,数据,数据

机器学习过程中 80% 的时间都花在数据准备上。 Kaggle Space Titanic 问题也不例外。准备数据的主要活动之一是消除偏差和处理缺失值

消除偏斜——这一步通常被忽略,但非常必要

偏斜可能是一个杀手。您可以将其视为无声的异常值,我们往往会忘记它。在太空泰坦尼克号问题中,存在许多倾斜的数值。让我们看看其中之一,即客房服务。

在 Kaggle 比赛中崛起的 3 大非机器学习技能

正如您将观察到的,分布是高度左偏的。原因是大部分乘客没有为客房服务付费。但是,有一些较高的客房服务值,在直方图中几乎看不到。如果不处理偏斜,机器学习算法将偏向小值。

消除偏斜的一种方法是应用幂变换函数。去除偏斜后的结果如下所示。

在 Kaggle 比赛中崛起的 3 大非机器学习技能

应用电源变压器后,高值更加突出。机器学习算法将能够获取这些高值。在太空泰坦尼克号问题中,不倾斜有助于提高准确性,因为服务是决定乘客命运的重要特征。

处理缺失值——最关键的一步需要像专业人士一样完成

数据中有很多缺失值。尽管有很多方法可以替换丢失的数据,但 KNN(K-Nearest Neighbour)方法在太空泰坦尼克号问题中效果很好。

有关如何进行 KNN 缺失值替换的完整指南,您可以在此处查看我的文章。[0]

2. 创意特征工程是领导者与其他人之间的区别

创造力是领导者与其他人的区别。特征工程是跳出框框思考并获得关键点以在 Kaggle 排行榜上上升的地方。尽管无法记录创造力,但让我尝试根据太空泰坦尼克号问题给它一个结构。

在数据中查找复合字段

复合字段是开始您的创意特征工程的好方法。复合字段将多个信息打包到一个字段中。当字段中有“_”、“-”或“/”或“:”时,您可能会识别它们。一个典型的例子是日期字段。当您看到像 2022 年 12 月 31 日这样的内容时,它会将三件事合二为一——日期、月份和年份。

在太空泰坦尼克问题中,有两个场是复合场。第一个是Passengerid,它包含0001_01、0003_01 等数据。“_”表示复合字段。所以我们可以从这个字段中创建两个特征。

在 Kaggle 比赛中崛起的 3 大非机器学习技能

同样,您可以分解具有 G/3/S 和 C/1/S 等值的舱室字段。如您所料,您可以将它们分成三个功能。

查找多个数字字段,是否可以将它们添加在一起

数值字段是创意特征工程的最佳朋友。以不同的方式组合它们很容易,并且可以帮助您赢得一些额外的准确度分数。创建一个最简单但非常有效的特征是来自数字字段的总计特征。一般来说,如果没有明确指定为特征,机器学习算法将无法导出“总”信息。

在 Space Titanic 数据集中,您有多个数字字段,例如 RoomService 费用、Spa 费用、购物中心费用(想象在太空中购物!)等。这是创建反映乘客总费用的总字段的好机会.

在 Kaggle 比赛中崛起的 3 大非机器学习技能

Total 领域在太空泰坦尼克号问题中击败所有竞争者有很长的路要走!

用好奇的眼光寻找垂直图案!

当我们查看数据时,我们通常倾向于横向分析。但是,当您垂直分析数据时,您可能会发现隐藏的块。太空泰坦尼克号问题中隐藏的金块之一是乘客是单独旅行还是团体旅行的信息。

在 Kaggle 比赛中崛起的 3 大非机器学习技能

在垂直分析数据时,您会观察到有相同乘客 ID(在 _ 之前)和相似姓氏的乘客。这将意味着他们是一个家庭,并且作为一个团体旅行。因此,我们可以创造性地创建一个新功能来指示乘客是否独自旅行。

无论您使用什么复杂的算法,它们都无法自动扣除这样的特征。这就是人脑的创造力发挥作用的地方。它会帮助你在 Kaggle 排行榜上走得更远。

3. 战术——赢得比赛的最后一英里

战术是一系列行动,旨在实现某个目标。战术一词起源于军事战争。人类已知的经典战术之一称为斜向订单,用于希腊战争。

解决机器学习问题实际上是一系列算法。就像战争战术一样,如果你掌握得当,你就赢了。如果你弄错了,即使你使用了正确的算法,你也输了!

在 Space Titanic 问题中,您有多种算法:KNN 缺失值替换、幂变换、创建附加特征、归一化、one-hot 编码和 XGBoost。是否有特定的顺序有助于获得更好的分数?答案是肯定的!就在这里。

在 Kaggle 比赛中崛起的 3 大非机器学习技能

如果您使用不同的序列,例如,如果您反转幂变换和创建新特征,则准确度会降低。

Conclusion

要在 Kaggle 排行榜上名列前茅,你需要的不仅仅是机器学习算法的知识。这是最重要的3件事

  • 专注于理解和准备数据
  • 创意特征工程会让你走得更远
  • 像战争战术家一样思考!动作顺序很重要

Additional resources

我学习数据科学的无代码平台

您可以访问我的平台,以一种非常简单的方式学习数据科学,也可以在不编码的情况下应用本文中描述的一些技术。 https://experiencedatascience.com[0]

我关于数据科学演示的 Youtube 频道

这是我的 YouTube 频道的链接,我在其中展示了有关数据科学、机器学习和 AI 的各种演示。
https://www.youtube.com/c/DataScienceDemonstrated[0]

请订阅以便在我发布新故事时随时了解情况。

您也可以通过我的推荐链接加入 Medium

太空泰坦尼克号参考和数据源引用

太空泰坦尼克号问题和数据可在此处获得:https://www.kaggle.com/competitions/spaceship-titanic/overview[0]

如规则 (https://www.kaggle.com/competitions/spaceship-titanic/rules) 中所述,在第 7 A 节中,数据可用于任何目的。[0]

A. 数据访问和使用。您可以出于任何商业或非商业目的访问和使用竞赛数据,包括参与竞赛和 Kaggle.com 论坛,以及学术研究和教育。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2022年6月14日
下一篇 2022年6月14日

相关推荐