TowardsDataScience-博客中文翻译-2016-2018-七十六-

111 阅读1小时+

TowardsDataScience 博客中文翻译 2016~2018(七十六)

原文:TowardsDataScience Blog

协议:CC BY-NC-SA 4.0

数据好奇 29.05.2017:上周的数据故事、数据集和可视化综述

原文:towardsdatascience.com/data-curiou…

欢迎回到我上周在网上注意到的数据驱动事物的每周综述。这是第 7 周(上周的帖子是这里,特别感谢走向数据科学发布帖子!).

每个星期,我都会剪辑、保存和收藏大量我在网上找到的关于用数据讲述故事的很酷的东西。以下是 5 月 22 日这一周吸引我眼球的内容。在典型的时事通讯中,我会包含一堆链接供你点击,保存起来以后再看(没关系,我们都这样做)。为了赶上下周的帖子,请在媒体上关注我的最新消息。我也是推特上的

好的阅读、分析和教程

上周有很多关于新闻编码、统计分析、如何处理数据和数据指南的思考。

这里有一个有趣的问题,来自 CJR 的 Quartz 公司的大卫·亚诺夫斯基(David Yanofsky)以记者的身份谈论编码(以及这个角色是如何被广泛误解的)。

这篇名为“统计曲解的七宗罪,以及如何避免它们”的文章应该是任何对统计不熟悉的数据记者(比如我)的必读之作。实际上,我把这个页面加入了书签,因为它有很多很好的提醒,告诉我什么时候应该对图表持怀疑态度,以及如何找出数据中的重大差异。

我真的很喜欢微软数据科学家 Bill Pardi 关于如何对数据进行创新的这篇博文。数据不应被视为固有的真实和有意义的。我们都把自己的一部分带入数据中,通过我们选择如何质疑它。

本周学术数据阅读:Storybench 的“我们从对数据记者、网络开发人员和交互式编辑的三年采访中学到了什么”。

MySociety 上周在 FOI 请求网站 WhatDoTheyKnow 上发布了一篇综述。像任何好的综述一样,他们为你挑选了最有趣的版本,并暗示要定期发布。如果是这样,这绝对是一份每周文摘,可以添加到你的阅读清单中,作为发现隐藏的数据驱动的故事的一种方式。

媒体作者和读者的好消息:平台现在支持嵌入式 Plotly 图表!诚然,Plotly 不是我最喜欢的图表库,但它仍然是一个充满希望的迹象,表明 Medium 正在变得更加交互数据界面友好。

2017 年数据新闻奖的入围名单于上周公布。这一周你所有的阅读、探索和惊奇(如果你还没看过的话)都被整理好了。不客气

Pudding.cool 上周发布了另一篇令人印象深刻的视觉散文。这一次,他们报道了美国的出生率,更具体地说,分析了数据,以揭穿某些“制造婴儿的神话”。如果你想看看海量数据集,在这里下载

脸书的数据处理人员上周公布了调查结果,地球上每个人之间的平均分离度从 6 缩小到了 3.5。这是一份令人着迷的分析,尽管遗憾的是大多数人(除非你在脸书工作)真的能够亲眼看到这种数据…

这篇关于来自 CHI 会议的 InfoVis 论文的博客文章从提交的顶级学术论文中提取了一些有趣的主题/亮点。这里有一条推文很好地总结了其中一篇论文:

这是本周我最喜欢的学术文章之一。“相同的统计数据,不同的图表”探讨了采用几乎相同的数据集并通过动画以完全不同的方式可视化它们的策略。

还好有人在检查英国保守党宣言背后的数据。保守的文件声称政府可以每年为所有小学生提供 6000 万英镑的免费早餐,但是来自教育数据实验室(他们做了一些伟大的工作)的估计数字接近 1 . 74 亿英镑。

Chart from Education Datalab.

NYT 发布了一份很好的数据互动,展示了川普的预算将如何影响政府的每一个部分。过滤功能很好,但我更希望在通过过滤放大到特定类别之前,看到一个大的、全面的变化。

这是英国《金融时报》关于欧洲最大的数据可视化实验室的一篇有趣的短文。

现在,我们来了解一些有用的操作方法、教程和工具:

Giuseppe Sollazzo 写了一个博客教程,展示了如何在 D3 中创建他的交互式投票摇摆查看器

Blog post here.

这里有一个关于如何在 Tableau 中构建牛眼图的不错的教程

以及来自 VizWiz 的关于如何在 Tableau 中创建虚线图表的快速视频教程。

新的 vis 工具提醒!我很兴奋地开始探索如何使用 ChartAccent ,这是一个专门研究数据驱动注释的新可视化工具。用简单的、可点击的拖放注释选项来思考。另外,您可以导出为 png 或 gif 格式。

我上周还发现了另一个名为 Datamatic.io 的 data viz 工具。听说过吗?似乎相对较新,是谷歌新闻实验室资助的数字倡议的一部分。使用一种拖放模板,这似乎是记者在故事中使用数据的一个好的切入点。该程序构建在 d3.js 之上,使用 Google API。但是不确定我是否喜欢这些图表的视觉风格…也许它们可以通过点击式下拉菜单来调整。

此外,开放数据宪章发布了一份利用数据打击腐败的开放指南

数据集和其他资源

随着他们新的开放数据门户,国民信托正向公众开放更多的数据。他们将发布空间数据集,用于基于 GIS 的制图软件。这是使英国的“新末日”地图成为可能的部分原因。

欧盟统计局刚刚发布了其新的互动可视化工具来预览欧盟各种衡量指标(健康、经济、旅游等)的数据。)视觉效果很好,但乍一看,我找不到一种简单的方法来下载被可视化的数据。不幸的是,这似乎是我发现的许多政府相关数据门户的趋势。

免费电子书提醒数据争论!

美国国会图书馆发布了迄今为止最大的数据集:2500 万份书籍、地图、手稿等记录。

那些对分析国内激进化感兴趣的人会发现这个数据集很吸引人。它包含“关于近 1500 名暴力和非暴力极端分子的背景、属性和激进化过程的去身份化个人层面的信息,这些极端分子在美国坚持极右、极左、伊斯兰或单一问题意识形态”。数据来自马里兰大学的一个团队。

Ben Walsh 宣布了一个新的免费课程,他正在通过 Knight Center 教授如何使用 Python 处理数据。

根据开放数据晴雨表,93%的政府数据集仍然没有开放。

还记得上周我链接到 Twitter 机器人 @actual_ransom 并说如果有人挖掘它的数据会很酷吗?有人做到了。来自 Quartz 的基思·科林斯(Keith Collins)使用区块链的 API 来跟踪支付,他已经在 github 上发布了数据(他也恰好是 Twitter 机器人的创始人,所以我不能因为激发了这些而邀功)。我还发现了这个实时网络抓取工具,以及迄今为止比特币支付总额的 viz

精酿啤酒和数据分析似乎变得一模一样:这是为啤酒爱好者准备的另一个数据集,这次来自 CraftCans。超过 2000 罐精酿啤酒的数据集可以很容易地复制到电子表格中,使用 Textminer 这样的工具,或者您可以使用这个脚本

数据可视化

哇,神奇的地图来了 atcha:这个互动显示谁拥有英格兰。想一个更好,更完整的末日审判书。

这是一张很好的地图,显示了目前在英国被搜索最多的政治问题。

嗯,这张来自 Nadieh Bremer 的 D3 织机图太棒了。

美国(许多)罪恶的快乐之一,现在分析和可视化的 538 年的礼貌。

我花了几分钟盯着这张地图的动画,我仍然着迷。

英国大选即将到来,这意味着时间来可视化历史选民投票率数据。

与许多选举一样,媒体对投票中的“摇摆不定”议论纷纷。BBC 的克里斯·库克的数据分析很好地展现了可能性。事实上,它是如此之好,以至于另外两个人把同样的数据变成了交互:一个条形图和一个挥杆图

溢出的数据显示了一个很酷的美国互动地图,显示了每个州人们结婚的次数。这里有很多有趣的见解,但是 DC 是最“单身”的州,超过 55%的人从未结婚。相比之下,阿肯色州可能对整个婚姻太感兴趣了:7.8%的人结过三次或三次以上的婚。

没人会说“嘿,我们很酷,很时髦!”就像 Vox 使用表情符号作为他们的 x 轴…尽管如此,经济前景的数据仍然很有趣。

我认为这是一个非常清晰、快速的数据的好例子。这是干净的,并立即讲述了新的美国预算提案的故事:保护美国免受所有外部邪恶势力的影响,同时削减内部项目的资金。

新闻媒体很快指出,特朗普选民可能是这些预算削减的最大输家。《华尔街日报》有一些展示结果的精彩地图。

我喜欢这幅来自 NYT 的动画图片,它展示了美国国家公园冰川融化的速度。当然,我指的是数据,而不是我们星球上的一些自然宝藏正在融化的部分。

很好地使用了面积图+预测线来显示 AHCA 法案下的未投保人数。也很清晰的注释。

本周,在爱莉安娜·格兰德的一场音乐会上,曼切斯特爆炸的消息传出后,世界再次为恐怖的景象而悲伤。新闻机构争相报道这一事件的背景。路透社通过更新其在欧洲的恐怖袭击互动时间表做到了这一点。

我认为这些数据即来自《每日电讯报》的阿什利·柯克是及时的和重要的。作为数据记者/分析师,我们必须在哀悼这场悲剧的同时,也将它放在更大的背景下。

上周就这样了。你看到我错过的东西了吗?或者你只是想给我一个数字点头/击掌?给我发微博或者在下面留言。下周会有更多的数据。

数据好奇 31.07.2017:上周的数据故事、数据集和可视化综述

原文:towardsdatascience.com/data-curiou…

欢迎来到我上周在网上注意到的数据驱动事物的每周综述。这是第 16 周(上周的帖子是这里是)。

每个星期,我都会剪辑、保存和收藏大量我在网上找到的关于用数据讲述故事的很酷的东西。以下是 7 月 24 日那一周吸引我眼球的内容。在典型的时事通讯中,我会包含一堆链接供你点击,保存起来以后再看(没关系,我们都这样做)。为了赶上下周的帖子,请在媒体上关注我的最新消息。我也是推特上的

好的阅读、分析和教程

上周似乎是有趣的阅读和资源重,数据集轻。让我们看一看。

James Densmore 在这篇关于网络抓取道德的博客文章中总结了一套很好的原则。因为抓取立法完全是另一回事,这些自我采用的规则为道德抓取者和网站所有者提供了一个框架,以鼓励更公平和更公正的网络抓取环境。

这篇由 Aran Lunzer 和 Amelia McNamara 撰写的互动文章通过使用一些漂亮的 d3.js scrollytelling,采用了一种超级元、深入的方法来解释直方图的 DNA。他们的数据可视化是基于 Jim Vallandingham 的的,所以你想要建立一个 Scroller ,他们的代码可以在 Github 的这里找到。

我真的很喜欢这篇关于从 10 亿个 Shazam 音乐识别中创建数据可视化的文章。生成的地图是使用社交应用程序中的地理数据的一个很好的例子。我也喜欢阅读作者如何创建同一张地图的不同版本(静态和交互式)。

艾琳·加拉格尔在推特上自我发布了一篇对虚假 antifa 账户的精彩分析,这些账户意在制造虚假新闻报道。利用 Gephi 可视化技术,她展示了一个围绕一个主要用户名 OfficialAntifa 的虚假账户网络如何产生足够的可信度,以至于多家报纸在网上文章中引用了它们。

既然我们谈到了自助出版的话题,那就来点无耻的自我宣传吧:我写了一篇关于的反思,这是我在从头开始编写、编码和设计一个长格式数据驱动功能时学到的东西。如果你在一个类似的领域,或者只是想要一些关于为网络编写故事/文章的见解,我希望你能从我的经历中找到一些有用的东西。

数据可视化大师安迪·基尔克上周发布了他的新图表制作者目录的测试版。交互式矩阵允许用户根据图表系列选择图表类型,然后点击进入大量不同的教程,学习如何在各种不同的程序(D3.js、Vega、Plotly、Excel 等)中构建该图表。).该目录有超过 200+的参考和计数,所以这绝对是一个网页书签,供未来使用。

Kirk 还发布了他对自今年 1 月以来数据可视化领域最重要的发展的 6 个月综述。许多条目之前已经出现在数据好奇(英雄所见略同)上,但有些对我来说是新的,所以来看看吧。

说到值得收藏的页面,我上周在 Twitter 上看到了一个新的网络项目,名为数据驱动的叙事模式。该网站展示了用数据讲述故事的不同叙事技巧,并将每张卡片分为五类:移情、参与、框架、心流和论点。每张数据卡都有基本原理,说明为什么这是一种展示数据的聪明方法,并举例说明了有效使用该技术的方法。

我很高兴看到这个博客如何使用 xkcd 漫画来解释希尔对数据科学家的标准。谁不爱 xkcd?

上周我最喜欢的文章是伊娃·康斯坦塔斯的这篇文章,标题是《T2 利用数据重建对媒体的信任》。在她与 Mozilla 的一次较长采访的摘录中,Constantaras 写道,她通过在发展中国家教授数据新闻学的经验,学到了“提供信息,让公民生活得更好”。在她的文章中,她向新闻界发出挑战,要求他们认真审视我们如何优先考虑数据新闻:与其把我们所有的数据资源都投入到报道民意调查和制作现场选举地图上,不如我们把更多的数据新闻集中在促进当地公共利益的问题上?

这篇关于为什么数据人种学家掌握着未来最重要的设计工作的文章有趣地审视了数据集背后的文化和偏见,以及我们如何克服它们。

我喜欢 NYT 在这篇互动文章中使用的数据标题:夏天越来越热。整篇文章有一些很棒的气候数据分析。

Daniele Palumbo 创建了一个最佳数据记者和#ddj 数据工作故事的 Twitter 列表。需要注意的一点是:

这篇中型文章解释了如何使用气泡图来探索复杂的数据集。 Shir Meir Lador 展示了如何使用这个包(可在 Github 上获得)以及 Python 中的 pandas、numpy 和 matplotlib 来帮助揭示人口普查收入数据的模式。

Mapbox 发布了一篇关于位置的 7 数据可视化技术的博客,很好地概述了可视化地理数据的不同选项。

消费者旅游公司 TripHappy 创建了一张世界地图,该地图仅根据提交到其网站的 17,000 多条路线绘制而成。该团队使用 Gephi 中的聚类分析,将同一旅行中经常访问的国家指定为相同的颜色。我认为这是一个商业公司充分利用他们的数据来讲述一个有趣故事的很酷的例子。看下面的地图,阅读它是如何制作的这里

Created by TripHappy

Data.world 为从事数据工作的数据记者和新闻编辑室开发了一些非常有用的工具。这个登陆页面很好地总结了专门为数据记者定制的工具。

数据集和其他资源

上周,我在 data.world 上发现了一个有趣的数据项目,探索党代表实际上代表了他们所属政党的人民有多好。自己探索数据,并通过发布查询和见解为项目做出贡献。

国家档案馆存有二战期间被送往集中营的日裔美国人的数据集。

看看这个来自 NBC 新闻的数据库:追踪特朗普对特朗普房产的访问。数据包括哪些物业被访问,以及该物业是否有高尔夫球场。到目前为止,总统每个月大约有 10 天会去他的房产。

博士生 Peter Bucchianeri 一直在分析影响女性候选人竞选美国众议院的因素。为了他的研究,他收集了一个从 1972 年到 2010 年众议院初选中女性候选人的数据集,其中包括候选人政党,地区人口统计,席位的在职状态等等。

当你需要证据证明你的工作很重要时,这里有一个很好的资源可以收藏:data . world 上不断增长的关于数据科学和开放数据的可分享事实和数据列表

数据可视化

《每日电讯报》通过让读者猜测某些经济结果背后的原因,很好地利用了“令人惊讶”的统计数据。

我认为 Martin Stabe 对手机地图的评论非常有趣。来自 NYT 的数据分析显示了伦敦提议的交叉铁路计划,包括一些详细的标注地图,显示了新线路的路线。但是当你为移动设备调整屏幕大小时,地图会翻转为垂直布局。

这张斜率图显示了随着食品和饮料价格的飞涨,委内瑞拉人饮食中的食物变化。

即将到来的日食激发了推特上更多的旋转地球仪和 gif 图片。这张来自《科学美国人》的照片显示了离你最近的日食。

我真的很喜欢看到这张并排组合的径向图,它显示了自 1980 年以来的气温异常。

以下来自 pudding.cool 的视觉短文讲述了为什么当机器人抢走你的工作时共和党会赢有一些出色的数据,即工作。我最喜欢的是长长的滚动气泡图,显示每项工作自动化的可能性。数据来自弗雷和奥斯本进行的关于工作自动化的流行研究。

Screenshot of bubble plot. Full story here.

上周就这样了。你看到我应该包括的东西了吗?或者你只是想给我一个数字点头/击掌?给我发推特或者在下面留言。

如果你喜欢这个每周综述,拍上一张 ❤️️ 或者与你的朋友分享。我也很想知道你最近在忙些什么,所以请联系我。下周会有更多的数据。

数据好奇:10 月份的亮点

原文:towardsdatascience.com/data-curiou…

这是我上个月在网上找到的最好的与数据相关的东西:值得阅读、探索、分析和学习的东西。

what I wish my workspace actually looked like

去年我开始了一项实验。每周我都会在网上(通常是通过 Twitter)找到并发布我最喜欢的数据驱动的故事、数据集和可视化。我的想法是这样的:如果我花半天时间在网上寻找视觉灵感,那么也许其他人也会从中受益。

在某种程度上,我认为这种预感是正确的。在我出版的 20 多个版本中,我从媒体读者那里得到了一些很好的反馈,并在此过程中储存了大量的创造性参考资料。然后我休息了一下…

现在又回来了!但是格式不同。《数据好奇》已经转变为每周一期的时事通讯,现在它在两件事情上更加平衡了:受启发的数据和学习的文章/教程。在这两种情况下,我通常都在寻找能引发有趣问题的东西。

我们现在有一些问题,但为了纪念一个新的开始,我想收集一些 10 月份的顶级亮点作为样本。如果你想收到完整的每周版,在这里注册(一旦对你不再有用就退订)。

开始了。

要读的东西

关于数据的文章和趣话

了解数据和数据驱动有区别吗?

Uzma Barlaskar 认为可以。在她文章的结尾,我想我同意她的观点。数据应该是众多变量中的一个,而不是唯一的变量。

[## 为什么您应该了解数据而不是数据驱动

你为你的团队/组织建立的决策框架对其成败至关重要…

hackernoon.com](hackernoon.com/why-you-sho…)

数据可视化是精确的还是可视化的?也就是说,所有的东西都应该是线条图还是条形图?

我重新发现了 Andy Cotgreave 关于 data viz 社区内不可避免的批评的精彩文章。他用一个普遍规律很好地总结了这一点:

“创新可视化存在的时间越长,有人说它应该是线形/条形图方法的可能性就越大。”

如此真实。但是美在让人们参与到数据中起着重要的作用。关键是找到平衡。

[## 数据可视化批评的必然性

Tableau Software 的 Andy Cotgreave 的这篇文章探讨了数据可视化的核心目的:目标是…

www.infoworld.com](www.infoworld.com/article/304…)

WTF 连是机器学习?

可以问——大多数周我还是会问。新技术的问题在于它们被术语所困扰。把这篇文章看作是一篇介绍性的、专业术语的解释文章。

“机器学习算法的目的是选择最合理的地方在你的数据中放置围栏。”

[## 机器学习——皇帝穿衣服了吗?

深入了解机器学习的工作原理

hackernoon.com](hackernoon.com/machine-lea…)

要探索的事物

启发的数据可视化

社交媒体上的#MeToo 运动真的能激发有意义的变革吗?

这种可滚动的数据 viz 试图以一种美丽的方式发现社交媒体活动的影响。

[## 蛋氨酸

meto omenum | MeToo 运动的视觉分析|社交媒体能成为促进社会变革的工具吗?大网膜…

www.metoomentum.com](www.metoomentum.com/)

美国的建筑都在哪里?

给你。NYT 打破了地面数据,并在一系列漂亮的黑白互动地图上绘制了每一个数据。

[## 美国每栋建筑的地图

使用这款独一无二的交互式地图探索您的社区。

www.nytimes.com](www.nytimes.com/interactive…)

在过去的 12 年里,subreddits 有哪些发展和变化?或者:互联网在说什么?

《流动数据》的内森·尤(Nathan Yau)对微博评论的增长进行了全新的分析。

[## 子网格的增长

流动数据

flowingdata.com](flowingdata.com/2018/10/30/…)

人们在美国国家公园逗留多长时间?

这种夜间游览公园的探索绝对是美丽的。我喜欢这种数据可视化的颜色选择,以及捕捉数据中多个变量的径向线图。

[## 星空下的夜晚|乔丹·文森特

探索在美国国家公园过夜,发现令人惊讶的模式。

jordan-vincent.com](jordan-vincent.com/night-under…)

要分析的事情

数据集、开放数据和 API

有多少女性获得过诺贝尔奖?

NYT 最近发表了一篇文章,纪念第三位获得诺贝尔物理学奖的女性。深入这个数据集,进行一些有新闻价值的分析。

[## 诺贝尔奖获得者 sya 数据集

1901-2016 年诺贝尔奖获得者

数据世界](data.world/sya/nobel-p…)

美国宇航局已经发现了多少颗行星,哪些可能适合居住?

这个来自行星可居住性实验室的数据集包含了你想要的所有信息。你也可以查看他们关于可能适合居住的行星的页面……这可能会产生一些有趣的视觉效果。

[## PHL 系外行星目录-行星可居住性实验室@ UPR 阿雷西博

行星可居住性实验室(PHL)是一个致力于行星可居住性研究的虚拟实验室

phl.upr.edu](phl.upr.edu/projects/ha…)

英国不同职业的平均生活满意度如何?

《何为幸福》贴出了一份按职业划分的生活满意度分析。最令人惊讶的发现?神职人员是最幸福的,尽管他们的收入远不及金融专业人士。你可以在这里下载有关职业名称、平均满意率和年薪总额的数据,以作进一步分析。

[## 不同工作中的幸福感是怎样的?新数据、分析和案例研究

工作关系到我们的幸福,我们知道经济活动是生活满意度的主要驱动力之一。什么…

whatworkswellbeing.org](whatworkswellbeing.org/blog/whats-…)

哪种类型的书在 NYT 畅销书排行榜上停留时间最长?

热心读者?深入研究这个从 2011 年到 2018 年的畅销书数据集,找出畅销书中反复出现的趋势。

[## 《纽约时报》2011 年至 2018 年畅销书-提丰数据集

typhon 正在使用 data.world 与世界分享《纽约时报》2011 年至 2018 年的畅销书数据

数据世界](data.world/typhon/new-…)

营养最丰富的食物是什么?

这个来自美国农业部的综合数据库包含了生的、加工的和准备好的食物的营养信息。对相关的食物种类和营养成分的分析会很有趣。

[## 美国农业部国家营养数据库标准食品原料、加工食品和预加工食品的成分

自 1992 年以来,美国农业部营养数据实验室(NDL)网站一直以电子方式发布最新数据

data.nal.usda.gov](data.nal.usda.gov/dataset/com…)

要学的东西

教程和演练(通常与 Python 相关,但不总是如此)

如何开始用 Python 构建聊天机器人?

聊天机器人风靡一时。但是,您不必具备全栈数据科学家的所有技能才能开始。只是一些基本的 Python 和 NLTK。

[## 用 Python 从头开始构建一个简单的聊天机器人(使用 NLTK)

Gartner 估计,到 2020 年,聊天机器人将处理 85%的客户服务互动;他们已经…

medium.com](medium.com/analytics-v…)

