内容简介:2012年,哈佛商业评论的一篇文章中称“数据科学家”为21世纪“最性感“的职业[1],预测着未来数据科学行业需求将急速增长。Glassdoor的美国最佳工作榜单上,数据科学家从2016年到现在的2019年,四年以来都位居榜首[2]。这四年长居美国最佳工作榜首的数据科学家,到底是做什么的呢?初次接触的疑惑我刚上大学的时候,数据科学这个概念几乎没有被周围的人提及,那时大数据才是一个非常火的概念。后来,人工智能开始流行。其中,在风口浪尖上的,即是机器学习。大四在豆瓣和百度实习时,我主要的方向还是做移动开发(iOS
前言
2012年,哈佛商业评论的一篇文章中称“数据科学家”为21世纪“最性感“的职业[1],预测着未来数据科学行业需求将急速增长。Glassdoor的美国最佳工作榜单上,数据科学家从2016年到现在的2019年,四年以来都位居榜首[2]。这四年长居美国最佳工作榜首的数据科学家,到底是做什么的呢?
初次接触的疑惑
我刚上大学的时候,数据科学这个概念几乎没有被周围的人提及,那时大数据才是一个非常火的概念。后来,人工智能开始流行。其中,在风口浪尖上的,即是机器学习。大四在豆瓣和百度实习时,我主要的方向还是做移动开发(iOS)。实习所在的团队每季度可以买书报销,我当即就入手了一本机器学习的西瓜书(现在看来那真不是一本好的入门书籍),希望为之后的研究生选题打下基础。
本科做毕业设计,我选的课题是新浪微博自动文摘系统,这是一个与自然语言处理相关的项目。从毕业设计开始,我便希望在研究生时,接触与人工智能领域相关的方向。随着自己的探索,我了解到数据科学家这个职业。 当我意识到数据科学可以基于数据做决策,从数据中获取洞见并应用于实际产品时 ,我被这种能力深深吸引吸引,便决定自己以后向这个方向发展。
但是,如果你现在和当时的我一样,初次接触这个学科,你会发现,想要理清楚数据科学是一个怎样的学科,数据科学家们又是在承担着什么职能,会遇到不少阻碍。因为数据科学其本身就是一个还在发展中的学科,其中许多概念定义都还是模糊的, 学术界和工业界都还处于各自有定义 ,相互讨论的状态。
正因如此,你很可能会和我一样,一开始会 思考 :什么是数据科学?数据科学家就是做数据分析的工作吗?数据科学与机器学习有什么关系?数据科学与统计学的关系又是什么?冠以”科学”的名义,只是为了看起来”高大上“一些吗?你说数据科学能够应用于各个领域,那数据科学到底是在解决一类什么样的问题呢?想要成为数据科学家,到底应该学习什么样的领域知识呢?我又应该如何自学以找到与其相关的工作呢?
本文就是在我阅读论文、书籍和各类博客之后,我对这些疑惑的解答。
数据科学是什么?
我们先来看数据科学解决现实问题的例子。奥巴马在竞选美国总统时,组建了一支数据科学团队,试图解答:哪一些人会给奥巴马投票?如何保证这些人在投票日那天也的确会投出自己的一票? Netflix 公司用数据科学解决的问题是,如何推荐给用户喜欢看的电影?再例如,DataKind 致力于利用数据的力量来更好地改善人们的生活。他们的项目有:如何利用开放数据防范家庭火灾?利用数据提升道路安全?[3,4]
Photo by Franki Chamaki on Unsplash
数据科学还有许多可以解决的问题,其本质是什么呢?
在 Data Science Overview 中给出的一个定义是:
From the disciplinary perspective, data science is a new interdisciplinary field that synthesizes and builds on statistics, informatics, computing, communication, management, and sociology to study data and its environ- ments (including domains and other contextual aspects, such as organizational and social aspects) in order to transform data to insights and decisions by following a data-to-knowledge-to-wisdom thinking and methodology. ——Data Science Overview[5]
这个定义,强调数据科学是综合运用各个学科,遵循数据到知识到智慧的思维模式和方法,来完成从数据到洞察和决策的转化。
另一个对其的定义是:
An interdisciplinary field that combines statistics with computer science concepts like machine learning and artificial intelligence to extract insights from big data . In business, these insights — whether delivered via autonomous integrated systems or in traditional reports — have the potential to fuel innovation and transform decision making . ——What is data science [7]
同样的,强调其决策能力。
综合起来,我认为最简洁有力的定义如下:
数据科学,是将数据转化为洞察(insights),并基于这些洞察作出决策。
而在数据的不同阶段,也会提出不同的问题,使用不同的方法,实现从数据转化为洞察的过程[5]:
该图的横坐标是时间,从数据的三个阶段(过去、现在和未来),到决策阶段。纵坐标,是从数据到洞察。图中,G 代表 Goal,目标;A 代表 Approach。每一个格子对应的是不同阶段,目标问题和使用的方法。
这样说来多少有些抽象,具体而言什么叫做理解数据?什么又算洞察呢?基于数据做出的又是什么决策呢?不如看看数据科学家们实际在做些什么。
具体的工作流程是什么?
与科学工作流程类似
数据科学的工作流程和科学家(或者说研究员)的工作流程是类似的。 科学家的职责是收集数据并将其转化为理解 [8],科学工作流程如下:
从数据到理解不是一蹴而就的:数据首先需要被转化为信息,再将信息转化为知识,最后从知识再产生理解。
对于一般工业界的数据科学家,会更偏向于解决实际问题,所以更多的是在寻求,如何将 对数据的理解转化为 实际的应用 [8]。所以其流程如下:
工作流程
上面这样的流程是一个高度抽象的流程。实际接地气的方式,是什么样的呢?
我们先一个整体的流程图[9]:
抽象化之后,一个清晰简洁的数据科学流程如下[9]:
-
提出问题
-
数据获取
-
数据处理
-
探索性数据分析
-
建模
-
可视化报告
-
作出决策,构建数据产品
提出问题
A data scientist is the adult version of the kid who can't stop asking "Why?". —— Avantika Monnappa
数据科学与传统软件开发的需求不同,传统软件开发的需求是让你直接做出对应的功能来,比如写一个页面,比如完成一套业务逻辑的后端。在数据科学中,你需要先提出好的问题来, 思考清楚问题的核心关键 是什么。例如 LinkedIn 中的一个数据科学问题就是,要怎么识别出与用户在现实世界建立联系的好友,并推荐给他呢?在分析的过程中,时常回到这些关键问题上,确认自己正在做的分析是与问题相关的。
数据获取
我们可以通过各种渠道,例如日志文件,邮件,调查,用户行为记录等等,从现实世界中收集到原始的数据。
不少人会有一种先入概念,就是拿到数据之后立即上手,而没有想清楚自己是要解决什么样的问题,解决这些问题需要什么样的数据。一开始自己学习时,是不太需要去想记录和收集数据的问题,因为大部分时候你都是使用他人已经收集好的数据集。所以,这样想也情有可原。 但你还是应该尝试问自己,为了解决自己提出的问题,应该收集哪一些数据呢?
数据处理
获取到原始数据之后,我们会对数据进行一系列的处理,这一部分也可以称为数据工程。收集到的原始数据集,可能形式多样,有的是日志文件、有的是网页数据、有的是传统数据库文件,这个时候就需要将这些 数据集整合 为同一格式,方便后期分析[10]。之后,还需要进行 数据清理,去除异常值、处理缺失数据 等等操作。为了更适合后期模型使用,也可能会对数据做一些转换。例如将表格数据转化为矩阵。
像 kaggle 这样的比赛数据,大部分数据处理的工作都已经完成,你拿到手上的是一些可以直接使用的数据。而在实际的工作中,这些处理是需要自己去完成的。
探索性数据分析
Photo by Andrew Neel on Unsplash
探索性数据分析 (Exploratory Data Analysis, EDA),我个人认为是 极关键、也极具艺术的过程 。这一步,才是你真正开始和数据深入打交道的时候,开始对数据有一个整体的感观,理解数据的分布、数据中变量的关联、哪些变量是关键、数据中可能存在的模式。随着你的探索,你对数据和问题的理解也会进一步加深。
在探索性数据分析时,通常会绘制大量的图像,来帮助你理解数据,例如最基础的箱线图,可以看出数据的基本分布和异常值。 最重要的是,你对数据的理解,有利于后期建模阶段,模型和特征的选取。
探索性数据分析,如同摄影,你在按下快门前,对自己所在环境的理解,对色彩、图形和光线的感觉。在你按下快门键之前,这些东西已经决定了你照片的质量。也就是你之后分析结果的质量。
建模
统计模型由统计学家创造,而机器学习模型则是来自计算机科学家。统计推断是为了推断数据背后的生成过程,而机器学习更偏向尽可能准确地预测和分类。通常这一步中,包含三个部分:
-
第一部分:特征工程
-
第二部分:模型选择、使用、调试和融合
-
第三部分:模型评估
Photo by Paweł Durczok on Unsplash
如果说,函数可以看做是一个盒子,你给定输入参数,在这个盒子中,会进行一系列操作,最后返回一个结果。同样的,模型,也是这样的一个盒子,上面有一些按钮可以调整参数,你输入从数据中抽取得到的特征,经过盒子之后,就能得到特定的结果。
模型的输入是什么呢?模型的输入是一系列的特征。特征是什么?特征是你从数据中抽取出的特定变量。 特征工程解决的就是模型输入的特征问题。
有各种各样的模型盒子,你应该选择哪一个呢?你要如何使用呢?盒子打开之后,里面的原理又是什么呢?盒子上面的参数按钮又要怎么进行调节呢?第二部分就是解答这些问题。
模型的输出是什么?不同模型的输出是不同的,有的模型输出是二元结果,有的是一个区间,取决于你想要解决什么样的问题。例如,预测一个商品的销量在下一个季度是否会增加,而预测销量增加多少就是一个区间。模型的输入是正确地吗?模型的输入达到预期的效果了吗?第三部分,模型评估就是在回答这类问题。
可视化报告
可视化报告不仅仅是将结果用图表展示,更重要的是 用数据讲故事 。回归到你最开始提出的问题,用可视化报告解答它。说服他人接受你的结论,将结论应用于实际的产品中。
需要怎样的知识结构?
从上面的整个工作流程来看,似乎数据科学家,需要成为一个全才。实际情况是这样的吗?很少有人能够样样都精通,每个人的侧重点可能都不尽相同,所以通常而言,一个 数据科学团队 才是更好的选择。
根据现在数据科学家的工作流程,要想成为一个称职的数据科学家,需要掌握以下的知识结构[8],分别是:
-
计算机科学
-
数学
-
统计学
-
机器学习
-
领域知识
-
数据可视化
-
沟通技巧
计算机科学
photo by Jefferson Santos on Unsplash
你需要计算机科学专业知识,毋庸置疑,最基础的是 基本编程和代码调试能力 ,例如 Python 、R 之类的语言,理解基本的数据结构与算法。对于算法要求,相对于 SDE(Sofeware Develop Enginner) 岗位的要求会低一些,毕竟侧重点不同。另外很重要的一点是,要学会寻找相关的 工具库 并且学习使用它们,例如 Python 中的 Numpy、Matplotlib、Pandas、Scikit-learn 和 R 中的 GGplot、Dplyr、CARET 等等。
其次,是数据库相关知识,因为无时不刻都在于数据打交道,你要学会常用的 数据库管理系统 ,例如 MySQL 、PostgressSQL、MongoDB。能写基本的数据库操作命令,例如 SQL 语句,能检索非结构化数据。如果涉及到 大数据 相关分析,你还需要了解Hadoop编程框架和Spark计算引擎。
最后,要学会使用合适的 工具和平台 ,例如,IPython (Jupyter Notebook)、Git 版本管理、Visual Code 编辑器,来提高你的效率。
以上就是你入门时需要掌握的计算机相关知识,通常来说,你不用知道操作系统、计算机体系结构、计算机网络这样的知识。当然,如果你研究的领域会涉及到计算机相关知识又另当别论。例如,如果你是研究社交网络,图论的知识便不可或缺。
数学
photo by Wu Yi on Unsplash
如果只是告诉你说,要学习数学知识,那你一定会说,现在哪个理工学科,与数学毫无关联呢?是的,但也是各有侧重点的。这里的数学知识,是为你理解统计学和机器学习打下的基础。所以,数学方面,基本的是需要学习 线性代数和微积分知识 。初期的时候,学到什么程度呢?了解基本的概念,熟悉常用的公式定理即可。例如,线性代数,你不需要手动的去计算大规模矩阵,很多库都能帮你完成这样的工作。
统计学
Photo by rawpixel on Unsplash
统计学与数据科学一直以来都有着相同的根本挑战:如何使用不完整的信息得出有关世界的有力结论[11]。统计学的两个分支是描述性统计学和推断性统计学:
-
描述性统计学 :基本的数据分布,分析数据的集中趋势和离散趋势,各类型图的含义,例如箱线图。
-
推断性统计学 :根据样本数据去推断总体数量特征的方法。即从小样本得出关于整体数据的结论。统计推断主要可以分为两大类:一类是参数估计问题;另一类是假设检验问题。
虽然在做探索性数据分析时,你会大量用到描述性统计学的基础知识,例如平均值,中位数,众数。但在数据科学中,更为重点的是统计推断。其中的贝叶斯推断,是很多机器学习的理论核心。
还有一部分值得注意,就是 实验设计 ,最为典型的代表之一就是 A/B Test 。A/B 测试将实验分成两个组开展,进而确定两种处理、产品、过程等中较优的一个。在两组实验中,一般会有一组采用现有的标准处理,或者是不执行任何处理,称为对照组,而另一组称为实验组。实验中的一个典型假设是实验组要优于对照组[6]。例如两种网站设计风格,哪一种效果更佳,你就可以给不同的人使用不同的风格,最后比较两种风格的用户反馈情况。
机器学习
Photo by Dominik Scythe on Unsplash
统计学和机器学习领域是密切相关的,“统计”机器学习是现代机器学习的主要途径[12]。所以,统计学和机器学习本身就是密不可分的。
在前面我们谈了建模的三部曲:
-
第一部分:特征工程
-
第二部分:模型选择、使用、调试和融合
-
第三部分:模型评估
接下来我们具体来谈一谈每一个部分。
特征工程
什么是特征?特征是你从数据中抽取出的 代表信息 。普通事物的特征是什么?我们能够通过事物具有的特征,将事物彼此区分开来。例如大象的特征是有长长的鼻子,灰色皮肤,健壮的体格和爱吃香蕉等等。我们能通过这些特征,将其与其他动物分开来。鼻子长短、肤色和体格大小就是大象的代表信息。
你脑海中有老虎和大象的概念。对于计算机而言,这些概念只有转化为数据才能被理解。这个转化的过程是信息化数字化的过程。假设你记录了两种动物,大象和老虎的信息,存储在电脑中。
Photo by Adam King and Harshil Gudka on Unsplash
其中,每一列都是动物的一个特征。
动物编号 | 性别 | 年龄 | 鼻子长短 (m) | 毛色 |
---|---|---|---|---|
A1 | 公 | 3 | 0.3 | 黄色 |
A2 | 母 | 2 | 0.9 | 灰色 |
A3 | 公 | 4 | 2 | 灰色 |
其中,每一列都是动物的一个特征。
你怎么分辨出这是老虎还是大象呢?很明显,你很难从年龄和性别来区分老虎和大象。但是另外两个特征则不然。如果鼻子长于一米,这很显然就是大象嘛。如果毛发颜色是黄色,这也很明显是老虎嘛。所以,你选择鼻子长短和肤色,作为区分大象和老虎这个问题的特征。这个过程,就是 特征选择 。你会根据问题,选择出与问题最相关的特征,去除掉这些不相关的特征。
你还可以自己创造新的特征。你可以组合,例如将性别和年龄组合在一起;你还可以分解,例如你将鼻子长度拆分成:鼻子长度大于 0.5m 但小于 1m、鼻子小于等于 0.5m 和鼻子大于 0.5m 这三特征。这个过程叫做 特征构造 。
总体而言, 特征工程包括:特征抽取、特征选择、特征构造和特征学习 [13]。好特征是好结果的基石。甚至不少人说特征决定了机器学习的上限。
模型
机器学习这个名词想必你并不陌生。你也许也知道,机器学习解决的问题分为三大类, 预测、分类和聚类 。按照学习的方法,机器学习可以分为:监督学习、非监督学习、半监督学习和强化学习。监督是指输入的是否是由标记的数据,或者结果目标是否给定。按照算法相似度,可以分为:线性模型、基于树的模型和聚类模型。
在此,我只强调在数据科学中,你对机器学习模型学习的重点是什么:
首先,是理解每一种问题,经典的模型有哪一些,这些模型具体的含义是什么,具体应该如何使用。
理解基本的理论之后,就需要上手去实际的用这些模型,在实际的环境中去理解什么时候应该用什么模型。
就像在我们学习数据结构与算法时,大家一定很熟悉老师说的一句话:理解各类算法很重要,但在以后在工作中,更为重要的是你要 知道什么时候应该用什么样的算法 。同样的,在你入门时,大部分时候都不需要你自己从无到有的去实现一个算法,而是你能理解它,应用它。等到有一天,你发现它不能满足于你的需求时,你再去改造它。
模型评估
模型评估就是评价模型好坏。就好像你学习一门课程,最后会有期末考试,最后结果的好坏体现在分数上。你需要知道 不同的模型,应该用什么样的评估方法 ,再根据评估的结果,去调整自己的模型,直到获得最优结果 。像Kaggle中的比赛,通常情况下,评估方法都是由主办方给出。
From Kaggle https://www.kaggle.com/c/LANL-Earthquake-Prediction#evaluation
领域知识
传统软件开发,也是需要领域知识的。例如你是写后端的,你还是需要理解你的业务逻辑的领域知识。你如果是做银行的后端,你需要理解银行系统的知识。你是写医疗系统,你也是要理解医疗系统相关的领域知识。数据科学对于领域知识的要求,只是相对要高一些,除了只是知道基本的概率外,你需要进一步的思考, 领域中关键因素之间的关系 。当然,如果一个项目对于领域知识要求极高,我相信,你们团队应该会请一个领域的专家。
数据可视化和沟通技巧
数据可视化是一门艺术。好的数据可视化,一张图就让人了解到他要传达的所有信息和结论,使人信服。
数据科学技能需求最出名的定义之一,是2010年 Drew Conway 的韦恩图:
Drew Conway 在《数据科学访谈录》中强调,这个图缺失一个东西,也就是做完一套分析之后,将发现、结论或者其他相关的信息解读给完全没有技术背景的人听的能力[14]。
作为一个软件工程师,有一个很流行的话叫做:“Talk is cheap, show me the code!”。因为写代码的时候衡量的标准非常简单,实现功能或者没有实现。但是对于数据科学结果报告的时候不同,你就算把最终的结果做出来了,如果没有一个好的展示,不能过让他人信服,也是无济于事。所以, 重视最后讲故事这一步,将自己的分析结果转化为切实的数据产品。
最后的话
数据科学入门门槛较高。相比于传统软件开发,它更具有探索性。假如你学习前端,你能很快的就构建出一个简易的完整网站的网页,只需要一些 HTML 和 CSS 的基础知识。但学习数据科学不是,如果想要做出一个完整的项目,你前期的学习成本是会大很多的。也没有那么立竿见影的效果。举个可能不太恰当的比喻,软件开发像是在画画,每画一笔你都能看到结果。而数据科学的过程像是在爬山,你到达山顶之后,才能看见完整的风光。
所以,前期开始学习的时候,就需要 扎扎实实的建立起自己的知识体系,理解知识体系中的核心概念, 每遇见一个新的问题,都尝试使用自己的知识框架,去解释它,去解决它。
Reference
[1] https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century
[2] https://www.glassdoor.com/List/Best-Jobs-in-America-LST_KQ0,20.htm
[3] http://www.datakind.org
[4] https://www.bottledream.com/articles/9020
[5] Cao L . Data science: A comprehensive overview[M]. ACM, 2017.
[6] Practical Statistics for Data Scientists: 50 Essential Concepts http://shop.oreilly.com/product/0636920048992.do
[7] https://www.datascience.com/what-is-data-science
[8] Writing Science:How to Write Papers That Get Cited and Proposals That Get Funded https://www.amazon.com/Writing-Science-Papers-Proposals-Funded/dp/0199760241
[9] Doing Data Science By Cathy O'Neil, Rachel Schutt
[10] https://www.ibm.com/developerworks/cn/analytics/library/ba-intro-data-science-1/index.html
[11] https://www.inferentialthinking.com/chapters/01/1/2/statistical-techniques
[12] https://medium.com/ml-research-lab/how-to-self-learn-statistics-of-data-science-c05db1f7cfc3
[13] https://machinelearningmastery.com/discover-feature-engineering-how-to-engineer-features-and-how-to-get-good-at-it/
[14] The Data Science Handbook: Advice and Insights from 25 Amazing Data Scientists http://www.freetechbooks.com/the-data-science-handbook-advice-and-insights-from-25-amazing-data-scientists-t1255.html
文章略长,最后给大家奉上思维导图,回忆要点:
好看的皮囊千篇一律, 「好看」 的文章各有不同 :point_down:
以上所述就是小编给大家介绍的《四年长居美国最佳工作榜首,数据科学家到底是什么神仙工作?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 82岁日本老奶奶成最年长iOS码农:库克被折服
- 厉害了我的老奶奶 82岁日本老人成了WWDC最年长开发者
- 译日报 | 82岁日本老人成苹果WWDC最年长开发者;瑞士表商推iPhone奢华手机壳;沃尔玛使用VR技术培...
- 负载均衡 (一) 工作模式以及工作原理
- 学习,工作,养生利器 --- 番茄工作法的正确打开方式
- 性能大比拼-真实世界工作负载vs实验室综合工作负载
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Out of their Minds
Dennis Shasha、Cathy Lazere / Springer / 1998-07-02 / USD 16.00
This best-selling book is now available in an inexpensive softcover format. Imagine living during the Renaissance and being able to interview that eras greatest scientists about their inspirations, di......一起来看看 《Out of their Minds》 这本书的介绍吧!
图片转BASE64编码
在线图片转Base64编码工具
html转js在线工具
html转js在线工具