Kaggle竞赛(lecture 0)入门

Kaggle入门:https://www.zhihu.com/question/23987009

Kaggle竞赛

目录

Kaggle 是一个流行的数据科学竞赛平台,已被谷歌收购。作为一个竞赛平台,Kaggle 对于初学者来说可能有些难度。毕竟其中的一些竞赛有高达 100 万美元的奖金池和数百位参赛者。

Kaggle竞赛(lecture 0)入门

Kaggle 竞赛值得参加吗?
尽管 Kaggle 和经典数据科学之间存在差异,但 Kaggle 仍然是一种很好的入门工具。每个竞赛都是独立的。无需设置项目范围然后收集数据,这让你有时间专注其它技能。练习就是实践。学习数据科学的最好方法是在做中学。只要没有每场竞赛都获胜的压力,你就可以练习各种有趣的问题。讨论和获胜者采访很有启发性。每个竞赛都有自己的讨论板块与获胜者简报。你可以窥见更有经验的数据科学家的思考过程。Kaggle 获胜者采访

怎样入门Kaggle?

接下来,我们将给出一个按步进行的行动规划,然后慢慢上升到 Kaggle 竞赛中。

第一步:选择一种编程语言

首先,我们推荐你选择一种编程语言,并坚持使用。Python 和 R 在 Kaggle 和更广泛的数据科学社区上都很流行。如果你是一个毫无经验的新手,我们推荐 Python,因为这是一种通用编程语言,你可以在整个流程中都使用它。

python vs R

第二步:学习探索数据的基础

加载、浏览和绘制你的数据(即探索性分析)的能力是数据科学的第一步,因为它可以为你将在模型训练过程中做的各种决策提供信息。

如果你选择了 Python 路线,那么我们推荐你使用专门为这个目的设计的 Seaborn 库。其中有高层面的绘图函数,可以绘制许多最常见和有用的图表。

Seaborn库
Kaggle竞赛(lecture 0)入门

15个流行的python库:
核心库(3个):Numpy、SciPy、Pandas
可视化(4个):Matplotlib、Seaborn、Bokeh、plotly
机器学习(1个):SciKit-Learn
深度学习(3个):Theano、TensorFlow、Keras
自然语言处理(2个):NLTK、Gensim
数据挖掘与统计(2个):Scrapy、Statamodels

第三步:训练你的第一个机器学习模型

在进入 Kaggle 之前,我们推荐你先在更简单更容易管理的数据集上训练一个模型。这能让你熟悉机器学习库,为以后的工作做铺垫。

关键在于培养良好的习惯,比如将你的数据集分成独立的训练集和测试集,交叉验证避免过拟合以及使用合适的表现评价指标。

  • 对于 Python,最好的通用机器学习库是 Scikit-Learn。

参考:

Kaggle竞赛(lecture 0)入门
Kaggle竞赛(lecture 0)入门

只需十四步:从零开始掌握 Python 机器学习(附资源)

  • 建议你安装 Anaconda。
    这是一个可用于 Linux、OS X 和 Windows 上的工业级的 Python 实现,
    完整包含了机器学习所需的软件包,包括 numpy、scikit-learn 和 matplotlib。
    其也包含了 iPython Notebook,这是一个用在我们许多教程中的交互式环境。
  • scikit-learn
  • 基本算法(K-均值、决策树、线性回归、逻辑回归)
  • 进阶算法(SVM、Kaggle Titanic竞赛(使用随机森林)、降维算法)
  • 深度学习(Theano、Caffe)
  • 更多的分类、更多聚类、更多集成算法、梯度提升、更多降维、更多深度学习

第四步:解决入门级竞赛
现在我们已经准备好尝试 Kaggle 竞赛了,这些竞赛分成几个类别。最常见的类别是:

  • Featured:这些通常是由公司、组织甚至政府赞助的,奖金池最大。
  • Research:这些是研究方向的竞赛,只有很少或没有奖金。它们也有非传统的提交流程。
  • Recruitment:这些是由想要招聘数据科学家的公司赞助的。目前仍然相对少见。>- Getting Started:这些竞赛的结构和 Featured 竞赛类似,但没有奖金。它们有更简单的数据集、大量教程和滚动的提交窗口让你可以随时输入。

Getting Started 竞赛非常适合初学者,因为它们给你提供了低风险的学习环境,并且还有很多社区创造的教程:https://www.kaggle.com/c/titanic#tutorials

第五步:比赛是为了更好地学习,而不是赚钱

有了上面的基础,就可以参与到 Featured 竞赛中了。一般来说,为了取得好排名,通常需要远远更多的时间和精力。

因此,我们建议你明智地选择参与项目。参加竞赛能帮你深入到你希望长期参与的技术领域中。

尽管奖金很诱人,但更有价值(也更可靠)的回报是为你的未来事业所获得的技能

Kaggle竞赛(lecture 0)入门
Kaggle竞赛(lecture 0)入门
Kaggle竞赛(lecture 0)入门

2Kaggle

Kaggle竞赛(lecture 0)入门
Kaggle竞赛(lecture 0)入门
Kaggle竞赛(lecture 0)入门

如何在 Kaggle 首战中进入前 10%