在 Python 中进行分析之前,如何快速清理数据集?

"丢掉那些糟糕的数据,就像奥巴马丢掉麦克风一样."乔治·赛义夫为你提供了一个很好的关于用熊猫清理数据的介绍教程。

[## 清理数据的艺术

像奥巴马放弃麦克风一样放弃那些糟糕的数据

towardsdatascience.com](/the-art-of-cleaning-your-data-b713dbd49726)

如何开始使用散景制作交互式图表?

如果你是从零开始,这个来自 Quant Institute 的教程是一个很有帮助的开始。

[## 使用 Bokeh 的 Python 数据可视化,用于算法交易者和量化者

Python 数据可视化是数据科学家的关键职能之一,而解码可视化信息是一项重要的工作。

www.quantinsti.com](www.quantinsti.com/blog/python…)

我想学习自然语言处理…但是我该如何开始呢?

这是我发现的深入学习一些 NLP 方法教程的最佳起点之一。它包括情感分析、标记化、词性标注等资源的链接。另外,它是由 IBM 自然语言理解团队的一个家伙写的,所以看起来是合法的。

[## 如何成为 NLP 专家

TL;DR——按照我列出的步骤来学习 NLP

blog.goodaudience.com](blog.goodaudience.com/https-mediu…)

10 月份到此为止。想获得每周的灵感和资源,请点击这里获取每周一期的《数据好奇》,并在 Twitter 上向问好

数据,数据

原文:towardsdatascience.com/data-data-1…

通过对荷西·德克勒音乐和歌词的统计探索,对他的世界进行身临其境的分析。

网上不乏关于数据分析所揭示的见解的酷文章,在这些文章中,像我这样的音乐发烧友可以满足我们对我们最喜爱的艺术家的随机事实的渴望。尽管前面提到的文章背后的数据英雄已经广泛覆盖了过多的艺术家,但同样不能说西班牙语(或唱歌?)音乐人。

当选择某人的作品进行分析时,这个问题很早就出现了。从那时起,选择荷西·德克勒的音乐的决定几乎是自动的。我最喜欢的艺术家之一,乔治的音乐来自乌拉圭;但是整个拉丁美洲都有这种感觉。从阿根延到加勒比海的民间音乐节奏和从莱昂纳德·科恩到卡耶塔诺·费洛索的影响混合在一起,他的职业生涯跨越了二十多年,他的专辑也越来越好。他的歌词被称赞为非常有文化和诗意,他的散文有时会变得非常独特。我希望通过写这篇文章,他的一点点音乐能传到非西班牙人的耳朵里,这样他们就能享受它,也许甚至像我一样。

Most probably my favorite song by him (but really, who can decide?)

技术

整个项目是用 Python 3 开发的。 我用 pandasBeautifulSoupspot ipy(Web Spotify API 的惊人 Python 包装器) Genius APIWeb Spotify API 创建并清理了数据库。

此外,当我放弃时,我用谷歌工作表和 MS Excel 对它们进行了修改并给出了最终的调整。

关于数据分析和数据可视化,我用了熊猫NumPyMatplotlibSeabornscikit-learnSciPy自然语言工具包wordcloudpy-lex 。整个项目都是用 Git 版本化的,它可以在我的 Github 账户中公开获得。

如果你想知道一切是如何计算和编码的,如果你想看到探索的细节而不仅仅是亮点,如果你想克隆或派生项目,下载数据库或简单地运行代码只需点击这里访问资源库。

数据提取、创建数据库和&数据清洗预处理

就像每个数据科学家/分析师都知道(或者应该知道)的那样,获取数据并不总是容易的。然而,有一点是绝对肯定的,那就是耗时。如果我们可以谷歌*“Jorge drexler 数据库”*并且通过一些现代奇迹在 3 分钟后完成一次漂亮的清洁,我们的生活会变得多好。硬盘上的 csv 文件。

回顾过去,这是我开始犯菜鸟错误的时刻。我没有计划我的最终目标是什么,以及达到目标的最佳途径是什么。这开始只是一个用 Matplotlib 和 pandas 鬼混的小项目,它经历了不同的阶段和想法,直到我专注于这个特定的项目。当我决定哪种探索是我想要进行的时候,我已经做了一些开发,我必须把它们引向我想要的方向。我应该事先问自己的问题是:我需要什么样的数据?我能在哪里得到它?会是哪种格式?怎么才能轻松改造?如果我从源头 A 得到它会有多干净?源 B 是否会更好并节省我的时间? 话虽如此,我最终还是到达了我需要的地方,然而肯定有更容易、更直接的方法可以节省我很多时间。

首先,我使用 Genius API 进行数据提取,以获取 Jorge 的所有歌词。API 给你的是属于艺术家的每一句歌词的 url,而不是真正的歌词。因此,一些 http 请求,美丽的汤,并删除了大量的 < div > s 之后,我最终得到了一个包含重复,翻唱,现场版本和一些根本不属于 Jorge 的歌曲列表。

在删除了很多没用的功能和很多葡萄牙语的歌(?),我开始手动丰富数据(好吧,不是真的手动,而是通过使用 Python 脚本),给每首歌添加年份和专辑。

随着时间的推移,我决定也从 Web Spotify API 获取数据。这一刻,我意识到如果我一开始就决定这么做,我会更快乐。Spotify 的数据有序、整洁,不包含重复和垃圾歌曲。他们没有歌词,对吧,但有一个包含专辑中所有歌曲的数据框架会让一切变得更容易。在去除了无用的特征后,我决定了研究扩展的规则和定义。

  • 这项研究只集中在官方唱片发行上:没有合辑,也没有现场专辑。分别是:拉鲁兹克萨贝罗巴尔 (1992 年)雷达 (1994 年)瓦伊文 (1996 年)卢伊夫 (1997 年)弗龙特拉 (1999 年)海洋 (2001 年)生态 (2004 年) 12 段
  • 没有独立发行的单曲或歌曲。乔治的歌曲没有出现在各种艺术家的专辑中,也没有出现在其他艺术家的专辑中。
  • 没有其他语言的歌曲。这就淘汰了高&干的版本在 12 segundos de oscuridad我一点都不担心的版本在 Amar la trama。
  • Jorge 在乌拉圭独立发行了他的前两张专辑,然后在 Virgin 下发行了他的第三张专辑,这张专辑得到了更广泛的发行。这张专辑中有很多歌曲重复出现,如偷窥狂伊甸园 & 月光女神。其中一些被重新录制。虽然我跟踪了这个事实,但在分析中我并没有考虑到什么特别的地方。分析所有专辑它们最初包含的歌曲,不考虑重复。

在这一点上,我放弃了 Python 和 pandas 来继续我的使命,开始转向 MS Excel,然后 Google Sheets 用 Spotify db 加入歌词。令我惊讶的是,微软和谷歌都需要加强他们的 csv 管理解决方案。 MS Excel for Mac 不支持 Unicode!如果我得到的每一个“é”或“ó”都被转换成像“o”或“o”这样的废话,我怎么能分析西班牙语歌词呢?。另一方面,将 csv 导入和导出到 Google Sheets 的选项非常有限。

走完这条漫长曲折的路,我终于准备好开始分析了。

数据分析

第一个重点放在了字数上。

一旦西班牙语的停用词被删除(还有一些非感官术语,如合唱中的“na”),我就找到了乔治歌曲中最常用的词。

使用最多的 5 个词是“mar”、“tiempo”、“noche”、“luna”和“corazón”;分别表示“海”、“时间”、“夜晚”、“月亮”和“心”。

对于已经知道他的歌的人来说,仅此一点就说明了很多。让我们更上一层楼,把这五个字当作一个主题,在听他的歌的时候呈现出来。这样我们就可以分析随着时间的推移,它们的用法是如何变化的。让我们看看他所有的专辑。

来看看!有趣的见解!

  • 90 年代,他喜欢谈论大海(“mar”),但随着时间的推移,他变得厌倦了。
  • Vaivén (1996)中,心脏(“corazón”)作为一个几乎全新的主题出现。之后它再也没有恢复领先。夜(“noche”)也是存在的。这会是一个令人心碎的记录吗?
  • 在新千年的第一个十年,他没有太多地重温他最喜欢的主题。
  • Bailar en la cueva (2014)超级聚焦月亮(“露娜”)和黑夜(“诺切”)。
  • Salvavidas de hielo (2017 年)是关于时间的流逝(《时代报》),这是他从 Frontera (1999 年)和《夜晚》(noche)中恢复的趋势。

我们可以把这些图表变成一种不同的视觉效果,来证实我们从上一个图表中得到的结果,也许会发现一些新的东西。

  • 在这个图表中,我们实际上可以看到他最流行的主题在 00 年代的低谷。
  • 《月亮》(luna)在《T4》(2014)中创下历史新高。
  • 时间(' tiempo ')在 Frontera (1999),海(' mar ')在 Llueve (1997)和夜晚(' noche ')在他的最后一张专辑 Salvavidas de hielo (2017)中达到顶峰。

如果我们分析他在歌曲中的用词量是如何随时间变化的,就会发现一个有趣的趋势。最上面是他 2014 年的专辑 Bailar en la cueva 超过 2400 字。

尽管并不单调,但曲线的价值确实在增长:随着时间的推移,他倾向于在歌曲中加入更多的词。

哪首歌的词比较多?以下内容:

**Guitarra y vos 以近 400 字高居歌曲字数榜首。**以下是拉卢纳·德·拉斯奎(367)贝拉·恩拉·库埃瓦(359)运动 (331)。

Yo, check that rappin’

如果没有一个漂亮的小单词云,字数统计部分是不完整的:

Most popular 500 words in his songs. The size indicates ranking.

词汇和抒情密度

在处理严格的内容分析的情况下,词汇密度的概念被认为是内容词的数量占总词数量的比例的度量——一个范围从 0 到 100 的值。一般来说,如果一篇文章的词汇密度越大,它的内容就越重——词汇密度低的文章更容易理解。

根据维基百科的公式如下:

其中 Ld 是被分析文本的词汇密度, Nlex 是被分析文本中词汇单词标记(名词、形容词、动词、副词)的数量,N 是被分析文本中所有标记的数量(单词总数)。

我不知道这有多正统,但是根据 Myles Harrison 对电台司令 T35 惊人的数据分析,听起来这只是非停用词占总数的比率——或者至少可以用它来近似。让我们看看结果如何。

所以,看看这个!随时间减少的趋势很大。从 1992 年的 T2 到 2017 年的 T4,词汇密度实际上是下降的。 Frontera (1999)在词汇密度上似乎是一张相当一致的专辑,而 Sea (2001)则是遍地开花。在得出更多结论之前,让我们继续。

现在,迈尔斯发明了另一种度量标准。基本上抒情密度就是单位时间内的字数。信息传播的速度有多快?你一秒钟能表达多少语言单位?分布如下所示:

这太神奇了。让我们回顾一下过去的经验来分析这个问题。

  • 抒情密度的趋势随着时间和专辑而上升。
  • 还记得单词数显示出相同的趋势吗?它们是线性相关的..所以这里的相关性肯定很高。不过,有趣的是词汇密度有相反的效果:随着时间的推移,乔治写的歌词内容密度越小,他唱得越快。他的歌词越容易理解,他唱得越快。可能是这样吗?

现在,如果我们将它们相互对照,会发生什么呢?

通过检查这个小图的异常值,我们可以看到:

  • 就像我们之前说的,像 MovimientoLa luna de Rasquíguitar ra y vosyPongamos que hablo de martínez这样的歌曲带有很大的抒情密度,而词汇密度相对较低。这意味着他们每秒钟吐出很多单词(每秒钟超过 1.4 个单词!)虽然这些歌词的内容并不少见:它们既不容易理解,也不复杂。
  • “格格”、 Me haces bienMacarena y el espejo 这几首歌的歌词含义丰富,但唱得相当慢。
  • Aquiles,por su talon es AquilesSea 唱的比较慢,含率也不是很大。基本上是德雷克斯勒作品中最容易理解的歌曲。

May not be a specially difficult song to comprehend, but it certainly is difficult not to enjoy ❤

情感分析

好了,现在我们有了一些比计算单词更有趣的东西。根据维基百科的说法,情感分析是使用自然语言处理、文本分析、计算语言学和生物统计学来系统地识别、提取、量化和研究情感状态和主观信息。

在这种情况下,我使用了一些非常好的资源来完成这项工作。首先也是最重要的, NRC 单词-情绪联想词典(又名 EmoLex)

**NRC 情感词典是一个英语单词列表,以及它们与八种基本情感(愤怒、恐惧、期待、信任、惊讶、悲伤、喜悦和厌恶)和两种情绪(消极和积极)**的关联。注释是通过众包手动完成的。最明显的问题是,至少对我来说,Jorge 的歌词不是英文的。EmoLex 还发布了自己的词典,通过谷歌翻译(Google Translate)自动翻译成 100 多种语言。 这是 肯定不是 100%准确的 并且会让我的结果有点偏离,但最终足以获得一些更有趣的见解。理想情况下,我会有一个愿意众包西班牙语注释的团队…也许下次吧:)。

py-lex 是一个很棒的 python 库,可以解析这个词典。

检查所有歌曲中的所有情绪,然后汇总,我想出了一个可视化的解决第一个也是最明显的问题:乔治的歌曲感觉如何?

Jorge 的歌曲表现出很多期待和悲伤。这可以被看作是渴望、兴奋、渴望、忧郁、悲伤、忧伤、荒凉或者仅仅是单纯的悲伤。对于听过他音乐的人来说,毫不奇怪,这些歌曲很少表现出愤怒或厌恶。

对于情感,他的歌曲也是积极的多于消极的。

让我们来看看是哪些词引发了每一种情绪和观点。

  • 母亲带着信任、喜悦和期待出现。标记了积极和消极。
  • Sol(sun)似乎与积极情绪有关:惊讶、信任、喜悦、期待,而且只被标记为积极情绪。
  • Pena(怜悯、羞耻)出现在负面情绪中:恐惧、悲伤、愤怒,这只是一种负面情绪。

这种情绪如何在专辑中表现出来?哪一张专辑最悲伤,哪一张更令人期待?

  • 他最悲伤的专辑是 1996 年的《Vaivén》。我很确定那是《第 12 集》,事实上……至少那是我悲伤时喜欢听的。德雷克斯勒在西班牙录制了《Vaivén 》,得到了安达卢西亚音乐传奇人物华金·萨宾娜的指导,而他则一跃将自己完全奉献给了音乐,放弃了行医。也许他渴望回家?
  • 1997 年的《Frontera》和 2017 年的《T2》中的期待值最高。

让我们用另一张图来看看这些年来是如何演变的。

  • 嗯,可以肯定地说,除了第 12 集中的颠簸,Jorge 已经不那么悲伤了。那张专辑中的大部分歌曲都是他在 Cabo 波洛尼奥时创作的,那是一片美丽的土地,位于乌拉圭,没有电,夜空繁星点点。12 segundos de oscuridad (12 秒的黑暗)指的是每 12 秒扫过城镇的灯塔,它周期性地打断黑暗。与前妻分居后,他把自己关在那里作为疗伤的手段。听着像 Soledad(孤独)或 Sanar(治愈)这样的歌曲,你可以感觉到歌手开始意识到他现在是孤独的,时间会治愈他破碎的心。这也许是信任在这里达到顶峰的原因:尽管他很难过,但他对事情会变好的事实有信心

“It’s done. I’ve already let it tarnish, the illusion that living is painless” Ouch, Jorge! Right in the feels!

  • 然而,他的快乐在《Eco》中达到顶峰,并且再也没有从那次挫折中恢复过来。
  • 愤怒的高峰出现在 Vaivén 和 *12 segundos de oscuridad。*他最悲伤的专辑。
  • 负面情绪(愤怒、悲伤、厌恶、恐惧)似乎有某种关联。让我们深入了解一下。

为了检查相关性,我在 Seaborn 中使用了 pairplot 工具,并计算了每一对变量的皮尔逊相关系数,这是两个变量 XY 之间线性相关性的度量。范围在+1 和 1 之间,其中 1 表示完全正线性相关,0 表示没有线性相关,1 表示完全负线性相关。

ρ = 0.62 and ρ=0.55 are definitely correlation degrees high enough to take into account.

和我第一次怀疑一样,悲伤和愤怒是高度相关的。也是愤怒和厌恶。 让我们快速重复上次的情绪曲线图,单独欣赏它们的曲线形状。

事实上,在 Jorge 的歌曲中,可以相当准确地说,悲伤与愤怒和厌恶相伴而生。

现在,让我们直接进入积极情绪和消极情绪。

我认为这是相当安全的,在这一点上,再次确认,乔治是一个积极的比消极的家伙。

  • 他的积极峰值出现在 1999 年的 Frontera,而消极峰值出现在三年前的 vaivén(1996 年)。
  • 积极度的历史最低点在 2010 年的 Amar la trama。
  • 他消极情绪的最低点发生在职业生涯的开始和结束。(好吧,不是结尾…让我们希望他继续创作优美的音乐)
  • 负面多于正面的专辑:vaivén(1996)12 segundos de oscuridad(2006)Amar la trama(2010)。

音乐分析

我能够提取每首歌曲的音乐特征。 要查看每个功能的详细描述,请访问。 不过,需要声明:所有这些都是使用机器学习或信号处理技术计算出来的。这都是自动化的,所以远不是 100%准确。我通过检查唯一值和异常值进行了预分析,发现了一些小错误,如 Asilo 不在 5/4 拍号中,或者 La plegaria del paparazzo 被标记为 192 的速度,而实际上它是该值的一半。

豪尔赫使用两种类型的时间签名。小节中有三拍的和四拍的。最有可能的是 3/4 和 4/4,但 Spotify API 不提供时间签名的分母;所以没有办法知道哪个音符值相当于一拍(是啊…就是这样:用耳朵一个一个地检查。)

Eco is definitely a trend changer in the distribution of time signatures.

  • 你会在他的每张专辑中找到一首三拍歌曲,除了生态专辑。
  • 在 Eco 之前,他所有的专辑都包含至少两首 3/4 或其他三拍拍的歌曲。
  • 在 Eco 之后,他所有的专辑都只包括其中的一张。

他歌曲的平均速度是 121 bpm。 **来自的杜兰特是 Jorge 最快的歌曲,**拥有 178 bpm 的急速节奏。他最慢的是来自 segundos de oscuridad 的赫曼娜·杜达 T38,节奏为 64 bpm。

Slow but sure

让我们来看看他的专辑中节奏是如何分布的。

  • 迄今最快专辑:从 2001 年。这张专辑包含了最乐观的歌曲。
  • 其他一切感觉都差不多。所有的歌曲都分布在 120 bpm 左右,一些节奏较慢的民谣散布在他的每张专辑中。

让我们将之前获得的一些见解与我们接下来的分析结合起来。

还记得以下内容吗?抒情密度的趋势随着时间和专辑而上升,他唱得越来越快。字数也是,因为它与抒情密度相关。词汇密度有相反的效果:随着时间的推移,Jorge 写的内容越来越少,歌词越来越容易理解。

现在曲目长度,歌曲的时长,随着岁月慢慢减少。

随着时间的推移,歌曲越来越短,但歌词却越来越长!

而且,他唱得越快,歌曲越短,越容易理解。

乐理中,一首乐曲的是一组音高,或音阶,它们构成了古典音乐、西方艺术和西方流行音乐的基础。

该组具有一个主音音符及其相应的和弦,也称为主音主音和弦,它提供了一种主观的到达和休息感,并且还与同一组的其他音高、其相应的和弦以及该组之外的音高和和弦具有独特的关系。

  • 有些键在他的专辑里从来没有弹过。Eb 和 Ebm,G#和 G#m,Bbm 都是吉他弹奏中处理起来不是特别舒服的键。
  • 另一方面,G 和 A 是最受欢迎的。还有 E、D、c,他们 5 个人和吉他手超级友好。

是的,你猜对了。让我们检查一下专辑中按键的分布。

  • Frontera 是 keywise 最单调的专辑。只有 4 把钥匙。4 首 G 调歌曲,4 首 D 调歌曲,2 首 A 调歌曲和 1 首 f 调歌曲。这无疑是最容易被吉他接受的专辑。
  • Eco 几乎从不重复调,D 中的两首除外(guitar ra y vos&Transporte)。奇怪的是,这些歌都不是乔治最喜欢的调子。
  • 其余的专辑都很平衡。

根据我们在 Spotify 的工作人员的说法,是一个从 0.0 到 1.0 的量度,用来描述一首歌曲所传达的音乐积极性。高价曲目听起来更积极(例如,快乐、愉快、欣快),而低价曲目听起来更消极(例如,悲伤、沮丧、愤怒)。

所以,现在让我们试着纯粹从音乐方面来分析快乐和悲伤

这就是了。这是音乐上最快乐的 5 首歌。

Un lugar en tu almohada、Mandato 和 Horas 是 听起来 更快乐的三首歌。

在擂台的另一边,这是音乐上最悲伤的 5 首歌。

12 segundos de oscuridad、Llueve 和 Organdí是 3 首听起来更悲伤的歌曲。

Hearts exploding with joy

现在,让我们来点更有趣的。分析完,我们来让音乐和歌词相遇。

在这篇令人惊叹的文章中,RCharlie 创建了一个名为的指标,将它们完美地结合在一起,并找出哪首是电台司令更令人沮丧的歌曲。我鼓励每个人都去看看。

