数据科学家和数据分析师的区别在哪儿?数据科学家和数据分析师在所用编程语言、平台/工具,以及所解决的问题方面都有共同之处。这些工具包括但不限于SQL、Tableau,以及相似的分析流程,定义问题、分析数据和输出结果;一部分差异在分析的自动化上,数据科学家专注于使用Python等语言编写算法,进行自动化分析和预测;而数据分析师则使用静态的或者过往的数据,在某些情况下会使用Tableau和SQL等工具去做预测。
有人会说,要成为一名数据科学家,要先从数据分析的工作做起。数据科学与数据分析用完全不一样的工具和编程语言,数据科学是数据分析的一种形式,因为最终你是在与数据打交道转换格式,进行可视化得出可用的结论。
一、数据科学家的主要职责
数据科学家主要职责:与有关部门一起定义要解决的问题;获取数据(使用SQL);探索性的数据分析、特征工程、模型构建、预测(使用Python、Jupyter Notebook、各种算法);根据工作场景,将代码编制成.py文件和/或用于部署的模型。实施自动化统计的行业,使用各种模型来进行分类和预测。成为一名数据科学家必备技能: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、算法,数据科学家的主要职责是用算法来快速准确地预测、分类,以及根据数据来给建议。每当你用新的数据来训练模型,就会得到一些新的结果。关键的算法通常分成两大类:无监督学习和有监督学习。
二、数据分析师的主要职责
数据分析师主要职能:与相关部门定义要解决的业务问题;获取数据(使用SQL);探索性的数据分析、趋势分析和可视化(使用Excel和Tableau)——根据工作场景,向有关部门展示从数据中获得的发现,并提供可行性的建议。
数据分析师与业务分析师、商业情报分析师,甚至Tableau开发人员有着相似的头衔。数据分析的重点是描述和可视化数据所包含的信息,然后向非技术用户传达并做进一步的解释说明。做预测分析的数据分析师跟数据科学家的工作有很多重叠部分,与数据科学家有更多相似之处,但不是通过自动化、算法化的方法来输出预测的。
数据分析师需要具备的技能有:SQL、Excel、Tableau等。
1、SQL,前文提到过数据科学家如何使用SQL,数据分析师也会进行类似的操作。但是,SQL对数据分析师更重要。数据科学家可能只是简单地从表单中选择列就可以了,而数据分析师却要执行更为复杂的查询操作(例如,常用的表单表达式,数据透视表,窗口函数,子查询)。不同公司情况不同,有时候数据分析师更接近数据工程师,而非数据科学家。
2、Excel,很老派,但依然很强大,你甚至可以用它做预测分析和趋势分析。主要的坑爹之处是跟Python比速度太慢。
3、Tableau,可视化工具,但根据我的经验,大多数公司都把它明确列为数据分析师的必备技能。在Tableau中可以拖放数据到预设图表,简单强大;还有更多复杂的高级功能,比如计算字段,连接到一个实时的SQL数据库而非基于静态的Excel表单进行分析。
数据科学和机器学习两个领域很容易混淆,从职责描述上这两个职位都差不多,数据科学和数据分析这两个职位更容易区分。