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