为什么说入行机器学习最佳选择是Kaggle

来源:https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_11540407532074783567%22%7D&n_type=1&p_from=4

编|新智元 元子

Nityesh Agarwal是一名工科学生。一年多以前,他开始想要学习对机器学习。

但因为那时候很少有学校开始机器学习相关的课程(当然,现在开设这门课程的学校也不多),只能自己一个人一点点的摸索学习方法来。

然而时间到了2018年年底,这个问题依然存在。虽然今年机器学习特别火,但大多数想要进入机器学习这个领域的年轻人、开发者,还是不知道机器学习该如何下手。

现在普遍流行的说法是:要想学会机器学习,必先学会Python。

有趣的是,根据新智元一篇吐槽Python的文章里的投票显示,近40%的新智元读者表示不喜欢Python,这一结果让我十分意外。

Nityesh Agarwal也是先从学习Python编程开始的。但是现在,他越来越深入到这个领域后,他的思想开始转变了。

他认为从Kaggle开始,而不是从21天学会Python机器学习、从零开始掌握Python机器学习、手把手教你用Python打造第一个ML应用……更适合入门机器学习和数据科学。

或者说,至少他自己是这样的。

下面这篇文章,由Nityesh授权新智元编译发表。本文将告诉你为什么说Kaggle更适合新手,并一步一步的引导你入门。

你可能对Kaggle有一些误解

从Kaggle入手是什么意思呢?

你可能听说过Kaggle作为一个网站,为ML比赛颁发令人难以置信的现金奖励。下图

误解1:Kaggle是一个举办机器学习比赛的网站

很明显比赛并不是他们全部的价值所在,比赛只是Kaggle的一部分。

除了主办机器学习比赛,Kaggle还有以下3个非常重要的项目:

项目1:数据集

Kaggle包含9500多个数据集,简直就是我们学习ML的一座宝库。

项目2:内核

它只是一种非常有效和酷炫的共享代码方式,以及大量的可视化,输出和解释。

项目3:Learn

包含免费,实用的实践课程,涵盖快速入门所需的基础知识条件。而且一切都是使用上述Kaggle的内核完成的,这意味着您可以互动和学习,最快速的获得知识和技能。

误解2:只有专家(具有多年经验的博士或经验丰富的ML从业者)才能参加并赢得Kaggle比赛

一个高中的孩子成为了Kaggle的比赛老手。用他自己的话说,“我不知道算法背后的所有数学,但就实际使用算法而言,我认为对其运作方式有一个合理的了解更为重要。”

误解3:在参加Kaggle比赛之前,应该再做一些课程并学习先进的机器学习概念,这样才有更好的机会获胜

机器学习最重要的部分是探索性数据分析(或EDA)和特征工程,而不是模型拟合。

许多Kaggle前辈认为,新手容易纠结于复杂的模型,而实际上很多简单的算法才是获胜的关键。

你为什么要用Kaggle?

理由1:准确了解入门必不可少的内容

关于Kaggle Learn的机器学习课程不会教你ML算法背后的理论和数学。 相反,它只关注分析和建模数据集时所需要用到的知识。

类似地,Kaggle的Python课程也不是为了让你成为Python的专家,知识确保你获得了足够的Python知识,以便继续下一步。

这样可以最大限度地减少您在被动学习中花费的时间,并确保您已准备好尽快应对有趣的挑战。

理由2:体现了从实践中学习的精神

有目标的去学习,或者说围绕一个完整项目去学习,见效是最快的。读书,跟学习,并不是一回事。

但完整的项目可不是那么好找的。而且一个也很难保证能够尽肯能多的运用到需要学习的只是。

而Kaggle拥有海量的数据集,就像是数据科学和ML项目创意的宝库。

围绕数据集和内核创作的教程,以及大量的讨论组,为初学者提供了非常便利的条件。

理由3:利用真实数据去解决真实问题=>真正动力

Kaggle竞赛题,来自真实公司遇到的实际问题。

所以,他们提供的数据集是真实的,所有奖金都是真实的。这意味着你有机会参与到实际问题的解决中。

你决定要从Kaggle开始了?

第1步,快速了解必要的基础知识

首先选择一种语言,Python或者R都可以。

然后,请前往Kaggle Learn快速了解该语言的基础知识,机器学习和数据可视化技术。

第2步,从一个有趣的赛题或数据集入手

我建议在开始时选择一个正在进行或者受欢迎的比赛,通过这种方式,你可以确保找到至少一些旨在帮助新手的公共内核。

记住,你的目标不是比赛本身,而是学习和提高您的机器学习和数据科学的知识。

如果你实在不知道选哪个,下图是一个供参考的方案。

第3步,探索公共内核

它们将帮助你了解该领域的一般工作流程,以及其他人为此竞赛所采取的特定方法。

通常,这些内核会透露一些你不知道的内容,所以当你遇到一个不熟悉的术语时,不要感到沮丧。

别忘了,你的目标就是来学习的。

第4步,开发自己的内核

第5步,了解你应该做什么,然后跳到第4步

在开发内容的过程中,你会越来越清楚自己哪个方面有所或缺,你就知道自己该做什么。然后跳到第4步去完成他,学习、实践、重复。

第6步,回到第3步分析并改进

这个时候你已经掌握了所需的知识,并且也有了非常好的实践经验,再回过头去分析别人的内核,肯定就会有一些不同的感受。

可能你能更深刻的体会别人这么做的目的,或者你也能分析出一个更好的实现方式。

那么恭喜你,你已经入门了!

来源:Medium

查看原文 >>

猜你喜欢

转载自blog.csdn.net/xymyeah/article/details/85600446