像数据科学家同样思考:12步指南(上)

目前,数据科学家正在受到不少关注,所以,有关数据科学的书籍正在激增。我看过不少关于数据科学的书籍,在我看来他们中的大多数更关注工具和技术,而不是数据科学中细微问题的解决。直到我遇到Brian Godsey的“像数据科学家同样思考”,它讨论了哪些工具最有用以及为何,但主要目标是在智能,高效和成功的状况下完成数据科学工程,以解决实际数据中心问题的解决方案。数据库

数据科学目的生命周期编程

在书中,Brian提出数据科学项目包括3个阶段:网络

·       第一阶段是阶段:在项目开始时收集信息所花费的时间和精力能够避免之后的麻烦。运维

·       第二阶段是构建产品:从规划到执行,使用你在准备阶段学到的知识以及能够用的全部工具。机器学习

·       第三阶段即将完成:交付产品,得到反馈,进行修订,产品运维以及完成项目。工具

从图像中能够看出,这3个阶段包含12个不一样的任务。我想用这篇文章总结这12个步骤,由于我相信任何有抱负的数据科学家均可以从熟悉它们中受益。学习

第一

数据科学项目始于准备。你须要创建你所知道的、拥有的、能获得什么、你在哪里以及你想成为何样。最后一个是最重要的,数据科学项目须要有目的和相应的目标。只有当你有了明确的目标时,才能开始调查可用资源以及实现这些目标的全部可能性。优化

1-设定目标

数据科学项目与许多其余项目同样,主要目标应在项目开始时设定。在设定目标后,你所作的全部工做都是利用数据、统计数据和编程来实现这些目标。人工智能

首先,数据科学的每一个项目都是有一个“客户。有时,“客户”是向你或你的企业支付费用的人,例如,客户或承包代理商。在学术界,“客户”多是一位要求你分析数据的实验室科学家。有时,“客户”是你的老板或其余同事。不管“客户”是谁,他们都会对可能从你那里获得的东西抱有一些指望。spa

为了理解这些指望,你须要对“客户”提供的数据提出好的问题。提出好的问题是一项重要且微妙的挑战,由于改变世界的是问题。在他们的假设中好的问题是具体的,但好的答案是可衡量的并且没必要要太多的成本。

虽然有时候好问题、相关数据或富有洞察力的分析比其余要素更容易得到,但这三者对于得到有用的答案相当重要。任何旧问题,数据和分析的产品并不老是一个答案。值得注意的是,你须要在项目的每一个步骤中都要深思熟虑,并且关键性的要素必须存在。例如,若是你个好问题但不相关的数据,则很难找到答案。

开始的时候是在数据和答案的背景下评估项目目标的好时机。一般,初始目标的设定须要考虑一些商业目的。若是你不从事商业活动,例如,你正在进行研究,那么目的一般是对结果进行一些外部使用,例如在特定领域中推动科学知识或为其余人提供分析工具。

虽然目标源于项目自己的背景,但每一个目标都应该经过基于数据科学的实用过滤器来实现。此过滤器包括如下几个问题:(1)有什么可能?(2)什么是有价值的?(3)什么是有效的?将此过滤器应用于好问题、可能的答案、可用数据和可预见的障碍,能够帮助你实现一系列可靠、有价值且高效的项目目标。

2-探索数据

数据科学项目准备阶段的第二步是探索现有数据。下图显示了数据科学家可能访问数据的3种基本方式。数据能够是文件系统上的文件,数据科学家能够将文件读入他们最喜欢的分析工具中。数据也能够在数据库中,数据库也在文件系统上,可是为了访问数据,数据科学家必须使用数据库的接口,这是一个帮助存储和提取数据的软件层。最后,数据可能位于应用程序编程接口(API)以后,API是数据科学家与某些系统之间的软件层。

熟悉数据可能须要接触到表单以及如何查看和操做这些表单,如下是其中一些:平面文件(csv,tsv)、HTML、XML、JSON、关系数据库、非关系数据库、API。有时你没法决定选择哪一种格式,数据会以你想象不到的格式出现,但你必须处理它。若是你发现某个格式效率低下、笨拙或不受欢迎,你能够尝试设置可能使事情变得更容易的辅助数据存储格式,但须要花费大量时间和精力来设置辅助数据商店。但对于访问效率相当重要的应用程序而言,这个成本是值得的。对于较小的项目,也许不是。当你到达那里时,你必须越过那座桥。

