4步上手并精通的流程
竞争性机器学习。
Kaggle 是一个用于举办机器学习竞赛的社区和网站。
竞争性机器学习是发展和实践技能以及展示能力的好方法。
在这篇文章中,您将发现一个简单的 4 步流程,帮助您在 Kaggle 上开始并精通竞争性机器学习。
让我们开始吧。

如何开始使用 Kaggle
照片作者:David Mulder,部分权利保留。
关于 Kaggle 的建议?
我通过电子邮件收到很多问题,询问
我如何开始使用 Kaggle?
我将我上次对这个问题的回复转化为这篇博文。希望您觉得有用。
希望您觉得有用。
为什么选择 Kaggle?
学习和实践应用机器学习有很多方法。
Kaggle 有一些特殊的优势,您应该认真考虑。
- 问题定义清晰,所有可用数据均直接提供。
- 由于公开和私有排行榜的残酷真相,更难欺骗自己进行糟糕的测试设置。
- 每个竞赛通常都有很多讨论和分享,您可以从中学习并做出贡献。
- 您可以在复杂的真实世界数据集上构建项目作品集,以展示您的技能。
- 它是一个完全的精英制度,能力和技能是决定性因素,而不是您在哪里上学、您知道的数学知识,或者您有多少学位。
概述
我推荐一个简单的 4 步流程。步骤是:
- 选择一个平台。
- 在标准数据集上练习。
- 练习过去的 Kaggle 问题。
- 在 Kaggle 上参赛。
这个过程很容易描述,但很难实施。这需要时间和精力。这将是一项艰苦的工作。
但是……
这将是值得的,如果您有条理并坚持下去,您将成为世界一流的机器学习实践者。
您可以直接进入第 4 步,这对您来说可能是正确的,但我设计的流程是为了最大化您坚持下去并获得高于平均水平的成果的机会。
让我们更详细地看看每一步。
1. 选择一个平台
有很多机器学习平台可供选择,您最终可能会使用其中的许多,但先从一个开始。
我推荐 Python。
为什么?
- Python 机器学习技能的需求正在增长。
- Python 是一种功能齐全的编程语言(不像 R)。
- 生态系统足够成熟(sklearn、pandas、statsmodels、xgboost 等)。
- 该平台拥有一些最好的深度学习工具(theano、tensorflow、keras)。
选择一个平台,开始学习如何使用它。
以下是一些进一步的阅读材料:
2. 在标准数据集上练习
一旦您选择了平台,您就需要非常熟练地在真实数据集上使用它。
我建议在 UCI 机器学习库或类似库中完成一套标准机器学习问题。
将每个数据集视为一场小型比赛。
- 将其分为训练集和保留测试集,再将测试集分为公共和私有排行榜集。
- 制定一个处理每个数据集的流程,坚持下去,并不断改进,直到您可以轻松地在任何小型数据集上获得顶级结果。
- 将每个数据集的时间限制在一到几个小时。
- 利用与数据集相关的出版物来帮助更好地定义特定问题和解释特征。
- 学习如何充分利用工具、算法和数据集。
将这部分视为训练。练好基本功。
将项目保留在您的作品集中,以便在新项目中利用。
以下是一些进一步的阅读材料:
3. 练习过去的 Kaggle 问题
现在您已经了解了您的工具以及如何使用它们,是时候在过去的 Kaggle 数据集上练习了。
您可以访问过去 Kaggle 竞赛的数据集。您还可以提交候选解决方案,并在公共和私有排行榜上进行评估。
我建议完成过去几年的一系列 Kaggle 问题。
此步骤旨在帮助您了解顶尖选手如何进行竞争性机器学习,并学习如何将他们的方法集成到您的流程中。
- 选择各种不同的问题类型,迫使您学习和应用新的、不同的技术。
- 研究论坛帖子、获胜者总结博文、GitHub 存储库以及关于问题的其他所有信息,并将这些方法纳入您的流程。
- 目标是在公开或私有排行榜上取得前 10% 或更好的成绩。
- 尽量将获胜者的方法尽可能多地纳入您的候选解决方案。
将此视为高级训练。学会像竞赛获胜者一样思考,并使用他们的方法和工具。
同样,将每个完成的项目添加到您的作品集中,以便在未来的项目中使用。
以下是一些进一步的阅读材料:
4. 在 Kaggle 上参赛
您现在已准备好参加 Kaggle 竞赛。
开始吧。
- 考虑一次解决一个问题,直到您达到顶峰或卡住。
- 争取在您参加的每个竞赛的私有排行榜上取得前 25% 或前 10% 的成绩。
- 在论坛上广泛分享;这将带来合作。
- 最大程度地减少阅读或思考一个好主意到实施它之间的时间(例如,几分钟)。
玩得开心。
它们可能是竞赛,但您的参与是为了学习和分享。
以下是一些进一步的阅读材料:
总结
在这篇文章中,您了解了一个简单的 4 步流程,帮助您开始并精通 Kaggle 上的竞争性机器学习。
您参加过 Kaggle 竞赛吗?
您是如何开始的?
您是否决定遵循这个流程?
您做得怎么样?
文字错误,您提到了 3 步流程但描述了 4 步。
好文章!Kaggle 很棒!
谢谢 Carlos,已修正。
非常实用的帖子,我两年前注册了 Kaggle 但无法强迫自己参加比赛,但在阅读了这篇帖子后,我决定开始比赛。非常感谢。
干得好!
这是一篇很棒的文章!
我是一名计算机工程师,迷失了方向,获得了 MBA 学位,进入了金融领域,但发现典型的“投资银行/销售交易职位”寥寥无几,而且大趋势都转向了机器学习/数据科学。
所以我需要磨练我的技能,而这篇文章正是我想要的动力!
谢谢。
谢谢 Gurvijay。
非常感谢您的这篇文章。我通过各种网站了解了 R,并希望获得实践经验,但不知道从哪里开始。希望我能开始并不断进步。再次感谢。
您可以从这里开始
https://machinelearning.org.cn/start-here/#r
我选择 Data Science With R 作为我的平台,请您建议一些开始使用 Kaggle 的步骤。
你到底遇到了什么问题?
非常有帮助,终于找到了我的方向。
干得好!
谢谢 Jason 的帖子!总能从您那里学到东西!
您推荐一些经典的 Kaggle 数据集来开始第 3 步吗?
谢谢。
是的,我在 [这里](https://www.kaggle.com/datasets?sortBy=hot&group=downloadable&pageNo=1&pageSize=20&search=) 列出了数据集。
https://machinelearning.org.cn/tour-of-real-world-machine-learning-problems/
谢谢,我将遵循这个,但有一个快速问题,我用 pandas 已经很多了,并且在我使用的项目中感觉大部分都很熟悉,但这些确实是数据科学相关的,它主要用于排序数据。那么我直接跳到第 2 步是否值得?谢谢。
从您最熟悉的步骤开始。