神刀安全网

全栈数据科学家の技能树

本文可以看做是诚实预告版的《如何成为一名全栈数据科学家》,有感于湾区日报推荐的一篇文章《全栈数据科学家》,并探索如何正确点亮“数据科学家”的技能树以及 Python 在这棵技能树中的位置。

机器学习、大数据、数据挖掘这些红到碰不得的词碰撞出“数据科学家”、“数据工程师”这样的新兴职位,《全栈数据科学家》一文中作者提出了一个典型的数据科学部门的组成结构:

  1. 数据科学家:统计学家中代码写得最好的与工程师中统计学最好的“思考者”;

  2. 数据工程师:给数据科学家喂食、将他们的想法落地实现的“行动者”;

  3. 基础工程师:维护数据的“工人”。

这里不再重复作者对于职能分配等方面的讨论,有兴趣可以去阅读一下原文。首先需要说明,和 Web 开发领域的“全栈工程师”类似,全栈不是“物美价廉”的代名词,也不是“难以沟通,喜欢单打独斗”找的借口,而是对这个领域的所有环节都充满兴趣,对于从无到有的创造过程充满激情,更是能够理解彼此的需求,让团队沟通协作更加顺畅的润滑剂,所以每个领域都存在也需要更多的全栈!好了,干了这碗鸡汤,回归正题。我分别去 Quora 和蛤乎进行搜索,找到两张广义上数据科学家的技能图谱:

全栈数据科学家の技能树

全栈数据科学家の技能树

总的来说分为下面几个分支:

  1. 数学,统计,机器学习;

  2. 数据采集、分析、挖掘;

  3. 数据库、大数据处理;

  4. 结果报告、可视化。

在这些分支中,除了核心的数学能力、对数据的敏感以及创造性思维等,其余大部分要依赖编程语言或相关的工具来完成,并且同时可能存在多个竞争语言可供选择,下面我们就逐一讨论 Python 在这些领域中的应用:

全栈数据科学家の技能树

https://pyhub.cc/topics

数学,统计

Numpy, SciPy 是 Python 中最常用于科学计算、统计分析的库,在这方面常见的竞争者有 MATLAB(Octave)和 R。尤其是与 R 语言的纷争一直存在,我曾经用过一段时间的 R 作为数据分析工具,如果要问我 R 好用吗?我不得不回答“好用”,毕竟它生来就是用于统计分析的;可是如果要问我 R 难用吗?我也不得不回答“难用”,难用主要体现在与一般编程语言迥异的数据结构与语法体系,另外在对原始数据的处理方面确实不如通用型编程语言 Python,可能比较适合用于初步处理过的数据,或者等待别人喂食的数据科学家更适合使用。

全栈数据科学家の技能树

数据采集(爬虫)

爬虫应该算是 Python 最具优势的领域了,Requests + re 库或者专业爬虫框架 Scrapy ,让你可以在短时间内通过简短的脚本就可以爬去大量数据。

全栈数据科学家の技能树 在爬虫领域最有可能超越 Python 可能要算 Node.js ,更简单的异步、对 DOM 的操作以及直接执行前端 JavaScript 代码是它最大的优势,但是在第三方库的支持上还有很长的路要走。

大大大数据

性能一直都是 Python 的短板,而涉及到大规模数据的处理往往又对性能有较高的要求,因此在大数据处理方面 Java 与 C++ 显然占据更多先天优势,不过好在大部分大数据处理工具如 Hadoop、Spark 等都提供了 Python 适配接口。但是如果可能的话,学习一下 Java 或者 C++ 哪怕是语法更像 Python 的 Scala,都是值得的,作为一名全栈的觉悟不是追求一门技术上下通吃,而是能够掌握最合适的工具用在最恰当的地方。

其它一般的数据库不管是关系型还是 NoSQL,几乎没有不提供 Python 驱动的(如果有只能说明这个数据库的开发还不够完善,尽量别用 :stuck_out_tongue_winking_eye:)。

结果报告与可视化

Jupyter (前身为 IPython Notebook)的兴起轨迹几乎与大数据、可视化等概念绑定在一起,交互式地执行任何(40多种)语言,结果展示在 Web 上,这简直是最理想的结果展示工具!

全栈数据科学家の技能树 当然同样以绘图著称的还有 R,其绘制的统计结果图标看起来会更专业(见仁见智吧)一些。Jupyter 在可视化方面更多需要依赖 Web 渲染,因此可以更好地与一些著名的 JavaScript 可视化工具相结合,例如  Bokeh,D3.js,three.js 等。Python 自己的可视化工具包括上面提到的 SciPy 家族中的 Matplotlib,以及跨平台的 plot.ly 等。

除了这些之外,还有一个非常具有艺术特色的可视化工具包 Processing 也非常值得推荐(现在也提供了 Python 适配版本~)。

全栈数据科学家の技能树

总结

Life is short, you need Python. (and JavaScript ��)

全栈数据科学家の技能树

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 全栈数据科学家の技能树

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址