Valence is Spotify’s valence value, sadness_per is the percentage of sadness in each song (which we can calculate from NRC sadness and Ly_d is lyrical density.

来,让我们为乔治的歌做同样的事!我将重新缩放它,使它从 0 到 100。

这就是了。当你把歌词和音乐结合在一起时, 12 segundos de oscuridad 是 Jorge 最压抑的歌曲。

Un lugar en tu almo hadaBienvenidaDon de fluir 都是 Jorge 最开心的歌!

Gloomy, right?

现在,为了压轴戏,让我们来看看每张专辑的忧郁指数表现如何。

Here you have them, ranked.

尽管困难重重,但显然最令人沮丧的专辑是 Llueve

最快乐的是 EcoSea ,所以现在你知道当你想让情绪高涨时该听什么了。

结论

乔治已经在《科学之路》中说过:“创作歌曲不是一门精确的科学”。分析它们也不是。虽然这项研究很广泛,但在某些地方缺乏科学的严谨性。让这个不全面的列表作为免责声明/道歉:

  • Spotify 对音乐功能的衡量并不总是准确的。
  • 字数统计取决于把它们转录成天才的高尚的人。如果我们想要精确,就需要建立一个标准。我们算合唱的重复吗?如果抄写者很懒,没有抄写最后一段合唱的次数,会怎么样?如果一个词在同一首歌中重复无数次(像*Estalactitas】*中的“tiempo”)是否和它出现在多首歌中一样算?歌曲中唱诗班唱的词或者次要声部唱的词算吗?
  • 英文歌曲没有被考虑在内,但翻唱却被考虑在内,尽管这些歌曲不是豪尔赫创作的(比如最初由阿纳尔多·安图内斯创作的迪士尼乐园)。
  • 情感分析是在一个不是由人类工作,而是由谷歌翻译的基础上进行的。

考虑到所有这些,我确实学到了很多关于数据分析及其所有的优点,如处理从纯代码生成可视化,创建和清理数据库以及项目规划的良好实践。

我也希望这个项目能够帮助乔治的作品获得普遍的关注。不是因为他需要(我觉得他已经挺大了);而是因为他的音乐一定会给你的生活带来更多的微笑!

我把这个项目献给他,以此表达我对他的感谢。

¡Muchas gracias!

参考资料:

使用 Genius API 和乔纳森·埃文斯的 NLTK 对苏菲洋·斯蒂文斯进行量化

对带有一些 TF-IDF 的熊猫的文本分析(再次)

各就各位:迈尔斯·哈里逊的《电台司令》歌词的可视化和内容分析

Preetish Panda 对泰勒·斯威夫特的歌词进行数据可视化和分析

钳工快乐 by 车工

数据,无处不在的数据和大量的饮料(向塞缪尔·泰勒·柯尔律治道歉)

原文:towardsdatascience.com/data-data-e…

Photo © Michael Factor

说这是数据时代是老生常谈;社交数据、科学数据、医疗数据、智能家居数据、汽车数据和物联网(I0T)数据都在以惊人的速度产生。我们有海量的数据。但是像古代水手一样,仅仅获得这些数据是不够的。没有适当的处理,这些数据不能解渴,不能成为信息。我们需要将这些数据从盐水变成香槟,从仅仅保存数据转变为使用数据来推动社会和商业价值。在这篇博文中,我描述了从数据到价值的转变的几个云构建模块。我们还将在 3 月 19 日周日上午的 IBM 互连研究日以及随后的会议上发表演讲。

许多此类数据是在传统企业数据中心之外创建的,甚至更多此类数据存储在云中。云中使用了一系列数据存储,包括 NoSQL 数据库和对象存储。这些商店是作为现成的多租户服务提供的。例如,对象存储是可伸缩的、易于使用的、对开发人员友好的、高弹性的和成本有效的存储库,适合于存储由关键字(URI)标识的中型到大型实体。 IBM Cloud Object Storage ,在美国跨区域部署中可用,可以经受多次物理资源中断,包括整个区域的中断,而不会丢失任何数据,并且可以持续、不间断地访问任何成功存储的数据。NoSQL 云数据存储为较小的“对象”提供了更高性能、可扩展、易于使用、开发人员友好的存储库。 IBM Cloudant 是存储为 JSON 文档的高速数据的理想解决方案。

虽然我可以诗意地讲述云数据存储的好处,尽管没有塞缪尔·柯勒律治·泰勒那样的口才,但这不是我的目的。我的目的是谈一谈从数据中获取价值。简单地将这些数据放入对象存储或 NoSQL 数据库只是故事的一部分,是故事的必要和关键部分,但远非故事的全部。除了法规约束之外,存储数据的唯一合理理由是对数据做一些事情。为了处理数据,我们需要能够将存储数据的服务和处理数据的服务结合在一起。这篇文章是关于把存储在云数据存储中的数据海洋变成香槟

Data data everywhere and lots of drops to drink. From Flicker. www.flickr.com/photos/lejo…

尽管仅仅存储原始数据没有多大用处,但我们确实需要将高质量的数据存储到云数据存储中,以便从中获得价值。例如,如果我们从智能家居获取读数,这些读数通常会很小。虽然更新的数据可以保存在 NoSQL 存储中以允许快速检索,但是这些记录应该被一起批量处理并存储在更具成本效益的对象存储中以用于更长期的历史目的,例如用于机器学习的训练数据。这些数据通常会通过总线发送,比如基于开源 Apache Kafka 的 IBM 消息中心。基于 IBM Research 最初在欧盟宇宙项目背景下所做的工作,这篇博客描述了 IBM Message Hub 如何桥接到对象存储。由于对象存储最适合中等规模到大型的对象,所以桥将消息分组在一起,或者持续一段时间,或者直到看到一定量的数据,并将集合存储为单个对象。从长远来看,IBM 研究小组已经展示了如何将这些消息重新格式化,例如,转换成 Apache Parquet 格式,并智能地用元数据进行注释。

有时,从设备发送的数据需要在存储之前进行清理或重新格式化。无服务器编程模型,如open whish,可用于实现代理,该代理监听在消息中心总线上发布的消息,检索消息,重新格式化消息,然后重新发布一个经过清理的正确格式化的消息。例如,这篇博文描述了如何使用IBM open whish对来自 IBM Watson IoT 平台并放置在 Message Hub 上的消息进行重新格式化,从而在 Message Hub 桥批处理并存储为对象之前,实现更轻松的下游处理。

但是将数据放入云商店只是故事的一部分。即使数据在对象存储中被正确地格式化、清理和组织,它仍然只是数据的海洋,除非我们能够提取价值。 Apache Spark 正在迅速成为领先的分析平台,在许多情况下取代了以前用 Hadoop 完成的工作。IBM 的数据科学体验提供了一个基于 Jupyter 笔记本的用户友好界面,通过与 IBM 的对象存储和 Spark 服务的一流集成来探索和分析数据。

但是,如果我们不能让 Spark 分析存储在对象存储中的数据,那么这些数据探索都不会起作用。这种分析的一种方法,迄今为止经常被推荐的方法,是将数据从对象存储器复制到本地 HDFS 文件系统,对 HDFS 执行分析,然后将结果复制回对象存储器。但是这种方法笨重、耗时且成本高昂,因为还需要管理和调配 HDFS。另一种方法是直接处理存储在对象存储器中的数据。Hadoop 社区通过 s3a 或 Hadoop open stack(for open stack Swift)连接器等“连接器”支持这种替代方案,这些连接器可以从 Spark 等系统桥接到对象存储。但是,在推荐的配置中使用这些连接器比直接使用 HDFS 要慢得多。为了解决这个问题,我们开发了我们自己的连接器 Stocator ,它显著地提高了性能,特别是对于写密集型工作负载。Stocator 内置于 IBM 的 Spark 服务中,它的使用对于任何使用 Spark 来分析对象存储中的数据的人来说都是透明的。

虽然通常对存储在对象存储中的历史数据进行分析就足够了,例如,训练机器学习模型,但有时我们需要能够查看更近的数据,例如存储在 NoSQL 数据库(如 Cloudant)中的数据,以及作为单个数据集的历史数据。在这种情况下,我们一直致力于对存储在 Cloudant 和 IBM Cloud Object Storage 以及其他数据存储中的数据进行透明分析。简而言之,我们为 Spark 定义了一个新的外部数据源驱动程序,它允许访问多个数据存储,跟踪每个存储中包含的时间范围,并从正确的存储中检索正确的数据。

如果您有兴趣了解更多关于这些主题的信息,我将在 3 月 19 日(星期日)上午 8:50 与我在 IBM InterConnect 的同事 Dalit Naor 进行一次演讲。达利特和宝拉·塔什玛将在 3 月 19 日下午 1 点演示其中一些场景。此外,在 3 月 21 日星期二,我将与 IBM 在云存储和分析方面的技术领导者一起主持一个关于“云存储和分析:一个充满机会的世界(为准备充分的人)”的小组讨论最后,3 月 22 日星期三下午 1 点,葆拉和安德鲁·施菲尔德将共同介绍 IBM Message Hub 的一些新进展。

数据没有内在价值

原文:towardsdatascience.com/data-does-n…

加上神秘感、困惑和普遍误解——数据随时随地产生的现象,导致了两个有问题的假设:

1.数据有价值。

2.更多的数据意味着更多的价值。

虽然这些说法没有错,但它们也不对。人们每天都要面对数据的概念及其假定的重要性,但他们很少面对真实的东西。很少有人接触过混乱、纠结、冗余或自相矛盾的数据集。相反,我们已经抽象出处理数据就像淘金的概念。我们设想数据科学家团队通过筛选行来发现神奇的答案或所有重要的见解。

很少有人经历过处理材料数据有多困难,以及出错有多容易。

无法以最原始的形式理解数据的意义,导致数据内容被最终有用性的假设所掩盖。我们每天都要经历并依赖数十个数据支持系统,但很少有人经历过处理重要数据有多困难。很少有人知道犯错有多容易。

Look at all the value! Many numbers. Wow.

将数据描绘成 1 和 0 的二进制位、彩色图表或详细的电子表格太容易了。假设它以某处某个人容易理解的形式存在。我们找到一个专家可以做到这一点,一切都好了。与此同时,仅仅是阅读这句话所需的时间——许多商业领袖想知道他们在商业广告中看到的具有人类名字的人工智能是否可以理解他们所有的数据。

我们不会这样看待其他材料。你不必成为一个专业的木匠来判断一把摇椅是否舒适,或者在坐上去之前猜测它是否能承受你的重量。我们知道枯树的树枝是脆弱和危险的,但同时我们相信我们的生活是由高质量的木材组成的。

我并不主张每个人都参加数据科学训练营,能够旋转 Jupyter 笔记本电脑,或者试图跟上学术界和硅谷的最新技术。我的意思是,当不同学科的团队成员都具有某种程度的数据素养时,企业会从中受益。让专家加入你的团队——但不要把问题抛给他们。与他们合作,理解潜在的问题、更大的战略和你可能还没有意识到的问题。

为什么所有物联网设备都有温度传感器?

你现在可以买到一台每次开门都会记录下来的冰箱。这些数据本身有用吗?。但是如果数据带有上下文:事件的时间戳,关于品牌、型号和序列号的信息,那么,是的,可能是。即使是基本的统计或机器学习方法(以及一些作为训练数据的例子),一个体面的数据科学家也可以分配概率:家中有人正在接待客人、做饭、度假或有酗酒问题。然后,您典型的工作日日常事务就可以轻松建模了——将这些数据转化为对电器制造商、连锁杂货店、食品生产商、食谱汇总者或家庭用餐服务非常有价值的信息。

如果冰箱无法区分【T4 有段时间没打开过】和不能上网会怎样?这种差异让人质疑数据点之间的每一个缺口。冰箱一整天都没人用,还是数据丢失了?

这就是为什么许多物联网设备都包含温度传感器——不是因为温度数据总是有用的,而是因为它是一种廉价的传感器,可以以恒定的速率发出 ping,并充当设备的一个稍微有用的心跳。温度为数据的其他元素带来了有效性。

Samsung’s newest fridge (Family Hub) takes 3 photos every time the door closes.

我能猜猜你的 SSN 吗?

这里有一个更敏感和简单的例子:生成社会安全号码非常容易。我可以在模式中键入随机数,并可能很快匹配一个已发布的数字:652–12–7623,236–76–1230,824–01–3628。在 10 亿个可能的 SSN 中,大约有 4.5 亿个已经被发布了——所以有将近 50%的机会被命中。在 2011 年之前,这甚至更容易,前几个数字代表区号信息,一些号码范围已经完全用完。我们可以很容易地生成一个数据集,其中包含这种格式的每一个有效的、已发行的和即将发行的 SSN。然而,没有个人所有者的姓名、生日和地址等上下文,它们显然只是带有一些连字符的随机数字。

在什么情况下,一系列可能的社会安全号码真的会成为数据?如果它有十亿行,可以放在数据库中,下载和共享——但没有价值,它还是数据吗?如果我们能够以某种方式准确地给每个人分配一个状态:已发布 _ 存活已发布 _ 死亡尚未发布会怎么样?即便如此,随着人们的死亡和新数字的发布,我们的数据集慢慢变得无效和过时。

也许直到我们可以分配另一条个人身份信息时,它才变得有价值:出生日期?每一条信息可能就其本身而言毫无用处,但是当把它们加在一起时,就变得异常有价值。

你不需要成为一个伟大的作家来知道如何阅读。

为了让企业发展成为真正的数据驱动型企业,它需要超越孤立的数据科学家团队,采用更广泛、多学科的方法来进行数据扫盲。当企业作为一个整体理解了什么使其数据变得重要时,关于收集什么数据、如何存储数据以及如何理解数据的决策都将得到改进。

对数据的实质和模式持批评态度——询问数据,了解它能告诉你什么,而不是仅仅假设它的最终用途。像对待任何其他材料一样对待它——用健康的实用主义和常识。没有这一点,就不会为最终目的收集数据;它会被囤积起来,最终被扔掉。

记住:仅仅因为你把它写了下来,并不意味着它有价值。

数据捐赠者:用超市积分卡的大数据预防癌症

原文:towardsdatascience.com/data-donors…

报纸上充斥着关于哪些食物会导致癌症的头条新闻,大多耸人听闻到了完全不准确的程度。有时,文章取自小型研究,并被赋予远远超出作者意图的严肃性。其他时候,一种单一的成分与癌症有关,一名记者自作主张地宣称,任何含有这种成分的食物,无论数量多少,都对公众构成直接威胁。

这些文章背后的前提很简单。我们吃什么就是什么。这不是比喻。食物在我们的消化系统中被分解成不同的组成部分,并被排出或运送到我们的身体各处,在那里被转化成细胞。不管怎样,癌症是由我们的食物造成的。

不幸的是,癌症发生的机制目前还不清楚。人体是一个庞大的化学过程链,我们还远未绘制出它的全貌。这样的掌握将意味着所有疾病的终结,我们将获得永生。不用说,我们还有一段路要走。

那么我们如何取得进步呢?好吧,没有掌握,我们能做的最好的事情就是估计。收集关于输入(食物)和输出(癌症发病率)的信息,并尝试计算一个因素影响另一个因素的概率,绕过目前无法计算的中间过程。这基本上就是上述研究或记者正在做的事情。问题是准确性。对这种复杂系统的小规模研究很少产生有统计意义的结果,记者们经常在不考虑任何准确性的情况下进行巨大的逻辑跳跃。

我们需要做出复杂的估计,但是系统太复杂了,我们甚至不知道从哪里开始。这就是机器学习发挥作用的地方。如果我们不知道我们需要的精确方程,我们可以收集大量的例子,并应用通用算法来创建预测模型。这个模型的准确性或多或少取决于例子的数量。因此,如果我们确切地知道每个人都吃什么,以及他们是否患有哪种类型的癌症,我们就可以创建一个模型,通过观察他们吃的食物来预测一个人是否患有癌症,这种预测非常准确。这可能会导致早期诊断,或者最好的是,我们可以通过建议人们改变饮食,从一开始就阻止人们患上某些类型的癌症。我们只需要一台超级计算机和数据。很多数据。

在英国,大多数超市都有某种类型的会员卡。购物者在收银台扫描该卡,并获得所购物品的忠诚度积分。超市和顾客获得了购买的数字记录。这是我们需要的数据。一些购物者已经收藏它很多年了。

我建议创建一个志愿者数据收集计划:数据捐赠者。一旦捐赠者注册,他们的超市账户将被匿名链接到一个中央研究数据库。如果他们患有癌症,他们的癌症的详细资料也会附在他们的账户上。这一计划的目的是对成千上万甚至数百万人进行研究。所有这些都是通过在收银台扫描一张卡来实现的。

通过将病人数据和大量的食物数据联系起来,我们将能够用目前还不可能的方法来研究癌症。可以自动发现特定成分和特定癌症之间的趋势,以准确和系统的方式指导癌症研究和公众舆论。

Riot API 的第 1 部分:数据暴雨

原文:towardsdatascience.com/data-downpo…

我已经在大会上完成了一个月的 DSI(数据科学沉浸式)课程,并在我的工具包中引入了一些模型(逻辑、线性、KNN 和 SVM)。但是我只是触及了表面,我仍然没有完全摆脱“黑匣子”的感觉。在这个行业中,有点怀疑是一种理想的特质,但是人们可能会迷失在每个模型的多个抽象层次中。但是现在让我们用一些数据来弄脏我们的手。

在本周的大会上,我们玩了一把 web scrapping,这是在两周不间断的机器学习概念之后休息的好时机。我说的休息是指有更多的时间一次又一次地强化这些概念。

但是这周我花时间学习了我的第一个 API 。在阅读了文档并在论坛上发布后,我设法从原始的 JSON 请求中获得了一个可靠的数据框架。

science2knowledge.wordpress.com/data-scienc…

W 英雄联盟是什么?什么是 MOBA

简而言之,你有两个 5 人的团队,每个团队都有不同角色的化身/角色。

坦克:受到攻击并吸收伤害

实用程序:停止和中断事物。

支援:通常是治疗师,但提供更多的效用。

携带:造成全部伤害的角色。每个人都凑在一起,以确保这个人变得越来越强大。

你从一个标准的 3x3 通道(顶部、中部和底部)开始

谁先摧毁敌人的基地,谁就赢。每个专营权都有自己的风格,但总的来说,形式是相同的。

Solo mid or feed!

再次提醒我建议在你做任何事情之前阅读完整的文档和协议,但是这里有一些我在修补过程中发现的主要警告。

  1. 鉴于你“制作了”并且“激活了”(通过 Lol 发射器),你要做的第一件事就是找到你的 API 密匙并保证它的安全。如果发生了什么事情,你可以申请一个新的,但是不要在一个公开的 Git 项目或者一个表单帖子上透露你的密钥是常识。(显然这种情况经常发生)

2.记住你提出了多少个要求。明智地使用你的请求电话,因为有上限。

  • 每秒 100 个电话
  • 每 10 秒钟 1000 个电话
  • 每 10 分钟(600 秒)60,000 次呼叫
  • 每小时 360,000 次呼叫(3600 秒)

time.sleep(1)对于 python 用户来说是一个很好的解决方案。

3.缓存您的数据以减少请求调用。这是 echos point 2,我在为页面的层和层内的表格数据进行清理时使用了这种技术。逐点工作,而不是从上到下,可以节省你很多时间。

现在让我们深入研究这些数据。我目前使用的是 Python 3.5.2,我的库相当标准。

  • 熊猫
  • Numpy
  • pprint
  • json
  • ppring

我的第一个请求函数调用一个特定的播放器,并接受一个用户输入字符串。下面是我的基本代码的大概样子。我会关注玩家 Doublelift,,只是因为他这个赛季打了很多比赛,大部分时间都在扮演“搬运”的角色。我就不描述了,只是把这个角色想象成主要的组织者(通常)就像足球中的四分之一后卫或者篮球中的大前锋。

 #Global varsummoner_id = "https://na.api.riotgames.com/api/lol/NA/v1.4/summoner/def request(name):
    time.sleep(1)
    print("Request Done")
    URL = "{}by-name/{}?api_key={}".format(summoner_id,name,key)
    response = requests.get(URL)
    return response.json()#One of the top Lol players right now is called Doublelift
# Request yields his info{
    "profileIconId": 1467,
    "name": "Doublelift",
    "summonerLevel": 30,
    "accountId": 32971449,
    "id": 20132258,
    "revisionDate": 1492316460000
}def main():
    player_match_df_list = {}
    name = input('Name: ')
    raw = request(name)
    player_id = (raw[name.lower()]['id'])
    # Grabs 20132258 and puts it into match_list function 
    # which takes the match id and grabs a JSON list of that specific match.                             m_list = match_list(player_id)
    return m_list#This yields a list of last 10 games played (This varies between player and Season)

现在,您可以使用“id”来访问更低级别的数据。

玩家 Id匹配者匹配细节

此时,我将数据缓存到一个嵌套的字典中。现在我可以制造和打破,直到我的心满意足。在使用原始的 JSON 之后,我能够创建一个干净的数据框架来使用。

Raw JSON

Into a beautiful clean data frames

让我们通过比较 K/D/A(杀死/死亡/辅助)来看看我是如何处理官方比赛历史的

不错,事情看起来很匹配。到目前为止,我的 python 脚本设法获取了多达 10 个匹配,并将每个数据帧存储到一个字典中。

现在,有了工作中的可用且可靠的数据集,我可以继续探索和建模数据了。这才是真正有趣的地方。因此,随着我们深入研究数据,预计下周会有一些 seaborn graph。

数据驱动的内衣购物

原文:towardsdatascience.com/data-driven…

如果爱情是盲目的,为什么情趣内衣如此受欢迎?多萝西·帕克

黑色蕾丝还是红色网纱,高腰还是低腰?胸罩还是胸罩?有带子还是没有?丁字裤还是男孩裤?关于睡衣也有类似的问题。但是当我看到价格时,“这个和那个,这些和那些”就变成了“只有这个胸罩和这个内裤”。

我经常问自己:我如何比较,并得到最好的价值价格?维多利亚的秘密品种繁多,但是比卡尔文·克莱恩贵吗?汉克·朱岳鹏比卡尔文·克莱恩便宜吗?又或许梅西百货的卡尔文克莱恩比官网或者亚马逊的卡尔文克莱恩便宜?

由于包含从内衣品牌网站(美国)提取的数据的数据集被发布在 kaggle 上,我们现在可以分析哪里可以获得最佳价值。也许你会为下一次购买得到灵感,或者你会找到打折胸罩的品牌。

分析

目的:确定哪些内衣品牌的价格最低

数据集:从美国(。com)内衣品牌网站包括亚马逊和梅西百货。它包含以下信息:

  • 产品名称,
  • 以美元为单位的最高零售价格(MRP ),
  • 以美元为单位的价格(折扣价),
  • 产品类别,
  • 产品描述,
  • 评级数量和评级分数,
  • 可用尺寸,
  • 总尺寸
  • 和颜色。

从分析中排除:评级数量和评级分数、可用尺寸和总尺寸。

品牌:

  • 卡尔文·克莱因:官网(OW),亚马逊和梅西百货
  • Topshop
  • 维多利亚的秘密:OW 和亚马逊
  • 汉克·朱岳鹏:噢,亚马逊和梅西百货
  • 沃科尔:噢,亚马逊和梅西百货

分析的结构

在以下部分中,我们将分析不同的问题,即: 1。每个品牌提供的产品种类是什么,他们最贵的产品是什么? 2。哪些品牌有低价的文胸、内裤、胸罩?还有,维多利亚的秘密和卡尔文·克莱恩的比较。 3。总结(您可以直接跳到这里查看见解)

为了进行分析,我们将使用与群集图小提琴图重叠的箱线图以及平均值和中间值的组合。虚拟化是用 python 的包 seaborn 完成的。

在下一篇博客 中,我们将找出哪些品牌提供的折扣最高,并看看其他一些有趣的发现。更详细的分析请访问 github

1。产品种类

1.1 每个品牌有多少产品?

在对数据进行广泛过滤后,我决定不考虑尺寸。制造商将通过其产品名称或型号来定义独特的产品。然而,想象只有一个胸罩模型,但是有 9 种不同的颜色。您认为它们是独立独特的产品吗?我决定我会,所以一个独特的产品是由一种颜色和一个模型来定义的。在图 2 中,我们看到亚马逊维多利亚的秘密只销售一种型号的胸罩,但颜色不同,看起来像完全不同的产品。(图 3)

Fig.2: The number of producs as defined by its name and color and a number of unique products defined only by its product name

维多利亚的秘密共有 455 款独特的产品型号。这意味着如此大量的产品(3.5K)是因为该品牌提供了大量不同的颜色。这不就是所有女人想要的吗?;有趣的是,Calvin Klein OW 的销量比梅西百货的 Calvin Klein 还要少,亚马逊 CK 的销量甚至比这两家还要少。

Fig.3: Amazon has the same model of Victoria’s Secret ultimate maximum support sport bra in 9 different colors (three are shown).

1.2 品牌提供什么好的产品?

我们将根据产品类别对产品进行总结,例如丁字裤、衬裤、平角裤等将归入“内裤”类别。bralettes 有一个相当有趣的趋势,所以我们将 bralette 与 bra 区分开来。

一些有趣的事实(快捷方式):

  • 汉克·朱岳鹏、亚马逊和梅西百货的卡尔文·克莱恩提供大量包装(主要是内裤)。
  • 维多利亚的秘密的主要产品是内裤和运动服(主要由运动胸罩组成),其次是胸罩和胸罩。
  • 梅西百货的 Calvin Klein 比 OW 销售更多的内裤和胸罩,也有更多的产品类别。
  • 华歌尔的主要产品是女裤。
  • Topshop 还有母婴用品和梅西百货的 Wacoal shape 产品。
  • 一些品牌出售吊带裤、紧身衣裤、婴儿装、长袍、和服、塑身衣和眼罩。

