学习数据科学绝非易事。能找到一个可以分享代码、数据和想法的社区对我们的学习大有裨益,有一个地方汇聚了这些特质,那就是Kaggle。
我在大学时第一次接触了这个平台,当时,笔者正在攻读数据科学硕士学位,主攻机器学习,想看看在专业的第一堂课上自己在机器学习模型比赛的准确度挑战中能位列何处,对比在最后一堂课上又能取得怎样的名次。
笔者很快意识到,Kaggle上有成百上千的数据科学家,正在尝试提升并提交他们的评分。这么多聪明的有志之士参与竞争,让人叹为观止。除了评价技能,这一平台还可以对比代码,学习其他出色之人的新想法。在踏上成为数据科学家之旅的第一周就能得到这样的体验,笔者感到万分庆幸,不出意外,我成了这一网站的常客。
Kaggle
比赛结果
在Kaggle上,人们可以分享想法,获得启发,同其他数据科学家展开竞争,学习新事物和编程技巧,观察诸多真实数据科学应用的实例。这里有许多能应用于多种场合的数据集,或简单如电子游戏销售,或庞杂重要如空气污染数据。
这些数据取自现实世界,几经引用参考,可用来训练并评测那些真正对人有帮助的项目模型。Kaggle另有许多实用的特色功能,比如数据、代码、社区、灵感、竞赛和课程等。
优势
Kaggle有许多优势,这些都是你应当使用Kaggle的原因。
1.数据
Kaggle上有一些可用的数据集。大多数数据集的文件格式是CSV,JSON、SQLite、archives和BigQuery格式的数据集不太普遍,但依旧用途颇广。练习使用多种文件格式有所助益,你在工作中有可能遇到这些文件格式。下面是三个目前最热门的数据集。
- COVID-19开放研究数据集挑战赛
- UNCOVER COVID-19挑战赛
- ProZorro.乌克兰公共采购数据集
2.代码
Kaggle上有大量代码。如果你想查看其他Kaggle用户的不计其数的代码,在Notebooks上进行检索很方便,其中包括代码以及大多数用户对代码的注释。这能帮助我们学习和练习,并借鉴他人处理类似问题的方式。大多数人使用Python进行编程,但也不乏一些人采用包括R、SQLite和Julia在内的其他编程语言。
代码通常是记事本(又称为Jupyter Notebook)形式,保存在后缀为.ipynb的文件中。有一些展示了端到端机器学习模型的例子,其中一些包括数据提取与清洗、探索性数据分析、特征工程、基础模型创建、最终机器学习模型实现、以及结果的输出和解释。
大多数数据科学家在工作中经常用到这些步骤,因为这对于其他数据科学家和相关工作者来说,都是简便且易于遵循的流程。
- code languages supported on Kaggle: Python, R, SQLite, and Julia
3.社区
与Medium、GitHub、Stack Overflow和LinkedIn类似,Kaggle作为一个社区,数据分析师、数据科学家和机器学习工程师可以在其中学习、成长和互动。
你可将自己的工作(如数据,代码和记事本文件)发布在其上和他人分享,以发展自己的社区。作为社区的成员有其独到的优势,所以笔者强烈建议以Kaggle作为起点,培养自己的社区,并与其他社区建立联系。
4.灵感
通过这里的数据、代码、社区、课程和竞赛,你可以收获绝妙的灵感。观看别人参与到对他人和企业有助益的比赛之中,欣赏其精彩发挥,这着实激励人心。
如果你正在思索下一步该学习什么,亦或是如何实现某一功能,也许应该看一看别人如何实现某一模块,例如以特定方式实现随机森林。你可以在Kaggle上找到这些,最终激励自己更上一层楼。
5.竞赛
如果你想检测自己的水平,了解自己在同行中的排名,丰富简历或者挣些外快,竞赛是个合适的选择。Kaggle提供了不计其数的竞赛,上面的截图显示了排行前三的竞赛及其对应的奖金。这些比赛不但趣味盎然,而且意义深远(例如助力健康事业)。
笔者借助Kaggle上的赛事来对比自己的前后表现。起初,笔者仅掌握了些许数据科学方面的知识;后来有了将近两年的数据科学从业经验。两相比较,意料之中的进步显著。
笔者在将近8000人中位列前50%,这对于初出茅庐的人来说不算差。不难看出,当有成千上万的数据科学家为同一个目标而展开竞争时,能为识别某些健康异常的项目做出何等巨大的贡献。
6.课程
图源:unsplash
我还发现Kaggle开设有一些数据科学课。我个人最喜欢这里的一些SQL课程,因为作为数据科学家,最需要的就是SQL。与其他课程网站相比,这里的机器学习的可解释性和游戏AI与强化学习导论也是比较独特的课程。下面是能在Kaggle上找到的所有课程:
- Python
- Intro to Machine Learning
- Intermediate Machine Learning
- Data Visualization
- Pandas
- Feature Engineering
- Deep Learning
- Intro to SQL
- Advanced SQL
- Geospatial Analysis
- Microchallenges
- Machine Learning Explainability
- Natural Language Processing
- Intro to Game AI and Reinforcement Learning
Kaggle能为锐意进取的优秀数据科学家提供丰富的资源,千万不要错过它。