如今你已经了解了常见的数据形式,你须要对它们进行侦察。如下是你应该考虑的方法:Google搜索,组合不一样的数据源,从网络爬虫或自行收集它们。就我的而言,我是网络爬虫的忠实粉丝。Web scraper必须作的两件重要事情是以编程方式访问大量URL并从页面中捕获正确的信息。若是你想在Facebook上了解你的朋友网络,理论上能够编写一个脚原本访问全部朋友的Facebook我的资料,保存我的资料页面,而后解析这些页面以获取他们的朋友列表,访问他们的朋友配置文件等等。

3-数据整理

第三步是数据整理,就是将困难、非结构化或其余任意格式获取数据和信息转换为传统软件可使用的内容的过程。整理不是一项任务,并不能够事先准确地规定步骤,由于每一个案例都不一样,须要解决的问题也不同。

在整理以前,好的整理归结为可靠的计划,而后进行一些猜想和检查,看看哪些有效,花费一点时间进行数据整理能够为你减小不少痛苦。一般,数据整理计划的选择应在很大程度上取决于你在首次调查数据时发现的信息。若是你能够想象解析数据或以某种假设的方式访问它,你能够尝试编写一个执行操做的脚本。数据整理是一个不肯定的过程,所以最好先探索一下,而后根据你所看到的内容制定整理计划。

没有一种方法或一种工具能够实现使混乱数据清洁的目标。市面上有许多工具能够作不少事情,但没有一个工具可以处理任意格式数据。数据以如此多的形式存在,而且出于不一样的目的,甚至目前没有一个应用程序可以以任意目的读取任意数据。简而言之,数据整理是一个不肯定的事情,须要在特定状况下使用特定工具来完成工做。你能够尝试使用文件格式转换器或专有数据管理器并编写脚原本处理数据。

4-评估数

在开发以数据为中心的产品以前,了解数据内容值得花费一点时间和精力。若是你对数据有更多了解,你将在整个数据科学项目的每一步作出更明智的决策,并在获益到最后。若是没有初步的评估,你可能会遇到异常值、误差、精、特异性或数据其余固有的问题。为了更好地发掘这些数据并更好地了解数据,整理数据后的第一步应该是计算一些描述性统计数据。

描述性统计是定量描述信息集合的主要特征或定量描述自己的学科。考虑描述、最大值、最小值、平均值、数据集的摘要。若是不说起推论统计数据,一般很难讨论描述性统计数据。推论统计是指你在没有彻底统计数据的状况下得出的结论。对于数据集,你能够说如下内容:

·       描述性统计数据:“我有什么?”

·       推论统计数据:“我能得出什么结论?”

大多数统计学家都认为推论统计数据能够获得大部分很酷的结论:当世界人口达到峰值而后开始降低时,病毒流行病的传播速度有多快;当股市上涨时,人们是否会在Twitter上对一个主题有通常积极或消极的情绪等等。而描述性统计在使这些结论成为定论方面起了很是重要的做用。总之,了解你拥有的数据以及它能够为你作些什么是值得的。

使用描述性统计信息,你能够在数据集中找到与特定概念描述匹配的实体。若是你从事在线零售业务,你可能会将客户视为你的实体,而且你但愿识别那些可能购买特定做者新书的。若是你在金融领域工做,你可能会在股票市场上寻找即将上涨的股票。若是能够对这些特征进行简单搜索,那么工做就很容易,你不须要数据科学或统计数据。可是,若是这些特征并非全部数据固有的。

第二-

在询问了一些问题并设定一些目标后,你调查了数据世界,整理了一些具体数据,并了解了这些数据。在每一步中,你都学到了一些东西,如今你应该可以回答在项目开始时提出的一些问题。如今让咱们进入建设阶段。

5-制定计