维多利亚的秘密在主要类别(内裤、胸罩、胸罩)中销售最多的产品,除了卡尔文·克莱恩的睡衣。(图 4)

Fig. 4: Number of products in each category offered by top 6 brands

1.3 最贵的物品是什么?

图 5 显示了每个品牌最贵的商品(基于最高零售价格(MRP))。

Fig. 5: Yes, Hanky Panky sells a jar full of panties for $615 (30 pairs of panties)

2。最贵或低价的品牌有哪些?

2.1 都是关于胸罩的……

基于 MRP(图 6):

  • Topshop 和维多利亚的秘密的文胸(不到 31 美元)比其他品牌便宜。
  • 最贵的文胸由汉克·朱岳鹏提供(但总共只有 15 款)。
  • 如果你喜欢 Wacoal,先去梅西百货看看。梅西百货的 Wacoal 有第二贵的胸罩。然而,它销售更多的胸罩,也涵盖了其他代表的价格范围。
  • 梅西百货的 Calvin Klein 卖的胸罩比 OW 贵,但也涵盖了 OW 的价格范围。
  • Topshop、维多利亚的秘密和 Macy's Calvin Klein 都有一些非常贵的胸罩,价格超过 70 美元。

Fig. 6: MRP comparison of bras for each brand

2.2 低价内裤?

  • 汉克·朱岳鹏的内裤是最贵的。内裤分两组:少的和贵的(基于小提琴剧情 MRP 双峰分布)。
  • 维多利亚的秘密有 ca 最低价的内裤。1.2K 型号,大多数价格为 10.50 美元。(但是,不要忘记有些品牌有“33 美元 3 个”或“XX 美元 5 个”的优惠。)
  • Topshop 的大部分内裤的 MRP 为 10 美元,但也有一些更贵的内裤。
  • 大多数卡尔文克莱恩内裤的 MRP 是 13 美元。

Fig. 7: MRP comparison of panties for each brand

然而,别忘了亚马逊和梅西百货也出售卡尔文·克莱恩的成套内裤。大多数内裤的价格是 11 美元,但是亚马逊 Calvin Klein 也提供每条内裤大约 9.75 美元的包装。(图 8)

Fig. 8: MRP per panty from a pack

2.3 低价 bralettes?

  • 汉克·朱岳鹏有最贵的胸罩。
  • 维多利亚的秘密有最便宜的 bralettes(亚马逊 Wacoal 更便宜但只有 7 件)。

Fig. 9: MRP comparison of bralettes for each brand

2.4 卡尔文·克莱恩 vs 维多利亚的秘密

卡尔文·克莱恩几乎在所有类别都比维多利亚的秘密贵,除了“其他”。有几个昂贵的维多利亚的秘密胸罩,然而,也有许多便宜的维多利亚的秘密胸罩相比卡尔文克莱恩。(图 10)

维多利亚的秘密的 Bralettes 和 activewear 呈现双峰分布,这意味着有两个主要的价格类别。

Fig. 10: MRP comparison of categories of Calvin Klein and Victoria’s Secret

3。总结

文胸:

  • 如果你是 Wacoal 或者 Calvin Klein 的粉丝,先去梅西百货看看。虽然 Macys 的文胸平均比 OWs 贵,但它提供的文胸更多,产品价格也在其他代表的价格范围内。
  • Topshop 和 Victoria's Secret 的文胸比其他品牌便宜(不到 31 美元)。

内裤:

  • 维多利亚的秘密有最便宜的带 ca 的内裤。11.50 美元以下的 1.2K 机型。
  • Topshop 的大部分内裤都有 10 美元的 MRP。
  • 大多数卡尔文克莱恩内裤的 MRP 为 13 美元,但检查一下亚马逊卡尔文克莱恩和梅西百货的包装。

小册子:

  • 维多利亚的秘密有最便宜的胸罩。

祝你下次购买内衣愉快!

衡量您决策的质量,而不仅仅是您的数据

原文:towardsdatascience.com/data-driven…

在制定更好的决策的过程中,数据总是处于次要地位。随着公司花费越来越多的时间和精力来获取组织和市场数据,这些投资的回报将取决于我们将数据转化为有效决策的能力。数据本身并不能产生相关的决策,因为决策经常受到不确定性、模糊性和复杂性的阻碍。衡量我们决策的质量可能比提高我们数据的质量更重要。让我们看看为什么衡量决策如此困难,以及为什么它有如此大的潜在回报。

当今改善决策的障碍之一来自管理挑战的多样性。在“客观”层面上,当手头的数据足以确定一个最佳的前进方向时,我们称问题为简单的,当数据在给定的环境中不能提供更多的最佳答案时,我们称问题为复杂的。在“主观”层面上,当管理者理解了摆在他们面前的选择的可能性和结果时,他或她就会评估风险。当由于这样或那样的原因,概率和结果不能被精确地确定时,管理者就面临“不确定性”。当决策者质疑问题本身的清晰性时,“模糊性”的因素就进入了等式。因此,管理的目标很少是寻找正确的答案,而主要是通过减少风险、不确定性和模糊性的来源来帮助经理和客户做出更好的决策。

衡量决策变得复杂,因为*“最佳”选择既取决于问题本身的性质,也取决于管理者的心态*。在决策科学中,我们指的是制约人类决策的四种心态。乐观主义者就像乐透玩家一样,总是在最大可能的回报上下赌注,不管可能性有多大。相反,最糟糕的愿景困扰着悲观主义者,他们会虔诚地试图将潜在损失最小化。机会主义者将运用类似于杰夫·贝索斯的后悔最小化框架的推理,关注能提供最大内心平静的结果。【ii】最后,现实主义者计算每一种可能结果的潜在回报,并试图最大化期望值。因为每个愿景依赖于不同的推理路线,所以有必要了解每个经理的心态如何与盛行的组织文化相对应。

用于衡量决策过程的指标提供了第三个层次的复杂性。在寻找更好的决策时,我们到底在试图优化(或最小化)什么?我们可以关注收益率——每种替代方案的潜在好处是什么?我们可以专注于努力——为了将选择付诸实践,必须动员多少资源和精力?也许我们应该关注速度,考虑到我们的其他职责,我们能多快找到合适的决策?最后,我们可以评估模型本身的相关性,所提出的解决方案在多大程度上解决了手头的问题?正确的衡量标准取决于组织和行业如何衡量价值。【iii】

最后,我们可以考虑经理们在给定环境下试图做出最佳决策时所面临的运营挑战。让我们以改善组织的决策过程为例。第一个复杂因素来自问题本身——对于我们所指的决策制定,组织上是否有共识?还有手头数据的相关性问题——我们今天有什么证据证明我们正在作出糟糕的决定?可以对我们试图达到的目标进行讨论(每个决策的相关性、速度、努力或收益?).最后,如何研究检验我们建议的最佳方法(抽样、模拟、调查、面对面访谈)?

像任何技能一样,提高决策能力需要分析和实践。在商业分析学院,你将学习特定环境下的挑战、心态和管理决策的衡量标准。在我们位于巴约纳的暑期学校,以及我们在欧洲的大师班,我们让数据科学为您和您的组织服务。该研究所专注于管理者数据科学的五个应用:在数字时代工作、数据驱动的决策、机器学习、社区管理和可视通信。数据驱动的决策会对你未来的工作和职业生涯产生影响。

