曾经,我想成为一名进化生物学家。长话短说,我改变了主意,退出了博士课程,转而从事计算机科学事业。我现在是红帽公司的一名高级软件工程师,从事各种机器学习和数据科学项目(您可以在我的博客上阅读更多关于我的旅程的信息)。加入红帽公司后不久,许多人——包括三位不同的芝加哥大学研究生——询问我如何转型从事数据科学事业,所以我开始研究它。
现在进入数据科学领域最棒的一点是,一切(从软件、学习资料到讨论)都非常开放,所以现在是成为自学者的最佳时机。如果这能帮助其他考虑从事数据科学事业的人,以下是我所了解的关于如何实现飞跃的信息。
开放讨论
作为热身,我推荐以下链接,了解数据科学的背景信息:
- 成为数据科学家所需的8项技能
- 数据架构师、数据分析师、数据工程师和数据科学家之间有什么区别?(对于具有科学背景的人来说,“数据分析师”可能不如“数据科学家”那么令人兴奋)
- 来自Quora的数据科学家的建议
- /r/MachineLearning 是一个很棒的 subreddit,可以随时了解机器学习领域的最新动态和研究
- 其他值得查看的 subreddit 包括 /r/Statistics 和 /r/DataIsBeautiful (一个数据可视化 subreddit)
总的来说,数据科学社区的成员非常乐于分享他们不同的经验和背景,这在您选择要追求哪种特定类型的数据科学时非常有用。
开放经验
如果您真的想从事数据科学事业,那么获得经验比任何其他事情都重要。我知道这个建议在许多其他领域也适用,但由于数据科学需要如此高水平的数学和统计成熟度,因此很难向潜在雇主表明您知道如何在没有相关工作经验的情况下有效地应用这些复杂的技术。
如果您是学生,那么您的首要任务应该是找到实习机会。这将使最终的全职工作搜索变得容易得多。不幸的是,实习机会也是数据科学家追求中最不“开放”的方面,因为它们通常只提供给学生。但是,还有很多其他开放的机会可以获得经验。例如,您可以尝试公开竞赛,例如 Kaggle 上的竞赛。
还有开源软件开发。为开源项目做贡献和/或将您的个人项目放在 GitHub 上(这是我的)是展示您数据科学专业知识的好方法。您还可以考虑公益性(“开放的心?”)工作。有您最喜欢的当地餐厅吗?询问其管理层是否对免费的数据科学咨询感兴趣。(我认识一个真正这样做了的人!)
最后,请务必创建并更新 LinkedIn 帐户(这是我的)。LinkedIn 已成为招聘人员的 极其有价值的工具,因此在那里被发现非常重要。
开放教育
接下来,我最喜欢的部分,开放教育。在过去的几年里,出现了一个非常令人兴奋的趋势,那就是大型开放式在线课程(又名 MOOC),它们基本上是由顶级机构和公司(例如斯坦福大学、哈佛大学、谷歌)提供的关于各种主题的完整课程(包括家庭作业和考试)。有许多公司和网站提供 MOOC,但我最喜欢的包括:Coursera、edX、Udacity、Saylor 和 Khan Academy。
关于选修哪些课程的指导,我整理了一个详细的数据科学课程并发布了我自己的完整课程历史记录。 您肯定要涵盖的一些科目包括:
- 微积分,至少要到偏导数,这通常是微积分 III
- 线性代数
- 统计学,包括 贝叶斯 和 频率学派 理论
- 算法
- 机器学习及其大型算法; 自然语言处理 可能是最值得学习的子领域
- 其他主题包括 图论、博弈论 和 信息论
开源软件
最后,Opensource.com 的大多数读者都会熟悉的部分:开源软件。开源软件在数据科学中比比皆是,但就像 Linux 一样,代码免费和开源并不意味着它不如专有软件。 事实上,开源解决方案通常是同类产品中最好的。
数据科学家需要了解的重要开源软件包括:
-
编程
- 几乎所有数据科学家职位都需要大规模地清理和转换数据,而 Python 是必不可少的,因为它通常是此任务的首选语言。 重要的 Python 包/库包括: scikit-learn、NumPy、Keras、TensorFlow、Theano、SciPy、pandas 和 StatsModels
- 了解用于统计计算的 R 软件
- 许多数据科学工具都有命令行界面,因此熟悉 *nix 终端 可以极大地提高生产力
- 了解 Git 具体内容以及一般的版本控制的基础知识
- 数据库
- 大数据工具
开始
这些指南应该能让您在追求数据科学事业的道路上走上正确的道路。如果您知道任何其他有用的数据科学资源,请务必在评论中分享它们。
1 条评论