第五步是制定计划。与早期的规划阶段同样,不肯定性和灵活路径应该是你的首要考虑因素。你如今对你的项目了解了更多,因此以前存在的一些不肯定因素已不复存在,但某些新的不肯定因素已经出现。把你的计划想象成一条通往城市的试验性路线,这条城市的街道正在不断建设中。你知道你想去哪里以及去往那里的几种方法,可是在每一个十字路口均可能有道路封闭、交通不顺畅或人行道坍塌和破碎。当你遇到这些障碍时,你必须作出决定,可是如今只须要一两个备用计划就足够了。

若是给了新信息或新约束或其余缘由,计划和目标可随时改变。你必须向与项目有关的每一个人(包括客户)传达重大更改信息。该项目的客户对项目的最终产品具备既得利益,所以应该让客户了解目标的任何变化。客户可能也对进度报告感兴趣,包括你到目前为止的初步结果以及如何得到它们,但这些是最低优先级。

关注客户关心的事情客户是整个项目的核心,它们但愿咱们实现什么,他们到底关心什么,知道这些很重要。若是他们的目标错误,及时的沟通很重要。在此阶段与客户会面的惟一必须结论是,你清楚地沟通新目标是什么以及他们批准这些目标。

你也能够考虑将你的基本计划传达给客户,特别是涉及使用他们的资源时,例如数据库、计算机和其余员工,他们会有兴趣了解你将如何以及使用它们的程度。

6-分析数据

第六步是数据的统计分析。统计方法一般被认为是进行良好数据科学所需技能和知识的近一半或三分之一,另外一大部分是软件开发,剩下的较小部分是主题或领域专业知识。

统计学的一方面是数学,另外一方面是数据。数学 ,尤为是应用数学,咱们须要经过一组工具提供统计数据,以便进行分析和解释。不管如何,数学一般不会触及现实世界,它彻底是基于逻辑并始终从一组假设开始,每一个数学陈述均可以用if开头(若是假设是真的),这能够将语句及其结论提高为抽象性。这并非说数学在现实世界中没用,偏偏相反数学而不是科学,更多的是咱们能够用来描述事物的词汇。其中一些可能在现实世界中与词汇表包含的单词同样,但不多有描述彻底正确。

然而,数学确实提供了统计使用的大量基础。统计分布一般由复杂的方程式描述,其根源在实际的科学意义上是有意义的。拟合统计模型一般是使用数学优化技术,即便假设项目数据所在的空间也必须用数学方法描述,描述可能仅仅是“N维欧几里德空间”。

除数学外,统计学还拥有一套专属的以数据为中心的技术。

·    描述性统计是一种一般直观或简单的统计数据,能够提供对数据的良好概述,不会过于复杂或难以理解。在某种意义上,描述性统计一般与数据保持接近。

·    推理统计本质上是从数据中删除的一个或多个步骤。推断是基于可测量的相关量来估计未知量的过程。一般,推论统计涉及统计模型,该模型定义数量,可测量和不可测量,以及它们彼此之间的关系。推论统计的方法能够从简单到复杂,也能够在抽象性和可解释性方面有所不一样。

·     统计建模是使用描述性统计系统后使用模型来帮助分析和解释与系统相关数据的通常实践。描述性和推论性统计都依赖于统计模型,但在某些状况下,模型自己的明确构造和解释起次要做用。

经过统计建模,主要关注的是理解模型及其描述的底层系统。数学建模是一个相关概念,它更强调模型构建和解释,而不是与数据的关系。统计建模侧重于模型与数据的关系,如下是你应该了解的统计建模中的一些重要概念:

·       线性、指数、多项式、样条、微分、非线性方程;

·       潜在变量;

·       量化不肯定性:随机性,方差和偏差项;

·       拟合模型:最大似然估计、最大后验估计、变分贝叶斯、马尔可夫链蒙特卡罗、过拟合。

·       贝叶斯与频率统计;

·       假设检验;

·       聚类;

·       成分分析;

离原始数据最远的是一组统计技术,一般称为黑盒方法。机器学习和人工智能的许多方法都是黑盒方法。若是你尝试将出如今数据集中的个体分类为几个类别,而且你应用机器学习技术(如随机森林或神经网络),过后每每很难说为何是以某种方式分类。数据进入黑匣子,分类出来,最后你一般不能解释二者之间究竟发生了什么。

 

原文连接 本文为云栖社区原创内容,未经容许不得转载。

相关文章
相关标签/搜索