我从哪里开始?
我会面对经验丰富的博士级研究人员团队么?
如果我没有获胜的机会,那么还值得竞争吗?
这就是数据科学?(如果在Kaggle做得不好,那么我在数据科学方面还有未来吗?)
我的未来将如何发展?
当你第一次接触Kaggle时,是否也有这些困惑?好,那你来对地方了!
这份入门指南详细介绍了一些参加Kaggle竞赛必知的知识,以及如何在Kaggle竞赛中打怪升级,争夺排位,“登上人生巅峰”!
对于数据科学初学者来说,Kaggle是一个很受欢迎的竞赛平台。毕竟,这里的一些竞赛中有超过美元的奖金池和数以百计的行业高手。而这里的顶尖团队也拥有数十年的综合经验,曾处理过很多高大上的问题,如改善机场安全或分析卫星数据等。
虽然Kaggle如此有吸引力,但是当你首次参与时也要hold住自己,一定要理清以下内容。
Kaggle和日常数据科学的差异
首先,我们需要知道的是:Kaggle比赛与日常使用的数据科学是有重要差异的。但是,如果你以正确的心态去了解它们,还是能获取很多宝贵经验的。
Kaggle比赛
本质上,比赛(获奖)必须符合以下3个标准:
1.问题一定很难。比赛问题不可能一个下午就能解决。为了获得最好的投资收益,主办方会提交使他们的效益最大,同时也是最难解决的问题。
2.解决方案必须是新的。为了赢得最新的比赛,你通常需要进行扩展研究、制定算法、训练高级模型等。
3.必须与他人竞争。因为比赛的目标就是赢得冠军,所以你的解决办法必须与他人的竞争,而且争取获胜。
日常的数据科学
相比之下,日常数据科学不需要达到相同的标准。
1.解决问题的方法越简单越好。事实上,数据科学家应该尝试事半功倍的方法:能够快速有效地解决有影响力的项目。
2.解决方案必须成熟。大多数常见的任务(如探索性分析、数据清理、A/B测试、经典算法)已经有了证明框架。只需要重新设计架构即可。
3.不需要与他们竞争成为第一。一个解决方案即使只是胜过之前的测试基准一点点,也可能是非常有价值的。
Kaggle竞赛鼓励你发挥出最优秀的表现,而日常中的数据科学提倡效率和最大化的商业影响。
那么,Kaggle是值得学习的吗?
尽管Kaggle和日常数据科学有很大的不同,但是对于初学者来说,Kaggle仍然是一个很好的学习工具。以下是Kaggle竞赛的3大优势:
1.每场比赛都是各自独立的。你不需要再扩展自己上一个项目,并收集数据,这可以让你把心思放在其他技能上。
2.实践就是实践。学习数据科学的最好方法是通过实践学习。你没有必须赢得每一场比赛的压力,同时可以遇到许多有趣的问题。
3.相互讨论和优胜者访谈对你都有启发性。每一场比赛都有讨论区以及优胜者访谈。你可以深入了解更有经验的数据科学家的思维过程。
如何开始Kaggle的工作
接下来是一个循序渐进的行动计划,让你在Kaggle上可以轻松提升自己,参与竞争。
步骤1:选择一种编程语言
首先,你需要选择一种编程语言并坚持使用它。在Kaggle和更广泛的数据科学社区论坛中,Python和R都很受欢迎。
如果这俩你都没有接触过,推荐Python,因为它是一种通用的编程语言,你可以端到端使用它。
步骤2:学习数据的基础知识
加载、导航和绘制数据(即探索性分析)的能力是数据科学的第一步,因为它告诉了你在整个模型训练过程中所做的各种决策。
如果你选择了Python语言,那么建议你使用专门为此而设计的Seaborn数据库。它有许多绘制最常见和有用的图表的高级功能。
步骤3:训练你的第一个机器学习模型
在进入Kaggle之前,建议你在更容易、更易于管理的数据集上对模型进行训练。这可以让你熟悉机器学习库和空间布局。
关键是要养成良好的习惯,比如,将数据集分解为单独的训练集和测试集,交叉验证以避免过度使用,并使用合适的性能指标。
对于Python来说,最好的通用机器学习库是“scikit-Learn”。
步骤4:着手准备入门赛
现在我们已经作好技术准备,该来了解一下Kaggle了!
Kaggle最常见的比赛类型包括以下4种:
特色赛:通常是由公司、组织,甚至是政府赞助的。他们有最大的奖金池。
研究赛:面向研究,几乎没有奖金。他们也有非传统的提交过程。
招聘赛:是由想招聘数据科学家的公司赞助的,比较少见。
入门赛:有很多比较有特色的比赛,但是没有奖金池。它们提供了易于处理的数据集、大量的教程和循环的提交窗口,这样你可以随时参加比赛。
入门赛比较适合初学者,因为它给了你一个低风险的学习环境。同时,你还能得到许多社区、论坛创建的教程。
步骤5:学习经验教训,而不是