*Lee sch lenker 博士是 baieurope.com*[*商业分析学院的商业分析和数字化转型教授。【www.linkedin.com/in/leeschle…](baieurope.com.)*你可以在推特上关注我们*[*https://twitter.co…](twitter.com/DSign4Analy…)

【I】ka sture,r .(2015)决策制定,对歧义的容忍度和后悔理论,Vivify

【ii】Stillman,J. (2016),亚马逊的杰夫·贝索斯如何做出他职业生涯中最艰难的决定之一,Inc

【iii】Blenko,m . and Mankins m .(2012)衡量决策有效性,贝恩公司

数据驱动的产品管理

原文:towardsdatascience.com/data-driven…

每个产品经理都在谈论数据驱动的产品管理,但真正的解释是什么呢?

Photo by Mario Gogh on Unsplash

产品决策过去是基于产品经理/所有者和 C-Level 高管的愿望和本能。这些本能的主要驱动力是什么;客户反馈、竞争市场情报还是数字分析结果?答案应该是全部。在本文中,我将尝试解释关键的数据源,以及在这些数据源中应该考虑哪些指标来做出正确的产品决策。

成功的产品属于客户而不是产品经理。但这并不意味着产品经理应该只依赖客户的需求。有时甚至顾客也不知道他们想要什么,需要什么。产品经理必须用不同的数据源验证他们的客户反馈。

我强烈建议产品经理和公司高管去看看 Marvin L. Patterson 在他的书《打造一个行业飞车手罗德》中的创新引擎商业模式。

Designed by Marvin L. Patterson and adapted to Product Management by Taner Akcok

如图表所示,产品管理应考虑来自市场研究、CMI(竞争对手市场情报)、内部反馈、数字分析和客户反馈的数据,以做出数据驱动的决策并创建增值信息。听起来很容易,但是评估信息的价值并将它们与产品路线图联系起来需要付出努力。让我们一个一个地深入研究它们,我将尝试解释我是如何在我的产品管理工作中使用这个模型的。

市场调查

当我们掷硬币时,正面或反面的概率是多少?50%?可惜没有!如果我们考虑方程中的所有变量如翻转时施加的初始力、重力、空气阻力等。没有硬币的可能性。产品管理和定位也是如此。如果产品经理能够通过适当的市场调查和有用的客户反馈来考虑正确的市场指标和趋势,就没有可能制造出成功的产品。

在本文中,我不会深入探讨产品经理应该做的市场调查,但我想分享一下我在市场调查过程中使用的流程:

Market Research and Product Positioning Process on Product Management

如果你想深入产品营销领域,我强烈建议你对图中列出的项目进行研究;

确定研究指标确定研究来源:目标市场、目标受众、客户/用户需求和行为、市场规模、**深入数据:**数据收集、数据分析、**创造洞察:**杵、SWOT、BCG 矩阵分析、GE 麦肯锡分析、波特五力、**创造假设:**价值主张假设、产品定位假设、UX 假设、走向市场假设、可视化并传达

我以后会尝试用一篇独立的博文来讨论这个话题。

此外,有许多有用的市场研究公司,产品经理可以用它们来轻松获得快速的市场洞察。但是在本文中我将只解释其中的两个; ForresterGartner

Forrester 提供报告剧本博客数据事件来传播他们的研究成果。特别是市场特定的 Forrester Wave 报告对市场研究人员非常有用。Forrester Wave 研究在所有标准化研究中提供了相同的大纲。这种标准化允许研究人员轻松地将多项研究结合起来,并获得有用的见解。通常,他们的波浪报告大纲是;

Forrester Wave Report Outlines

然而, Gartner 在其研究中使用了魔力象限方法来显示厂商的市场定位。他们通过执行能力和愿景的完整性来评估主要供应商。他们把他们分为领导者、挑战者、小众玩家和远见者。通常,他们的报告大纲是;

Gartner Magic Quadrant Reports Outline

这些研究显示了市场中供应商的优势和劣势,并帮助产品经理验证他们的定位。有时候,利基产品和想法很难找到市场,或者他们可能需要根据市场趋势来验证他们的愿景和路线图。市场研究帮助产品经理验证他们的定位和产品愿景,以做出数据驱动的决策。

竞争对手市场情报

该术语在企业公司中通常被称为职能。CMI 部门不断检查其他竞争对手,监控他们的内容、年度报告,并要求演示以了解竞争对手的价值主张和差异化。使 CMI 数据可用于产品路线图的最简单方法是比较方法。这种方法的关键点是将你的产品作为一个价值主张进行比较,将你的产品作为一个功能集进行比较。

价值主张比较通常来自市场上的供应商选择标准。例如,让我们将“实施”、“及时性”、“定制化”、“准确性”和“用户界面”视为分析市场的主要供应商选择标准,并将这些价值主张的 KPI 定义为能够在 0-8 分之间进行评估。

Sample Vendor Selection Criteria for Analytics Market

关于这种评估和比较,您将有一个五边形图来显示您的公司和您的竞争对手的各个方面,如下图所示。

Sample value proposition distribution for the market

了解价值主张的优势和劣势后,这些五边形可以用作面积图,通过重叠它们来查看对比。

功能集比较用于基于产品用例和功能提供。您比较代表我们在上一段中列出的价值主张的子 KPI 的特性或用例。评估和比较功能集或用例的一般方法是给它们打 1-8 分或 0-100 分。

在这一点上,我想注意一下产品定位。 一个成功的产品并不意味着在所有价值主张和功能集比较中具有完全优势。 你的优势领域必须与你的产品定位相适应。

例如,这里有一个样本表来比较功能集,并验证一个假想的公司在分析市场中的定位,假设我们的产品在准确性方面与其他产品有很大区别。我们可以检查/看到,我们的精度相关功能在市场上是独一无二的:

Sample Feature Set Comparison for Analytics Market

比较价值主张和功能集有助于产品经理改进和优先考虑他们的竞争优势路线图。如果需要对当前产品进行改进,产品经理通常会将这些见解与他们相关的产品概念联系起来。如果它需要一个新的特性,产品经理会围绕它建立一个概念。

通常,这种比较会给你带来 4 个主要子市场定位决策或多样化的价值主张:模仿、合作、跟随、竞争。

例如,你可以说,我将在准确性上具有竞争力,在及时性上是模仿者,在用户界面上是跟随者,在定制化上与其他玩家合作。

How to act into sub-markets or diversified value propositions

内部反馈

定义正确的独特卖点(USPs)并围绕这些 USPs 的使用案例积累经验对于成功的产品管理至关重要。收集这些见解的最佳方式是内部反馈,尤其是来自“售前”、“销售”、“咨询”和“IT”部门的反馈。这些部门是产品管理决策的重要利益相关者。

每个产品都有一些“啊哈!”吸引潜在客户的时刻。售前是一个重要的利益相关者,了解哪些用例对客户最重要,以及客户第一次看到产品时对产品的想法。

覆盖重要的用例并不意味着产品足够好来满足那些用例中的客户。“销售”和“咨询”是重要的利益相关者,他们了解在那些用例中,好的产品的特性集如何满足真正的需求和愿望。例如,客户想在产品中从 A 到 B,如果产品在 B 之前将客户带到许多强制目的地,我们不能认为体验完美地覆盖了那个用例,即使产品覆盖了那个用例。“销售”和“咨询”是发现这种瓶颈的关键利益相关者。

易于集成和使用、入职体验和文档是产品经理必须考虑的另一个主题。“咨询”是这种投入的关键利益相关者。最大化咨询的收费时间,产品应该有良好的入职体验和文档。这一部分对于将 COGS(商品销售成本)保持在合理水平非常重要。

“内部反馈”的另一个重要利益相关者是 IT。了解概念背后的挑战、路线图项目的预计劳动力和投资对于在做出产品决策之前计算更准确的业务价值非常重要。此外,与产品负责人和 IT 领导同步可能有助于从不同的角度查看和评估产品团队解决方案。

内部反馈评估有一些常用方法,例如:价值与复杂性象限、加权评分、Kano 模型、购买功能、机会评分、亲和力分组或故事映射。

Common methods for feedback prioritisation

最常用的方法是价值与复杂性象限。该象限通常如下图所示:

Visual source: Hygger.io

这种方法的主要思想是定义速赢和战略机会,并优先考虑你的史诗到正确的方向。

我另一个喜欢的方法是卡诺模型。这个模型的主要思想是,你的产品总是表现在基本特性和刺激特性之间。

我将会写更多关于这些方法以及如何评估内部/外部反馈并在未来优先考虑它们的详细博客文章。

数字分析

引用爱德华·戴明的话,“我们相信上帝;其他的都带数据。”。关于像素和标签集成,在线解决方案收集了几乎所有的设备、用户和动作数据。正确的事件模式和分析结构是深入研究和获得正确数据的关键,有助于轻松了解客户行为及其痛点。

在本文中,我想提一下关于数字分析的两个重要话题。请从我的“对分析市场的 7 个预测”文章和我的下一篇文章中找到详细信息。

第一个话题是将所有数据整合到一个平台的重要性。产品经理过去常常通过数据仓库、数据管理平台或客户智能解决方案来获取组合数据。如今,企业从各种数据源和内部/外部服务收集大量数据,如 MagentoMailChimpZendeskSalesforceOlark 等。将这些平台的数据整合到一个环境中对于进行跨工具分析非常重要。例如,我们应该结合数字分析和电子邮件服务数据,并将它们与唯一标识符进行匹配,以了解有多少男性消费者打开了我们的“新一季男性吸引力产品”简讯。然后,也许我们可以根据他们的 cookie 数据和标签返回者,通过将我们的广告和 CRM 服务连接到我们的数字分析平台,在我们的数据库中自动将他们定位为“潜在的新一季产品买家”。

第二个主题是使用适当的分析和监控所需输出的正确指标,以做出数据驱动的决策。数字分析解决方案提供了一系列分析选项。在我的下一篇博文中,我将深入探讨所有这些分析,但在本文中,我将只提到几个重要的分析和指标。

**漏斗:**漏斗是监控预定义步骤之间转换的最佳方式之一。漏斗最常见的可视化方式是桑基图。产品经理或业务分析师可以创建各种渠道。例如,对于结账流程,我们可以检查一些步骤,如将产品添加到购物篮= >转至结账页面= >选择付款选项= >结账。然后,我们可以创建一些在这个漏斗中弹跳的人群,并设置一个营销触发器,向他们发送一封电子邮件,如“您需要退房帮助吗?”

然而,在现实世界中,有时漏斗可能比这更复杂。例如,顾客可能会在结账前参观其他产品。这可能会影响我们的漏斗,我们可能会认为他们是保镖。对于这种场景,我们可以将一些步骤定义为漏斗中的“可选”步骤。此外,许多分析解决方案允许为用户定义步骤的时间条件,以便在从上一个或第一个目标开始的特定时间范围内完成目标。

**falloutes:**falloutes 分析是页面流量分析和漏斗分析的结合。产品经理和业务分析师可以看到漏斗步骤之间的详细用户行为,以了解人们为什么反弹以及他们要去哪里。这种洞察力可能有助于创建更准确的漏斗或用户流。

**群组:**群组是精心设计的可视化方式,为条件化的目标群体测量期望的度量。在运行群组之前,产品经理应该用“包含性指标”和“返回性指标”来决定群组的“粒度”。包容性指标有助于您定义有条件的目标群体,如所有访客或买家等。返回指标将帮助您选择要从包含组中测量的指标。“访问”可以是返回指标的一个很好的例子。

群组最常见的用途是监控访问者对特定页面或动作的“保留率”。

**流:**流分析让用户可以可视化任何维度或维度项目的序列。此外,流分析也有利于可视化多维序列。例如,“活动”维度的入口流。如果你添加“页面”作为下一个维度,你可以很容易地想象有多少访问者通过活动而来,他们登陆了哪些页面。市场上最常见的流动分析可视化方式是“桑基图”。

产品经理可以在单个或多个维度的视角中可视化“入口维度”、“出口维度”或任何“维度项目”流。

**异常分析:**这些分析最常见的用途是可视化每个数据点的标准偏差水平,并通过使用折线图支持面积图来显示异常(超出或低于标准)。

产品经理可以注意到他们的主指标中的异常,并深入到子指标以了解异常的原因。但是现在,一些企业分析解决方案也提供了这种异常的相关子 KPI。

**分析变量比较:**分析变量比较允许用户同时比较不同时间范围或时间段或两者的指标。

正如我提到的,我将在我的下一篇博客文章中深入分析和公司指标,但我想提一下戴夫·麦克卢尔的“海盗创业指标”。它可能会给出产品经理和营销人员应该监控和深入研究的主要指标的基本概述。

Startup Metrics for Pirates by Dave McClure

根据上面的 Dave McClure海盗启动指标图;类别代表客户在客户旅程方面的成熟度。用户状态显示产品经理可以针对该步骤监控的指标。转换代表平均值。漏斗步骤的转换率和估计值并不代表用户的成本;它代表平均值。该步骤中每个用户的值。

产品经理应该使用正确的分析来获得对数据驱动的决策有用的见解。但是,术语“数字分析”不仅仅是可视化数据。我将在以后的文章中深入探讨这个话题。

客户反馈

客户反馈对于做出以客户为导向的产品决策具有战略意义和至关重要的作用。但是,收集、组织和评估客户反馈应该以适当的方式进行,以便能够考虑有用的客户反馈,避免无用的反馈。

为了收集和组织反馈,您应该为反馈创建过程建立面向主题的分解,并围绕当前产品功能或未来概念对这些反馈进行分类。

Sample Customer Feedback Clustering Structure

例如,根据上图,我们有三种不同的标签集成场景——容器——容器动作——删除功能。

场景 1 表示一个 bug,它应该围绕该特性聚集在一起,并用其他聚集的 bug 来解决。bug 的数量和类型可以给人一种产品特性成熟度的感觉。

场景 2 代表一个看起来像 bug 的客户问题。但是在这种情况下,假设被删除的容器在 24 小时内消失。因为一些缓存问题。在这种情况下,产品应该警告客户这种情况。这就是为什么我们可以将此场景视为知识中心增强或 UX 改进。

场景 3 代表客户对特定功能的功能要求。这些类型的请求应该被标记为一个特性请求,在这个特性的下一个版本/迭代中考虑。如果业务价值优先考虑标签集成改进,则应该考虑该反馈来决定是否与其他请求一起进行。

如果你对我的博文有任何问题或评论,请不要犹豫联系我,并继续关注我的网站媒体账号了解我的下一篇博文。

Taner Akcok

数据、毒品和摇滚——除了摇滚

原文:towardsdatascience.com/data-drugs-…

几周前,我有机会分析了公告牌 2000 年 100 大热门音乐排行榜的数据集,它显示摇滚是排名第一的音乐类型。上周,我浏览了一组美国不同年龄的药物使用数据。尽管我有医疗保健的背景,并且我在该县工作,该县一度提供了全国 70%的非法麻醉品,但这个数据仍然令人大开眼界。查看人们开始滥用某些物质的年龄以及他们滥用某些物质的高峰期,以及查看哪些药物被一起使用的趋势,是我浏览该数据集的主要目标。

该数据集包括 13 种不同的物质,它按照用途、使用频率和使用时的年龄范围对它们进行了分类。不幸的是,我无法找出这个数据集是哪一年的,但我假设它是在 2000 年或之后产生的。我的第一个目标是制作一张热图,看看我能找到什么样的关联。

在上面的热图中,n 是给出特定年龄范围答案的参与者人数。在查看热图并重新聚焦于确定“门户”药物(一种与其他药物具有高度使用相关性的药物)的目标后,我决定删除年龄、n 和所有频率。

有了这张热图,我能够更好地看到 13 种物质使用之间的相互关系。然后我确定了 0.9 或更高的高相关性。我知道相关性非常高,但是选择一个较低的数字只会产生太多的匹配。通过这种方式浏览数据后,有一种物质与其他 7 种物质(超过一半)高度相关,这就是止痛药,我已经假设了这种情况,因为它们非常容易被人得到并与其他物质混合。此外,我查看了止痛药使用的高峰年龄范围,我的年龄为 20 岁和 22-23 岁,然而人们早在 12 岁就开始滥用止痛药。

我从这些数据中发现的信息非常令人不安,显示了药物滥用问题是多么的猖獗。很明显,需要设置更多的障碍来防止人们接触这些物质,我知道很多州都在这样做,但是我希望我们可以在全国范围内这样做,希望我们至少可以拯救年轻一代免受这种接触。我相信通过这样做,滥用药物的人数将在未来几代人的时间里下降。

数据工程师 VS 数据科学家

原文:towardsdatascience.com/data-engine…

想阅读更多数据科学与工程文章?关注 Linkedin 上的数字资源!

大数据改变了世界的面貌!

随着每天创建 2.3 万亿千兆字节的数据,公司可以访问关于其用户、市场等的广泛信息。 这些数据让他们不断改进产品/服务。

公司已经理解了大数据所代表的机会。数据工程师和数据科学家职位的激增向我们展示了这一点。

2011 年,*《哈佛商业评论》*将数据科学家选为 21 世纪最性感的工作,以彰显该职业的成功!

然而,这一工作领域尚未完全成熟,数据工作仍然容易受到误解。对许多人来说,它是一个模糊的技术“东西”,可以潜在地实现他们的产品或服务。

这种误解可能导致资源利用的失败。让我们回到这些职业的基础上,并解密每个职业的价值。

我—数据工程师和数据科学家之间有什么区别?

1-了解数据流程的层次结构。

图 1 —数据科学需求层次结构—由Monica Rogati创建

当一家公司生产一种产品/服务时,他们需要有价值的信息来了解他们的市场,了解他们的竞争对手,创造一种产品,了解客户,等等。

在世界开始收集数据以提供我们所说的大数据之前,企业别无选择: -进行自己的分析 -利用直觉做出决策

要恢复,你需要经验(或运气)来满足市场预期。

现代技术是第四次革命。大数据为创造更好的企业、组织、慈善机构等提供了大量新的可能性……

但是,利用大数据需要流程、组织、工具,最重要的是:能够管理大数据的人。 根据你想做的事情,数据工程师和数据科学家对于流程中的某些任务至关重要。

“数据科学需求层次”金字塔很好地反映了复杂的数据流程。

数据工程师收集相关数据。他们将这些数据移动并转化为数据科学团队的“管道”。他们可以根据自己的任务使用编程语言,如 Java、Scala、C++或 Python(阅读关于数据工程中编程语言的文章)

数据科学家分析、测试、汇总、优化数据,并将其呈现给公司。 (阅读数据科学中关于编程语言的文章)

一些流程先进的公司用 AI 工程师、机器学习工程师或者深度学习工程师来完成团队。

参见“数据科学需求层次图 1

可以理解的是,所有这些任务都必须划分给特定的数据专业人员。

2 —数据工程师—数据的技术部分—设计—建造—安排。

数据工程师专门从事 3 种主要的数据活动:设计、构建和安排数据“管道”。他们是数据架构师。数据工程师通常拥有计算机工程或科学背景和系统创建技能。

“数据管道是为了特定目的而应用于数据的一系列处理和分析步骤。它们在生产项目中很有用,如果人们希望在未来遇到相同类型的业务问题,它们也会很有用,从而节省设计时间和编码。例如,可以删除异常值,应用降维技术,然后通过随机森林分类器运行结果,以对每周提取的特定数据集进行自动分类。”科琳·法雷利,数据科学家/诗人/社会科学家/拓扑学家(2009 年至今)

图 2——从原始数据到最终结果数据的管道。

一个公司的数据工程师有哪些任务?

  • 设计大数据基础架构并准备进行分析。
  • 构建复杂的查询来创建“管道”。
  • 安排编程系统中的任何问题。

数据工程师需要具备哪些能力?

  • 逻辑思维
  • 知道提取什么数据
  • 管理和组织技能
  • 与跨职能团队合作

3 —数据科学家—分析—测试—创建—展示

在一家公司中,数据科学家通常有 4 项主要任务。他分析、测试、创建并向团队展示它们。 数据科学家有数学和统计学背景。他们也乐于创建机器学习和人工智能模型。

一个公司的数据科学家有哪些任务?

  • 处理干净的数据
  • 利用现有数据寻找解决方案
  • 与团队交流分析
  • 致力于解决问题,并得到一些

数据工程师需要具备哪些能力?

  • 良好的沟通技巧。
  • 分析得好。
  • 很好的假设。
  • 在机器学习、数据挖掘、统计和大数据基础设施的不同技术方面有广泛的知识。
  • 做一个解决问题的人。

如你所见,工程师和科学家需要不同的技能,他们的背景也不同。 此外,数据科学家必须具备非常好的沟通技巧,以展示数据并根据他们的工作提出决策。

4——在所有这些方面,职位空缺和薪水如何?

根据 Glassdoor 的数据,美国的平均基本工资(2018 年 9 月 26 日更新)为:

  • **对于数据科学家:**平均每年 13.9 万美元

  • **数据工程师:**平均 151 美元/年

“数据工程师的职位空缺数量几乎是数据科学家职位空缺数量的五倍。根据 Glassdoor 的说法,这是有道理的,因为大多数组织需要的数据工程师比他们团队中的数据科学家多。

II-数据工程师 vs 数据科学家:数据就业市场的状况如何?

1 —数据科学家:成长中的行业

数据科学家是纸上谈兵的梦想工作

  • 高薪
  • 必须解决复杂问题的挑战性工作

然而,当他们在小结构中工作时,数据科学家可以转变为多任务员工。

当数据科学家必须处理所有的数据层次结构时,这可能会变得很难,因为他们不是数据工程师或软件工程师。

这可能导致专业的贬值或公司资源的浪费。

有时候,在一家公司担任数据科学家可能是这样的:

因此,研究显示,2017 年, 24.0%的数据科学家已经跳槽。

当然,数据科学就业市场是一个最允许项目员工改变的繁荣环境。

然而,这也表明,大量的数据科学家试图在市场上找到更好的位置。

2 —数据工程师的贫困

数据工程师已经成为一种稀缺商品。

Glassdoor 对超过 10.7 万个数据工程师职位空缺进行了统计。这种需求如此强烈,以至于现在每个人都被这种贫困所触动:

“即使是最热门的硅谷公司也无法达到 1 比 2 的比例。[……]你没有足够的工程人才。很贵的。”大数据中间件开发商 Gremio 的首席执行官兼联合创始人 Tomer Shiran 说。

为什么现在招聘人员很难找到数据工程师?

例如,在荷兰,招聘人员正在寻找具有特定编程工具技能的母语工程师。

然而,他们中的大多数人在发现自己的才华之前都面临着长期的等待。

那么如何找到数据工程师呢?

你首先要知道,这需要一个好的过程。

拥有一份好的数据工程师候选人名单对于选择你需要的人是至关重要的。

但是,寻找数据工程师的过程需要时间和精力,而公司不一定有。

招聘机构的一个目标就是填补需求和提供之间的差距。

通过搜索某个特定领域的日常最佳新人,我们能够回答这个重大问题。

你们公司是在招数据工程师吗?Digital Source 是一家专门从事大数据的招聘机构。点击此处联系我们,让我们讨论您的招聘需求。

寻找大数据的新机遇?点击这里,寻找新的工作机会。

数据工程师在那里,你能看见他们吗?

原文:towardsdatascience.com/data-engine…

目前对数据工程师的需求很大。我可以看到工作提议在 LinkedIn 上蓬勃发展。然而,招聘一名数据工程师相当困难。我听到很多人说这与这个报价和供应平衡有关。大数据是全世界的趋势,非常需要能够驾驭这种数据的工程师。这是事实,不可否认。我今天写这篇文章的原因是,我坚信还有别的东西,或者说更多的东西。

你是说数据工程师吗?

在网上看了工作建议后,我得出结论,数据工程师的职位很难定义。我可以读到对同一个所谓的数据工程师的各种职位和技能要求,看起来每个公司都有自己对数据工程师的定义。我见过非常接近 IT 工程师的工作描述。其他的是关于发展的。令人惊讶的是,我甚至读到过一些公司在寻找一名数据科学家作为数据工程师。

这种模糊性带来了很多混乱。这让我感到不安,尽管我已经做了一段时间的数据工程师。

我确实认为数据工程师的定义中缺少了一些东西,以下是我的看法。

缺失点

我看到的大多数工作机会都需要技术技能,比如 ETL、Spark、Hadoop 或 NoSQL。这非常非常棒,但实际上这些只是工具。我们在这里谈论的是达到目的的方法。这个目的就是数据处理,对我来说,这就是全部的意义所在。我被面试过很多次,为了一份工作或者一个承包商的任务,我总是得到同样的问题:什么是 Scala 的伙伴?什么是数据流?你将如何在 Kafka 中配置分区?这些问题真的很有趣(我发现它们很有趣,因为我热爱信息学这个领域),但在那些面试中,人们都在检查我是否了解这些工具,我是否填好了表格,几乎没有人谈到我可以从中提取的价值。

举个例子,Apache Spark: Spark 已经成为你想要处理数据时的首选工具之一。很好,但是 Spark 的任务不是写作业。您可以用 4 种不同的语言编写相同的 Spark 作业。编写一些 Spark 已经变得非常容易,但是对于您的项目和最终用户来说,这能确保您的数据以最有效的方式得到处理吗?事实上,并没有。这就是数据工程师发挥作用的地方。数据工程师的真正价值是利用他的专业知识在集群中部署和分发作业,并配置资源,从而最大限度地利用集群。

给我带来一些价值

简而言之,数据工程师的价值在于数据为什么、何时、何地以及如何被处理。所以让我说一次重要的话。是的,归根结底,所有这些都是数据的问题,这正是数据工程师在这里的目的。我相信数据工程师不会从工具和技术方面考虑,而是从架构方面考虑,选择工具就像书架上的书一样。实际上,数据工程师的真正目的是理解数据,设计处理数据的方式,然后通过选择确保可靠性和性能的最佳工具配置来帮助促进数据处理。

当然,数据工程师需要对环境和上下文有很好的理解。因此,在所有这些尖端工具中进行选择需要大量的经验。但是了解这些工具并不能保证数据管道的性能。这也会导致误解你真正需要什么样的资源。维护 Hadoop 集群不是数据工程,而是 it。专门在 Spark 上开发不是数据工程,是开发。用 MLLib 建立数据模型不是数据工程,是机器学习。

当我收到一份数据工程工作的候选人时,我会努力关注他如何考虑他的技能和他将不得不处理的数据之间的相互作用。学习一个工具可能需要几周,甚至几个月。拥有良好的心态需要很多年。

期望不仅仅是掌握工具和框架

这就是为什么我认为寻找数据工程师不仅仅是验证传统大数据堆栈的专业知识。这其实是一个你想关注什么的问题。如果你的目标是在专家中找到专家,那很好,我同意你,你的研究将是一个漫长的旅程。但是,如果你关注的是工程师能提供什么,因为他关注的是数据而不是工具,那么你可能已经挑选了一个潜在的非常好的候选人。

最后,随着客户的要求越来越高,数据处理变得越来越复杂,我倾向于相信数据工程师的数量会比实际数量多得多。许多工程师在面试时被抛弃,因为他们对 HDFS 如何工作的内部细节了解不够,或者他们对 scala 了解不够。你是因为候选人不懂工具而拒绝他吗?测试他对数据的兴趣,以及他对如何从中提取价值的关注,难道不是更相关吗?一个拥有良好心态的人将会取得比仅仅使用工具更多的成就…

让我与你分享我的一个经历,来解释为什么我相信数据工程师都是关于数据的。几年前,在我以前的工作中,我遇到了一个非常奇怪的情况,我在做一个没有数据的项目!我准备好摇滚了,我的 Kafka 设置,我的 Ansible 脚本,我的 Spark 集群和我的作业都准备好运行了。问题是没有数据。此时此刻,我的工作看起来毫无意义,我意识到最重要的是数据。

为什么数据工程师都是关于数据的?因为没有数据,数据工程师就失去了他们的重要性。我们称之为相关性。

利用 R & ggplot 进行数据探索和可视化

原文:towardsdatascience.com/data-explor…

从 IGN 数据库中可视化游戏流派和平台

考虑到我最近对 R 和 ggplot 的尝试,从通常的 Python jupyter 笔记本中休息一下似乎是合适的。我从符号中选择了 IGN 数据集,对数据进行快速的数据探索和可视化。

加载了包含有用包(如 ggplot2 和 dplyr)的 tidyverse 包后,我们开始阅读 csv 文件。通过将 stringsAsFactors 设置为 FALSE,我们确保字符串变量不会作为因子读入。

快速查看数据框架会发现一些有趣的变量。特别是,标题、平台、分数、流派和发行年份变量。

排名靠前的标题列表似乎不太有趣,因为有多个标题得分分别为 9 和 10。让我们看看基于特定分组的平均复习分数。

游戏类型

因为有 112 种独特的流派,让我们来看看前 10 种。

所有 122 种流派都有必要吗?这里的划分可能过于精细。有相当多的类型,如“探险,平台塑造者”和“探险,情节”有相同的“探险”的主要类型。因此,我写了一个函数,通过使用类型变量的第一个单词来得到每款游戏的主要类型。

新的 main _ 流派变量现在包括一个更容易管理的 31 种独特流派。不过,似乎有一个叫 NA 的。

有 36 行缺少流派值。由于这是 18,000 多个观察结果中的一个非常小的样本,手动标记它们将会花费不必要的精力,因此我们将这些观察结果与 NA 流派值放在一起。

让我们在此处再次检查,以确保其他值中没有任何 NA 值。这里可以使用 apply 函数在 ign 数据框的每一列上运行一个函数。这里,值为 FALSE 表示该特定列中没有 NA 值。

有了新减少的流派,让我们再来看看平均评论分数分布,这次是所有的流派。我们看到编译游戏已经下降很久了,而硬件游戏仍然是最高等级的游戏。

让我们用一个方框图再次想象一下。

似乎虽然成人、棒球和硬件游戏评论分数属于一个狭窄的范围,但几乎所有其他流派都有更多的差异和异常值。

什么是硬件游戏?

显然,它们指的是虚拟现实硬件,仅由两个条目表示。鉴于虚拟现实行业刚刚起步,这种观察的缺乏似乎是恰当的。

鉴于硬件类别只有两种观察,哪种类型的游戏最多?

鉴于上面的平均复习分数图表中有 30 个变量的条形图看起来相当狭窄,让我们在这里通过组合 geom_point 和 geom_segment 来尝试棒棒糖图表。

动作游戏的数量似乎是压倒性的,有超过 5000 个参赛作品,约占所有参赛作品的 27%。

游戏平台

有 59 个独特的平台。让我们看看前 10 名的平均评审分数。

除了 Macintosh,这是一个相当倒退的列表。

游戏数量排名前 10 的平台呢?

有没有可以在多个平台玩的游戏?通过按游戏名称对初始数据帧进行分组,我们可以找到支持特定名称的平台数量。

鉴于近年来也有如此多的平台失宠,IGN 数据库中的游戏数量是否反映了平台受欢迎程度的变化?

让我们绘制一个跨所有平台的季节性图表。

1970 年似乎太遥远了,所以 1996 年似乎是这个情节的合理起点。查看 2010 年以后的数据,似乎可以发现图书总数出现了奇怪的下降。由于这可能是一个数据质量问题,我们将重点放在 1996 年至 2010 年这 15 年。

为了防止图表混乱,我们将数据点限制在任何给定年份拥有超过 10 款游戏的平台上。

一些有趣的趋势值得注意:

  1. 为每一代 Playstation 列出的游戏的衰落与下一代 Playstation 游戏的崛起相吻合。
  2. 2010 年是手机游戏和平板电脑游戏(如 Android 和 iPad 游戏)出现的第一年,这可能标志着手机游戏的普及。
  3. PC 游戏的年度数量始终保持相当稳定。
  4. Wii 游戏在 2007-2008 年间的大规模增长是非常出人意料的,尽管谷歌趋势证实了随后对游戏机的兴趣和游戏数量的下降。

学会一种新的语言来可视化数据真的很有意思,而且在接下来的帖子中,肯定会看到这些新工具带来更有效的数据可视化!

R markdown 代码可以在这里找到,也可以在 LinkedIn 上随意连接!

黑人生活的数据:在麻省理工学院举行的首次会议

原文:towardsdatascience.com/data-for-bl…

Data For Black Lives Animation

数据作为抗议。数据作为责任。数据作为集体行动。

我们听说过万有引力和电磁力,但还有另一个:Yeshimabeit Milner。正是她的远见推动了现在被称为“黑人生活数据”的运动。首届会议于 2017 年 11 月 17 日至 19 日在麻省理工学院举行。

当我坐在一所不熟悉的麻省理工学院大楼的大厅里时,我不安地杂耍着关于期待的零散想法。会议注册没有几个小时,但我的心在兴奋地跳动。这似乎是对这样一个事件的非常戏剧性的反应,我花了几个星期来处理我的各种情绪和智力刺激。

在宣布黑人人性被视为有争议、技术正以指数方式超越我们生活的时代,两者之间的交集是不可避免的。然而,这个数据和黑人生活相遇的空间对我们许多人来说是熟悉的。我们中的一些人是黑人“觉醒”活动家,同时也是科学家和工程师。我们中的一些人是社区组织者,利用数据为我们的人民而战。我们中的一些人是数据科学家,他们用我们所有的历史和意识形态来设计算法,并将其固化在我们的代码中。每个人都带着对家庭的渴望和一丝希望来到这个数据和黑人生活相遇的地方。

"我明天能带我女儿来见你吗?"她问我,她的完美蓬松的非洲充满活力地塑造她的脸。我笑着说她可能把我误认为值得带她女儿来见的人,并确保适当地介绍了自己。她继续说,她的女儿一直在她的中学物理课程中挣扎,看到一位黑人女性对物理感兴趣可能会受到鼓舞。当然,我告诉她我很荣幸见到她的女儿。

如果我认为仅凭我的语言就可以占据所有的空间,那我就太自大了。不可否认的是,每次我坐下来写这篇文章的时候,即使是简单的揭露一小部分的任务也会让我感到不知所措。所以,这仅仅是黑人生活数据会议开幕式上的一个片段——我试图概述一些我学到的最重要的知识。

储存在黑人想象中的潜在能量

Ruha Benjamin 博士(普林斯顿大学非洲裔美国人研究副教授)在她的开幕词中阐明,数据需要解释。我们经常将数据作为一种客观独立的物质来讨论,这种物质不言自明,可以被简单地发现。现实要复杂得多,这意味着同一组数据可能会根据观察者的不同而有不同的解释。这就引出了几个问题:迄今为止,谁在解读这些数据?数据怎么可能是主观的?谁有解读数据的自由和权力?

这些都是我在本杰明博士概述警察暴行数据的例子时开始构思的问题。她强调了黑死病和黑债之间的联系。这是一种只有当黑人的想象力被完全释放并被允许参与到对数据的解释中时才能建立的联系。

在主题演讲的最后,本杰明博士延续了许多有色人种都熟知的传统:向前人致敬。对我们中的一些人来说,这仅仅意味着在享受美好时光之前,向死去的亲人倒一些酒。对我们中的一些人来说,这意味着记住前人的贡献,这样我们就不会重新发明轮子,而是在他们工作的基础上再接再厉,与我们的祖先共同行动。这是本杰明博士在黑人生活数据中心对人群所做的。这不仅为建筑而不是创造定下了基调,也为我们在这个知识生产和想象探索的时代处于社群中奠定了基础。

我感到黑人的想象力正受到欢迎,进入这个我从未去过的地方。认识到黑人想象力的力量,然后拥抱它,而不是试图压制它。对身为数据分析师的祖先讲述生活是有意义的,尽管传统上并不这么认为。在数据分析和科学领域拥有我们自己的位置,并让它成为会议的前沿…我从未见过这样的事情。我们从一开始就围绕着黑暗和黑人的想象来定位自己。我们将自己定位在时间连续体上,在我们的祖先之后,但在下一代黑人数据生产者之前。提升过去、现在和未来。

那一刻,我知道这个空间将会是我从未允许自己想象过的。作为一名黑人科学家,我学会了对科学界的期望要合理,不要对一个有性别歧视和种族主义传统的社区期望过高。我们被告知要对进步的参照系有所讲究,所以如果我们看到至少有一个人在科学界成功了,那么与零个人相比,这就是进步。我已经习惯于以缓慢渐进的方式来思考,而不是以最终目标来思考。我被训练来管理我的想象力,让我知道科学界能真正实现什么。

在这里,我在一个空间里为黑人想象力的精神和力量树立了榜样。也许我可以释放我自己的想象力,也许这最终是一个空间?

注重系统和算法的设计

在我们实施产品或想法之前,我们通常会花时间设计它们。我们谈了很多关于设计的问题。我们能不能多想想谁从不公正的设计中获益?当我们想到我们日常交互的算法或我们说话时正在开发的算法时,意识形态实际上对那些设计师很重要。因为数据和我们对数据的解释并不像我们想的那样客观。

同样值得注意的是,科学作为一个领域,通过将自身建构为客观的而获得了什么。通过对客观性的终极要求,设计师开始定义客观和“中立”。这个定义从来不需要表达,只需要理解。我们开始明白目标是与白人和男性联系在一起。其他任何事情都被认为是种族化的,我们倾向于讨论多样性。但是,对于客观的、中立的、属于一群主要是白人和男性的人来说,这意味着什么呢?这意味着他们解释数据的方法和直觉成为标准。

算法的设计是关于直觉和解释的。到目前为止建立的标准是基于白人男性的直觉和解释。那么,一旦我们释放了黑人的想象力,它会对系统和算法的设计产生什么影响呢?也许,可能是偏离标准的东西?

被遗漏的数据非常重要

数学家、《数学毁灭的武器:大数据如何增加不平等并威胁民主》一书的作者凯茜·奥尼尔(Cathy O'Neil)谈到了算法不客观的事实,并声称“算法是嵌入代码中的观点”。她继续使用犯罪数据的例子,并指出“我们遗漏了大量(白人)犯罪……这是数据中的偏见”。她和其他小组成员向我们挑战,让我们更仔细地看看被遗漏的数据。

当设计提取数据的算法时,我们首先识别我们想要测量的变量和可能的趋势。如果遗漏了某些可能影响数据解释的变量和趋势,会发生什么呢?当前的数据科学家遗漏了哪些变量?当我们为黑人的想象创造空间时,我们如何将它融入到过程的每一步?

存在着数据无法证明的偏见和不公正。在当前的数据中隐藏着偏见和不公正。我们可以正面解决这些问题。“黑人生活数据”就是这样一个社区。

有一次,一名当地活动家站起来询问一个“数据工具包”,活动家可以用它来更好地收集信息,并战略性地使用数据分析来实现他们的目标。我们都思考过这个问题,并决定虽然我们目前没有一个,但我们将作为一个社区开发一个。房间里的数据科学家、数学家和科学家将与活动家一起开始收集、解释和利用被遗漏的数据。我们将把重点转移到通常不被关注的领域。我们将提升历史上被边缘化的人们,并以他们为中心。

叙述+数据=信息

@TheNewThinkerr :“白人至上是一种算法,我们作为数据科学家的工作就是对这种算法进行逆向工程”

如上所述,数据本身不够强大,也没有被证明足够有效,因为数据不是单独存在的。数据是用来讲故事的。数据被包装在叙述中,然后用于通知行动。当我们明白当人们使用数据来设计像白人至上这样的叙事并将其嵌入我们的社会结构时,社会意识形态得到了加强,我们可以开始将去殖民化视为一项逆向工程甚至是一项重新设计的任务。我们的数据必须用更具包容性和公平性的叙述来包装。

这种信息的交流也必须是包容性的。Github 的高级机器学习数据科学家 Omoju Miller 博士谈到了黑人社区内部知识转移的重要性。这个国家的下层阶级和中产阶级/上层阶级的黑人之间存在着隔阂。我知道,作为一个来自低收入背景的人,我与黑人中产阶级的联系为我的人际网络和职业指导提供了很多帮助。技术为我们提供了一个空间,在这里我们可以走到一起,建立技术创新和社区。诚然,这肯定不是常态。一般来说,黑客马拉松并不被认为是在引擎盖或包容性空间举行的。请记住,我们谈论的是黑人的未来,以及这种释放黑人想象力的可能性。

像黑人生活数据这样的空间可以更广泛地存在。我们可以把人们聚集在一起——社区活动家、数据科学家、科学家、教师、图书管理员、艺术家、DJ 等等。这一切都是为了释放黑人对技术创新的想象力。这可能是一个黑人社区成员之间知识转移的空间,否则他们永远不会互动。多么美好的愿景。

总而言之,这次会议对我来说意义重大,因为我身处黑人人性和科学的交汇点。这几个点只捕捉到整个空间的一瞥,这是黑人生活的数据。我非常感谢组织者:Yeshimabeit Milner、Lucas Mason-Brown、Max Clermont、Isaiah Borne 和 Nana Younge。

查看d4bl.org/了解更多关于黑人生活数据的信息和会议的更多细节。

在自由中,

贾梅勒

P.S .拍手秀点爱心,推荐,分享,关注我 @JamelleWD

使用熊猫进行数据处理;现实生活中的机器学习

原文:towardsdatascience.com/data-handli…

今天,我们将看到一些基本的技术来处理稍微复杂一点的数据,而不是我在sklearn数据集的之前使用的例子,使用pandas的各种特性。这篇文章将帮助你安排复杂的数据集来处理现实生活中的问题,最终我们将通过一个逻辑回归的例子来研究数据。关于数据清理的更多信息,你可以查看这篇文章

您可以从我的 github 存储库下载名为“bank.csv”的数据文件,或者从原始的下载,那里有数据集的详细描述。

在描述数据文件之前,让我们导入它并看看基本的形状

import pandas as pdbankdf = pd.read_csv('bank.csv',sep=';') # check the csv file before to know that 'comma' here is ';'print bankdf.head(3)
print list(bankdf.columns)# show the features and label 
print bankdf.shape # instances vs features + label (4521, 17) 

输出如下

bank data-set brief description

从输出中我们看到数据集有 16 个特征,标签用'y'指定。主中给出了这些特性的详细描述。主存储库中的数据集概述如下

该数据与一家葡萄牙银行机构的直接营销活动相关。营销活动以电话为基础。通常,为了了解产品(银行定期存款)是否认购(“是”)或不认购(“否”),需要与同一客户进行多次联系。

我们可以制作一个seaborn计数图,看看其中一个类是如何控制输出的。

import matplotlib.pyplot as plt
import seaborn as snssns.set(font_scale=1.5)
countplt=sns.countplot(x='y', data=bankdf, palette ='hls')plt.show()

Label (‘y’) of the bank data is dominated with ‘no’ variable

我们可以用下面的一段代码来计算这个数字

count_no_sub = len(bankdf[bankdf['y']=='no'])print count_no_sub>>> 4000

因为数据集的标签是以“是”和“否”的形式给出的,所以有必要用数字来代替它们,可能分别用 1 和 0,以便它们可以用于数据的建模。在第一步中,我们将将数据集的输出标签从二进制字符串 yes/no 转换为整数 1/0。

bankdf['y'] = (bankdf['y']=='yes').astype(int)  # changing yes to 1 and no to 0
print bankdf['y'].value_counts()>>> 0    4000
    1     521
Name: y, dtype: int64

由于输出标签现在被转换成整数,我们可以使用 pandas 的groupby特性来进一步研究数据集。根据输出标签(是/否),我们可以看到特性中的数字如何变化。

out_label = bankdf.groupby('y')
print out_label.agg(np.mean)# above two lines can be written using a single line of code
#print bankdf.groupby('y').mean()>>>
    age   balance   day  duration campaign pdays previous
y                                                                       
0  40.99 1403.2117 15.948 226.347 2.862  36.006  0.471 
1  42.49 1571.9558 15.658 552.742 2.266  68.639  1.090

首先,这里我们只看到 16 个特性中的 7 个,因为剩下的特性是对象,而不是整数或浮点数。你可以输入bankdf.info()来检查。我们看到“持续时间”这一功能告诉我们最近一次通话的持续时间(以秒为单位),购买了产品的客户是没有购买产品的客户的两倍多。“活动”,表示在当前活动期间进行的通话次数,对于购买产品的客户来说较低。**groupby** **可以给我们一些关于特征和标签之间关系的重要信息。**感兴趣的人可以在“教育”功能上检查类似的“分组”操作,以验证受过高等教育的客户具有最高的“余额”(以欧元表示的平均年余额)!

数据集的一些特征有许多类别,可以通过使用系列对象的****unique****方法进行检查。示例如下

print bankdf["education"].unique()
print bankdf["marital"].unique()>>> ['primary' 'secondary' 'tertiary' 'unknown']
    ['married' 'single' 'divorced']

**这些变量被称为分类变量,就pandas而言,它们被称为“对象”。**为了使用分类变量检索信息,我们需要将它们转换成“虚拟”变量,以便它们可以用于建模。我们使用pandas . get _ dummies特性来实现。首先,我们创建一个分类变量列表

**cat_list = ['job','marital','education','default','housing','loan','contact','month','poutcome']**

然后,我们将这些变量转换成虚拟变量,如下所示

**for ele in cat_list:
 add = pd.get_dummies(bankdf[ele], prefix=ele)
 bankdf1 = bankdf.join(add)# join columns with old dataframe
 bankdf = bankdf1#print bankdf.head(3)
#print bankdf.info()**

我们已经为每个分类变量创建了虚拟变量,打印出新数据帧的头部将会得到如下结果

Dummy variables from categorical variables

你可以理解,分类变量是如何被转换成虚拟变量的,这些虚拟变量可以在这个数据集的建模中使用。但是,我们有一个小问题。实际的分类变量仍然存在,它们需要被移除以使数据帧为机器学习做好准备。我们首先通过使用 *tolist()* 属性将新数据帧的列标题转换成一个列表。然后,我们创建一个没有分类变量的新列标题列表,并重命名标题。我们使用下面的代码来做到这一点**

**bank_vars = bankdf.columns.values.tolist() # column headers are converted into a listto_keep = [i for i in bank_vars if i not in cat_list] #create a new list by comparing with the list of categorical variables - 'cat_list'print to_keep # check the list of headers to make sure no categorical variable remains**

我们准备创建一个没有分类变量的新的数据框架,我们通过-

**bank_final = bankdf[to_keep]**

请注意,为了创建新的数据帧,我们将一个列表(' to_keep ')传递给索引操作符(' bankdf ')。如果您没有将列名列表传递给索引操作符,它将返回一个**keyerror**。要选择多个列作为数据帧,我们应该向索引操作符传递一个列表。但是,您可以选择单个列作为“系列”,如下所示

**bank_final = bankdf[to_keep] # to_keep is a 'list'
print type(bank_final) >>> <class 'pandas.core.frame.DataFrame'>bank_final = bankdf['age']
print type(bank_final)>>> <class 'pandas.core.series.Series'>bank_final = bankdf['age','y']
print type(bank_final)>>> KeyError: ('age', 'y')**

我们可以验证新数据帧bank-final的列标题。

**print bank_final.columns.values>>> ['age' 'balance' 'day' 'duration' 'campaign' 'pdays' 'previous' 'y' 'job_admin.' 'job_blue-collar' 'job_entrepreneur' 'job_housemaid' 'job_management' 'job_retired' 'job_self-employed' 'job_services' 'job_student' 'job_technician' 'job_unemployed' 'job_unknown' 'marital_divorced' 'marital_married' 'marital_single' 'education_primary' 'education_secondary' 'education_tertiary' 'education_unknown' 'default_no' 'default_yes' 'housing_no' 'housing_yes' 'loan_no' 'loan_yes' 'contact_cellular' 'contact_telephone' 'contact_unknown' 'month_apr' 'month_aug' 'month_dec' 'month_feb' 'month_jan' 'month_jul' 'month_jun' 'month_mar' 'month_may' 'month_nov' 'month_oct' 'month_sep' 'poutcome_failure' 'poutcome_other' 'poutcome_success' 'poutcome_unknown']**

我们能够分离特征变量和标签,这样就有可能在数据集上测试一些机器学习算法。使用下面的代码从这个新数据框中选择要素和标注

**bank_final_vars=bank_final.columns.values.tolist()# just like before converting the headers into a list
Y = ['y']
X = [i for i in bank_final_vars if i not in Y]**

由于有太多的特征,我们可以在sklearn下用递归特征消除(RFE)选择一些最重要的特征,它分两步工作。在我以后的文章中,我可能会讨论为什么特征选择不能用逻辑回归,但是现在让我们用一个RFE来选择一些重要的特征。首先,分类器被传递给 RFE ,带有要选择的特征数量,然后调用拟合方法。下面的代码描述了这一点

**model = LogisticRegression()
rfe = RFE(model, 15) # we have selected here 15 features 
rfe = rfe.fit(bank_final[X], bank_final[Y])**

我们可以使用support_属性来查找哪些特征被选中。

**print rfe.support_>>> [False False False False False False False False False False False False True False False False False False False False  True False False False False False  True False False False False  True False False  True False False  True False  True  True  True  True False False  True  True  True False  True  True]**

rfe.support_生成一个数组,其中所选的特征被标记为真,您可以看到其中的 15 个,因为我们已经选择了最好的 15 个特征。RFE的另一个属性是ranking_,数组中的值 1 将突出显示所选的特征。

**print rfe.ranking_>>> [33 37 32 35 23 36 31 18 11 29 27 30  1 28 17  7 12 10  5  9  1 21 16 25 22  4  1 26 24 13 20  1 14 15  1 34  6  1 19  1  1  1  1  3  2  1  1  1 8  1  1]**

我们可以用下面的代码明确地打印出使用RFE选择的特性的名称

**rfe_rankinglist = rfe.ranking_.tolist()
selected_columns = []for im in range(len(X)):
 if rfe_rankinglist[im]==1:
  selected_columns.append(X[im]) 
print selected_columns>>> ['job_retired', 'marital_married', 'default_no', 'loan_yes', 'contact_unknown', 'month_dec', 'month_jan', 'month_jul', 'month_jun', 'month_mar', 'month_oct', 'month_sep', 'poutcome_failure', 'poutcome_success', 'poutcome_unknown']**

我们终于可以继续了。fit()和。score()属性来检查模型的性能。

在另一篇帖子中,我将详细讨论逻辑回归背后的数学原理,我们将看到逻辑回归不能选择特征,它只是缩小线性模型的系数,类似于岭回归。下面是可以用来检查特性选择效果的代码。这里我们使用了整个数据集,但最佳实践是将数据分为训练集和测试集。作为一个小练习,你可以试试这个,记住数据集的标签是高度倾斜的,使用stratify可能是个好主意。祝你好运!

**X_new = bank_final[selected_columns]
Y = bank_final['y']
X_old = bank_final[X]clasf = LogisticRegression()
clasf_sel = LogisticRegression()
clasf.fit(X_old,Y)
clasf_sel.fit(X_new,Y)print "score using all features", clasf.score(X_old,Y)
print "score using selected features", clasf_sel.score(X_new,Y)**

所以,让我们总结一下最重要的几点来结束这篇文章

  • 我们已经学会了使用pandas来处理现实数据集可能存在的一些问题。
  • 我们已经学会了将字符串(' yes ',' no ')转换成二进制变量(1,0)。
  • 熊猫数据框的groupby属性如何帮助我们理解要素和标注之间的一些关键联系。
  • 将分类变量改为虚拟变量,并在数据集建模中使用它们。
  • 如何通过向索引操作员传递列表来选择数据帧的一部分。
  • 使用 RFE 选择复杂数据集的一些主要特征。

关于数据清理和处理的更多信息,你可以查看我关于使用 pandas 处理数据的帖子。关于使用熊猫分组和交叉表的更多信息,你可以查看我的全球恐怖主义数据分析帖子。希望这篇文章能帮助你在处理现实的数据集时更自信一点。保持坚强和快乐。干杯!!

兽医数据:动物数据比比皆是!

原文:towardsdatascience.com/data-in-vet…

“一只黑猫穿过你的道路意味着这只动物要去某个地方” —格劳乔·马克斯

动物相关的开放数据

在最后一篇关于开放数据的出现和好处的博客之后,我决定看看有哪些数据是专门与动物相关的。

我找到的第一个是由马普鸟类研究所主持的 Movebank 数据库 。这是一个专注于动物追踪的开放式数据库。他们的目标是“…帮助动物追踪研究人员管理、共享、保护、分析和存档他们的数据”。

在撰写本文时,该网站包含 248 个数据文件,内容涉及从“追踪美洲夜间飞行食虫动物的迁徙”到“南极海燕 3D 飞行”再到“藤壶雁的迁徙时间”。

数据集可以位于地图上,数据可以直接从网站下载。它还为您提供了最后一次数据集更新的日期,以及数据所有者的联系方式。

浏览了一会儿后,我偶然发现了一个有趣的数据集,名为“拖网蝙蝠的运动协调”。这是 2015 年进行的一项研究,该研究在短时间内跟踪蝙蝠的位置,旨在推断蝙蝠使用什么规则来协调它们的运动。作者表示“当观察成对的道本顿蝙蝠在低空觅食搁浅的昆虫时,我们发现它们有有趣的‘交通规则’——它们互相追逐,进行串联转弯,甚至减速以避免碰撞”。这项研究的论文是开放获取的,甚至是一篇国家地理文章的主题。

我下载了这个数据,玩了一把。我拿了两只蝙蝠(从数据集的参考数据中识别为“成对、协调飞行”),并用 R (一种开源统计编程语言)创建了一个动画。我分别把蝙蝠涂成红色和蓝色,并在它们之间画了一条线,随着它们之间距离的增加,这条线逐渐变淡。

同样,Zoatrack 网站也有动物追踪数据,主要集中在澳大拉西亚地区的研究。它还拥有许多分析和可视化工具,以帮助利用数据。

更专业的是 Seaturtle ,专注于追踪海龟(不足为奇)。对于本网站而言,数据的使用似乎不太“公开”,因为必须首先获得数据所有者的书面同意。

从动物追踪开始, EMPRES-i 网站(由联合国粮食及农业组织主办)包含全球动物疾病的公开数据。这个大型数据集提供了诸如猪瘟、口蹄疫和禽流感等疾病的爆发和发生的信息。所有疾病事件都附有位置(经度和纬度)、日期、死亡人数等信息。我下载了全球禽流感爆发的数据,制作了一个快速简单的动画,

不同类型的动物相关数据可在 FAOSTAT 网站上找到。同样由联合国主办,这个网站聚焦于不同国家、不同行业的贸易和生产。一个数据集显示了所有的活体动物运输,这些数据被“停止活体运输”慈善机构大量使用。我抓取了一些数据(特别是与 2013 年欧洲所有生猪出口相关的数据),并用它创建了一个交互式地图。

互动版可以在这里找到。

再次不同的是英国政府网站上的动物相关数据。在这里搜索发现了 2015 年所有的外来动物进口许可证。如果你想知道最近有多少只巨大的水獭被允许进入英国,这是给你的数据集。

查看美国政府的开放数据门户,在撰写本文时,有 16131 个数据集与“动物”一词相匹配。这些数据包括路易斯维尔的动物咬伤数据、佛蒙特州的动植物物种图谱和西雅图的宠物许可证。专门搜索“狗”会得到奥斯汀宣布的危险狗、巴吞鲁日的控制事件和安克雷奇注册狗名的数据。

将数据投入使用

上面提到的数据集仅仅触及了可用数据的表面,每天都有新的数据集被上传到这样的网站。

在一个层面上,这些数据纯粹从“看一看”的角度来看是有用的。如果你找到了与某个主题相关的数据,简单地下载并探索这些数据(通常通过简单的情节)就能揭示出感兴趣的东西。

除此之外,开放数据的真正力量源于能够将数据集合并在一起,或者使用多个开放数据集,或者更好的是,丰富你自己的私有数据。例如,在 Avacta Animal Health,我们有多年的过敏测试数据。我们最近开始结合开放的环境数据集(如英国气象局提供的数据集)来研究这些数据,以获得新的见解。

简而言之,开放数据仓库充斥着动物数据,其中许多部分可能会引起兽医专业人员的兴趣。所以,无论你有什么数据,或者你有什么兴趣,看看那里有什么,甚至可以分享你自己的数据。

兽医数据:你尚未开发的商品

原文:towardsdatascience.com/data-in-vet…

大数据就在我们身边,但是如何最好地利用它来提升兽医职业呢?

在没有数据之前就进行理论化是一个严重的错误。不知不觉中,人们开始扭曲事实以适应理论,而不是让理论适应事实——夏洛克·福尔摩斯,波希米亚的丑闻

大数据

当古代印加人想要存储数据时,他们使用 khipus ,或“会说话的结”,用一根根细绳来编码数字信息。创建 khipus 是一项艰巨的任务,至少需要一年时间来掌握基本技能,但一旦获得了这种专业知识,这些“数据档案”就可以用于税收记录、人口普查数据,甚至军队的组织。

今天,根据 IBM 的数据,每 24 小时,全球就有 25 万亿字节的数据被创建。这些数据的来源多种多样,无处不在,正迅速融入我们生活的方方面面。从 Fitbits 到 CCTV 摄像机,社会正被以看似科幻的方式观察、衡量和分析。加上你在使用手机、信用卡和社交媒体账户时留下的长长的数字痕迹,你可以肯定老大哥在盯着你。

Photo by fabio on Unsplash

然而,随着这种数据的泛滥,随之而来的是一长串的挑战,比如如何存储它,如何分析它,如何分享它。通常,这类问题必须得到快速回答,因为一旦挖掘出“大数据”流,这种商品的大出血或滥用对于人们心目中的商业或科学问题可能是灾难性的。答案以多种 IT 工具、编程语言和数据管理流程的形式出现,许多行业正在快速整合这些工具,以便将自己带入 21 世纪。

兽医行业也不例外,充斥着从临床记录、血液检测结果到医学影像的各种数据。像 SAVSNET 和 VetCompass 这样的组织正在努力收集和分享这样的数据,导致了大量临床相关论文的发表,但这还为时尚早,手头的任务是巨大的。

过去的数据

未来数据的收集和分析对许多行业至关重要,但许多组织没有意识到的是,他们可能已经拥有大量有价值的数据。对于一些人来说,这将是纸质记录的形式,精心保存数年甚至数十年。对其他人来说,这些数据可能已经被数字化、存档,并注定要永远保存在某个被遗忘已久的硬盘上。

我们的心态应该是,这是一种巨大的浪费,而不是一种小小的耻辱,因为这样的数据不仅可以提供有趣的见解,还可以直接改善患者护理。换句话说,这些休眠数据可以拯救生命。再加上相关商业分析带来的潜在财务收益,你会开始看到打扰这个数字沉睡巨人的好处。

许多人意识到世界上潜在的数据具有潜在的价值。以医学语料库注释历史(HIMERA)项目为例。这是一次对追溯到 1840 年的数字化医疗记录进行注释的尝试,目的是利用文本挖掘技术挖掘出丢失的疾病数据。这样的知识可以与现代记录融合,扩大医学理解的广度和深度。

您的数据

这给你提出了一个问题。你有哪些数据目前存放在文件柜、Excel 电子表格或练习数据库中,但你从未看过?这些数据可以为您的实践回答以下问题,仅举几个例子,

在过去 10 年中,您见过的疾病类型细分是什么? 在什么情况下给予了什么治疗? 又看了多少例?这里有什么模式吗? 这些疾病随着时间的推移会有怎样的变化?有季节性的吗? ·地理空间怎么样?当你根据客户邮政编码绘制疾病类型时会发生什么?

也许这样的数据不会显示出什么有趣的东西,或者也许它只会加强现有的预感和怀疑。但更有可能的是,它将提供一个独特的视角和理解,这是以前无法获得的,是为你的实践定制的。

Photo by Lukas Blazek on Unsplash

接下来去哪里?

数据被认为是 21 世纪的商品,但时至今日,人们对许多组织已经封存起来的东西长期低估。我会鼓励你看看你有什么,并考虑你可以问这个宝贵的,未开发的资源什么问题。随着兽医职业朝着为执业兽医增加研究的未来发展,毫无疑问,利用这些数据的需求即将出现。

如果你是一名兽医,并且你想进一步讨论这个问题,请联系我 Avacta 动物健康(rob.harrand@avacta.com)

基于数据的 UX 设计

原文:towardsdatascience.com/data-inform…

我艰难学到的 5 件事。

It doesn’t have to be random

选择正确的指标

这可能看起来很深奥,但选择正确的指标并不总是微不足道的。此外,在业务部门看来,UX 指标通常是不够的。因此,应该使用更多面向业务的指标,如销售转化、注册转化、附加销售等。你知道吗?你仍然可以让它工作。无论 UX 的变化有多小或多大,它(通常)都会对业务度量产生一些影响。

你可能会认为,改变主页上的图标不会对顾客在三步之外将商品放入购物车的人数产生任何影响,但事实是它会产生影响。至少大部分时间(我指的是 99.9%的时间)。换句话说,如果对你的商业目标没有任何影响,你为什么要改变呢?设计师通常会说“这将增强 UX 和一致性”,但有什么比实际结果更好的方法来衡量结果。

好吧,这并不总是这样,但你得到了这个想法。有些时候,你需要定义短期目标和衡量标准,甚至对必须发生的变化视而不见。但是如果可能的话,使用实际的商业目标。

相信你的模型

数学是一门美丽的科学,我希望我有时间更深入地探索它,但在大多数情况下,你不需要知道幕后发生了什么。学会信任你的模型,即使它有时看起来不准确。

我要告诉你一个秘密…它不是。简而言之,要检测出不是在旅程后期的变化,需要一万亿的数据。如果你正在进行多项测试,可能性是无穷无尽的,即使你为谷歌工作,你也需要至少几周或更长时间才能得到一些真实的结果。

Learn when to trust your model

这种预测模型最近到处都在使用,但它们的核心是基于一个简单的想法的统计数据。样本越大,置信度越大。另一方面,如果你觉得你的设计没有经过足够长时间的测试,你需要控制局面。向你的经理证明你需要更多时间的最好方法是反复尝试同样的 A/A 测试。需要多少次压印才能变平?整整几周?

提示:如果你的测试从第二天开始就没什么变化,再等几天,然后再测试一次。你要么太幸运,要么为亚马逊或 Booking.com 工作。

增强你的启发性

设计试探法已经存在很多年了。最近,移动试探法变得更加流行。如果你做数据通知 UX,你可能没有足够的时间在你的每一个测试之前进行 UX 研究。而不是用你的勇气去设计(这已经被证明是伟大的!)花些时间让自己熟悉启发式。把它们当作一种刺激,仅此而已,但不要忽视它们。

现在的诀窍是记录你的测试分数。每个市场和受众都不尽相同,可能对一个人非常适用的东西,对另一个人可能会严重失效。个性化你选择的一套启发法(最多 10-15 个),每次你看到一些深刻的行为,就把它和相应的启发法联系起来。你很快就会发现你的数据是一组非常有力的研究成果。

学习何时停止迭代

这可能是最难实现的事情。迭代设计也是数据导向和精益 UX 的基石,但是在失败的设计上投入更多的时间并不会使事情变得正确,也许并不真的很糟糕。

深呼吸,回到最基本的。拿起你的笔、手写笔、记号笔,想想你的用户,他们的心智模型,和同事或朋友谈谈,做一些愚蠢的问题,然后从头开始画一切。毕竟,这是设计师应该做的。为不可能的问题寻找解决方案。

UCD 方法论

我最喜欢的部分。我喜欢实践以用户为中心的设计方法。我认为这是任何设计师都应该学习的第一件事,并且尽可能多的练习。也就是说,它仍然不能很好地处理现成的基于数据的 UX 流。我们缺乏工具、方法和知识来有效地做到这一点。这是否意味着我们应该忘记它?

好吧,我为我自己说,这是不会发生的。

就像我之前说的,你的数据是无价的。我们正处于一个世界的开端,在认为一切都是理所当然之前,一切都需要通过某种模型来验证,这是尽可能科学的。现在,你要做的就是利用你的数据。使用它们来创建基于数据的人物角色,发现不同用户旅程中的模式,创建现实生活驱动的场景,并学习如何设计它们。

框架已经存在,可能缺少的是一种更自动化的方式来获取数据,并将它们转换为更有意义的信息。现在需要一些手工工作,但是有了一些数据工具,将会有一些东西来帮助你加速这个过程(对于每个阅读的人来说可能是相当不同的)。

Don’t forget about the people

结论

如果你和我一样,你会觉得在这样一个时代工作很幸运。信息自由流动(…)并且收集的数据比任何其他时期都多(到 2018 年每天 50.000GB)。缺少的是我们理解它们,并把它们用在最好的地方。说到 UX,基于数据的 UX 设计才刚刚起步,但我希望你能从这些小技巧中得到一些帮助,并将其纳入你的日常工作习惯中。

数据科学家眼中的数据基础设施。

原文:towardsdatascience.com/data-infras…

Photo by chuttersnap on Unsplash

如今,数据科学是一个热门话题,许多公司都在谈论“数据驱动”、“数据知情”或“以数据为中心”,以及他们因此在新业务模式方法上所做的改变,为什么不呢?利用数据做出更知情的影响(?)对一个问题的决策见证了商业的繁荣。很多企业天真地认为,只要按下标有“数据科学”的红色大按钮,就能得到 42 的答案,然后坐在那里看着美元滚滚而来,如果你经历过这个世界,你就会知道事实并非如此。

本文不是关于将一家公司转变为数据驱动型的战略业务流程,也不是关于在这个过程中你几乎肯定会遇到的困难(仅供参考,这主要是关于教育你的受众,处理对变化或自我的敌意)。本文主要关注构建数据基础设施的全新方法,以满足数据科学家的需求。

免责声明:技术、SLA 和您业务的特定用例对任何作者的观点来说总是不同的,这是对我们工作的概述。

当人们想到在传统业务中使用数据的前瞻性方法方面推动数据前沿的行业时;像金融服务和保险、计算机和电子、媒体和电信这样的垂直行业通常会首先出现在脑海中。拥有一个领导者当然意味着其他行业落后于数字曲线。

特别是航运业,在利用数据做出关键决策或自动化许多流程方面落后于其他行业,虽然进入游戏较晚有其缺点,但它也允许我们查看数据生态系统的现状,并尝试利用适合我们的最新设计范式和技术。

我打算在接下来的一年里写三篇关于特定领域的文章:

  1. 面向数据驱动型应用的云基础架构
  2. 数据应用生命周期管理
  3. 机器学习查询语言

面向数据驱动应用的云基础设施

在过去的几年中,数据科学社区在自动化流程和管道方面已经非常成熟。在“AutoML”和“AutoFeature engineering”等概念上花费了巨大的努力,以优化数据科学家重新完成相同工作流程所花费的时间,即参加任何会议,或关于“数据科学”的内部演示,会弹出下图的某个版本。

epistasislab.github.io/tpot/

这很好地代表了数据科学领域模型,它使我们能够将试图以某种最优方式解决我们的问题所需的过程编码。事实上,社区已经走得更远,并意识到解决这个问题是不够的,需要一个机制来生产这个解决方案。

将该解决方案归档并创建微服务是解决下一个进入生产的问题的必由之路,尽管对我来说这只是一种机制,幕后是什么意味着这可以无缝地发生?我如何确保我为未来做好准备?对我来说,创建一家数据驱动型公司意味着在公司内部创建一种数据民主,并让所有数据素养水平的用户都能访问数据,这样做就产生了需要解决的问题:

  • 如何创建数据用户想要使用的环境?
  • 我如何将可再现的数据环境作为一种标准的工作方式?
  • 我如何部署我的解决方案而不用担心开发运营/云运营?
  • 我如何创建数据操作的抽象?(包括报告、管道、并行性、持久性等。)
  • 我的解决方案会无缝扩展吗?

就在您的特定业务中解决而言,前两点要温和得多,如果您的基础架构向数据用户暴露了这些问题,后三点应该会引起更深刻的共鸣

举个例子,在组建我们新的数据科学团队时,我们明确地花了大量时间专注于我们将面临的扩展挑战,并提前解决这些挑战,为终端数据用户提供一个抽象层,这些用户只是想使用基础架构,而不是陷入学习各种其他设计和架构概念的困境……你知道,我只想调查数据,尝试一系列模型,并将我的投入生产。

从表面上看,这似乎是一个从 Prod 中的 R&D 迁移的生命周期管理问题,尽管这是一个真正的问题(参见围绕这个问题的精彩文章:https://medium . com/forward-data-science/understanding-ml-product-life cycle-patterns-a39c 18302452和一个库的 git repo 来解决这个github.com/formlio/for…),但仍然需要对某些东西进行操作。

这就把我们带到了问题的核心,创建可扩展的基础设施来支持上游数据堆栈中的其他层(管道、生命周期管理、日志记录等),但从用户那里删除了底层实现细节,那么我们如何解决这个问题呢?

首先,通过认识到数据是商品,意味着我们的大部分时间和精力应该花在访问数据的良好方法上,并消除快速发展的进入壁垒。(说起来容易做起来难)这可能意味着团队要考虑以下几点:

  • 支持查询数据的通用逻辑抽象—用户不必担心身份验证凭证、租户名称或存储格式
  • 启用安全层以避免不当行为(这是一个位于数据之上的层,但是一旦授予访问权限,用户就应该知道如何查询该数据)
  • 支持在基础设施上交付应用和服务,提供可预测性、可扩展性和高可用性。

在不深入我们架构的代码层的情况下,我们已经有效地将基础设施层分成了几个不同的区域,这些区域将具有一些共同特征的组件组合在一起。

从运营的角度来看,这一点尤其有用,因为这些组中的每一个都可能有不同的 SLA、扩展模式或资源需求,需要不同的管理方法或策略,如避免影响彼此的组性能的隔离级别。

对于任何数据持久性,我们几乎只希望利用云 PaaS。这是一个成熟的解决方案生态系统,通常会成为事实上的标准,所以在大多数情况下,试图自己解决这些问题是很困难的;一个低成本,无与伦比的质量,车轮的重新发明。因此,我们寻求 blob 存储、数据湖、文件共享、数据库、缓存和消息队列的可用服务。

目录子集群是我们所说的一组元数据服务,具有相对较低的 CPU 和 I/O 需求,负责管理集群其余部分的全局状态。它们在设计时考虑了高可用性,并构建在前面描述的数据持久性 PaaS 之上(如果相关)。这一类别的服务通常是协调器、解析器、编排器和调度器,或者是服务器-工作器架构的主要部分。例如,我们可以命名为 Zookeeper、Hive Server、Hive Metastore、PrestoDB Coordinator、Atlas、Airflow Scheduler 和 Consul,但也可能命名为 Yarn Resource Manager、Spark Master(当处于独立模式时)等。

我们的作业子集群的特点是由非交互式按需分布式批处理操作产生的巨大而尖锐的 CPU 和 I/O 负载。它运行在无状态节点上——通常在目录子集群的控制下。它的关键属性是水平弹性,允许我们在需要时动态地增加资源池(可能增加一个大的系数),并在任务完成后释放它们。这个集群中的服务将是目录子集群中提到的组件的对应物,因此我们可以在这里找到 PrestoDB workers、Airflow workers、Superset workers 的池,以及 Yarn 节点管理器或 Spark 执行器等等。

相比之下,应用程序子集群是为相当平稳的负载而设计的,通常是与用户体验或 REST APIs 相关的交互式会话。因此,需求集中在低延迟和高稳定性上。运行在应用程序子集群上的服务引用目录集群来进行服务发现,或者引用作业集群来卸载任何批处理操作。我们的定制产品是该组的主要实例,其次是各种 ui,如超集前端或 Apache Knox 网关。

我们提到持久层将主要由 PaaS 提供,因此实际的应用程序(大)数据可以直接从中访问。然而,在有些情况下,我们需要一个专门的层(访问接口或处理阶段),它不存在于可用的 PaaS 中,但可以作为一个受管功能在其上实现。为此,有一个数据子集群为定制的 I/O 负载提供服务。

我们使用这个集群来集成我们的所有流接收,它涵盖了从消息队列到最终接收器的所有相关内容,最终接收器产生主要数据集,还产生任何次要信息,如搜索索引或 BI 聚合。该集群中可以找到的技术示例有 Kafka Streams 应用程序、Solr、RabbitMQ、Logstash,甚至可能是运行在托管 blob 存储之上的 HBase RegionServers(以防托管 NoSQL 服务由于某种原因不符合需求)。

有一系列的低级服务,我们将它们分离到自己的系统子集群中。例如,这些是提供透明授权控制、负载平衡或 SSL 供应和终止的集中式入口代理和应用网关。这里我们还应该提到一些托管服务(即使在集群之外),比如 OAuth 提供者或托管日志和指标收集器以及监控系统。

基础设施的一个特殊部分专用于我们的 R&D 资源。这是一个混合了托管和托管技术的垂直堆栈。这涵盖了各种敏捷工具、整个 CI/CD 生态系统,包括工件库、具有多用户笔记本服务和远程外壳的虚拟开发环境。关键角色显然属于弹性计算资源和必要的调度,作为一种工具,允许基于连续评估的迭代和可再现的数据科学研究。

以这种方式创建基础设施为我们提供了我们想要的抽象,为用户创建一个集成的生命周期管理,同时解决我们关注的关键领域。

这使数据用户能够在高层次上:

  1. 通过单个 API 使用 PrestoDB 查询已知的数据源,而不考虑数据大小(工作人员的弹性伸缩)——事实上,我们有一个内部 Python API 抽象的整个数据仓库基础架构,允许我们使用它的各种资源。
  2. 使用 Solr 和 Apache Atlas 在其他数据源周围搜索元数据,以扩充主数据源(全部通过 Presto 连接器),并在获得许可的情况下检索它们(Apache Ranger)
  3. 使用 Jupyter 笔记本电脑完成 EDA 和其他调查,并保存和与其他用户分享。
  4. 定义二级、转换的数据源,通过 Apache 超集向 B.I 最终用户公开,以便进一步调查。

请注意,这与将模型投入生产、重新训练或调整模型无关,因为这是堆栈的下一个阶段,也是下一篇文章的关注点。我们展示的是我们用来实现这一目标的构件,同时保持我们的首要重点是提供数据用户需要和想要使用的工具。

数据是利益相关者

原文:towardsdatascience.com/data-is-a-s…

设计和数据科学

设计、人种学和面向未来的数据科学

我从未打算成为一名数据科学家。我大学毕业时获得了文化人类学学位,并天真地认为我想做的研究不需要数学。完全靠运气,我进入了美国为数不多的认真对待数学的人类学研究生项目,这改变了我一点点但不是很多的视角。在我的博士野外工作中,我去了中亚研究宗教、政治和社会活动家的身份叙事,我使用了一些标准的统计工具,如主成分分析和回归模型,以及我的非数学访谈和参与者观察。

我最终获得了博士学位,并在美国陆军部找到了一份战略情报和规划的工作。他们雇用我是因为我是一名人类学家,但我很快就发现从阿富汗传来的大量数据很少有人真正利用。随着时间的推移,我扩展了工具包中的定量部分,以处理越来越大规模的数据。我把自己黑进了数据科学家,因为成为数据科学家是我工作的最佳方式。从那时起,我在公共、私营和非营利部门,以及在安全、旅游、资产管理、教育和营销技术行业建立和管理数据科学能力。

当人们知道我的背景时,他们经常会问“你怀念当人类学家的日子吗?”我对这个问题的回答总是一样的:“我仍然是一个人类学家。”人们几乎从来没有问过我这么说是什么意思,但我越想越相信,我的意思说了一些重要的事情,即面对日益自动化和公众监督,数据科学如何能够保持一个有凝聚力的职业。

好的实现需要好的设计

作为一个职业,我认为我们对设计的关注太少了。我看到的关于这个话题的相对较少的讨论给我的印象不是太笼统就是太具体。一方面,我们似乎认为“好的设计”是某种不可定义的东西——只有当我们看到它时才能知道它——而与此同时,我们似乎太快地从好的设计的重要性转移到将设计转化为实现所需的具体方法、度量标准和其他技术工具的列表。

有一次,当我女儿很小的时候,她想要一个玩具厨房。我想从二手商店买旧橱柜和五金器具,给她做一套厨房用具。最后那东西是用木胶和一厢情愿粘在一起的。我女儿喜欢它,但它是一件真正的垃圾。我的实现有两个弱点。

一方面,我只使用我已经拥有的工具,这意味着五个或大或小的螺丝刀,一个机械师在换油后放在我汽车引擎盖下的活结钳,一把我上大学时从我父亲车库里拿的锤子,以及一小袋从宜家家具商店收集的类似工具的物品。简而言之,我的技术工具集很糟糕,我真的不知道如何使用我所拥有的少数工具。

另一方面,我真的没有经验或能力详细地设想我想要建造的东西。我不知道如何将事情作为一个整体来计划,或者考虑意外情况,或者在出错后进行调整,或者预测各个部分可以或应该或将要一起进行的方式。

如果我有世界上最大、最好的硬件,我会早一点完成,最终得到一个稍微好一点的产品。不知道如何实现当然是一个大问题,但是不知道如何设计才是真正阻碍我的。

我认为在这个特殊的时刻,设计技能对于作为一门学科的数据科学来说尤其重要,因为数据科学的技术方面最终有多少将被自动化仍然是一个悬而未决的问题。训练和验证模型是这项工作的一个重要部分。在我的职业生涯中,我训练和验证的许多模型今天都可以通过像 DataRobot 这样的服务全部或部分自动化。设计技能,以及我们如何学习这些技能,值得比我们,作为一个职业,迄今为止给予它们更多的关注。

“设计”这个词与“指定”有着相同的词根:单词“signum”,意思是“一个标记”——你书写、放置或剪切的将一件事物与另一件事物区分开来的东西。换句话说,“设计”是采取一个特定的目标,并区分所有与该目标相关的任务、材料和可能性的实践。以这种方式从概念上组织某些问题是具有挑战性的,不管技术实现有多困难。我认为这些问题是数据科学未来的重要组成部分。

通过协商讲故事来设计

根据我的经验,设计技能比其他非技术技能更难学习,比如“领域专业知识”或“沟通技能”。我认为这是因为每项技能的学习是如何发生的:

  • 当你需要学习一个学科领域时,你让自己与那些已经熟悉这个领域的人接触。每当有人用一个你不知道的单词,或者引用一个不熟悉的例子,或者讲述一个他们的经历来解释一个你不理解的决定时,你就获得了该领域的专业知识。
  • 当你需要学习沟通技巧时,你会进行沟通,然后得到反馈,告诉你哪些地方可以做得更好。每次你学习一个新的策略,看着别人展示最佳实践,然后在你下一次交流的尝试中尝试模仿,你就获得了交流技巧。

在这两种情况下,技能本身可能很难学习,但理解如何学习它们并不特别困难。有了设计,就不一样了。学习很难,但学会如何学习也很难。这是因为让一个人在设计技能方面胜任的因素与让一个人在其他非技术技能方面胜任的因素是不同的:

(我不打算说表的“愿景”部分。这是另一篇文章的主题)。

这可以归结为,相对于其他人,你在多大程度上可以决定特定的知识或特定的行为是合理的、可接受的、“正确的”——一句话,它是否有效。对于领域专家来说,没有人有这个权力:如果一件事情发生在一个领域内,那么它就是这个领域的一部分。在交流中,其他人完全有权决定什么是有效的:如果其他人都认为你的演示很糟糕,那么你认为你的演示有多好并不重要。你不能说“我不在乎其他人说什么,我知道我是一个很好的沟通者。”这暴露了对沟通如何进行的根本误解。

在设计中,你和其他人都有权决定有效性。我不是说有效性可以由你或者其他人来决定。我的意思是有效性必须经过协商。

人类学家倾向于使用一种叫做“人种学”的方法来协商设计的有效性。这种方法有许多不同的特点,但我发现把人种学想成要求你进入或多或少陌生的情境,让你自己的直觉和假设沉睡是有用的。你从“当地人”那里获得关于他们如何看待这些情况的信息,然后你唤醒自己的直觉,以便将你所学到的东西转化为对你来说看起来连贯而合理的故事。然后你把这个故事拿回去修改,直到它对他们来说也是一个连贯合理的故事。这是重复的,协商的故事讲述。

作为一名人类学家,当我有一个研究问题时,我会找到愿意和我谈论这个问题的人。我让他们告诉我这个世界是如何按照他们的方式运作的,做笔记,最终我会编一个故事,解释那些假设、背景和环境,让他们的故事对我来说是合理的、符合逻辑的。然后我和他们分享这个故事。然后他们说我满口胡言。

我不认为我第一次尝试复述他们的故事时,有人能认出他们。他们的直觉和我的直觉相差太远了。我得到详细的批评,然后我重写这个故事。如此反复几次,我得到了类似这样的回答:“好吧,这并不完全是我说的那样,但我认为你把所有要点都说对了。”然后我找其他人聊天。这一次,我从讲述我精心构思的故事开始——告诉他们世界就是这样运转的。然后他们告诉我我错了,我请他们纠正我。

随着时间的推移,随着我与更多的人一起工作,并刻意寻找那些有曝光度或观点的人,而这些人是过去的贡献者所没有的,我精心制作了一个大多数贡献者都认为合理的故事。有时这个故事分裂成不止一个故事,因为不同的人群根本不同意。通常情况下,我会以一个讲述大部分情况的主要故事结束,然后是几个讲述重要变化的附属故事。

我不只是收集信息。我填补了个人贡献者故事之间的空白。通常投稿人自己不同意(有时强烈反对)彼此的故事,但同意我的桥。我捍卫我对这个故事的贡献,就像他们捍卫他们的一样。对我来说,仅仅认识到一个视角的存在是不够的,别人告诉我什么有效什么无效也是不够的。我需要协商一个故事,融合我对世界的看法和其他人对世界的看法,结果需要被整体接受,即使它很难被部分接受。

好的设计来自谈判故事。除了沟通技巧之外,还有一些可以学习的技巧可以让一个人成为优秀的设计师。

给数据一个声音

现在,设计是各种利益相关者协商的结果的想法当然不是什么新鲜事。事实上,这种优先级的迭代设置是软件设计敏捷方法的核心。然而,我认为数据科学中的设计不同于大多数其他工程环境中的设计,因为数据本身需要有声音。我的意思是,在很大程度上,我的意思是,项目中的每个利益相关者都需要一个声音。在一个健康的设计环境中,利益相关者不只是在设计师规定的时间和方式下给出意见。他们能够反驳。他们能够提出疑问。他们能够加入意想不到的见解。我认为,创建工具来讲述个人的数据故事,即使没有人特别要求这个故事,这也应该是数据科学家工作的核心部分。

这些讲故事的工具需要有响应性,因为设计是协商的,因此是迭代的。当利益相关者提出一系列行动来解决特定的业务问题时,讲故事工具集应该能够对此做出反应:以直观的方式显示,如果执行了这些行动,数据看起来会有所不同,并标记出故事不再有意义的任何情况。它需要尽快做到这一点:如果数据拖累了对话,它将被释放。

提高设计技能是解决数据科学当前最大挑战之一的关键:算法偏差。不难发现存在严重设计缺陷的高效且可扩展的技术解决方案的例子。例如:

  • 彭博对亚马逊提供的当天送达服务进行了一项调查,调查显示贫困的、少数民族聚居的邮政编码经常被排除在外。该算法建议在亚马逊已经拥有大量 Prime 订户的地方实现当天送达,这些订户往往在较贫困的地区数量较少。
  • Wired的一篇报道展示了儿童虐待保护算法如何倾向于针对贫困家庭。该算法试图考虑的虐待儿童的指标(“没有足够的食物,没有足够或不安全的住房,缺乏医疗保健,或在工作时留下一个孩子”)等。)模糊了忽视和贫困之间的界限。
  • 卡耐基梅隆大学的研究人员创造了一些行为相同的虚假用户,他们的个人资料只是性别不同。谷歌的广告显示系统往往很少向那些个人资料显示为女性的用户显示高薪职位的广告。

Image credit: https://www.bloomberg.com/graphics/2016-amazon-same-day/

在上述案例中,没有任何迹象表明种族、财富或性别是明确的目标。这些工具旨在回答一个简单的商业问题:我们如何区分我们感兴趣的人、地点或情况?就我们所知,每种情况下的技术解决方案似乎都是完全合理的:选择一组替代措施,并标记出最常展示这些替代措施的人、地点和情况。然而,在构建这些系统的过程中,似乎没有任何一套工具被构建来回答这样一个问题:被标记的人、地点或情况是否在任何属性上与未被标记的人、地点或情况系统地不同?这不是技术上的失败。这是设计上的失败。

我认为这个设计工具的问题在数据科学中基本上是一个未开发的领域,尽管它在软件开发中开始受到更多关注。无论如何,这是一个比技术技能组合更能抵御自动化威胁的领域,而技术技能组合通常被提升为定义该职业的核心。

示例 1:宗地几何重叠解析

Valassis Digital 从移动设备收集位置数据,并使用这些数据帮助公司更精确地向目标受众营销。我对这些数据的大量工作涉及到位置语义的问题:我们发现某些设备倾向于聚集在特定的地理空间,但我们想了解为什么它们聚集在那里。尝试理解位置语义的一种方法是通过宗地几何。理解为什么一个设备会出现在一个特定的地方的一个方法是看谁拥有那个特定的地方。这种数据可以通过美国和加拿大的评估办公室获得。我们得到一个定义属性边界的几何定义,通过查看与几何相关联的元数据,我们找到了赋予地理位置数据意义的方法。

宗地几何质量差异很大。我们在使用这些数据时遇到的一个困难是,有时宗地几何会重叠。我们对重叠发生的原因没有很好的理解:在某些情况下,这看起来像是一个简单的草率记录的问题;在其他情况下,财产的两种定义(例如,个人财产与城市通行权)会造成宗地可能合法重叠的情况。对于我们的大多数目的来说,将一块土地与一个且仅一个地块相关联是有帮助的。因此,我必须努力检测这种重叠,这很容易,并自动解决它,这很难。考虑以下情况:

这是我们在宗地数据中遇到的非常典型的重叠。蓝色多边形表示一个宗地,黄色轮廓表示另一个宗地。看到这个例子,几个相对简单的技术解决方案出现了。例如,我们可以将重叠区域分配给两个地块中较大的一个,或者两个地块中较小的一个。我最终得出的解决方案是,将两个地块的重叠区域进行区分,以创建一个模拟,模拟每个地块在失去重叠后的样子。然后,我对照大小和形状阈值检查了每个模拟。如果模拟地块比我们通常在有用的住宅和商业地块(我们最感兴趣的两种土地)中看到的更小或更窄,我只需删除与不成功模拟相关的形状。如果两个形状都没有导致模拟失败,我将重叠区域分配给较大的形状。如果两者都导致模拟失败,我将两个形状合并在一起。

完成上述解决宗地几何重叠的过程后,我对结果进行了一些简单的描述性分析,记录了移除、编辑、合并了多少宗地等。我还浏览了几十张像上面这样的图片,以确认结果看起来合理。换句话说,我做了一些正常的结果检查。然而,我继续用多边形覆盖卫星图像——其中有几千个多边形,并且我制作了一个工具来显示我的算法结果以及原始故障。它是乏味的。但是我们有数以百万计的地块几何,我习惯于看到新的故事出人意料地出现,即使是在长时间一遍又一遍地听到相同的故事之后。结果是:

在上图中,一名评估员拍摄了一栋多层建筑,并为每层的每间公寓创建了一个地块几何图形。都叠了。我的简单算法把这种情况搞得一团糟:它实际上最终移除了整个建筑,因为与其他一些地块相比,每个地块最终都变得太窄或太小。这是宗地重叠的特殊情况,必须在运行核心算法之前单独检测和处理。在这种情况下,我寻找堆叠(合计每个地块的面积并除以所有地块覆盖的总面积-任何大于 1.0 的值都表示堆叠),在我检测到堆叠的情况下,我将所有堆叠的地块合并到一个建筑物中。这应该没问题,对吧?

仔细观察上图中的边界线。几乎所有的线路都是双倍的。事实上,这整个区域由两组宗地表示,尽管这两组宗地并不完全相同-一组与另一组略有偏移,但在许多情况下形状也略有不同。我的堆叠检测导致这整个细分合并成一个单一的建筑-不是一个最佳的结果。在这种情况下,我需要像以前一样检查堆叠,然后检查冗余层。我创建了一个网络,其中每个宗地都是一个节点,每个边都是宗地接触的情况,而不是重叠。然后,我从这个网络中取出最大的连接组件集,并将其用作基础层。然后,它会检查每隔一组连接的组件,如果重叠超过某个阈值,则删除新层,如果不重叠,则合并新层。

以上只是一个简单的例子,但它说明了为数据集创建一种对预期算法做出反应的方式的好处,有时也说明了这种必要性。它要求我创建一个新的工具集,突出重叠区域,以便我可以更直观地看到问题区域,它要求我不断“询问”数据集的部分,我的实现是否有意义。我看过的大多数图像都表明我的基本算法没有任何问题。经过几个小时的寻找,我才开始发现差距。

示例 2:位置精度校准

我们每天会得到数亿条地理定位记录。然而,并不是所有的数据都可以信以为真。在其他问题中,特定的 ISP、应用程序、设备或特定的设备配置可以以精确坐标的形式报告数据,而实际上坐标并不是精确的。这有很多原因,其中只有一个原因是,来源有时依赖于高水平的记录,这些记录将整个地区编码为一组坐标,就像美国地理中心的一个不幸的家庭十多年来一直感觉的那样。

因此,在开始时,问题似乎相当简单:标记与异常多的独特设备相关联的坐标。例如,如果一个区域中的大多数坐标对看到 1 到 10 个不同的设备,但一个坐标对有 1,527 个不同的设备,则该坐标对可能被用作默认位置。这是一个区域中前 20 个坐标对的放大图,按照独特设备的数量排序,显示了它的样子。

顺便提一下,我省略了所有精度小于三位小数的坐标,并将所有其他坐标四舍五入到六位小数。六个小数位代表一个直径约为 4 英寸的空间,这是 GPS 在没有大量三角测量的情况下所能提供的精度极限。

这里有一个有趣的分析和商业问题。上图中的红线代表了一个例子,说明如何设置一个阈值来过滤掉坐标。您可以清楚地看到设备数量的激增,但您还可以看到至少两个类似规模的增长。什么应该被认为是一个极值而不是一个非常繁忙的点?

这个问题没有好的技术答案。有多种方法可以进行变点检测,但是所有这些方法自然都有需要调整的参数。而且,据我所知,它们都没有告诉你需要注意多少变化点。如果你看到至少三次大的跳跃,就像我们在上面的图表中看到的那样,会怎么样呢?第一个是识别假位置数据的截止点吗?最后一个?即使在只有一个变点的情况下,在变点将最大的数据点与所有其他数据点分开的情况下(有很多变点),这也只能给我们一个明确的行动路线。这符合我们对默认位置问题的天真想法。但是我发现在一些情况下,变化点将许多,有时是几十个数据点从其余的数据点中分离出来。

这个问题没有明确的技术解决方案,主题领域也没有给我们明确的指导——因为我们不知道产生热点的系统,我们不知道有多少是合理的。这是一个设计挑战。

这就是数据需要发声的地方,有了地理坐标数据,让数据发声并不困难。任何一天在一个地方有一个人都是正常的——这正好符合我们对使用移动设备的人的假设。如果我们看看某一天在纽约市佩恩车站得到的位置数据,这就是我们所期望的:

麦迪逊广场花园的中间有一个高密度的坐标,这是我们所期望的,因为宾州车站的主要美国国家铁路客运公司候车区就在地平面下。如果我们只过滤那些一天内很多人在同一地点联系的坐标,我们会得到一个不同的画面:

我们仍然可以在美国国家铁路客运公司等候区看到许多点击,其中许多点击实际上是一个接一个的。我敢打赌,这些地方大多就在时间表的正前方或电源插座的旁边。在麦迪逊广场花园和宾夕法尼亚广场二号(东面的长方形建筑)之间,我们也有几个热门景点,在美国国家铁路客运公司地下一层,是长岛铁路候车区。我们也有一些在另一边的两个佩恩广场,这是一个主要的出租车接送区。换句话说,即使这些坐标附加到的设备比我们通常预期的要多(有些设备多达 50 个),这种模式也是可信的。

然而,我只能通过碰巧知道一些关于我正在看的区域的事情来认识到这种可能性。这是不可扩展的。因此,我采用了我已经组合在一起的基本地图可视化功能,并将其合并到一个工作流中,该工作流提取美国行政区划(州、县、城市和邮政编码)的 shapefiles,将设备坐标数据集与形状进行匹配,然后使用每坐标对设备的频率来让数据说明特定设备计数的正常程度。

我将唯一设备的数量除以我所查看的行政区划范围内的最大数量。在大多数情况下,绝大多数的点击量不到最大值的 1%,所以我选择了最大值的 50%或更多。然后我开始翻阅覆盖着坐标的卫星图像,寻找故事。许多看起来像我预期的那样——在整个形状中有一两点。然后我降落在沃思堡郊区的一个邮政编码区:

这是一个网格。有几个点不符合网格,自然有部分网格丢失,但那里有模式。翻阅更多的结果,我在博伊西、圣安东尼奥、科罗拉多斯普林斯的邮政编码中发现了同样的情况。这是曼哈顿的一个:

请注意,我在图像上绘制的这些圆圈比实际位置大得多——为了便于查看,我放大了它们。实际上,每个圆圈的直径约为 4 英寸。

这把我带到了一个全新的方向。我设计了一个简单的算法来自动识别网格——我获取了所有连接有许多独特设备的坐标,计算了每个坐标对相对于 x 轴的旋转角度,保留了该过程中的前四个角度,然后过滤掉所有没有连接到另一个坐标的坐标,至少有一个角度。下面地图上的每个圆圈代表我在这个过程中发现的一个网格:

这是一组网格的放大图:

网格中的每个节点都是一个 4 英寸的小块,与其他节点相隔至少 1 公里。不同地方的距离和角度都不一样——这不是一个覆盖整个世界的单一网格。它捕获了大量的坐标,这些坐标具有相对极端的设备数量。如果我没有建立一个工具,让数据根据需求创造关于什么是正常的,什么是不正常的故事,我永远也不会找到它。

这些网格的另一个特点是:几乎所有的网格都包含天气应用。然而,这些应用程序创建的不在网格内的坐标比在网格内的坐标多得多,而且许多涉及坐标的应用程序显然与天气无关。但这给了我一个想法,这可能是一个天气网格,所以我花了一周的大部分时间从美国国家气象局研究和下载天气网格投影。我终于找到了一个与我在数据中看到的粒度大致相同的设备(设备坐标用黄色表示,天气网格用白色表示):

但是网格不匹配。盯着上面这样的图片看了很长时间后,我突然意识到一些显而易见的事情:

天气网格(白色)是一个合适的网格,节点形成直角。数据网格(黄色)则不是这样。因为国家气象局只使用正确的网格,根据定义,我在数据中看到的模式不可能来自国家气象局。我被难住了,直到像民族志实地调查中经常发生的那样,我在一个看似不相关的话题上进行了一次随机对话,给了我一些突然的洞察力。在这种情况下,对话是在我汽车的前座进行的:

注意布料上的图案。想象这些六边形中间的质心。我没能找到合适的天气网格,因为我一直在搜索“天气网格”。我需要搜索“天气网格”。我一照做了:

Image source: https://mpas-dev.github.io/atmosphere/atmosphere.html

显然,气象公司(归 IBM 所有,同时也是气象频道和地下气象的所有者)与洛斯阿拉莫斯的气候组织合作开发了一种网格,这种网格可以在世界上的某些地方拉伸到更高的分辨率,而在其他地方收缩到更低的分辨率。他们的网格实现是专有的,并且可能会随着预测需求的变化而发生变化。天气频道拥有一个 API,允许其他人提供天气服务,这解释了为什么如此多的其他应用程序最终也落入六边形质心。然而,天气应用程序在这些质心之外有大量的点击,这表明它们有时只提供质心数据,也许只有在设备上禁用位置服务时。对于气象公司来说,使用某种网格或网格来决定为用户提供什么样的预报非常有意义,对于应用程序来说,在报告用户位置时简单地报告这些六边形的质心也非常有意义——大多数报告系统只需要一个简单的坐标对。在这里,理解数据生成过程的设计可以最准确地使用数据

这一系列发现改变了我解决定位精度校准问题的整个设计:

  1. 仅查看特定天气应用程序的坐标
  2. 拾取附着了多个设备的坐标。
  3. 将数据划分到任意的邻近坐标组中(不再需要管理形状,因为现在我知道我在找什么)。
  4. 选择一个组中坐标对之间最常见的前 n 个旋转角度,并选择显示每个旋转角度的坐标对之间最常见的距离。
  5. 遍历所有坐标(不仅仅是具有多个设备的坐标),只保留那些通过所选旋转角度之一连接的坐标,以及那些通过该旋转角度的大致典型距离分隔的坐标。
  6. 因为网格节点会随着时间的推移而改变。
  7. 使用标准的变点检测方法查找行政区划中的异常值,但只能在移除格网坐标后进行。

通过构建工具来赋予数据声音——以粗略但直观的方式向我展示在多少设备被视为“正常”的不同假设下,坐标看起来是什么样的——问题从参数化变点分析的纯技术挑战转变为如何适应广泛但系统不精确的位置报告系统的设计问题。通过提前删除网格坐标,我的变点检测变得更加简单——它大大增加了州、县、城市和邮政编码,其中只有一组坐标具有极端设备数。此外,它还标记了不可信的坐标(至少在这些坐标给出的精度上),即使这些坐标上的设备数量并不极端。

我们需要一个好的问题生成工具集

数据科学目前非常擅长提出答案。它不太擅长提出问题。我认为这需要数据科学家更加注重培养非技术技能,但我认为这也需要我们开发更多工具来促进这一过程。事实上,构建工具将在很大程度上有助于构建非技术技能。

我在本文中给出的例子是一个相对简单的用例,因为地理空间数据有助于直接、直观的交流。其他类型的数据和其他类型的业务问题将带来更大的挑战。这是一个值得接受的挑战。对设计的关注——不仅仅是意识到这一点,而是积极构建我们的设计直觉、能力和工具集——是数据科学在核心技术功能日益自动化以及公众日益怀疑算法既符合道德又可扩展的观点的严格审查中生存下来的最佳机会。

这篇文章是我个人的,不代表 Valassis Digital 的立场、策略或观点。但我非常感谢我的雇主让我写博客,记录我为他们做的一些工作。(还有 我们正在招聘 !)

数据和价值的未来

原文:towardsdatascience.com/data-is-the…

如何将数据作为资产进行估值

历史上,公司在追求股东价值的过程中,一直将美元作为一种价值衡量标准。现金流、利润和资产价值都与美元有关。我认为,围绕数据的价值,可以增加一组额外的度量。企业不仅应该通过当前的财务指标来衡量,还应该通过他们能够获取、消费、存储和利用的货币化数据量来衡量。这并没有改变货币的作用;它只是增加了一些新的方法,通过查看公司数据的价值来评估公司。

商业正在发展

数据价值上升的一个原因是不断发展的商业格局。所有的企业都开始看起来像软件公司。在我看来,企业大多选择两条路中的一条:成为一家软件公司(至少是一部分),或者变得过时。这是因为现代软件和硬件的能力越来越强,以及我们可以利用越来越多的可用数据做些什么。现代商业的几乎每个方面都要用到数据。我想我们可以同意;软件正在接管商业。

信息价值陈述的兴起

我认为数据对企业非常重要,它将被作为一种资产来衡量和计算。甚至可能有一个“信息流”的衡量标准,即收集了多少新数据,如何使用这些数据,以及从训练新的人工智能模型中产生了多少新价值。未来的企业健康检查可能不仅仅关注公司的财务偿付能力,还会关注该组织内数据的创建、流动和应用。事实上,将公司的“信息价值陈述”理解为其财务报表的补充将变得很有价值。

价值的未来&人工智能

人工智能将使这一点变得更加明显,因为它将从当前和未来的数据集中挖掘更多价值。有可能是一个相对较小的组织,拥有丰富的当前数据和收集未来数据的能力,被认为比一个高收入但数据贫乏的公司更有价值。此外,这些大型专有数据集的所有者可能会开始发现,其他缺乏数据的公司非常需要这些数据。数据将在一个我们尚未见过的水平上成为一种竞争武器。我们这些创建和运营未来数据驱动型公司的人需要非常清楚数据的战略管理。而且,如今一些流行的大公司对竞争对手来说可能变得更加危险,因为他们可以访问大量有价值的数据集并有能力使用它们。所以,我就如何思考这个价值提出一些建议。

测量值

我们如何衡量数据的价值?下面,我推荐了七种未来评估数据的方法。可能还有更多,如果你有想法,随时联系我。

1。时间价值 *该指标衡量数据的现值,并考虑其在整个生命周期中的价值。*数据的价值将如何随时间变化?这个值会随着时间增长、减少还是波动?它保值的可能性有多大?有些数据的生命是有限的,有些数据是常青的/永远有价值的。随着时间的推移,大多数数据都会衰减,变得越来越没有价值。

2。法律限制 *该指标衡量在考虑了数据的所有法律限制后,特定数据对于许多用例的价值。*数据可能带有使用的法律限制。必须制定保护隐私和机密性的规定,但是如果数据具有高价值,它还必须能够用于有价值的未来用例。许多用途还不为人知,因此,必须在保护隐私和让法律协议更加开放(关于如何使用数据创造未来价值)之间取得平衡。

3。上下文值 *此指标与数据集有用的上下文数量相关。*具体数据可能只对某些行业有用。一个数据集可以使用的越多,它的整体价值就越大。然而,一些狭义的数据集可能非常有价值,这取决于上下文区域。一个有趣的挑战将是在上下文之间创建数据价值套利。数据所有者会希望收集价值较低但具有新用途潜力的数据,从而提高其价值。这将允许聪明人以较低的感知价值购买数据集,并将其用于新的环境中,以获取差价利润。

4。质量 *该指标衡量数据的质量。*对于有用的数据,它必须在准确性、完整性和可靠性方面具有高质量。

5。获取和存储 这些指标衡量企业获取数据并存储数据的成本。获取数据的成本必须包含获取数据的商业成本。这不仅仅是获取数据的技术成本,而是首先收集或购买数据所支付的费用。维护和存储数据也有相关的成本。这些会降低数据的价值。

6。访问 *该指标衡量公司从数据访问渠道的大小(数据量)和数量/种类两方面对数据的访问级别。*这可能是由公司在一个更大的多公司价值链中所处的位置决定的。直接从客户、合作伙伴和传感器收集的数据都属于这一措施。一个只有一个数据获取渠道的公司可能不如一个有许多数据收集渠道的公司有价值。收集的数据量也很重要。因此,这将是对公司可用的数据通道的规模和种类的综合衡量。

7。人工智能模型训练值 *这是数据可训练性的度量。*人工智能是数据的指数值将被解锁的区域。AI 系统是通过使用数据来训练的。机器学习训练中使用的数据将是其价值的一个重要指标。数据越符合好的训练数据的定义,值就越高。

人工智能创业机会 关于数据估值模型的另一个有趣的事情——就是我想用它们来建立更好的模型,来推测数据价值可能在哪里。我们正在开始人工智能创业的时代,在这个时代,发现新的业务用例、要捕捉的新数据以及旧数据的新用途将是一门非常有价值的艺术和科学。此外,正如我上面提到的,对于那些能够利用在某些情况下被低估的现有数据并在新的情况下重新定位的人来说,数据套利可能是一个巨大的机会(有时,只是通过更好的人工智能模型来产生更好的见解和模式)。

总的来说,对于知道如何使用数据的企业家来说,人工智能将加速一些数据的增值。人工智能企业家将需要创造新的工具和模型来管理如何思考这个问题。事实上,数据评估公司可能是一个全新的公司类别,需要被推出来解决这样的问题。数据经济学是衡量和运营未来公司的重要方式。理解这一点的投资者、创始人和大公司高管将比不理解的人拥有更大的优势。

在推特上关注我: @willmurphy

我是威尔,硅谷的一名技术高管和企业家。 关注我的多产:@ 威尔墨菲

数据是新的石油

原文:towardsdatascience.com/data-is-the…

数据已经取代石油,成为创造巨大商业价值的燃料

Photo by Markus Spiske on Unsplash

当我谈论数据战略和人工智能战略时,我会说数据是新的石油。而且,数据是给 AI 机器加油的燃料(油)。我还会谈到如何对数据进行估值,因为它可能是最有价值的现代商业资产,但还没有被准确计算。

石油出来了,数据进来了

请看下面这张幻灯片,它是我 40 分钟演讲的一部分。它比较了 2006 年和 20016 年最大的公司(按市值计算)。看到有趣的东西了吗?

Technology companies have moved into the top slots over the past 10 years

当你比较橙色(石油/能源)和**(科技)蓝色**(科技)公司时,你会发现在短短十年间,许多能源公司跌出榜单(埃克森美孚仍在榜单上),科技公司取而代之(苹果、Alphabet、微软、亚马逊和脸书)。

Big tech companies with big data are making big bets on AI

这些公司已经能够通过使用由数据专业知识驱动的技术构建产品和服务来积累财富。现在,这些公司都在关注 AI。这非常有意义,因为他们都能够积累大量关于产品和人员的有价值的数据集,而很少有其他公司能够获得这些数据集。如果你是一家石油公司,并且坐拥大量石油,那么是时候对其进行提炼,并以其能够创造价值的多种方式将其推向市场。

如果说数据是石油,AI 就是高级提炼

石油是市场上很多很多人没有意识到的东西(成千上万的产品)的基础。它真的很有价值,因为它是许多其他东西的基础——如燃料、塑料制品、肥料、阿司匹林、蜡笔、口香糖、服装、太阳能电池板等。因此,石油与如何提炼石油的知识相结合,为我们现代的物质产品生产体系奠定了基础。数据结合 AI 将形成我们现代服务生产体系的基础。数据和人工智能如何改善一切还不清楚,也不言自明。大多数 AI 价值将隐藏在后台,使我们用数据做的一切(尤其是围绕模式识别、预测和自动化)变得更好。这就是为什么我有点喜欢石油的比喻——石油是一种基础的、有用的商业产品,它让人们无法立即意识到的许多事情成为可能。

石油与如何提炼石油的知识相结合,为我们现代的实物产品生产体系奠定了基础。

数据结合 AI 将形成我们现代服务生产体系的基础。

数据寡头/数据垄断

所以,这给竞争对手和创业公司带来了一个有趣的问题。未来的科技公司会有机会吗?这些现有的大公司可能能够开拓“数据垄断”在这种情况下,在特定细分市场中拥有最多数据的单个参与者可以从数据中产生如此多的价值,他们能够(通过利润和新数据)推动其他任何人都无法比拟的业务扩张。此外,还可能形成“数据寡头”,在那里,仅仅几个现有的大公司就自动拥有人工智能在许多领域的未来,因为他们目前坐拥大多数当前有价值的数据“房地产”

对创新者的启示

因此,初创公司在人工智能领域需要考虑一些事情。对于消费者应用程序,存在人工智能机会,但它们存在于狭窄的消费者渠道中,如健康和健身。但是就大型的、一般的消费者智能代理而言,例如;我看不出一家初创公司会如何与亚马逊(Amazon)、谷歌(Google)或苹果(Apple)竞争。或者,他们可以提供许多其他面向消费者的产品,人工智能只是改进了当前的技术。

未来的许多技术产品和公司很可能会在这些大公司提供的现有数据/人工智能处理基础设施的基础上创建一个额外的技术层。虽然会有一些利基领域没有被大公司覆盖,但允许初创公司创造独特的价值和独特的全栈架构。大公司将有资金收购许多处于起步阶段的利基人工智能公司,因为它们已经出现在雷达上。但是,我认为一些公司会很快成为价值数十亿美元的公司。无论如何,我认为所有未来/新生的技术创业公司都需要知道数据和人工智能价值链在未来几年将如何构建。数据是新的石油,所以你需要了解你是否能够对自己独特的数据集提出主张,或者你是否将从能够在你到达那里之前收集数据的公司获得数据。

我是威尔,硅谷的一名技术高管和企业家。 跟我上多产:@

通过 H-1B 信息获取工作薪金数据

原文:towardsdatascience.com/data-job-sa…

H-1B 签证是一种非移民签证,允许美国公司雇用技术或金融等专业领域的专业人士。它受政策和法规的约束。随着美国劳工部披露雇主、工作、地点和请愿结果的信息,这些数据通常是工资信息的金矿。

因为 job_title 是一个文本列,所以第一步是清理它。我筛选了包含数据、机器学习、统计和商业分析师等关键词的职位,并进行了两种分类:

  • 按职称将工作分为分析员、科学家、工程师等
  • 按初级、高级、经理、主管、副总裁等分类级别

然后,根据水平时间轴绘制中值、最低和最高工资。范围很大,商业分析师的最高工资是 2.43 亿英镑(真的吗?!)申请,但该申请被驳回。绝大多数在 200 万以下,这是我们的绘图范围。

你的水平在这个范围内处于什么位置?你在哪里工作和做什么都很重要。

当按职位细分申请数量时,分析师占主要份额,其次是 DBA。有点令人惊讶的是,获得 H-1B 的分析师比数据科学家头衔的人多得多,尽管有些人的头衔可能不是“数据科学家”,而是一些时髦的名字。

请愿量最高的 5 个州是:

除了集中在加州西海岸和西雅图之外,东海岸似乎也有大量 H-1B 持有者流入。

我今天在传单地图中学到了一个有趣的技巧:这个简单的代码片段可以在不同的维度之间切换。很酷的东西。

addLayersControl(
    baseGroups = c("job", "level"),
    options = layersControlOptions(collapsed = FALSE)
  )

addLayersControl 组提供了两种选择:

  • baseGroups 显示为切换按钮:一次只能选择一个
  • 重叠组显示为多选按钮:可以重叠组

更多关于 addLayersControl 的信息可以在这里找到。

我还没想好如何在媒体上发布互动传单地图,但完整代码在 Github

这是我关于数据可视化和数据科学的# day5 项目的#day5。