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

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

数据科学目的生命周期

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

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

·       第二阶段是构建产品:从规划到执行,使用你在准备阶段学到的知识以及可以用的所有工具。

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

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

第一

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

1-设定目标

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

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

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

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

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

虽然目标源于项目本身的背景,但每个目标都应该通过基于数据科学的实用过滤器来实现。此过滤器包括以下几个问题:(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维欧几里德空间”。

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

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

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

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

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

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

·       潜在变量;

·       量化不确定性:随机性,方差和误差项;

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

·       贝叶斯与频率统计;

·       假设检验;

·       聚类;

·       成分分析;

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

 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis-plus 大数据量数据流式查询通用接口

文章目录一、案例需求二、使用案例:2.1. 自定义查询接口2.2. 逻辑处理类2.3. 调用案例2.4. 具体逻辑处理案例三、企业案例3.1. key名称获取3.2. 逻辑类测试3.3.最后一个批次处理方案四、 通用SQL预编译处理4.1. 业务场景4.2. xml形式4.3. 注解形式五、企业案例5.1. …

基于MaxCompute的数仓数据质量管理

声明 本文中介绍的非功能性规范均为建议性规范,产品功能无强制,仅供指导。 参考文献 《大数据之路——阿里巴巴大数据实践》——阿里巴巴数据技术及产品部 著。 背景及目的 数据对一个企业来说已经是一项重要的资产,既然是资产&#xff…

IP应用加速 – DCDN迈入全栈新篇章

4月11日,第七届"亚太内容分发大会"暨CDN峰会国际论坛中,阿里云资深技术专家姚伟斌发布了DCDN子产品IP应用加速(IPA)。IPA是基于阿里云CDN本身的资源优化,对传输层(TCP&UDP)协议进…

十年磨一剑,王坚自研的MaxCompute如何解决世界级算力难题

大数据时代,随着企业数据规模的急剧增长,传统软件已无法承载,这也推动了大数据技术的发展,Google、AWS、微软等硅谷巨头纷纷投入大数据技术的研发;而在国内,王坚也在十年前带领阿里云团队研发MaxCompute&am…

matlab和robotstudio,MATLAB与Robotstudio建立socket通信(初探)

前记:听一首《不想病》,歌词唱开头:做什么都不对,说什么都浪费,想什么我都可悲....;感觉就是不一样,好歌!哎,,,回到正题。好多事要去做,还得挤时间…

贾扬清:我对人工智能方向的一点浅见

阿里妹导读:作为 AI 大神,贾扬清让人印象深刻的可能是他写的AI框架Caffe ,那已经是六年前的事了。经过多年的沉淀,成为“阿里新人”的他,对人工智能又有何看法?最近,贾扬清在阿里内部分享了他的…

Node.js 应用故障排查手册 —— 类死循环导致进程阻塞

类死循环导致进程阻塞 楔子 在实践篇一中我们看到了两个表象都是和 CPU 相关的生产问题,它们基本也是我们在线上可能遇到的这一类问题的典型案例,而实际上这两个案例也存在一个共同点:我们可以通过 Node.js 性能平台 导出进程对应的 CPU Pro…

如何使用5个Python库管理大数据?

来源 | medium编译 | 武明利责编 | Carol出品 | CSDN云计算(ID:CSDNcloud)如今,Python真是无处不在。尽管许多看门人争辩说,如果他们不使用比Python更难的语言编写代码,那么一个人是否真是软件开发人员&…

如何把创建ECS(CreateInstance)作为触发器来触发函数计算

问题描述 函数计算虽然不支持直接集成到ECS的管控事件上,但是函数计算本身是支持日志服务作为触发器的。即可以配置日志服务中logstore里的增强日志作为触发器来触发函数计算服务中的函数,同时可以传递project 和 logstore的name以及beginCursor/endCur…

ORACLE添加字段、删除字段

文章目录1. 删除表2. 创建表3. 添加字段4. 删除指定字段5. 修改指定字段长度1. 删除表 DROP TABLE SYS_JOB;2. 创建表 -- CREATE TABLE CREATE TABLE SYS_JOB (JOB_ID NUMBER(30) NOT NULL,JOB_NAME VARCHAR2(30) NOT NULL ); ALTER TABLE SYS_JOB ADD CONSTRA…

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

像数据科学家一样思考:12步指南(上)《像数据科学家一样思考》 7-工程产品 下一步是建立统计软件。如果统计是分析和从数据中得出结论的框架,那么软件就是将这个框架付诸行动的工具。数据科学家必须为任何项目做出许多软件选择。如…

2020云计算,是四强争霸还是赢家通吃?

来源 | 架构师技术联盟责编 | Carol出品 | CSDN云计算(ID:CSDNcloud)近日,谷歌母公司Alphabet首次公布了谷歌云计算业务的数据,这一举动将云计算行业重新推到了聚光灯下。众所周知,全球云市场竞争激烈&…

加载程序中数据库账号密码加密策略wallet_04

文章目录1. 切换到oracle用户2. 创建wallet目录3. 创建wallet 账户4. 查看创建的wallet5. 创建wallet目录6. 查看证书7. 把证书拷贝到客户端8. 在客户端的sqlnet.ora里添加9. 客户端的tnsnames.ora10. 测试登陆11. oracle环境变量oracle服务端创建wallet 1. 切换到oracle用户 …

利用丁香园数据生成疫情分布地图(R语言)| 博文精选

来源 | CSDN 博客作者 | 万里写入胸怀间责编 | Carol出品 | CSDN云计算(ID:CSDNcloud)疫情牵动大家,除了做好分内工作,管好自己不给社会添乱,也就是只能持续关注疫情了。现在各大门户平台都上线了疫情实时地…

php连接数据库性能测试,无需安装配置,多操作系统支持数据库及性能测试

iBoxDB是一个NoSQL数据库, 有SQLite的特性,但拥有更强大的Replication功能,支持更多的数据类型,自动完成ORMSQLite是全球知名度Top 10的数据库之一, 在文章 中对 SQLite 与 MySQL进行了一个事务中1万次插入测试, 测试的结果是"sqlite3用时仅0.4s,mysql用时2.2s"iBoxD…

ORACLE 添加和查看注释

文章目录一、表二、字段一、表 #1.给表加注释 COMMENT ON TABLE SYS_JOB IS 任务调度表;#2.查看表的COMMENT SELECT * FROM USER_TAB_COMMENTS WHERE TABLE_NAMETABLENAME; 例如: SELECT * FROM USER_TAB_COMMENTS WHERE TABLE_NAMESYS_JOB;二、字段 # 1.给字段加…

一次开发、多端分发,阿里巴巴发布AliOS车载小程序

4月16日上海国际车展首日,阿里巴巴小程序有了新动态:正在研发基于AliOS的车载小程序。 AliOS展出车载小程序、AI HUD、AI驾驶舱等最新技术 作为阿里巴巴小程序在车载场景的重要延伸,AliOS车载小程序和支付宝、高德等小程序一样,将…

基于TableStore的海量气象格点数据解决方案实战

前言 气象数据是一类典型的大数据,具有数据量大、时效性高、数据种类丰富等特点。气象数据中大量的数据是时空数据,记录了时间和空间范围内各个点的各个物理量的观测量或者模拟量,每天产生的数据量常在几十TB到上百TB的规模,且在…

腾讯会议扩容背后:100万核计算资源全由自研服务器星星海支撑

疫情期间,远程会议及协同办公需求暴增。从1月29日开始到2月6日,腾讯会议每天都在进行资源扩容,日均扩容云主机接近1.5万台,8天总共扩容超过10万台云主机,共涉及超百万核的计算资源投入。 值得一提的是,腾讯…