大数据文摘出品
来源:medium
编译:Fisher、夏雅薇
数据科学和机器学习两个领域很容易混淆,从职责描述上还是大家的普遍印象里,这两个职位都差不多。相较之下,数据科学和数据分析这两个职位更容易区分。它们虽有关键差别,但也有相似之处。
有人会说,要成为一名数据科学家,要先从数据分析的工作做起。
作者在两个领域都待过,本文旨在阐明成为数据科学家和数据分析师到底意味着什么。一起来看看~
之前我是数据分析师的时候,我想继续深造成为一名数据科学家,我意识到两者有很大不同。并不是说数据科学与数据分析用完全不一样的工具和编程语言,我甚至觉得数据科学是数据分析的一种形式,因为最终你是在与数据打交道——转换格式,进行可视化,得出可用的结论。
数据科学家
代码示例,用于拟合数据科学中的模型并做预测。来源:作者的屏幕截图。
换一个角度看数据科学,这是一个实施自动化统计的行业,使用各种模型来进行分类和预测。下面是成为一名数据科学家必备的一些技能:
- Python 或者 R
- SQL
- Jupyter Notebook
- 算法/建模
(1) Python——根据我个人经验,大部分公司倾向于用Python而不是R作为主要编程语言。虽然职位描述里可能会同时列出两者;但是,我猜你身边的大多数人——比如机器学习工程师、数据工程师和软件工程师——都不怎么熟悉R。因此,要想成为一名更全面的数据科学家,Python应该更有用。
(2) SQL——乍看之下更像是数据分析师的技能,确实如此,但SQL仍是你从事数据科学必备的技能。工作中数据集往往不会直接发给你的,这跟学术界不同,你需要通过SQL获得自己的数据集。现在有很多SQL的分支,比如PostgreSQL、MySQL、Microsoft SQL Server T-SQL,以及Oracle SQL。它们都属于同一种查询语言,形式接近,但平台不同。因此,会其中任何一种就行,换到另一种SQL很容易。
(3) Jupyter Notebook——数据科学家的游乐场,既可以用于编程也可以建模。你可以把Jupyter当作一个研究工具,你可以编程,写代码,注释掉代码,调用sklearn、pandas和numpy这些库来建模和测试。
(4) 算法——数据科学家的主要职责是用算法来快速准确地预测、分类,以及根据数据来给建议。每当你用新的数据来训练模型,就会得到一些新的结果。关键的算法通常分成两大类:无监督学习(如聚类)和有监督学习(如分类/回归)。
一些具体的关键算法:
- 随机森林(系综分类)
- Logistic回归(分类——不是回归)
- K-Means(聚类)
- K-最近邻(分类/回归)
总的来说,数据科学家要做很多事,但主要职责是:
- 与有关部门一起定义要解决的问题
- 获取数据(使用SQL)
- 探索性的数据分析、特征工程、模型构建、预测(使用Python、Jupyter Notebook、各种算法)
- 根据工作场景,将代码编制成.py文件和/或用于部署的模型
数据分析师
数据分析师与业务分析师、商业情报分析师,甚至Tableau开发人员有着相似的头衔。数据分析的重点是描述和可视化数据所包含的信息,然后向非技术用户传达并做进一步的解释说明。做预测分析的数据分析师跟数据科学家的工作有很多重叠部分——与数据科学家有更多相似之处,但不是通过自动化、算法化的方法来输出预测的。
数据分析师需要具备的一些主要技能有:
- SQL
- Excel
- Tableau(或者其他可视化工具,比如Google Data Studio)
(1) SQL——前文提到过数据科学家如何使用SQL,数据分析师也会进行类似的操作。但是,SQL对数据分析师更重要。数据科学家可能只是简单地从表单中选择列就可以了,而数据分析师却要执行更为复杂的查询操作(例如,常用的表单表达式,数据透视表,窗口函数,子查询)。不同公司情况不同,有时候数据分析师更接近数据工程师,而非数据科学家。
(2) Excel——很老派,但依然很强大,你甚至可以用它做预测分析和趋势分析。主要的坑爹之处是跟Python比速度太慢。
(3) Tableau——可视化工具,但根据我的经验,大多数公司都把它明确列为数据分析师的必备技能。在Tableau中可以拖放数据到预设图表,简单强大;还有更多复杂的高级功能,比如计算字段,连接到一个实时的SQL数据库而非基于静态的Excel表单进行分析。
总的来说,数据分析师也要做很多事,但主要职能是:
- 与相关部门定义要解决的业务问题
- 获取数据(使用SQL)
- 探索性的数据分析、趋势分析和可视化(使用Excel和Tableau)——根据工作场景,向有关部门展示从数据中获得的发现,并提供可行性的建议
相似点
前面已经概述了一些相似点,总结一下,数据科学家和数据分析师在所用编程语言、平台/工具,以及所解决的问题方面,都有共同之处。
这些工具包括但不限于SQL、Tableau,以及相似的分析流程,定义问题、分析数据和输出结果。
差异
尽管有相似之处,但这两个领域之间仍然有差异。
一部分差异主要在分析的自动化上——数据科学家专注于使用Python等语言编写算法,进行自动化分析和预测;而数据分析师则使用静态的或者过往的数据,在某些情况下会使用Tableau和SQL等工具去做预测。
总结
数据科学和数据分析的共同点很多,不仅仅是名称里都有“数据”而已;但同时它们也有重要的区别。无论你想成为数据科学家还是数据分析师,我希望这篇文章对你有用。如果你已经是这两个角色当中的一员,那么我希望你学到了一些新的东西。
相关报道:
https://towardsdatascience.com/data-science-vs-data-analysis-heres-the-difference-4d3da0a90f4
【本文是51CTO专栏机构大数据文摘的原创译文,微信公众号“大数据文摘( id: BigDataDigest)”】