TowardsDataScience 博客中文翻译 2019(五百四十五)

原文:TowardsDataScience Blog

协议:CC BY-NC-SA 4.0

为了在分析领域取得成功,我需要知道哪些编码语言?

原文:https://towardsdatascience.com/what-coding-languages-do-i-need-to-know-for-a-career-in-analytics-595887deadbd?source=collection_archive---------16-----------------------

SQL、python、R——有这么多的语言和工具可供选择,哪些是我绝对需要知道的,我可以从哪里开始学习它们?

当谈到分析的世界时,你可能不会惊讶地发现它会变得非常复杂。大多数分析工作的一个典型特点是,您可能需要学习如何编码,这通常需要学习一套旨在执行特定分析任务的语言。

但是编码语言需要很长时间去学习。那么,在我的分析职业生涯中,哪些是我绝对需要知道的呢?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

哪些编程语言用得最多?

如果你正在进入分析领域,并将其视为一项职业,用不了多久,你就会被开始职业生涯可能需要学习的所有技术平台和语言所淹没。因此,如果你正在考虑从事分析方面的职业,你可能会有第一个问题——我绝对需要学习哪些编码语言?以及哪些语言是“最好拥有的”。

在本文中,我们将向您简要介绍我们推荐的顶级编程语言,供您在分析职业生涯中学习。这些是招聘人员最常寻找的语言,如果你试图进入数据科学或商业分析领域,这是你的最佳选择。让我们从概述我的首选开始。

你可以参考文章底部我们最喜欢的资源

结构化查询语言

任何分析的最低资格

SQL 是一种脚本语言,用于访问和操作数据库中的数据。数据库是存储大量数据的强大工具,而 SQL 是用来访问和提取数据、操作数据或清理和重组数据的工具。

SQL 访问的数据存储在关系数据库中。每种数据都存储在一个表中。表格有列和行来表示不同事物的不同属性。使用 SQL,您可以访问这些表,查找相关信息,比较信息,甚至操作信息。当然,所有这些命令都超出了本文的范围,但要知道这是许多分析职业的基本工具。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

关于 SQL 的另一个重要考虑是不同的公司使用不同类型的数据库。例如,您有 HIVE、MySQL、postgres 和许多其他语言,所有这些语言的语法都有不同的细微差别。好消息是,如果您总体上很好地掌握了 SQL,那么适应这些数据库中的差异应该没有问题。

有许多很棒的在线 SQL 资源。例如,如果你正在寻找一个从头开始教你 SQL 的指南,我喜欢模式分析。如果你已经知道 SQL(即使你只是一个初学者),并且正在寻找真实世界的实践问题, Strata Scratch 提供了来自公司真实采访的 500 多个 SQL 实践问题。

Python 还是 R

如果你对数据科学的职业感兴趣,这是一个首选资格

对于数据科学和分析工作来说,两种非常流行的编程语言是 Python 和 r。这两种语言适应性非常强,因此可以用于类似的目的,这可能使人们很难在两者之间做出决定。根据您熟悉的领域,这两种方法都很有帮助,但重要的是要知道根据您想要进入的特定分析领域的差异。

r 主要用于研究,并已发展到对统计非常有用。因此,它被数据科学家和统计学家广泛用于各种与统计和数据分析相关的功能。对于您想要进行的几乎任何类型的数据分析,基本上都有一个选项。r 以多种方式存储数据(表格、矩阵、向量等)。)支持回归、坐标等对象。

Python 更像是一种通用的编程语言。它是一种非常庞大的语言,因此它有库来执行 R 可以完成的几乎所有任务。Python 也是机器学习和人工智能的一个非常强大的工具,它有专门为执行这些任务而构建的库。

我喜欢用 python 而不是 R,因为 python 有很棒的自动化库和函数。

当然,对于初学者来说,所有这些听起来可能非常复杂。所以要知道,如果你正在考虑从事数据科学或分析方面的职业,Python 和 R 都会非常有帮助。它们都是开源语言,有越来越多的大型社区支持它们。

Datacamp.com为 R 和 python 都提供了巨大的资源。

额外收获:像 Tableau 和 Plotly 这样的商业智能工具

一个很好的分析技能的任何角色

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

商业智能工具(或 BI 工具)是基本上帮助您可视化数据的软件类型。这些平台不一定是编码语言,但会有自己的语法,或者将 SQL 等现有语言整合到它们的平台中,或者两者都有。这些平台帮助您可视化和识别趋势,理解模式,并基于这些模式开发影响。这些工具主要从 SQL 和/或 python/R 获取输出,并添加交互式图形组件,以帮助您向利益相关者和业务合作伙伴提供见解。

Tableau 是最流行的 BI 工具之一。Tableau 帮助您理解关键的业务数据点,并基于这些数据做出深刻的见解。它可以连接到几乎任何数据源,包括 Salesforce、Google Analytics 和 SQL 数据库。它在一个方便的交互式仪表板中呈现所有信息,还允许您控制和生成新的信息和见解。

结论

如果你正在考虑进入分析行业,这些是你应该学习的编码语言的首选。当然,分析和数据科学是非常广泛的领域。出于这个原因,在你全身心投入某种编程语言之前,更具体地考虑一下你对分析和数据科学的哪一部分最感兴趣。

对你真正想从事的角色类型做一些研究,然后确定上面哪种编程语言最有价值。我保证它将包括 SQL、python/R,也许还有可视化工具/语言。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

帮助您起步的资源

最重要的是,这些语言在数据科学和分析领域拥有极其强大的能力。所有这些对于从事分析行业都非常有价值。无论你选择哪一个方向,知道这些语言中的任何一种肯定会打开许多大门。

  • Strata Scratch :超过 500+来自真实公司的 SQL 和 python 练习题
  • 模式分析:如果你是从零开始,这是一个很好的 SQL 和 python 教程
  • DataCamp :提高你的 python 和 R 技能的资源。主题和模块本质上是特定的,需要你有一些 python 或 r 的背景知识。

原载于https://www.stratascratch.com

相关分数能告诉你什么,不能告诉你什么

原文:https://towardsdatascience.com/what-correlation-scores-can-and-cant-tell-you-75fb061eeaa1?source=collection_archive---------20-----------------------

为什么你不应该假设高度相关的变量对彼此有很大的影响

最近,我向数据科学训练营的同学介绍了爱荷华州 Aimes 的房价。除了预测房屋的销售价格,我们还被要求选择另一个问题来回答。

我选择回答的问题是:对一个人已经拥有的房子可以做哪些实际的改变来提高它的质量?(如果你感兴趣,可以在这里找到该演示文稿。)

总体质量相关性得分

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在我的报告中,我分享了一张热图,它将各种因素与房屋的整体质量联系起来。在这些因素中,我主要关注以下二元变量:

  • 在过去的 30 年里被改造过
  • 有附属车库
  • 有一条铺好的车道

对于这些因素中的每一个,我观察了有和没有这些因素的房屋的平均质量,以了解它们的影响。

平均质量的差异

除了这张热图,我还展示了以下小提琴图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上面的图显示了有和没有最近改造(左)、附带车库(中)或铺设车道(右)的房屋的质量分数分布。这些地块的一个关键点是,为了提高质量,最好的特征是改变车道类型,其次是车库类型,然后是最近的改造。

我的一个同学注意到与整体质量最相关的变量对整体质量的变化影响最小,问我为什么会这样。当时,我不知道,所以我决定深入调查…

数学——平均值的差异

如果你正在读一个统计学博客,你可能不需要我告诉你两个平均值之间的差是如何计算的。但是作为一个复习…

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

数学相关性

特征和总体质量之间相关性的计算方式有很大不同。当您运行。corr()函数在一个熊猫数据帧上(就像我做的那样),默认的方法是计算皮尔逊相关系数( ρ)。

sns.heatmap(df.corr(), cmap=’BrBG’, vmin=-1)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

计算皮尔逊相关系数的公式为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中 E 是输入值的期望值或长期平均值。

更直观地说——相关性告诉你一条线与变量对的拟合程度。1 分意味着你可以完美地拟合一条斜率为正的线,0 分意味着你根本无法拟合一条线,-1 分意味着你可以完美地拟合一条斜率为负的线。

这在实践中意味着什么?

让我们来看三个数据集,每个数据集有 6 个样本(特征分数为 1 表示该住宅具有该特征,分数为 0 表示它不具有该特征):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在每个数据集中,平均质量值的差异为 2.67,质量处于相同的范围内,这就是为什么三个图表的最佳拟合线(以红色显示)的斜率相同。

然而,相关分数差异很大。左边的数据集几乎可以完美地拟合成一条线,而右边的数据集根本不能用它的最佳拟合线来表示。

为了更生动地展示相关性如何实际上不提供关于对具有特征的质量的影响的信息,让我们看另外两个数据集:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在所有上述图中,相关性得分的值完全基于红色最佳拟合线代表黑色散点图点的程度,而平均值的差异基于红色最佳拟合线的斜率。

最佳拟合线的斜率与相关分数相关的唯一方式是,对于正斜率,其符号为正,而对于负斜率,其符号为负。(上面所有的图都有一个正斜率,这就是相关性分数都在 0 和 1 之间的原因。)

结论

当您寻找线性相关的值时(例如:当您创建线性回归模型时),相关性分数是一个很好的工具。然而,应该清楚的是,他们给你的分数不是一个变量的变化对另一个变量的影响程度。更简单地说,相关性的通俗定义(两个或更多事物之间的相互关系或联系)并不总是由统计相关性分数来表示。

在进行探索性数据分析时,您应该确保查看其他指标,以了解变量之间的相互影响(例如,最佳拟合线的斜率)。

开始数据分析师的职业生涯需要学习哪些数据分析工具?

原文:https://towardsdatascience.com/what-data-analysis-tools-should-i-learn-to-start-a-career-as-a-data-analyst-af650b54c9e9?source=collection_archive---------15-----------------------

对于数据分析,我一直强调核心是业务。我们将业务的分析逻辑与数据分析的处理逻辑联系起来,数据分析工具是帮助我们实现结果的手段。就像我们根据不同的道路选择不同的交通工具一样,合适的工具可以帮助我们更快地到达终点。我们应该为数据分析的不同环节选择不同的工具。

今天的文章就是要告诉你,开始数据分析师的职业生涯,应该学习哪些数据分析工具。

1.确定分析师的需求:业务还是技术

在企业中,数据分析师通常分为两类:业务分析师和技术分析师。而且两者的能力和工作内容差别很大,对工具的要求也相应不同。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

商业分析师经常在市场部、销售部等部门工作。日常工作更多的是整理业务报表,针对具体业务做专题分析,围绕业务增长测算数据,制定计划。

技术分析师一般属于 IT 部门或数据中心。根据工作环节的不同,分为数据库工程师、ETL 工程师、爬虫工程师、算法工程师等等。在中小型企业中,这些流程通常由一名技术分析师处理。在大型企业中,一个标准的数据中心需要一个数据仓库、特殊分析、建模分析等小组来完成数据开发工作。

之所以这样区分,是因为我们需要一个多层次的复杂数据系统来处理数据。一个数据系统需要结合数据收集、数据整合、数据库管理、数据算法开发和报告设计。这样就可以把散落在周围的点点滴滴的数据集合起来,设定共同的指标,做出各种酷炫的图表。这里的每一个环节都需要相应的技术支持和人员工作,所以有不同的岗位。

你在找数据分析岗位的时候,一定要分清是技术端还是业务端,是否与自己的职业倾向相匹配。

2.识别工具的属性:分析工具还是代码工具

分析师有技术和业务的区分,相应的数据分析工具也有这样的属性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

分析工具

对于初级数据分析师来说,掌握 Excel 是必须的。您必须精通数据透视表和公式。和使用 VBA 将是一个加号。此外,你必须学会一个统计分析工具。SPSS 比较适合初学者。

对于高级数据分析师来说,分析工具的使用是一项核心能力。VBA 是基本必需品。而且你要掌握 SPSS、SAS、r 这三个分析工具中的至少一个,你也可以学习其他工具比如 Matlab ,不过要看情况。

对于数据挖掘工程师来说, RPython 是必须的,就像你要写代码一样。

代码工具

对于初级数据分析师,只需要编写 SQL 查询即可。还可以学习一些 HadoopHive 查询。

对于高级数据分析师来说,除了 SQL 之外,学习 Python 也是事半功倍获取和处理数据的必要手段。当然,其他编程语言也是备选方案。

对于数据挖掘工程师来说,你得用 Hadoop、Shell、Python、Java、C++等。总之,懂一门编程语言绝对是数据挖掘工程师的核心能力。

下图说明了数据分析工具的属性和功能。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.确定企业的数据架构

数据分析工具的使用取决于业务的需求和环境。为什么小公司的数据分析师只用 Excel 做报表,大公司的分析需要 Python 和 R?这取决于企业的数据架构。

从 IT 的角度来看,工具在实际应用中可以分为两个维度。

尺寸 1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

尺寸 2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.1 数据存储

你不必深究数据库存储和数据库语言的概念,毕竟有专业的 DBA。但是你至少要了解数据的存储方式,数据的基本结构,以及可用的数据类型。SQL 查询语言至关重要。您可以从通常的选择、更新、删除和插入开始。

Access 是最基本的个人数据库。 MySQL 是部门或互联网数据库应用所必需的,此时你需要了解数据库结构和 SQL 查询语言。SQL Server 2005 或更高版本足以满足中小型企业的需求。一些大型企业也可以使用 SQL Server 数据库。其实除了数据存储,还包括数据上报和数据分析。

DB2Oracle 都是大型数据库,主要为企业服务。大型企业需要存储大量数据,因此这种类型的数据库是必须的。一般大型数据库公司都会提供非常好的数据集成和应用平台。

至于 BI,它其实不是一个数据库,而是建立在之前数据库基础上的企业级数据仓库。建立在数据仓库上的数据存储基本上是一个商业智能平台,它集成了各种数据分析和报告功能。

3.2 数据报告

企业需要读取和显示数据。和报告工具是最常用的工具。以往的传统报表大多只是解决了可视化的问题。现在,一些分析报告工具正在出现,它们与其他应用程序交叉处理以生成数据分析报告。通过接口打开、数据填充、决策等功能,实现数据存储和数据展示,这就是早期的商业智能。

TableauPowerBIFineReportQlikview 这样的 BI 工具涵盖了多个层次的报告、数据分析和数据可视化。底层也可以连接到数据仓库,构建 OLAP 分析模型。

3.3 数据分析

数据分析工具很多,我们用的最多的是 Excel

很多人只掌握了 5%的 Excel 函数。Excel 很强大。它可以完成大量的统计分析工作。但是我经常说,专门做一个统计软件,比用 Excel 做统计工具要好。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

附加电源装置(Supplementary Power Supply Set 的缩写)

现在的版本是 18,名字也改成了 PASW 统计。我从 3.0 版本开始,用它在 Dos 环境下进行编程分析。随着时间的推移,它已经成为一个预测分析软件,从强调医学和化学发展到目前强调商业分析。

斯堪的纳维亚航空公司

SAS 比 SPSS 更强大。而且是基于平台的。相对来说,SAS 更难学。但是如果你掌握了 SAS,你就可以解决更多的问题。例如,对于离散选择模型、抽样、正交实验设计等。,不如用 SAS。除此之外,还有更多 SAS 的学习资料。

其他工具还有 Python 和 R,我下次会详细介绍。

3.4 数据展示

数据展示也叫数据可视化。几乎上面提到的每个工具都提供了一些数据显示的功能。但企业最常用的工具是 BI。

BI 代表商业智能(Business Intelligence),是传统企业中的完整解决方案。它有效地集成了企业数据,并快速生成报告以做出决策。它涉及数据仓库、ETL、OLAP、访问控制等模块。

这里我拿一个 2019 年非常流行的 BI 工具, FineReport 举例。它有两个主要用途。

一个是制作自动报告。数据分析师每天都要接触大量的数据。而且他们需要对数据进行整理汇总,工作量很大。我们可以把这部分工作交给 FineReport。它自动进行数据整形、建模和下载。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

From FineReport

另一种是利用其可视化功能进行分析。 FineReport 的优势在于提供了比 Excel 更丰富的可视化功能。而且很好用。如果你每天花两个小时画画,FineReport 会把时间缩短一半。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

From FineReport

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

From FineReport

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

From FineReport

在学习数据分析的初级阶段,BI 工具无疑是最容易学的。如果你准备进入数据分析师领域,我强烈推荐你使用这个数据分析工具, FineReport 。你可以点击这里免费下载使用。并且官网还提供了教程帮助你快速入门。

原载于 2019 年 5 月 16 日http://www.finereport.com

数据科学可以从 rave 行业学到什么

原文:https://towardsdatascience.com/what-data-science-can-learn-from-the-rave-industry-7c2980e16cbd?source=collection_archive---------38-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

跟随电子舞曲的发展历史,意味着实现一种数字艺术形式的轨迹。它从地下场景到笔记本电脑,再到全球舞台,经历了一个关键的混乱状态。数据科学家目前正进入混乱状态,让我们吸取教训,创建结构和协议。

上周末,我看了关于网飞的纪录片《这就是我们开始的》。它遵循锐舞现场的历史,展示了 EDM 世界的主要人物分享他们对该部门如何增长的意见。这部纪录片揭示了 EDM 在一个社会中的文化融合的一些见解。起初,这是人们出于对特殊事物的渴望而参与的事情。后来,由于缺乏结构和治理,它变得难以管理。经过一段时间的戏剧性事件后,它复活了,并成为日常生活的一大部分。在本文中,我分享了我对数据科学领域的发展与 rave 行业的对比以及潜在教训的见解。

音乐背后的人:这是一门艺术,表达个人观点

数据科学家正在从数据中创造洞察力。如果你把同一个数据集给两个不同的数据科学家,他们会得出两套不同的见解。数据科学家的工作代表了他们的背景、兴趣以及他们接触到的所有其他东西。这是一种表达创造力的方式,即使数据科学家可能不被认为是特别有创造力的人。一开始,DJ 也不是。他们是在卧室盯着屏幕工作的人。

协作和社区的价值

正如在数据科学中,大多数 DJ 认为自己是主要的方法和软件程序。在这部纪录片中,互联网被解释为推动全球合作创作电子舞曲。突然间,人们能够共享文件并互相帮助前进。论坛、在线教育平台和博客的可用性也是数据科学社区背后的一大驱动力。当我们遇到困难时,我们简单地用谷歌搜索错误或者在论坛上分享我们的问题。通过互相帮助,我们不仅自己学到了更深层次的东西,而且也为社区做出了贡献。正如他们在纪录片中所说:“这是关于社区、创造、热爱你所做的事情并与他人分享”。

它生长在不同的地方,没有一个总的监督机构

EDM 刚开始的时候,聚会都是在地下场所和仓库举行的。结合日益流行的音乐和毒品的使用,这开始引发问题。在某一点上,关于狂欢派对事故的坏消息导致了行业的关闭。EDM 政党只有通过适当的活动组织和规章制度才能生存。

数据科学目前作为一个时髦词非常受欢迎,但它只在不受监管的地下中心投入实际使用。我们知道主要科技公司的研究中心和初创公司一样都在使用它,但我们对他们的工作的影响了解多少呢?最近的丑闻打开了地下世界。然而,监管机构需要加强并要求更多的透明度。在我看来,这个过程中最大的障碍是社会缺乏数据素养。

关于我们为什么需要数据素养的简短说明

首先,我所说的数据素养并不是指每个人都应该知道如何编码。重要的是,我们允许社会成为讨论的一部分。今天,数据是通过每个人的设备和行为收集的。然而,这些数据的使用仅限于少数情况。为了让人们就共享哪些数据和使用哪些设备来实现某些功能做出明智的决定,需要向人们解释正在发生的事情(以一种可理解的方式)。

(更多关于数据素养社会的信息,请见后续文章……)

因此,在结束本文时,我想强调的是,如果我们让数据科学家从内在动机而不是企业需求出发工作,数据科学可以成为一种艺术形式。我们通过协作学习,并有机会将收集到的所有大数据转化为有意义的见解。然而,我们需要制定标准,并告知从业者关于监管和适当报告的必要性(也为数据文盲)。

最后,我从纪录片中引用了一些我最喜欢的话:

“我只希望我能成为其中的一部分,它会继续下去,马丁·盖瑞斯”

这类似于我现在对数据科学的感觉。在我看来,它可以带领我们走向一个更有见识的社会。此外,丰富的在线学习资源为每个人创造了平等的起点。通过大量的努力和实践,你可以创造出有价值的见解。

永远不要贪得无厌

此外,在我看来,这句话适合数据科学界。如果我们都有动力去创造和合作,那么每个人都是赢家。

关于 EDM 历史的更多深入背景,我推荐观看纪录片:“我们开始了什么”!

关于主流音乐,数据科学能告诉我们什么…🤔

原文:https://towardsdatascience.com/what-data-science-can-tell-us-about-mainstream-music-e56b20e00a25?source=collection_archive---------13-----------------------

Spotify 上前 100 名艺术家的 k 均值聚类

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by Thomas Habr on Unsplash

介绍

多年来,音乐之声随着社会的发展而发展,因此,声音的创新实际上是我们文化和技术进步的反映。几十年前,由于缺乏技术手段,与主流人群相关的音乐是不可能创作出来的。

不仅制作音乐的过程变了,音乐的消费也进步了。流媒体服务使得在各种平台上消费音乐变得前所未有的容易。毫无疑问,像 Spotify 这样的流媒体服务也降低了进入音乐行业的门槛。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by Anastasia Ischnopoulou on Unsplash

通过向全球 2.17 亿月活跃用户提供音乐,Spotify 不仅向用户提供了数百万艺术家的音乐,还允许任何人发布自己的歌曲。这在很大程度上改变了音乐行业,这确实值得写一篇自己的文章,但在这里,我打算更多地关注 2019 年主流音乐的流派。

目标

这个项目的目的是分析 Spotify 上排名前 100 的艺术家发布的音乐。我开始通过分析他们的音频特征来将这些艺术家分类。然后,我通过评估突出的音频特征来研究每个集群代表的音乐风格。

首先,我访问了 Spotify Web API ,它允许我通过对 API 端点的标准 HTTPS 请求来访问 Spotify 音乐目录中的数据。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by Tom Fejér on Prototypr.io

Spotify Web API 允许您访问一首歌曲的几个音频功能。这些音频特征量化了音乐的几个方面,对这一分析至关重要。我使用了 12 种音频功能,如下所示:

可跳舞性:可跳舞性描述了一首曲目在音乐元素组合的基础上适合跳舞的程度,包括速度、节奏稳定性、节拍强度和整体规律性。值 0.0 最不适合跳舞,1.0 最适合跳舞。

**声音度:**从 0.0 到 1.0 的一个衡量标准,衡量音轨的声音程度。

**能量:**能量是从 0.0 到 1.0 的度量,代表强度和活动的感知度量。通常,高能轨道感觉起来很快,很响,很嘈杂。

**乐器性:**预测一个音轨是否不包含人声。乐器度值越接近 1.0,轨道不包含人声内容的可能性就越大。

**活跃度:**检测录音中是否有观众。较高的活跃度值表示音轨被现场执行的概率增加。根据官方文档,“高于 0.8 的值提供了该轨道是活动的很大可能性。”

**响度:**一个音轨的整体响度,单位为分贝(dB)。响度值是整个轨道的平均值。值的典型范围在-60 和 0 db 之间。

**语速:**语速检测音轨中是否存在口语单词。越是类似语音的录音(例如脱口秀、有声读物、诗歌),属性值就越接近 1.0。

**速度:**轨道的整体估计速度,单位为每分钟节拍数(BPM)。在音乐术语中,速度是给定作品的速度或节奏,直接来源于平均节拍持续时间。

**效价:**从 0.0 到 1.0 的量度,描述音轨所传达的音乐积极性。高价曲目听起来更积极(例如,快乐、愉快、欣快),而低价曲目听起来更消极(例如,悲伤、沮丧、愤怒)。

**调:**音轨所在的调。整数映射到使用标准音高等级符号的音高。例如,0 = C,1 = C♯/D♭,2 = D,等等。

**调式:**调式表示音轨的调式(大调或小调),其旋律内容来源于音阶的类型。大调用 1 表示,小调用 0 表示。

Duration_ms: 是歌曲的时长,以毫秒为单位。

现在,我总结一下我的方法:

  • Kworb.net的 Spotify 上获得前 100 名艺术家的名单
  • 通过 Spotify Web API 手动获取每个艺术家的音频特征数据
  • 用相关的音频特征可视化艺术家数据
  • 基于艺术家各自的音频特征,应用 k-means 聚类将艺术家分成不同的组
  • 分析每个聚类中明显的音乐风格

让我们看看这几天有哪些艺人受欢迎!

获取数据

第一步是在开发者的 Spotify 上注册。然后,我在平台上注册了我的应用程序,以获取密钥,也就是客户机 ID 和客户机秘密,以备将来的请求。

我使用密钥请求一个访问令牌,以便授权我的应用程序检索和管理 Spotify 数据。

我使用了一个名为 的 R 包装器 spotifyr 从 Spotify 的 Web API 中批量提取每个艺术家的音频特征。通过自动批处理 API 请求, spotifyr 允许您输入艺术家的名字,并在几秒钟内检索他们的整个唱片目录,以及 Spotify 的音频功能和曲目/专辑流行度指标。spotifyr 的创始人 Charlie Thompson 有一个非常有趣的网站 ,如果你对音乐或数据科学感兴趣,我强烈建议你去看看。)

只需对每个艺术家使用get_artist_audio_features()函数,我就可以从 Spotify 获得数据。你可以在下面的平台看到月听众最多的前 100 位艺人。

最后,我将每首歌的音频特征放在它们各自的唱片目录中,所以我将它们全部组合到一个 data.frame 中。

然后,我使用aggregate()函数计算每个艺术家对应的音频特征的中值。最初,我在这个项目中使用了平均值,但我认为中值会更好,因为考虑到数据的高度可变性,平均值的效率很低。

让我们快速看一下我生成的表格,它包含了所有艺术家的音频特征的中值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

K-均值聚类分析

K-means 聚类是最流行的无监督机器学习算法之一。它将相似的数据点组合在一起,并寻找潜在的模式。为此,K-means 在数据集中寻找固定数量( k )的聚类。K 的值可以由运行算法的人定义,也可以使用各种技术找到。

现在我已经有了每个艺术家唱片目录的音频特征的中值,我可以进行聚类分析了。但是首先,我必须将数据标准化,也就是说,将数据转换为平均值为 0,标准差为 1。下一步是缩放数据,因为在找到 k 的最佳值之前必须这样做。

Charlie Thompson 在科切拉 2017 的聚类分析上做了一个帖子,在那里他使用NbClust包找到了最优的聚类数。同样,我使用了 Ward 的层次聚类,发现 k 的最佳值是 4。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Output for the gist above

在找到最佳的集群数量后,我用ggplotly()可视化了我的结果。此外,我还使用了韦斯·安德森电影《大吉岭》中优雅的调色板。

You can zoom in for better view of the labels!

评估上面的图表,我做了一些有趣的观察:

  • 比莉·埃利什是前 100 名中最具音乐性的艺术家
  • XXXTENTACION 的唱片包括从说唱金属摇滚到原声民谣的各种音乐,与比利·埃利什和艾德·希兰属于同一类😮
  • Marshmello 是这里最有活力的艺术家!
  • 酷玩乐队和皇后乐队似乎在图表中很突出,这是有道理的,因为他们是这项研究中少数几个传统乐队中的两个

让我们单独看一下每个集群!

主流音乐的集群

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第 1 组:电火花加工/电穿孔/Pop Rap

这个集群主要由 EDM 艺术家组成。这个集群中的流行/说唱艺术家经常制作舞曲,这可以解释他们为什么在这里。该集群的特点是:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Radar chart for Cluster 1

  • **最高能量:**可以轻描淡写地说舞曲是充满能量的,所以这个指标的值完全有意义。
  • **高乐器性:**这些艺术家的每一张唱片都融合了各种乐器和流派,可以感觉到他们在歌曲制作上非常专注。
  • 不太强调口语,因为大多数现代 EDM 歌曲的合唱都是器乐作品。
  • 最高音量:试着给你的祖母播放这些歌曲中的任何一首,她会证实这一点。

群组 2:声音爆音

这个群体中的流行艺术家比其他人更传统。让他们在这里脱颖而出的是他们制作音乐的传统方式。当每个人都在跳着 EDM 和 Trap beats 制作电子派对歌曲时,这些艺术家却通过坚持自己的声学根源来区分自己。他们音乐的一些特征是:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • **最高声音:**这一指标向我们显示,该集群似乎最有可能不使用电子放大。很多艺术家的歌曲都只有原声吉他和人声。
  • 可以肯定地说,这个群体中的艺术家创作的歌曲唤起了悲伤和愤怒的情感。考虑到 XXXTENTACION 也在这个群体中,我毫不怀疑,因为他要么创作了让你哭泣的歌曲,要么是你的邻居报了警。
  • **最低能量和节奏:**证实这是制作缓慢、悲伤、原声民谣的组合。

集群三: 最主流的主流音乐

从爱莉安娜·格兰德到德雷克的每个人都在这个集群中(所以德雷克毕竟不是一个说唱歌手。)这是所有乐队中最多样化的一组,所有的流行/摇滚乐队都在这里。这让我想知道,当人们说所有流行音乐听起来都一样时,这个集群是不是指的那个。我还观察到,该集群中没有太多突出的音频功能,但这里有一些我的想法:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 最高节奏:该组中的艺术家具有所有其他艺术家中最高的节奏。这并不一定意味着他们总是制作积极向上的歌曲,因为效价不是特别高。
  • **最高活跃度:**这意味着歌曲被现场录制的可能性最高。我认为这是因为许多乐队发行他们歌曲的现场版本,并且大多数乐队都在这个集群中。
  • **相当一般的特征:**其余的音频特征似乎并不突出,这可能是因为这是拥有多样化艺术家的最大集群,或者他们确实制作了相对“一般”的音乐。

集群 4:嘻哈/说唱

这是我最喜欢的集群。作为一个说唱乐迷,看到算法把我最喜欢的艺术家放在一个群中,真的很令人满意。虽然这个群体中的说唱歌手有时使用不同的语言,但他们都有能力忠于他们的嘻哈根源。以下是我做的一些观察:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • **最高语速:**说唱歌曲中的独特字数必然高于其他,这也是语速高的原因。此外,说唱歌曲传统上是由其抒情内容和声音流驱动的,而不是乐器。
  • **最高价:**最受欢迎的说唱歌曲关注积极的事情。说唱歌手经常谈论他们的破产,他们赚了多少钱,戴着昂贵的珠宝。吹牛是件好事。
  • **最高可舞性:**谁知道说唱音乐会比 EDM 本身更可舞?随着 groovy Trap beats 接管主流嘻哈,我并不感到惊讶。

模型结论

  • 所有主流音乐听起来都不一样。今天的流行音乐可以分为四类。
  • 今天最流行的四种音乐风格是:EDM,原声音乐,说唱和流行音乐。
  • 虽然这么说很伤我的心,但摇滚乐已经不再流行了。如今,为数不多的几个仍然排在前 100 名的摇滚艺术家已经将他们的音乐与流行音乐融合在一起,以保持相关性。
  • 聚类 3 中的艺术家似乎具有平衡的音频特征,只有少数艺术家从其他艺术家中脱颖而出。在我看来,这正中主流观众的下怀。

下一步是什么?

数据科学可以告诉我们很多关于音乐的信息。Spotify 提供了发现自我的工具,让这变得前所未有的简单。该项目的下一步将是建立一个推荐系统,根据用户在音乐平台上的收听历史来创建播放列表。Spotify 已经在这方面做了很多工作,但如果能做到这一点就更好了。如果任何人有建议或想在这方面合作,请随时联系我。

我喜欢收到对我工作的反馈。如果你有任何建议,意见,或者只是想谈谈音乐,请随时联系我,在 inagpal2@illinois.edu!

有哪些数据告诉我们 Airbnb 在西雅图的使用情况

原文:https://towardsdatascience.com/what-data-tells-us-about-how-airbnb-is-being-used-in-seattle-b948a05b84b6?source=collection_archive---------18-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

介绍

Airbnb 是一个在线市场,让你向客人出租房产或空房间。它是世界上最大的住宿分享网站,目前价值超过世界上任何连锁酒店。

Airbnb 的主人和顾客面临的一个主要挑战是,确定房源收费或付费的最佳价格。作为数据科学家,我们能否对 Airbnb 房源进行一些分析,以了解 Airbnb 的使用情况,并在这方面提供一些见解?

然而,Airbnb 没有提供开放的数据转储供我们使用。我们可以利用 Airbnb 内部一个名为的独立实体提供的数据来分析并得出我们自己的见解。

我查看了西雅图的 2016 年 Airbnb 房源数据,并进行了一些探索性分析,为我的一些问题找到了答案。

该数据集有 3818 条来自西雅图不同社区的记录。每个列表记录都包含与其定价、主机详细信息、位置、便利设施等相关的详细信息。虽然总共有 92 列,但我只选择了几列进行分析。

我的第一个问题是:

当你去西雅图的时候,一年中最繁忙的时候是什么时候?

我使用日历数据来绘制月平均入住率,以直观显示它们在一年中的变化情况。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

西雅图的 Airbnb 房屋似乎在年初最繁忙。然后在三月底会有一个暴跌,在七月和八月再次达到顶峰。

平均来说,什么时候入住 Airbnb 房源最贵和最便宜?

西雅图的 Airbnb 价格在 6 月份左右开始见顶,在 7 月和 8 月达到最大业务量。一月和二月的价格最便宜。

平均而言,游客在旺季每晚要比淡季多付 35 美元。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

从上面的两个图像中可以看出:

  • 一月份的高入住率似乎令人费解。根据简单的价格和入住率相关性,人们会认为 7 月至 8 月是最繁忙的时期。
  • 此外,对于出现的周期性趋势,年初和年末的价格和入住率应该大致处于同一水平。

我们需要查看不同年份的数据才能得出更好的结论。

此外,我查看了一周中各天的价格和入住率,发现它们在周末相对较高,这与预期相符。

房源数量最高的小区是哪些?

如下图所示,百老汇、贝尔敦和沃灵福德是上市数量最多的三个社区。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然而,列表计数只提供了一半的情况,因为一些社区由于规模较大而可能有更大的计数。为了更好地了解顶级社区,我们需要查看列表密度,即列表的集中程度或分散程度。为了直观地探索这一点,我在地图上标出了这些列表的地理坐标(参考帖子中的标题图片)。

在基于挂牌数量的顶级社区中,百老汇和贝尔敦及其周边地区似乎是大多数挂牌的地方。

平均来说,住在哪里最贵和最便宜?

根据平均价格,中央商务区是最贵的,北比肯山是最便宜的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为了对此有一个更广泛的理解,我还查看了前 25 个街区的价格分布。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

价格较高的社区的大部分房源都在 101 美元到 200 美元之间,而其他社区的大部分房源都在 1 美元到 100 美元之间。

百老汇位于榜单的中间位置,价格在 101-200 美元之间,与贝尔敦的房源数量几乎相同。但这被价格在 1 美元至 100 美元之间的更多商品抵消了。

一个上市的受欢迎程度和它的价格有什么关系?

我用顾客对一个列表的评论数量来掩饰它的受欢迎程度。假设是,更多的评论对应着更高的需求和受欢迎程度。

为了证实这一点,我绘制了 10 大社区的平均价格和平均受欢迎程度。我只考虑了前 10 个社区,以确保每个社区都有足够的样本列表来概括趋势。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

似乎,一个社区的平均价格和受欢迎程度之间存在负相关关系。此外,从可视化中可以明显看出,这种关系并不牢固,因为一些社区与趋势相反。

列表的哪些属性可以用来预测价格?

为此,我使用列表的不同属性建立了一个预测模型。我们的想法是根据上市数据建立一个模型,然后找出对该模型有贡献的最重要的预测特征。

我排除了一些附属功能,如床、卧室,为其他独立功能提供空间。

我用 80%的数据来训练模型,剩下的 20%用于预测。

这是该模型如何预测价格的可视化效果。图表上的每个点代表测试数据中的一个列表,x 轴表示实际价格,y 轴表示预测价格。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

该模型能够很好地预测低于 200 美元的价格,这很好,考虑到大多数上市价格都低于 200 美元。此外,这是一个基本模型,还有进一步提高模型性能的空间。

接下来,我使用训练模型的属性来获取最重要的功能及其在预测上市价格中的相对重要性的列表。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

评论和便利设施的数量以及评论评分评级、总列表数和住宿似乎是列表价格预测中最重要的特征。此处需要注意的另一点是,住宿、额外人员、浴室和客人都与租赁物业的大小有关,并在确定挂牌价格时发挥重要作用。

外卖食品

我们研究了 2016 年西雅图的 Airbnb 房源,以寻找一些与 Airbnb 使用方式有关的问题的答案。有些答案是确凿的。例如,评论的数量、便利设施和“生活空间”的面积在确定房源价格时起着重要作用。有些问题需要更多的数据才能得出更好的结论。例如,一些街区的房源数量太少,无法得出一个总体趋势。我们将需要结合不同年份的数据,看看 2016 年数据中看到的模式是否跨年份保持不变。此外,作为下一个可能的步骤,我们可以研究不同城市的数据,看看它们之间如何相互比较。

本次分析的完整代码可以在 这里 找到。

关于世界上最富有的人,有哪些数据告诉我们

原文:https://towardsdatascience.com/what-data-tells-us-about-the-worlds-wealthiest-a8c54e6ddb84?source=collection_archive---------13-----------------------

在哈佛大学大一的春季学期,我上了一门名为“利用大数据解决经济和社会问题”的课。我们探讨的最有趣的话题之一是美国的机会平等。我们了解到,孩子们比他们的父母挣得更多的机会并不一致:这取决于他们的种族、性别和他们在哪里长大。

这门课的大部分内容集中在研究数据和分析收入分配最低百分位数的结果。我对另一个极端很好奇。我想看看世界上最富有的人的数量、地理位置、财富来源和净资产的趋势。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by Forbes

我发现了彼得森国际经济研究所(PIIE)的研究人员创建的数据集,该数据集使用了 1996 年至 2016 年福布斯全球亿万富翁排行榜的数据。根据 PIIE 的研究人员:

“从 1996 年到 2010 年,这些数据包括全球亿万富翁的姓名、排名、国籍和净资产(现值美元)。从 2011 年开始,还提供了财富的来源,要么列为特定公司,要么列为更广泛的行业。”

PIIE 大学的研究人员在《福布斯》的数据中加入了几个变量:亿万富翁的年龄、1996 年的美元净资产(考虑到通货膨胀),以及他们国家的国内生产总值和经济发展水平。除了原始数据集中包含的 3 位数国家代码之外,我还为洲名和国名创建了变量。

以下是我从分析中发现的…

在过去的 20 年里,亿万富翁的数量翻了两番

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

显然,从 1996 年到 2016 年,全球亿万富翁人数激增(更准确地说,增长了 396%)。但上升轨迹并非一帆风顺:2000 年之前增长相对停滞,2001 年互联网泡沫破裂后立即出现负增长,最明显的是 2008 年的金融危机。

美国一直拥有最多的亿万富翁

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这部动画对 1996 年至 2016 年每年亿万富翁人数最多的 10 个国家进行了排名。最引人注目的发现是,在过去十年中,不仅美国毫无例外地拥有比其他任何国家都多的亿万富翁,而且即使考虑到人口规模的差异,美国与亚军国家和其他国家的亿万富翁数量差异也非常大。除了 1999 年和 2000 年,美国每年的亿万富翁人数至少是其他任何国家的 2.5 倍。然而,这一差距正在慢慢缩小,很明显,中国正在赶上美国:中国在 2008 年首次上榜(排名第五),自 2013 年以来一直排名第二。

关于各国在排名中的位置,有一些有趣的观察结果:

  • 总共有 19 个国家至少上榜一次。
  • 自 1997 年以来,每年都榜上有名的国家只有美国、德国、香港和英国。
  • 这一排名反映了日本经济的逐渐衰落:2006 年之前,日本一直排在前 5 名,之后几年一直排在榜单的后半部分,2011 年之后又跌出了榜单。
  • 自 2005 年以来,印度一直名列前茅(通常徘徊在第 4-6 位)。
  • 自 2003 年以来,俄罗斯一直排名前五,尽管在 2014 年美国和欧盟实施制裁后,俄罗斯的亿万富翁人数急剧减少。
  • 个人兴趣(和骄傲):加拿大自 1999 年以来几乎每年都榜上有名!

亚洲经历了亿万富翁人数增长最快的时期

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

亚洲和美洲的亿万富翁数量增长最快,其中最大的增长发生在 2008 年之后。有趣的是,在 2000 年之前,美洲和欧洲的亿万富翁人数非常接近,但在 2000 年之前,这两个地区的亿万富翁人数突然出现了显著差异。自那以后,它们的增长模式相互呼应,但美洲仍明显高于其它地区。同样令人惊讶的是,尽管非洲在过去二十年中取得了巨大的经济增长,但非洲亿万富翁的人数一直很低。

发达经济体的亿万富翁比欠发达国家的亿万富翁变得更加富有

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2003 年后,亿万富翁的总净资产激增——特别是在新兴经济体,增长几乎是指数级的——直到 2008 年金融危机后立即大幅下降。然而,2010 年后,亿万富翁人数反弹,他们的净资产再次开始增长,尽管欠发达国家的增长速度明显放缓。

自 2000 年以来,超过四分之一的亿万富翁的财富来自金融业

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

该数据集将亿万富翁的财富来源分为以下 6 类:

  • 资源相关:能源(不包括太阳能和风能)开采,钢铁
  • :计算机技术、软件、医疗技术、太阳能和风能、制药
  • 非贸易:零售、娱乐、媒体、电信、建筑、餐饮等服务业
  • 金融:银行、保险、对冲基金、私募股权、风险资本、投资、多元化财富、房地产
  • 贸易:农业、消费品、航运、制造业
  • 其他:教育、工程、基建运动队所有权、身份不明的多元化财富

尽管最大比例的亿万富翁已经并将继续主要从金融业获得财富,但这一比例自 2008 年达到峰值以来一直在稳步下降。另一方面,自 2008 年以来,来自“新”和可交易商品行业的亿万富翁比例一直在上升。

需要注意的是,数据集并不完美。PIIE 的研究人员指出了它的一些缺陷:

缺失数据

“报道的亿万富翁人数和世界上实际的亿万富翁人数之间可能存在差异,因为一些亿万富翁可能更喜欢对他们的财富规模保密……”

“还有一种可能是,许多私营公司被忽视了,至少在公司上市或创始人去世之前是如此。”

“另一类被排除在名单之外的亿万富翁是那些收入与非法获取租金有关的人,包括腐败的政府官员或毒枭。”

不一致的报告

《福布斯》通常不包括那些财富与其权力地位挂钩的君主和其他国家领导人。《福布斯》在 1997 年和 1998 年破例,包括 8 位君主和 4 位独裁者,但名单不完整,这一群体在后来几年被终止。”

“这个数据集的一个缺点是福布斯对样本中部分家庭财富的报告不一致。1996 年和 2001 年至 2014 年,亿万富翁是以个人身份报道的,除非“兄弟姐妹之间的所有权划分不清楚”……然而,从 1997 年到 2000 年,该榜单按家族汇总了个人亿万富翁。"

由于这些缺陷,我的分析少报了亿万富翁的数量和他们的总净资产,从而扭曲了一些国家和地区的结果。另一个含义是,由于数据质量的问题,我进行的一些分析返回了误导性的结果,所以我选择排除它们。例如,随着时间的推移,亿万富翁的平均年龄或中值年龄的图表将是不准确的,因为非常高比例的亿万富翁被错误地列为 0 岁(至少我希望这是不正确的……)或他们的年龄在数据集中缺失。

我还想制作一张每年新增亿万富翁人数的图表,以说明亿万富翁人数的年度增长被夸大了,因为亿万富翁在未来几年不太可能从榜单上消失。然而,正如 PIIE 的研究人员指出的那样,只有当《福布斯》发现他们的净资产时,从私营公司获得财富的人才会被列入名单(例如,只有当公司上市或创始人去世、有人继承了他们的财富成为众所周知的事情时)。这意味着一些人会在他们真正成为亿万富翁的几年后才首次被列入名单,这扭曲了“新亿万富翁”结果的准确性。

关于世界上的亿万富翁,还有很多东西需要了解。我很好奇性别和年龄分布如何随着时间的推移而变化,以及是否有更多的“白手起家”或继承财富的亿万富翁。希望随着数据的增长,我们可以开始回答这些问题以及更多的问题。

你可以在这个 RPubs post这个 Github repo 上找到我所有数据可视化的数据和代码。

我在这篇文章中引用的 PIIE 研究是由 Caroline Freund 和 Sarah Oliver 撰写的名为“超级富豪的起源:亿万富翁特征数据库”的工作论文

DeepMind 的 AlphaStar 击败星际玩家对 AI 研究意味着什么

原文:https://towardsdatascience.com/what-deepminds-alphastar-beating-starcraft-players-means-for-ai-research-62ca70ccb403?source=collection_archive---------12-----------------------

这篇文章是关于 AlphaStar 在 2019 年 1 月的胜利。

在 12 月份进行基准比赛后,DeepMind 的星际争霸(StarCraft)玩 AI AlphaStar 在一系列游戏中击败了职业选手。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

image via https://gigazine.net/

暴雪的星际争霸是一款复杂的电子竞技游戏,没有单一的获胜策略。它在单人模式下有自己的人工智能,但它依赖于手工制作的规则,比实际玩家拥有更多关于地图状态和对手的信息,并且能够同时执行命令,比人类快得多。鉴于其复杂性,击败人类被认为是人工智能研究的另一个巨大里程碑。但是所有其他的星际人工智能以前主要依赖于一系列手写的规则和限制。直到现在,他们都没有达到职业选手的水平。

但是 AlphaStar 不是人工通用智能。 DeepMind 的系统不是一个单一的模型,能够同时在围棋、象棋和星际争霸中击败人类。无论是跳棋还是魔兽,他们的模型都无法击败人类。尽管如此,从技术上来说,这一成就可能比其他成就更加重要:

  • 星际争霸赛很长,执行的动作数量远高于一局围棋的回合数。在游戏开始时做出的决定,可能只会在游戏结束时有用。错误的决定仍然可以伪装成有用的决定,如果玩家后来设法修正它们并扭转局面的话。一个策略的成功只能在每局游戏结束时才能得到充分的评估,而所有成功的策略仍然可以用其他策略进行反击(尤其是在星际争霸的情况下)。AlphaStar 代理能够学习多种通常良好的长期策略,而不仅仅依靠剥削。
  • 玩家看不到整个地图和他们对手的所有行动,只有他们将要选择什么策略的粗略想法,这意味着星际争霸是一个不完整和不完美的信息游戏。这意味着 AlphaStar 能够“想出”成功的长期战略,甚至在未知的情况下改变它们
  • 行动需要时间来产生效果,命令只有在以后才能完全执行,而且只有在环境允许的情况下。AlphaGo 可以将棋子移动到任何自由的位置,它的决定会立即改变棋盘。**另一方面,AlphaStar 需要对时间有一些概念,**如何提前计划时间,并知道在游戏的不同阶段哪些策略更有用。
  • 与回合制棋盘游戏不同,《星际争霸》是一款即时战略游戏,玩家可以同时采取行动。玩家对他们的观察反应越快,对他们来说结果就越好。DeepMind 的工程师已经成功训练了一个深度学习模型,能够像专业人员一样快速地对环境做出反应(甚至更快,但他们不允许这样做)。训练深度学习模型很昂贵,但运行它们又快又便宜,因此在新一代智能手机中运行模型的人工智能芯片越来越多。尽管对代理的培训是在 16 个云 TPU v3上进行的,每个并行 420 万亿次浮点运算(作为衡量标准,PS4 Pro 有一个 4.2 万亿次浮点运算 GPU),但最终的 AlphaStar league 模型适合 pendrive,甚至可以在普通的桌面 PC 上运行。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Final match against MaNa

那么为什么这还不是一般的智力呢?

所有的游戏都在一张地图上进行,只有一个种族(神族)与自己对抗。一个类似小地图的游戏领域的表示被输入到模型中,而不是来自星际争霸的一系列截图。AlphaStar 没有学习过星际争霸,它已经学会了在地图上执行哪些动作,以及如何根据现有的信息来计时。这不是一个微小的差异:AlphaStar 可能无法在不同的地图上击败人类,无论是与不同的种族,甚至是玩不同版本的游戏。虽然它的新版本很可能会玩其他种族,但学到的能力仍然会与我们在环境中的感知和选择行为不同。不要误解我,AlphaStar 获奖仍然是人类的一项巨大成就,但这也意味着它只在一个狭窄的领域取得了成功:提出一系列有用的行动,并不等于成为不同领域的战略家。这一点在与 MaNa 的最后一场比赛中表现得最为明显,他在 AlphaStar 的策略中找到了一个漏洞,并不断滥用它以最终获胜(迫使人类犯错或让电脑玩家重做次优策略也是职业玩家使用的策略)。他的诡计可以被大多数人类玩家避免,只要简单地建造一个单独的对抗单位并阻止它。但是 AlphaStar 以前从未见过这样的信息,也没有一系列学习过的动作来响应。AlphaStar 没有学过星际争霸。然而,对于需要战略规划的领域来说,这是一个前所未见的解决方案。

AlphaStar Agent Visualization

AlphaStar 获胜意味着,从理论上来说,我们现在拥有在需要长期战略、信息仅部分可用、实时决策是关键的领域使用人工智能的技术。尽管不是人工一般智能,但它是迄今为止人类必须自己解决的最复杂认知问题的一个有前途的解决方案。除了我们仍然必须缩小问题的范围,如果我们想要人工智能成功地解决它。

别忘了阅读 DeepMind 自己关于 AlphaStar 成功的博客

波多黎各总督辞职后说了什么?推特数据分析

原文:https://towardsdatascience.com/what-did-puerto-rico-say-after-its-governor-resigned-a-twitter-data-analysis-a0a3dd727184?source=collection_archive---------25-----------------------

使用 spaCy、Google Cloud 和 NLP 解释包含# RickyRenunció标签的推文。

波多黎各岛和它的人民正在创造历史。7 月 13 日, 波多黎各新闻调查中心 公布了一份由 889 页电报组成的文件,这些电报是总督、里卡多·罗塞尔洛和他的内部工作人员之间相互交换的。其内容包括厌恶女性的内容、同性恋恐惧症、性别歧视、粗俗语言,甚至是对玛丽亚飓风受害者的玩笑。

人民的公关不赞成这样的行为,从其总督,并不想由他来代表。因此,由于泄漏,以及在此之前几天爆发的腐败案件,7 月 15 日,超过 50 万波多黎各人走上旧圣胡安的街头,连续 12 天举行抗议活动,包括 7 月 23 日的全国大罢工,有超过 75 万人参加。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Old San Juan. Picture of me.

但是罢工并没有在圣胡安的街道上结束。数千名不住在岛上的波多黎各人在世界各地举行示威活动,让人们听到他们的声音,并对在旧圣胡安战斗的人表示同情。此外,这些表现也存在于社交网络中。在那里,人们通过评论、讨论和模因表达自己的意见。

经过 12 天的抗议,里卡多·罗塞尔于 7 月 25 日辞职,于 8 月 2 日生效。就像波多黎各和全世界在网上发出声音一样,他们再一次通过社交网络让人们听到他们的声音,并庆祝他们的胜利。

为了更好地了解波多黎各人如何在网上庆祝,我收集了总共 20058 条推文,其中包含标签**# rickyrennució**(西班牙语为“里奇【里卡多的昵称】辞职“”)的生成,并对其进行分析。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

The famous umbrellas of Old San Juan. Most of the protests took place at this location. Picture by me.

在本文中,我将展示我在调查中发现的结果。在其中,我使用了自然语言处理(NLP)人工智能、编程语言 Python 、库 spaCy谷歌云的自然语言 API 来解读推文的内容,更好地理解了波多黎各和世界在罗塞罗辞职后所说的话。有了这些工具,我分析了完整的 tweets 语料库来研究以下概念:

  • 推文中出现最多的名词动词形容词副词
  • 推文中的情绪或作者的态度。

在我开始之前,简短地补充一下:尽管这篇文章是关于使用人工智能和编程来研究上面提到的主题,但我的目标是将我将要介绍的内容传达给普通观众。因此,我将使用用户友好的词汇,并将技术术语保持在最低限度。尽管如此,对于那些想要复制这个实验的人来说,还是会有一些小的代码片段;然而,如果你不感兴趣,请随意忽略它们。此外,在分析数据时,我意识到我正在阅读推文的“简短形式”(这是一个巨大的错误),而不是全文,因此每条推文都被截断为 150 个字符,由于我是实时收集数据的,所以我无法还原这个过程。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Old San Juan. Picture of me.

数据和准备步骤

这条推文的语料库由 20058 条推文组成,是在 7 月 25 日和 26 日期间使用 Python 包 Tweepy 收集的。该数据集包含所有类型的推文,例如,带有图片链接的推文、带有提及的推文和转发推文。因此,我对数据进行了清理和预处理,使其适合我想要研究的不同用例。

为了发现排名靠前的名词、动词、副词和形容词,统称为词性 (POS),我从包含图片的推文中删除了标签、提及、转发提及,例如,“RT @account_name ”和 https 地址。而且,作为 spaCy 数据处理步骤的一部分,算法会忽略停用词,停用词是常用词,比如“ tu (西班牙语为 you )”和“ yo (西班牙语为 I )。”另外,我只使用了引理,就是它,每个单词的规范形式。例如,动词“ hablamos ”、“ habló ”和“ hablando ”是同一个词位的形式,其引理是“ hablar (西班牙语为 talk )”

下面这段代码显示了清理过程。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Old San Juan. Picture by me.

推文中出现的热门名词、动词、形容词和副词

spaCy 最强大的功能之一是词性标注,它为每个文档的术语分配一个预测标签,如名词动词,允许我们为获得的推文赋予一些上下文和意义。为了实现这一点,我使用了所谓的语言模型,通俗地说,它是一个人工智能实体,在接触了一种语言的成千上万个单词后,它已经学会了该语言的特征。

发生在波多黎各的事件成为国际新闻。因此,对此发表评论的人不仅是波多黎各人,也不是说西班牙语的人。因此,收集的许多推文都是英文的,所以我不得不使用两种语言模型——一种是西班牙语和英语一种——来更好地评估内容。

重要提示:西班牙语模型是用取自西班牙语维基百科和新闻文章的单词训练的,不幸的是,当它用于其他体裁时,如社交媒体文本,它的性能会受到影响。尽管如此,我还是通过删除表情符号和搜索结果中指定语言以外的语言来手动修复了一些不一致的地方。所以我相信分析的总体结果不会因为这个原因而受到影响。在本文后面的存储库中,您可以找到完整的和未修改的输出。那个问题解决了,让我们继续分析。

在这一节中,我将通过八种可视化方式(四种西班牙语,四种英语)展示 Twitter 在谈论州长 Ricardo Roselló辞职时使用的十大名词、动词、形容词和副词。

下面是一个代码片段,展示了我如何使用 spaCy 获得 POS 标签(记住:您可以忽略它)。

动词

我想介绍的第一个词类是动词,表示动作的词。首先,我将显示西班牙语动词,其次是英语动词。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Top Spanish verbs

在顶部位置,我们有单词“”aprender**,“这是西班牙语的“学习”这个词主要出现在一条转发的推文中,称在 12 天的抗议中,波多黎各给世界上了一课,每个人都应该学习。类似地,这个词也出现在推特上,人们说他们的国家,例如墨西哥和巴西,应该从波多黎各的事件中吸取教训。在第二个位置上,有一个大写的单词“【RESPETA】”,意思是“尊重”,它来自于一条推特,说波多黎各和整个拉丁美洲都应该得到尊重。(我将大写单词保留为大写,因为我相信与非大写版本相比,它们有另一种含义)。第三个动词是单词"celebrar"(“庆祝”),它出现在一条针对路易斯·丰西(波多黎各歌手,德帕西托·盖伊)的转发推文中,告诉他不值得庆祝,因为他没有出现或承认抗议或运动。于是,就有了“dimi TIR”(辞职)、 放弃者 (也有辞职)、 ”(介绍)、parir() " hacer " ( ), lograr " ( 实现), sentir " ( 感受),ver"(【 现在,让我们来看看英语的对应物。****

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Top English verbs

在第一个位置上,有一个词“”辞职,它出现在人们谈论辞职的推文中,以及如果美国也这样做,川普会如何辞职。然后就是“ ”,暗指出去投票,或者走*出去抗议。紧接着,我们有了“ 抗议 ”,指的是抗议本身。剩下的动词有: 告诉得到撤销抓拍 。*****

既然我们知道了动词,我将继续展示副词,修饰它们的词。

副词

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Top Spanish adverbs

列表中第一个副词是“Despacito”(慢慢的),这也是路易斯·丰西(Luis Fonsi)和《美国佬老爹》(Daddy Yankee)的 2017 年热门歌曲的歌名。Twitter 用户利用这个术语告诉 Luis Fonsi,他应该慢慢地后退或离开,这些推文与我上面介绍的那个相关。紧接在" Despacito “之后的是单词"jáMAS”(never),它主要出现在带有短语"un Pueblo UNIDO jamás serávencido,“的推文中,意思是类似于” united we stand。“然后,还有另一个波多黎各俚语,“ pa’lante ”,意思是“向前,向前,”,这个来自歌手米盖尔·波斯的一条推文,他在其中向人民表示祝贺。其余排名靠前的副词有“Anoche”(昨夜)、“Nuevamente”(再次)、“ACá”(此处)、以及“【原文】abajar

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

最热门的英语副词“ 而不是 ”随处可见,它出现在许多不同的推文中,例如人们感谢艺术家而不是放过他们的推文,关于人们而不是放弃的推文,以及在推文中声明而不是将针对万达·瓦兹奎(指定的继任者)的抗议变成了厌恶女性的抗议。列表中的其他副词是"真正的最后的基本上很快无论如何 ,以及******

名词

除了动词,名词也是句子的基本组成部分。这些必要的词存在的唯一用途是命名事物;就是这样,地点,人,想法,感觉。在这一部分,我将从 tweets 中找出热门名词。然后,我会列出顶级形容词,描述或修饰名词的词。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Top Spanish nouns

列表中的第一个单词,“po blar”(populate)是语言模型中的一个错误。首先,这个词不是名词,而是动词,其次,它没有出现在语料库中。我相信这是因为模型误解了一些单词(可能是一些英文单词),将其规范化为“ poblar ”,并标记为名词。第二点,我们有单词""(世界),你可以在许多推特上找到它,指出波多黎各刚刚给世界上了一课,关于一个国家如何才能取得这样的成就。然后,还有单词" país " ( 国家),它来源于关于人们为他们的国家而自豪的信息,这些信息指出那些为国家而战的人以及其他人说波多黎各再也不会是同一个国家*。其余的名词包括“lección”()、“corazón”()、“ 戈伯纳多”(总督)、“ 出家”(辞职*******

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Top English nouns

最常见的英语名词是单词“ ”人 ,”你会在提到波多黎各人的推文中找到它。因此,在讲述波多黎各人如何在日出现的信息中,出现了“日日日”这一术语,还有人发信息说那是多么美好的日。然后,第三个词是“”,它来自另一个被转发的内容,其中一个用户说波多黎各“已经连续 11 天展示民主”其余的名词有“、“ 显示 、“ 、“、“ 、“ ”(这一个是由于西班牙语中的“T44”一词而引起的语言模式错误)********

为了知道这些名词是如何被修饰的,我还研究了顶级形容词。接下来的两幅图展示了它们。

形容词

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Top Spanish adjectives

根据 spaCy 的说法,语料库中最常见的西班牙语形容词是单词"“(联合),虽然这个术语几乎没有在语料库中出现,但其规范形式,单词” unido " ( 联合)确实出现了多次。你可以在那些提到或谈论一个团结的国家或人民的推文中找到这个词。紧随其后的术语是“ 完成”(完成),来自之前讨论过的包含单词“ mundo ”的推文然后,还有动词“ vencer ”,它出现在顶部是因为形容词“vencido”(打败了)的许多实例,你会在路易斯·丰西的推文中找到这个词,宣布这个岛屿不是打败了;这条推文是许多波多黎各人在过去讨论的推文中反击和攻击他的原因。随后的两个术语“sentir”(to feel)、“Haber”(to have)都是可能的错误,因为它们不是形容词,我在语料库中找不到很多与它们相关的词。剩下的五个分别是“”(【群内】)”普通 ,“impressionte”(impressive),“T67”Bravo“(勇者)和”。”********

最后,我将介绍英语形容词。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Top English adjectives

形容词“ ”——这是我之前在名词部分引用的“民主”推文的一部分——在列表中领先相当大的幅度。然后,还有“”和“ 恐同 ”(第 6 位),这两个词大多一起出现,用来形容总督和他的施政。在第三个地方,你可以看到“”这个词,经常被用来定义抗议活动的和平性质。剩下的形容词还有“历史波多黎各人 ”(大概来源于波多黎各人)、 美丽伟大 。”**********

讨论和解释

我从所讨论的条款中得到的总体感觉和收获是,自豪、民族、团结和对未来的希望弥漫在整个波多黎各人身上。用诸如" 【国家】 ,"," 教训 ," 开头 ," 胜利 "这样的西班牙语,波多黎各人民告诉世界,他们对岛上持续存在的虐待和待遇感到多么厌倦。相反,这些推文也透露了对州长、政客甚至艺术家的愤怒、愤怒和失望。**

波多黎各表现出的这种积极和充满希望的态度超越了该岛的边界,并传播到其他拉丁美洲国家,我们在推特上看到,来自这些地方的人们表示支持,甚至希望在他们的土地上开始类似的示威活动。

至于英文推特,我想说他们更关注事件的新闻,以及生活在美国的人所表现出的支持和同情。此外,经过更仔细的检查,我还发现许多推文包含针对美国及其总统唐纳德·特朗普的信息。这些推文表达了对如果美国人民像波多黎各人那样走上街头会发生什么的怀疑、不确定甚至希望。

情感分析

上一节介绍的 POS 术语让我们了解了推文的文本含义。然而,由于语料库的规模,相对来说很难感知推文背后确切的主要思想的明确印象。尽管如此,有一种方法可以用一个数字来总结和量化推文的一个特征:作者的态度。而用来识别、提取和量化的技术被命名为情感分析,一种人工智能方法。****

为了用一个数字来概括这些推文,我通过情绪分析引擎运行了每一条独特的(非重复的)推文,以量化其内容的“正面或“负面”。我使用的情感模型是由谷歌云的自然语言 API 提供的,我选择它是因为它如何将语料库拆分成句子来计算每个句子的情感。****

下面的代码显示了我是如何计算情感的。

总的来说,谷歌传递了它检测到的 4880 个句子的情感。每个情感输出由两个值组成:分数和幅度前者是一个介于-1 和 1 之间的值,其中-1 表示负面情绪,1 表示正面感受,而 magnitude(我在此不使用)指定文档 内有多少情绪内容。****

下图显示了情感值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Sentiment values. The vertical bar marks the mean value (0.12).

这种可视化被称为直方图,它用来显示数字数据的分布,在这种情况下是情感值。乍一看,这张图片告诉我们,大多数情绪都是中性的。这是正确的。平均情绪值 0.12 (略正)。但是,要讲完整的故事,需要考虑标准差,也就是 0.42 。这种相当显著的标准差表明情绪值非常分散或不相似,这意味着语料库中有所有类型的推文。****

让我们看一些例子,首先,我会展示一些唤起积极情绪的推文,然后是其他暗示消极情绪的推文。

阳性:

  • 好消息!
  • 历史性的!
  • 这非常激励人。
  • 奥古罗萨·德·瑟·博里库阿·❤️🇵🇷”(以身为博里库阿人而自豪【波多黎各人的另一种说法】)
  • 一个 100%谷奥血统的人。 " ( 看看我们能从这个百分百 wow 中学到什么吧。)
  • "我想给其他人一些启发。(我很高兴知道我们已经成为其他国家的榜样)。

底片:

  • 腐败,谎言,可恶的行为… 。
  • Rosselló州长的腐败和他充满仇恨的言辞更是雪上加霜。”
  • "人民厌倦了被欺负… "
  • 操他妈的波多黎各政府,以为他们可以把他们的脏衣服藏在紧闭的门后……
  • 不要去参加婚礼”(我再也不会买你的歌了
  • "RT @[姓名已删除]: Que tipo mierda。”(多么傻逼的人)

总结和结论

在对他和他的政府进行了数周的抗议后,波多黎各总督辞职了。为了庆祝这一重要的历史时刻,波多黎各人民和全世界都在推特上发表意见,分享结果并进行庆祝。因此,我收集了一个包含# RickyRenunció标签的推特语料库,以进行一项实验,其目标是解释和总结推特用户所说的话。

在我调查的第一部分,我使用 NLP 库 spaCy 来发现热门的名词、动词、形容词和副词,以及用户想要通过推文传达的整体思想。在分析调查结果后,我得出结论,大多数推文都谈到了作为波多黎各人的自豪感、团结和希望,同时表现出成就感和幸福感。此外,许多非波多黎各人在推特上表达了他们的同情,并希望在各自国家效仿岛上刚刚发生的事件。

然后,在第二部分,我研究了推文的情绪,发现评论内的普遍情绪或态度略偏正面(平均值 0.12 )。尽管如此,标准差还是相当高(0.42),这意味着推文展示了一系列情绪和感受。

完整的 tweets 语料库和源代码可以在下面的资源库中找到。出于隐私原因,我删除了推文中的所有提及。

****** [## juandes/pr-辞职-推文

此时您不能执行该操作。您已使用另一个标签页或窗口登录。您已在另一个选项卡中注销,或者…

github.com](https://github.com/juandes/pr-resignation-tweets)

如果您有任何问题、意见或希望联系我,请在此留下您的意见,通过 Twitter(下面的链接)联系我,或访问我的网站(我的个人资料上的链接)了解更多信息。

[## 胡安·德迪奥斯·桑托斯

胡安·德迪奥斯·桑托斯的最新推文(@ jdiossantos)。机器学习/数据工程师。还有,口袋妖怪大师,还有…

twitter.com](https://twitter.com/jdiossantos)

感谢阅读。******

我们和 AI 的区别在哪里?

原文:https://towardsdatascience.com/what-distinguishes-us-from-ai-dc98f71de9a3?source=collection_archive---------16-----------------------

人工智能的突破使得我们的智力——甚至我们的创造力——将保持无可匹敌的信念变得更加复杂

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

The Creation of Adam by Michelangelo (c. 1512); modified by the author.

相信我们的独特性是人类自我理解的核心;然而,一次又一次,被认为是我们与众不同的特征被证明是海市蜃楼。

几千年来,人类一直宣称自己优于其他生物。从美索不达米亚到中国,古代文明的神话将人类的起源追溯到神的创造。宗教教义呼应并固化了这种情绪。在《圣经》和《可兰经》中,人类被描绘成神圣地注定要统治所有的造物。即使在佛教中,所有的生物都在无尽的轮回中相连,只有人类才能获得开悟。

科学突破挑战了这种世界观。查尔斯·达尔文的物种起源和基因组的发现让人类只不过是共享进化树上的一个分支。然而,与我们对独特性的渴望相呼应,科学发现了一组全新的特征,使人类恢复到我们想象的卓越状态。在许多被认为是人类独有的属性中,有抽象推理、语言、复杂的社会结构和工具的使用。当然,这些规则也有例外。随着时间的推移,我们观察到一些动物确实使用工具,以复杂的方式交流,并在类似早期人类社区的社会结构中组织起来。然而,毫无疑问,人类的这些能力远远超过了我们的动物同伴。没有其他物种建造过大教堂,利用过蒸汽动力,或者把自己的同类送上月球。

智慧之战

我们的祖先仰望天空,在神圣的起源中寻求确认;多亏了科学,我们不需要再从我们的头骨内部寻找我们的独特性。然而,随着能够模仿我们智力的人工系统的出现,甚至这种想法也开始瓦解。

算法帮助我们搜索信息,回答问题,并以我们当中最聪明的人做梦也想不到的速度进行复杂的计算。从跳棋、国际象棋到围棋和危险游戏,机器已经打败了我们最好的玩家。“就我个人而言,欢迎我们的新电脑霸主,”当 IBM 的超级计算机沃森战胜了他和另一位有血有肉的参赛者时,Jeopardy 冠军肯·詹宁斯在最后的回应中写道。

How Watson won Jeopardy by IBM Research (2013).

詹宁斯的屈从可能为时过早。尽管人工智能取得了显著进步,但拥有智能——更不用说雄心——成为我们霸主的有感知能力的超级计算机的世界仍然是科幻小说中的东西。即使是当今最聪明的机器也往往只能完成一项任务。IBM 的沃森可以回答 Jeopardy 上的几乎任何问题,但它不能,比如说,给出关系建议。甚至有一天会驱动我们汽车的复杂系统,也很有可能只能做到这一点。此外,还有许多任务——例如进行连贯对话的能力——即使是单一用途的人工智能系统也尚未掌握。

然而,鉴于深度学习和人工智能的快速发展,计算机超过我们所有的心智能力似乎只是时间问题。它始于象棋。掌握这种古老的棋盘游戏需要长期以来被认为是人类独有的智力类型:逻辑推理、战略思维和远见。1997 年 5 月 11 日,IBM 超级计算机“深蓝”在 6 局比赛中击败了世界象棋冠军加里·卡斯帕罗夫。这样做,深蓝不仅让玩家感到谦卑,也让我们相信人类思维是不可战胜的。

接下来是围棋比赛。平均每回合有 200 种可能的走法,围棋的复杂性让国际象棋相形见绌,国际象棋平均每回合只有 20 种可能的走法。总的来说,Go 的棋盘配置估计比宇宙中的原子数量还要多。精通围棋需要的推理水平远远超出了野蛮的数字运算——但也没有超出人工游戏思维的能力。2016 年,谷歌的 AlphaGo 击败围棋冠军李·塞多尔(Lee Sedol),震惊世界。尽管“深蓝”和 AlphaGo 是狭隘的单任务人工智能系统的例子,但它们的成功表明,开辟一个人类智力将保持持久优势的利基市场是徒劳的。

在旁观者的眼中

随着人们越来越清楚地认识到,没有什么智力任务是计算机不可能在某一天掌握的,人们很容易从我们创造艺术的能力中寻求安慰。许多人认为,艺术体现了只有人类才能表达的无形品质。“人工智能没有内部世界,它也不需要创造它的欲望或恐惧,”认知神经科学家 Romy Lorenz 在接受 BBC 采访时谈到计算机创造力时说。很难想象一台无法呼吸的机器——无论多么复杂——会创作出像米开朗基罗在西斯廷教堂的壁画那样迷人的杰作。然而,艺术创造力是人类独有的这一信念可能会随着时间的推移被证明是一厢情愿的,就像壁画中描绘的神圣创造的场景一样。

越来越多的证据表明,机器甚至可以将人类艺术品看似无形的方面内在化,这预示着一个独立的人工系统与我们的艺术表达相匹配的未来。一个明显的迹象是机器艺术风格转移的能力。艺术风格是一个特定艺术家或艺术运动的一系列特征。它指的是如何描绘某物,而不是主题是什么。风格是克洛德·莫内的作品(避免线条和轮廓,支持自由笔触)与新古典主义特有的精确、学院派现实主义的区别。“风格转移”指的是以另一种风格呈现一幅图像——例如拿走莫奈的一幅画,使其与新古典主义艺术品的精确美学难以区分。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Left: Impression, Sunriseby Claude Monet (1872). Right: The Intervention of the Sabine Women by Jacques-Louis David (1799).

任何有才华的人类艺术家都能够转换风格。她会研究某个艺术家的标志性风格,然后用这种审美来描绘另一个艺术家作品的主题。然而,这不是我们期望人工系统能轻易完成的事情。不像国际象棋或围棋,没有明确的目标要实现。画布没有棋盘或 19×19 格子的限制。风格转移需要对一位艺术家的风格特征(独立于给定绘画的内容)和另一位艺术家的艺术作品的内容(独立于其风格元素)进行推理。很难想象支撑所有机器智能的冰冷的数学过程能够对作为无形艺术的东西有必要的抽象洞察力。

然而,这正是德国研究人员莱昂·a·加蒂斯(Leon A. Gatys)、亚历山大·s·埃克(Alexander S. Ecker)和马蒂亚斯·贝瑟格(Matthias Bethg)所完成的。在他们 2015 年的论文“艺术风格的神经算法”中,Gatys 和他的同事提出了一种技术,该技术利用深度神经网络将图像的风格表示从其内容中分离出来。为了证明其有效性,他们应用该技术来分离两幅任意图像的内容和风格,然后将它们重新组合成第三幅图像,该图像以第二幅图像的风格呈现第一幅图像的内容。

下图(直接取自 Gatys 等人)以五幅标志性杰作的风格在左上角展示了照片的内容:j . m . w .特纳(1805)的《弥诺陶洛斯的沉船;文森特·梵高(1889)的《星夜》(T7);爱德华·蒙克的《呐喊》(1893);巴勃罗·毕加索(1910)的裸体坐像。);瓦西里·康丁斯基的作品七(1913)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Examples of artistic style transfer presented in Gatys et al.

每一件合成的艺术品都是以相应的绘画风格对照片进行的令人信服的渲染。画布之间的显著风格差异证明了这种技术的普遍性,可以捕捉任何艺术作品的风格表现。实际上,Gatys 和他的同事证明了艺术风格可以被算法内在化,以至于它可以独立于绘画内容而应用。

将这些点连接起来

Gatys 等人的方法论和他们取得的成果一样发人深省。Gatys 和他的同事们没有设计和训练一个特殊用途的人工智能模型来实现他们的目标,而是使用现有物体识别网络的计算副产品。他们观察到,当它训练对项目进行分类时,模型学会了提取构成图像主题的结构元素,将它们与构成图像外观的元素分开。内容和风格的表现可以被分开并独立操作。

Gatys 等人推测,将风格与内容分开的能力不仅是机器图像识别的重要标志,也是生物视觉的重要标志。⁴我们识别物体的能力不受其外表特征的影响。我们的眼睛和大脑可以识别一件物品,而不受光照条件、天气、时间和无数其他因素的影响。借用格特鲁德·斯坦因的名言,玫瑰就是玫瑰,不管是夜晚、白天、夏天还是春天,甚至不管玫瑰是不是画的。在保留对象身份的同时提取风格变化的能力是任何对象识别系统(无论是生物的还是人工的)的一个非常实用的特征。Gatys 和他的同事引用了令人信服的间接证据,证明我们的视觉皮层可能确实执行类似于他们提出的方法的计算。⁵

詹宁斯对电脑霸主的屈从也许会被证明是一种怪异的先见之明。这将是历史上最具讽刺意味的事情之一,机器将摆脱困扰人类数千年的那种存在主义的自我反省:对于是什么让它们与众不同,将不会有任何疑问。科学剥夺了我们对神的创造的幻想;对我们的人工智能统治者来说,我们是创造者。如果不是在起源中,人类可能在毁灭中变得神圣。

参考

关于联邦选举,竞选捐款告诉了我们什么?

原文:https://towardsdatascience.com/what-do-campaign-contributions-tell-us-about-the-federal-election-b4156a21e869?source=collection_archive---------36-----------------------

随着加拿大第 43 届联邦选举即将结束,我们在 ThinkData Works 的工作人员很好奇,从专家那里退一步,分析一些数据,我们能从最近的选举中了解到什么。毕竟,使用政府数据是了解我们政府如何运作的一个很好的方式。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

有几十个开放的数据来源,我们可以用来探索这个问题,但我们想主要使用加拿大选举和加拿大统计局发布的数据。总的来说,我们使用了 8 个数据集来帮助我们发现关于选举的见解:

  • 2004 年 1 月至今对所有政治实体的捐款
  • 加拿大所有选区当选官员汇总表(5 个数据集,每年一个)
  • 2016 年人口普查概况
  • FSA 边界

首先,我们对捐款数据集进行了一些高级分析,该数据集提供了自 2004 年以来每一次活动捐款的详细信息。我们想看看哪个政党在全国和各省收到的捐款最多。铭记加拿大自 2004 年以来的执政党如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

哪个政党获得的个人捐款最多?

我们有捐款数据的最早选举是第 38 届大选。我们有捐款数据的最近一次选举是 2015 年举行的第 42 届大选。从 2004 年到 2015 年,这是每个政党的捐款情况。

除了第 38 届大选之外,在所有大选中,保守党一直从普通公众那里获得最多的捐款,但这在历史上并没有导致他们组成执政党。尽管保守党在第 42 届大选中获得了 50%以上的选票,贾斯廷·特鲁多的自由党还是赢得了多数席位。

捐款的来源和该省如何投票有关系吗?

但是,看看哪一个政党每年收到的捐款最多,这是在给选举画上一个大的句号。为了开始了解政治的区域性质,我们想找出捐款来自该国的哪里,以及捐款总额和该省投票方式之间是否有关系。

虽然政党捐款总额总体下降,但并非所有政党都是如此。2004 年至 2015 年期间,自由党(-$5,740,388)和保守党(-$2,313,050)受独立捐款下降的影响最大。相比之下,NDP(67,795 美元)、独立党(12,329 美元)和绿党(70,413 美元)等政党同期的捐款略有增加。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在此必须指出,更深入的分析表明,个人对政党的捐款与每个政党在议会中占有的席位数之间没有关联。加拿大最大的两个政党多年来收到的独立捐款越来越少,而较小的政党却越来越受欢迎,这无疑是一个有趣的趋势!

谁是最大的贡献者,他们在哪里?

我们在 ThinkData Works 做得非常好的一件事是结合不同的开放数据源来揭示见解。所以我们决定把选举数据和人口普查数据结合起来,看看我们是否能更好地了解捐款的来源。

我们问自己的第一个问题是,哪个省总体上做出了最大的贡献,我们是否能够遍历不同的数据集,以了解对政治候选人做出最大贡献的地区的更多信息。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

到目前为止,安大略省对选举候选人的贡献最大。鉴于捐款金额的重要性,让我们看看是否可以了解更多关于做出这些捐款的地区的信息。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在上面的地图中,较暗的区域表示对政党的捐款较多,而较亮的区域表示对政党的捐款较少。最黑暗的区域出现在安大略省南部。对我们的数据集进行一些快速查询后发现,在整个选举期间做出最大贡献的五个邮政编码区域中,有四个位于多伦多(邮政编码以 M4 和 M5 开头),一个邮政编码区域位于爱德华王子岛。

在向多伦多政党捐款最多的前四个地区中,大部分捐款都捐给了加拿大保守党。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用由加拿大选举委员会(Elections Canada)提供的捐款数据集,邮政编码区域和加拿大 2016 年人口普查提供的信息,我们能够了解到,过去为政党捐款的个人通常比加拿大人的平均年龄稍大,收入明显更高,并往往获得更高的学位。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

虽然拥有更多可支配收入的人更有能力做出贡献,这可能是常识,但人口普查数据有助于我们更深入地了解这个国家的意识形态面貌。

哪位获奖者收到的捐款最多?

接下来,让我们把注意力转移到了解哪些选举候选人获得了最多的贡献。

根据加拿大选举委员会提供的捐款数据集,我们汇总了捐款总额(货币和非货币),并按选举候选人对总额进行了分组。以下是在第 38 届和第 42 届大选期间获得最多捐款的候选人。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们再一次看到,保守党主宰了这张图表。但在这些选举年中,贡献最大的候选人是邹至蕙,他是 2006-2014 年三一-斯帕迪纳市的 NDP 议员。

在第 41 届和第 42 届大选期间,对政党的捐款发生了怎样的变化?

我们要看的最后一件事是第 41 届和第 42 届大选之间的捐款额变化。这次选举很有意思,原因有很多,尤其是加拿大在两次选举之间经历了从保守派占多数的政府向自由派占多数的政府的转变。鉴于这种波动,我们想调查从第 41 届选举到第 42 届选举,哪些地区的捐款变化最大。下面的条形图显示了对政党捐赠金额增加和减少最多的邮政编码地区。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

从这张图表中,我们可以看到,在第 41 次和第 42 次大选之间,保守党失去了大量以捐款形式提供的支持,而自由党则出现了显著增长。自由党看到来自安大略地区的捐款激增;特别是米尔顿(L9T),布兰普顿(L6P),大萨德伯里(P3E)。而保守党在布兰普顿(L6R)、莱斯布里奇(T1K)、卡尔加里(T3H、T3J)和奥克维尔(L6T)的支持率有所上升。

在损失的形式上,保守派失去了来自基洛纳(V1W)、布兰特福德(N3T)、爱德华王子岛(C0A)、沃恩(L4K)、巴里(L4M)、伍德布里奇(L4L、埃德蒙斯顿(E3V)、多伦多(M4N)和瓦尔-多尔(J9P)的捐款形式的支持。

跟着钱走

竞选和政治献金显然不一定是衡量哪个政党将领导我们国家的基准,但它们是我们民主不可否认的特征。通过分析这些丰富的数据,并将其与我们从加拿大人口普查中获得的社会经济和人口信号相结合,我们不仅可以更清楚地了解加拿大人的政治倾向,还可以了解他们的捐款情况。与任何地方的信息一样,诀窍在于找到正确的数据并提出正确的问题。

有兴趣问美国一些问题吗?想开始使用我们在这篇文章中使用的数据吗?请联系我们,我们希望收到您的来信。

原载于https://blog.thinkdataworks.com

与全球销量相比,评论家和游戏玩家对视频游戏有什么看法

原文:https://towardsdatascience.com/what-do-critics-and-gamers-say-about-video-games-compared-to-global-sales-bdf7a395e064?source=collection_archive---------13-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

视频游戏的高销量是否意味着用户和评论家的评分更高

每年都会有从体育到冒险等多种类型的电子游戏发布。在这些游戏发布之前,粉丝们开始考虑游戏的画面会是什么样子,或者故事情节会是什么样子。

视频游戏发布了。游戏玩家去最近的游戏商店购买视频游戏。评论家发表文章提供他们对视频游戏的看法。在玩过电子游戏并对其进行批评后,每个人对它是糟糕还是表现良好都有一个大致的一致意见。

今年晚些时候,视频游戏的销售额会公之于众。对于一些游戏来说,这是有意义的,因为它们的质量无可挑剔。对其他人来说,这并不是因为他们很糟糕。因此,已经进行了一项分析,以找出评论家和游戏玩家的评级对视频游戏销售的影响有多大。

数据集

用于获取视频游戏销售信息的数据集是从这里获得的。该数据集有多个特征,但它被缩减为六个重要特征:名称、评论家评分、用户评分、全球销量、流派和年份。

然后,删除具有无效输入(如 NaN)的行,并使用下面的代码重新排列数据集:

df_game = df_game.dropna()
df_game.reset_index(inplace = **True**)
df_game.drop("index", axis = 1, inplace = **True**)

运行上面的代码后,数据集现在有 142 行和 6 列。下面是数据集前五行的快照:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

The first five rows of the newly formed dataset.

评论家分数是满分 10 分,用户分数是满分 10 分,全球销售额是以百万计的,年份表示它发行的年份,而类型栏是视频游戏的类型。

探索性分析

对新形成的数据集进行研究,以了解数据集中不同的列是如何相互作用的。探索性分析的活动之一是相关系数表。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

A correlation coefficient table showing the correlation coefficients between all the columns

该表告诉我们,在评论家得分和用户得分之间存在适度的正相关关系。评论家得分和全球销售额之间也存在这种关系。它显示了用户分数和全球销售额之间微弱的正相关关系。

然后,绘制了两个条形图来显示电子游戏的全球销售额如何随着类型和年份而变化。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

A bar graph showing the video games’ global sales vs genre

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

A bar graph showing the global sales of video games over the years

根据这两个图表,射击游戏销量最大,约为 1 亿,2008 年是全球销量最大的一年,约为 6000 万。

评论家得分与用户得分

另一个目的是找出评论家是否同意游戏玩家对视频游戏的评价。因此,创建了一个散点图来显示评论家分数和用户分数如何相互关联。然后,计算 p 值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

A scatter plot of critic score vs user score

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

The mathematical calculation for the p-value.

查看回归线,两个变量之间如预期的那样存在适度的正关系。上图中的 p 值在 0.05 以下。因此,这两个变量之间存在显著差异。

数据集聚类

数据集被聚类以查看组中不同的行是如何根据其特征的数值进行分类的。因此,K-means 聚类是一种无监督的机器学习算法,用于使这一过程更容易。

数据集的行可以分成定义数量的组。游戏数据集被分成三组。将数据集分组后,每一行都被赋予一个数字 0、1 或 2。

然后,一个名为 group 的新列被添加到带有数字 0、1 和 2 的数据集中。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

The first twenty of rows of the clustered dataset

结果呢

构建了一个三维散点图来清晰地描绘用户评分、评论家评分和全球销售额之间的关系。下面是三维图像的示意图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

A 3-d scatter plot of the clustered dataset.

这三组的数据点被染成紫色、黄色和绿色。聚类数据集中标记为 0 的组被染成紫色,而标记为 1 和 2 的组分别被染成绿色和黄色。

就全球销售额而言,黄色数据点的大部分数据最高。绿色第二高。紫色的最高。

由于无法从图表中直接看到数字差异,因此创建了一个表格来显示它们的平均差异。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

根据表格,黄色组的平均得分最高,为 9.07 分。绿色以平均 8.57 分位居第二,紫色以 7.11 分位居第三。

然而,当涉及到用户评分时,结果却大相径庭,绿色团队的平均评分为 9.09。黄队和紫队分别得了 8.81 分和 7.73 分。可以准确地说,视频游戏的销量越高,平均来说影评人的分数就越高,但平均来说用户的分数并不越高。

用于构建这个聚类模型的完整版本代码可以在这里看到。

数据科学家是做什么的?

原文:https://towardsdatascience.com/what-do-data-scientists-do-13526f678129?source=collection_archive---------10-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by rawpixel.com from Pexels

试图阐明一个模糊的领域和职业

我最近完成了一个数据科学训练营,并开始在一家金融科技初创公司担任数据科学家。很明显,我很高兴又能找到有收入的工作了。

但是自从我开始工作以来,我注意到了一件事,那就是很多人,包括我爸爸(嗨,爸爸!)问我,“什么是数据科学,你具体做什么?”

通常,我会让他们看看我的博客,但是我意识到我以前从来没有写过这个。我写了大量关于特定数据科学和机器学习概念的文章,但我从未亲自定义这个职业和行业对我意味着什么。所以让我们现在就纠正这一点。

什么是数据科学?

首先声明,我绝不是数据科学专家。虽然我有相当多的统计和定量研究经验,但我认为自己在数据科学领域还是个新手。但这是一个自由的国家,所以我仍然可以给我的 2 美分!

让我们从世界认为数据科学是什么开始:

  • 利用人工智能预测未来。
  • 建立一个令人敬畏的机器学习模型,它可以接收大量看似毫无价值的数据,并产生价值连城的见解。
  • 让汽车自动驾驶。
  • 自动生成书籍、绘画或电子音乐

虽然其中许多都有一定的真实性(伴随着大量的夸张和一点讽刺),但数据科学并不总是那么迷人。通常情况下,我们的工作是帮助人们更好地经营他们的企业。我将数据科学定义为:

使用量化数据产生商业见解,以帮助您的公司赚更多的钱。

我知道你在想什么——托尼真是个资本家。但最终,大多数数据科学家(以及其他定量分析师)受雇从事的工作是寻求销售更多的小工具或增加客户参与度或减少用户流失。即使是很酷的研究项目,归根结底也是为了提高他们所属的公司或大学的知名度和品牌(思想领导力这个词如今被抛得太多了)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by rawpixel.com from Pexels

帮助这个人赚更多的本杰明

因此,根据你对资本主义社会的看法,你可能会也可能不会乐于听到数据科学家都在推动增长或优化底线(利润)。

我的意思是,除非你是一名教师或消防员或社会工作者,那么你的角色很可能就是帮助你的老板赚更多的本杰明。我认为,优秀的数据科学家平均来说比其他工作职能更能影响他们工作的公司。让我解释一下为什么(也解释一下数据科学家是做什么的)。

那个“啊哈”时刻

你是否曾经在 Excel 电子表格中,将你的目标变量(你试图解释或预测的东西)与你能得到的每一个特征进行散点图绘制?就在你对找到与你的目标相关的东西失去希望的时候,你看到了类似下面的关系并大喊,“啊哈!”

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Strong correlations are the nectar that every data scientist needs in order to survive

这是两个变量之间强有力的正相关关系(相关性)的一个例子(应用立方根变换使它们线性)——散点图显示,你在电影上花的越多(就电影预算和营销而言),就越有可能在票房上赚到大钱。当然,给你的摄制组全权委托,让他们想花多少就花多少是愚蠢的(注意,目标变量是收入,而不是利润);但在看到这个之后,我们知道,除非我们凭借独立病毒式的成功赢得大奖,否则总的趋势是:

要么做大,要么回家!

在数据中找到这些类型的关系是任何定量分析师的目标,包括数据科学家。那么,为什么我说数据科学家可能有更大的影响力呢?

如果我们针对我们的目标逐个手动绘制每个特性,或者运行简单的线性回归,那么遍历一个庞大的特性集将会花费很长时间。如果我们气馁并放弃,我们可能永远也到不了那个“啊哈”时刻。

数据科学家利用自动化和通用算法梳理尽可能多的数据,寻找有趣的统计关系——这增加了击中“啊哈”时刻的概率。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by rawpixel.com from Pexels

非结构化数据

数据科学家的另一个优势是对隐藏在非结构化数据中的信号的欣赏(如 Reddit 评论、推文、图像或博客帖子)以及从所有伴随的噪音中分离出这些信号的能力

想想看,潜在有用的数据无处不在。如果仅仅局限于我们公司决定存储在其数据库中的内容,那将是一种耻辱。

因此,数据科学的很大一部分是寻找“人迹罕至”类型的特征,为您提供分析优势。这些可以是多年来辛苦收集的专有数据集(想想脸书、谷歌、亚马逊、腾讯和网飞)。它还可能以一种前所未有的方式使用现有数据(例如霍林格的球员效率评级,现在是每个定量篮球分析师工具包的一部分,完全是根据现成的得分数据计算出来的)。

数据科学家在寻求区分数据时常用的一些方法包括:

  • 网页抓取。
  • 将多个数据集拼接在一起,形成一个自定义的、功能更强大的功能集。
  • 降维 ( PCA ,话题建模等。)将所有非结构化数据转换成可用的格式。
  • 上 Kaggle(开个玩笑)。

关于算法和模型

请注意,到目前为止,我们几乎没有提到任何关于机器学习算法或统计模型的内容。虽然了解算法(如神经网络或 XGBoost)的工作方式及其优势和局限性很重要,但构建和运行模型只会占用数据科学家很小一部分时间

更多的时间花在定义问题和方法、收集数据和清理数据上(将会有大量这样的工作)。是的,有博士科学家从事最新和最前沿的研究,但不幸的是,我们不可能都是吴恩达。我们其余的人继续受雇于他和其他人的研究,并为他们找到有用的、有价值的应用。

所以如果你问我——对算法了如指掌和对公司的行业和产品了如指掌,哪个更重要,我会说是后者。

通常情况下,最好的算法和第二好的算法之间的性能差异并不大。因此,如果我们在 XGBoost 会产生更好的结果时选择逻辑回归,这是可以的。

但是如果我们不知道如何问正确的问题,结果浪费了大量的时间和资源试图解决不存在的问题,那就不好了(我们可能会被解雇)。因此,了解算法,但真正了解业务。

结论

我希望你喜欢我对数据科学家工作的漫谈。我真的很高兴能成为这个令人兴奋的领域的一部分。如果你有任何关于作为一名数据科学家工作的想法想要分享,请留下评论。干杯!

更多数据科学与分析相关帖子由我:

数据科学家挣多少钱?

数据科学家面临自动化的风险吗

拿到了数据科学的工作?

了解 PCA

了解随机森林

理解神经网络

数据科学家做什么

原文:https://towardsdatascience.com/what-do-data-scientists-do-e0dd2fbd6b96?source=collection_archive---------19-----------------------

数据科学中有许多角色:数据分析师、数据工程师、机器学习工程师。它们有什么不同?

数据科学家曾经是一名科学研究人员,他结合统计方法和软件开发专业知识来创建、分析和解释数据。但现在你可以成为一家公司的数据科学家,处理数据,试图理解现实世界商业数据的实际含义。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

什么是数据科学?

数据科学是计算机科学中关注数据的一个领域。数据科学家将统计分析和计算机程序等方法结合起来。数据科学家在日常工作中使用一套非常特殊的技能。数据科学家最基本的工作就是创建数据,然后用软件分析数据。

数据科学工作有几种主要类型:

数据科学家

数据科学中最著名的职位。数据科学家是一个非常专业化的工作。数据科学家用于数据分析和建模,用于理解复杂的数据世界。数据科学家有多种角色可供选择。数据科学家的职位范围从软件工程师到必须编写机器学习算法。他们更倾向于数据科学的理论范畴。

数据分析师

数据分析师是一个职位名称,用于分析大量数据以帮助公司做出商业决策。数据分析师使用 SQL 等工具在大量数据中寻找模式,以帮助他们回答复杂的业务问题。数据分析师的工作要求能够理解数据并与数据沟通,这样他们才能理解数据对他们的业务有何影响。它们介于数据科学的实践和理论方面。

数据工程师

数据工程师通常在业务或业务应用中工作,负责开发系统,如数据库,帮助人们理解数据。

一些数据工程师是具有科学或工程背景的工程师。这意味着他们可能没有计算机科学学位,但确实拥有技术知识——例如数学或物理学位。当涉及到数据时,它们是最实用的。

机器学习工程师

使用数据处理软件的计算机工程师和软件开发人员非常了解数据科学的不同方法和途径。它们专门面向构建可投入实际使用的机器学习问题。

这至少是这些角色背后的理论。实际上,根据你申请的公司,你会在就业市场上发现它们相互混杂。这就是为什么阅读这份工作的要求,或者在面试中询问这些要求是至关重要的,因为你可能最终会进入一个你没有申请过的职位。

数据科学家是做什么的?

在普通的一天中,数据科学家将查看任何大小的原始数据集,了解它能做什么并理解它,使用算法分析数据以建立假设,并使用统计、机器学习和数据挖掘等分析工具测试和验证假设。

在理想情况下,数据科学家应该能够理解和分析数据,帮助企业解决复杂的问题,并找到解决问题的最佳方法。

总而言之,数据科学家是一个令人兴奋的角色,因为它提供了成长和创新的机会。这项工作包括分析数据,并让用户可以访问数据,这样他们就可以对数据做出正确的决定。它包括理解数据格式、确保数据安全和隐私,以及向客户提供高质量的解决方案。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Data Science Job

最后,如果你想了解成为一名数据科学家意味着什么,那么看看我的书数据科学工作:如何成为一名数据科学家,它将指导你完成这个过程。

如果你想了解更多关于成为数据科学家的信息,请阅读我的其他文章:

谢谢!

缺失的价值观背后隐藏着什么

原文:https://towardsdatascience.com/what-do-missing-values-hide-behind-them-40b5406f7495?source=collection_archive---------23-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Toronto Downtown. Free edition of an image at ISO Republic under CC0 license

当然,我会一直说我很幸运登陆了安大略省的环境开放数据门户,因为我在那里找到了一个非常有价值的关于多伦多及其周边地区的空气质量的信息来源,有完整的可下载信息,以 csv 文件的形式免费提供。当然,很好的练习数据。但是当我第一次以电子表格的形式打开这个门户网站的 csv 文件来看一看这些信息时,我意识到了这些奇怪的值:9999 和-999 什么…?如文件头中所述,这些分别是无效数据和缺失数据。好了,是时候面对数据分析的真相了,没有完美的数据集!

缺失值的问题是每个数据分析师必须面对的最常见的问题之一,也是无效数据的问题。通常,丢失的值只是 csv 文件中分隔符之间的空格,而一旦导入数据,就必须“手动”检测无效值,大多数情况下是异常值。我再次感到处理这些数据集很幸运,因为这些异常值已经被编码,显然,我不应该注意它们。

不管我们怎么想,丢失的值可能是一个有价值的信息来源,问题只是要注意它们何时出现,并观察模式以揭示它们隐藏了什么。让我们再次考虑 2012 年多伦多市区空气质量分析。对于所研究的三种污染物,改变异常值代码之前的原始数据如下图所示。由于三种污染物的水平值范围在 0 到 100 之间,所以很容易在图中看到异常值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

从这些情节中我们能看出什么?

  • NO2 和 PM25 具有相同的缺失值
  • PM25 有 78 个无效值周期。他们中的大多数只采取了一个连续措施,是 9 个连续无效措施中最长的一个。
  • 另一方面,NO2 只有 4 个无效测量时段,然而其中一个时段(8 月)有 61 个连续无效测量。
  • 4 个 NO2 缺失值时段中有 3 个与 PM25 的缺失值时段同时开始。
  • 关于 O3 的异常值,鉴于其规律性,我们可以看到如此怪异的行为。连续无效值之间的差值始终为 183。两个第一次观测值之间的间隔,在图中似乎更大,是 266 刚好是双精度!
  • 连续缺失值之差始终为 366。两组缺失值之间的间隔是 1526,这是一个不能被 366 整除的数,所以这次我们在某些方面失去了规律性。

在这一点上,数据分析师的好奇心应该会出现,提出许多问题来阐明这些见解,并从中获得有价值的知识。

但所有这些缺失值都不适合处理,因为事实上它们是不适合数据分析这样精确的科学的未知信息。一旦我们理解了它们,我们需要对它们执行一些操作,以便能够最好地分析这些数据并获得最准确的结果。要采取的行动将取决于它们的用途和意义,考虑到这个过程可能会影响随后的结果。

可以使用许多策略来转换缺失值:将所有值都置为 0,将它们设置为数据集中该属性的所有值的平均值或中值,或者只是最接近的值;使用机器学习算法来预测它们的值;诸如此类。您甚至可以考虑更激进的解决方案来克服缺失值,只需删除包含它们的行,但是这种策略不适合时间序列分析,因为所有的值都应该被告知。通常情况下,删除丢失的值并不是最好的主意,因为这样做最终可能会丢弃有用的信息,所以请记住,无论您的策略是什么,您都应该小心谨慎,考虑所有选项,并了解每个选项将如何影响您的数据以及结果。

数据集中缺失的值是不可取的,但是它们可以为我们提供有价值的信息。在理解了它们的性质和存在的原因之后,我们需要对它们采取一些行动,以便正确地执行所需的分析。

如何看待人工智能

原文:https://towardsdatascience.com/what-do-you-know-about-artificial-intelligence-cd91cd3946dd?source=collection_archive---------31-----------------------

人工智能是否已经到了让你失业的边缘?你应该担心吗?或者你应该立即解散整个企业吗?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在是 2020 年。你和你最好的朋友带着笔记本电脑坐在你家的餐桌旁。你最近经常坐在那里,为一家正在合作的初创公司调整软件。一分钟前,你们都在欢呼,但有些事情改变了气氛。你低头看着笔记本电脑的键盘,慢慢地移动手指来修饰几分钟前你疯狂按下的键。你们都在问自己——我们能做到吗?成千上万的人可能会失业。我们想对跨国家和大洲的大规模失业负责吗?

这听起来可能像科幻小说中的场景。但未来几十年,许多采用人工智能(AI)的企业家将面临这种困境和许多其他道德困境。

“工厂的自动化已经大量减少了传统制造业的工作岗位,人工智能的兴起可能会将这种工作岗位的破坏延伸到中产阶级,只剩下最有爱心、最有创造力或最具监管力的角色。”(斯蒂芬·霍金)

什么是人工智能?

首先,人工暗示它不是自然的;它是人造的。智能意味着它能解决复杂的问题。在这方面,做一些区分是有帮助的。

狭义 AI 是人类迄今为止实现的唯一一种人工智能形式。从本质上来说,狭义人工智能擅长执行一个预先定义的任务,并设定一个目标。例如下棋、提出结账购买建议、在语言之间进行翻译或者建议在脸书上的特定照片中标记哪个朋友。因此,狭义人工智能在执行日常工作方面表现出色,这也是威胁当今许多工作的原因。自然,几个狭窄的人工智能可以结合起来,朝着一个共同的目标努力,例如,在人口稠密的城市中自动驾驶汽车导航。

通用 AI 是人类级别的人工智能。它能理解,推理,做决定。然而,尽管人工智能在过去的几年里取得了很大的进步,我们仍然不知道我们什么时候能够实现通用的人工智能,如果可能的话。也许我们没有足够的智慧去创造它。该领域的杰出科学家对我们何时能够实现人工智能的预测,从十年后到本世纪内都有。然而,每个人都同意,此后会发生什么很难预测。未来的发展可能会像我们以前从未见过的那样迅速。可能会很恐怖。人类将不再是地球上的思想领袖。

第一台超智能机器是人类需要制造的最后一项发明,只要这台机器足够温顺,能告诉我们如何控制它(尼克·博斯特罗姆,牛津大学人类未来研究所创始人)

今天,机器学习和深度学习风靡一时,但这些与人工智能有什么关系?从根本上说,机器学习是人工智能的子集,深度学习是机器学习的子集。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

人工智能可以解决复杂问题,模仿人类行为。这包括基于多个模型和规则的编排做出复杂的决策。把人工智能看成一个综合的概念。

机器学习是人工智能的一个子集,与计算统计和数学优化密切相关

通过机器学习,数据科学家正在让计算机在没有明确编程的情况下采取行动。计算机装载了大量的数据。然后,应用各种技术,如线性回归或决策树,来开发最佳算法,以预测、回答或指导某个问题。换句话说,系统已经学会根据过去的例子预测未来。然而,这需要数据科学家与系统进行交互,并提供关于寻找什么的见解。

深度学习是使用多层神经网络的机器学习的子集

多层神经网络的灵感大致来自于我们对人脑的理解。深度学习模型能够在更大程度上学习专注于正确的功能,几乎不需要程序员的指导。这使得深度学习在识别物体、声音和理解书面语言的上下文方面非常有效。举个例子,人脸识别现在已经到了机器和人类一样有能力或者比人类更有能力的地步。

结局是什么?

想象你和你的朋友回到了餐桌旁。然而这一次,桌子上没有了电脑,年份也不再是 2020 年。相反,还有第三个参与者,詹姆斯·瓦特。1781 年,你刚刚发明了第一台产生连续旋转运动的蒸汽机。在接下来的 100 年里,它将变得强大 1000 倍,并成为引发工业革命的重要因素,导致各国和各大洲大规模失业。

你想为此负责吗?我想你会的。试图阻碍技术进步就像试图用耙子把水推上山。每个人都需要适应;另一种选择是被抛在后面。

此外,历史告诉我们,人类能够一次又一次地重新创造自己在社会中的角色。200 年前,农业雇佣了 90%的美国人口,今天这个数字不到 2%。此外,在 1930 年,伟大的英国经济学家约翰·梅纳德·凯恩斯写了一篇乐观的后大萧条时期的文章,名为《我们子孙后代的经济可能性》。然而,在这篇文章中,凯恩斯担心会出现“技术失业……因为我们发现节约劳动力的方法的速度超过了我们发现劳动力新用途的速度。—您可能已经注意到,这种情况并没有发生,相反,我们比以往任何时候都更加努力。

希望就像应用机器学习的系统可以使用过去的例子来预测未来一样,我们可以回顾过去,并确信我们会找到新的方式来度过我们的时间,因为旧的工作由于自动化而变得过时。否则,我们将迫切需要一种新的经济模式。因为,如果劳动和价值完全脱节,资本主义将会让我们大失所望。

最终,尽管计算能力和数据存储发展迅速,但人工智能颠覆行业和世界仍需要时间。一些人认为人工智能是人类的末日,另一些人认为这是解决人类今天面临的一些最重大挑战的唯一方法。双方可能都是对的。只有时间能证明一切。

“任何可以产生比人类更聪明的智能的东西——以人工智能、脑机接口或基于神经科学的人类智能增强的形式——都毫无疑问地成为最能改变世界的东西。其他的甚至都不在一个联盟里。”(机器智能研究所联合创始人埃利泽·尤德科夫斯基)

成为一名优秀的数据科学家需要什么?

原文:https://towardsdatascience.com/what-do-you-need-to-be-a-data-scientist-fc864f42841c?source=collection_archive---------20-----------------------

商业合作:环境是王道

每天早上,我都会收到关于刚刚发布的新工作规范的提醒。他们都在谈论机器学习和统计,能够用 Python,R,SQL,Spark 等语言编码,等等。现在大约 25%的玻璃门广告甚至说你需要一个博士或硕士学位。

具备良好的机器学习基础和编码能力,以便能够从数据中梳理出信息,这是先决条件。但是硕士还是博士?如果我看看我的经历,以及和我一起工作的成功人士,我会完全不同意那些教育要求。那么你真正需要的是什么?

灵活性和改变认知的能力。

首先,也是最重要的,你需要能够与企业沟通,了解他们的问题。你需要能够以一种对他们有意义的方式来构建它,并给你一个明确的目标。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

original image Credit: TheWeek

第二,你需要能够深入细节,并运用你对不同问题的不同方法的知识。

  • 我是在为 EDA 做聚类,还是直接预测,还是需要解释行为?
  • 我如何为控制测试设计一个合适的测试组?
  • 我如何为这个问题创建一个 ETL?
  • 在这里设置机器学习可能会面临哪些挑战?

在这样做的同时,你需要着眼于大局。我想解决什么?如果你不这样做,那么你很容易陷入一个细节层次,这会让你的交付慢如蜗牛,让你的团队成员和利益相关者沮丧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Credit: LSAGlobal

这里有帮助的实际上是定期与你的利益相关者会面。提交更新会推动你朝着总体目标前进,但随着你在问题上的进展,会在稍微更详细的层次上。这也有助于将你看到的东西联系起来。你的利益相关者每天都生活和呼吸着这个业务。他们会知道你发现的是标准还是洞察力。你的利益相关者可能会质疑你,告诉你这是胡说八道。有时候他们是对的,有时候你需要坚持自己的立场,让他们相信这是回答他们问你的问题的方法。这并不容易,但它会帮助你引导和关注接下来的步骤。但是要到达这里,你需要

  • 缩小细节,
  • 以一种他们能理解的水平展示他们的见解,
  • 然后听听他们怎么说,这样你就可以测试和/或实现它。

在这个简短的示例中,您可以看到一个高效的数据科学家是如何从高层次开始,深入细节,再回到高层次,然后再回到细节的。

当然,数据科学家需要具备询问数据的编码技能,以及选择正确方法的统计技能,但对我来说,这是与利益相关者的业务合作和互动,是需要的第三个支柱。我不认为这里需要博士或硕士学位。

现在有大量的数据可供我们使用,随着HBR 引用的跟随我们,有大量的人成为数据科学家。然而,并不完全是技术元素。我听过同事说“我不需要理解数据,算法会替我做的。”对我来说,这是完全错误的态度。这导致过度拟合和模型结果不佳——伪相关性或关联过程作为预测因素。这不仅仅是理论上的,我已经看到了它的发生,它会给企业带来糟糕的结果。不信,看下面…**

语境的力量

下面是两个模型的结果。两者都有稀少的发生率(左边 7.8%,右边 5%)。我将结果缩放为每 1000 个客户,并显示了模型结果的缩减,为了公平比较,召回率为 16%。由于召回率较低,我的目标客户是这里的顶级客户,因此需要高精度。

对于左边的模型,我与企业进行了交流,了解了客户交互并构建了适当的变量。右边是 Kaggle 数据集,我无权访问该业务,也不在我的领域内。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

左边模型的结果可以让我很确定地锁定最有可能的客户。从样本来看,右手边仍然比机会好 2 倍以上,但是成功的可能性比左手边低得多。

更具体地说,如果这两种情况都是客户流失的情况,并且我提供折扣来减少客户流失,右边的模型将意味着仍然为 88%不需要折扣的客户提供折扣,而左边的客户只有 36%。

我已经看到许多硕士或博士数据科学家进来,不想参与业务,这并不令我惊讶。他们在一个非常特定的领域投入了大量的时间独自工作,他们希望在他们感到舒适的地方工作。不幸的是,这通常不是与利益相关者交谈。

为什么我如此有灵感写这篇关于这个主题的文章?因为我担心在数据科学上已经有了很大的投入,当然这是有预期回报的。如果这个机会被浪费了,我担心它会导致分析的失败,因为信任被烧掉了。George Roumeliotis 在他的 Cargo Cult 数据科学文章中精彩地描述了这一点。

你需要的核心技能可以在网上学习,也可以通过实践磨练。然而,软技能同样重要,可以通过与企业的互动来学习,使你能够将数据联系起来,并能够讲述你正在工作的故事。

对我来说,发展的下一步必须是数据业务合作伙伴的增长。

你怎么想呢?请在评论中让我知道…

在雇佣数据科学家之前,你需要做什么?

原文:https://towardsdatascience.com/what-do-you-need-to-do-before-hiring-a-data-scientist-e7d5f53dd19c?source=collection_archive---------24-----------------------

雇佣优秀的数据科学家很难,留住他们更难。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Data can exist in any form

人工智能带来了指数级增长的前景,并将您的业务推向新的高度。难怪围绕人工智能(AI)的应用有很多令人兴奋的事情。

许多公司都急于聘请他们的第一位数据科学家,或者立即建立一个数据科学团队。他们的热情是可以理解的,因为他们希望利用数据进行创新,而不是被市场淘汰。然而,这些早期的失误和错误开始给公司造成了巨大的机会成本,数据科学家在短短几年内就离开了这些公司。

以下是一些建议,供您在投资于贵公司的数据科学职能部门之前进行准备:

1.清楚地了解你为什么要雇佣一名数据科学家

您可以从识别您希望他们解决的业务问题和机会开始。您不一定需要大量的数据,但是您肯定需要一些与已识别的业务问题相关的数据。例如,一个包含几十万行、数据属性正确、覆盖大部分人口分布的电子表格可能就足够了。

如果从一个主要的业务问题开始被认为风险太大,你可以从列出简单的用例开始,比如:

  • 客户服务中心基于语音的欺诈检测和减少。
  • 电子商务网站的产品推荐。
  • 预测 B2B SaaS 公司的客户流失。

让数据科学家看看我们拥有的数据,让他们产生商业价值是一个糟糕的策略。

或者,如果你想在冒险建立自己的团队之前先试水,你可以聘请独立顾问或与服务提供商合作。(免责声明:我是数据科学咨询公司的一员。)

2.了解数据科学概况,知道你想雇佣什么样的人

像任何其他职业一样,数据科学家来自各种背景(营销人员、设计师、产品经理等。).一些人擅长构建机器学习模型,而另一些人则擅长分析和可视化。一些人只从事计算机视觉,而另一些人只从事自然语言处理(NLP)。有些人是多面手,有些人是专家。

雇佣与你的问题领域相关的数据科学家。

你不需要聘请一个博士或者使用 Kaggle 作为你评估一个人的主要手段。有好的没有博士学位的数据科学家,从来没有参加过 Kaggle 的比赛。

当你雇佣没有商业经验的博士时,你会偏向于学术风格的方法,而不是商业思维。

相关学科的博士学位和参与像 Kaggle 这样的社区活动是一件好事,但这不应该成为强制性的招聘标准。也就是说,他们绝对必须知道他们的领域发生了什么。

除了少数与企业合作的机构,学术界没有解决商业问题的背景。一个没有商业经验的学术人员可能最终会花费大量的金钱来解开数据中的异常,而你所需要的只是一个快速的原型来进入下一个阶段。

你的第一个雇员应该具备足够广泛的数据科学领域知识和一些商业知识。

你可能首先需要一名“数据工程师”,他擅长软件工程、数据存储、提取和管理,而不是像数据科学家那样擅长数学和统计。

3.定义你希望他们做什么

数据科学家在利用和促进学术研究的同时,被应用其专业知识来解决复杂问题所驱动。

专注于公司而不是问题和用例的职位描述,或者不提供或提供一般信息的职位描述不会吸引太多的注意。例如,不要谈论你那可能吸引 MBA 的价值数十亿美元的保险公司,你应该谈论一些用例,比如汽车损坏的自动检测,提高打击虚假索赔的准确性等。来吸引数据科学家。

寻找一个对数据科学无所不知的人,就相当于寻找一只精通商业、技术、数学、建模、编程和统计的独角兽。

你应该考虑整体技能,而不仅仅是硬技术技能。他们需要作为你团队的一部分,填补你团队目前缺少的技能空白。

4.建立有利于数据科学家的数据驱动型文化

向内看,评估你的公司文化是对数据科学家有利还是不利,这一点至关重要。一些危险信号包括没有任何对数据科学有基本了解的技术或业务人员,或者没有任何数据和技术支持。

如果公司没有处理数据的经验,不能做出基于数据的决策,数据科学家将很难将他们的工作转化为业务和客户价值。

您还需要制定出支持数据科学家或团队的总体预算。拥有巨额风投资金的人工智能初创公司可能不必担心这一点。对于企业来说,考虑到您想要解决的数据和问题的规模,这些成本可能高达数十万,这可能会使您的良好努力陷入停滞。开源软件和数据科学工具降低了部分成本。

那些在人工智能工作中失败的公司(其中很多都失败了),最终会将糟糕的技能归咎于数据科学家,而事实上,可能是他们未能提供正确的支持、环境、预算和团队。

5.决定他们在你的组织中的位置和方式

您需要一位来自产品、技术或业务职能部门的内部领导者来指导、支持和领导数据科学计划。

数据科学团队应包含一项职能,以建立节奏、责任和来自业务其余部分的持续反馈循环。

集中还是分散团队这个不可避免的问题迟早会出现。有许多因素,如您当前的流程、组织模式、数据成熟度和团队规模,会影响选择一种方法的决定。

对于一个规模化的人工智能创业公司,你可能会发现一个团队中有许多数据科学家。对于像谷歌和脸书这样的技术巨头,你可能会发现每个产品团队都有一名数据科学家负责数据密集型产品。对于企业,您可能会发现一个所有其他团队都可以访问的集中式数据科学团队。对于敏捷组织,你可能会发现一个专注于 AI/ML 产品的数据科学团队。

无论您决定采用哪种模型,在构建数据科学功能时都要保持尝试和发展的灵活性。

6.有一个支持或专门的产品经理

鉴于一部分博士研究是在孤立状态下完成的,一些商业领袖认为数据科学家在孤立状态下完成了他们的大部分工作(想象一个科学家被锁在房间里在黑板上涂鸦)。这与事实相去甚远。数据科学家需要一个由工程师、业务利益相关者、项目经理和其他团队成员组成的团队来交付项目。

您应该为数据科学家正在解决的业务问题/机会指派一名专门的产品经理或支持产品经理。产品经理可以处理无数的任务,如需求收集、客户洞察、数据分析、运营模式、法律指导、交付产品、集中资源以及将产品投入生产。数据科学家应该参与许多这样的活动,但是如果没有支持,你不会从他们的努力中获得太多的价值。

很少有过去与产品经理和 Scrum 大师共事过的数据科学家看好这个想法,他们说:

产品经理想要在不增加任何价值的情况下获得大量的荣誉。

这种说法对某些人可能是对的,但不是所有人。大多数产品经理以前从未交付过数据科学项目。随着数据科学产品管理领域和艺术的发展,他们正在学习和解决问题。

产品经理可以在整个业务中建立一致性和期望值,在清除障碍方面非常有价值。

结论是,产品经理和数据科学家之间必须有明确的角色定位,以及每个成员为这种合作关系带来的好处。

以上每一点,本身都可以是一篇长文。围绕成本、流程、技能、团队、运营模式等等,有太多问题需要解决。

请在评论中告诉我你的想法,如果你想知道更多具体的事情。

感谢Jakub Langr审阅草稿并提供意见。

你想在 NumPy 文档中看到什么?

原文:https://towardsdatascience.com/what-do-you-want-to-see-in-the-numpy-docs-de73efb80375?source=collection_archive---------21-----------------------

NumPy 和 SciPy 与谷歌文档季的幕后

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by Chevanon Photography from Pexels

在经历了许多焦虑之后,我欣喜若狂地发现我被 NumPy 选中参加Google Docs 季!!!!!

GIF via GIPHY

Docs季开始了!!!

谷歌文档季?

谷歌做了一件惊人的事情,创造了文档季。它为技术作者与开源组织合作创造了真正的机会。

“博士季节”是一个为期三个月的辅导项目。它将技术作者与开源组织配对。作家有机会与知名和备受推崇的组织合作。开源组织(他们通常没有技术作者的预算)有机会与有经验的技术作者一起改进和扩展他们现有的文档。

这太不可思议了。

Docs 季的目标是为技术作者和开源项目提供一个框架,让他们共同努力实现改进开源项目文档的共同目标。对于不熟悉开放源码的技术作者来说,该计划提供了一个为开放源码项目做贡献的机会。对于已经在开源领域工作的技术作者来说,该程序提供了一种潜在的新的合作方式。Docs 季也给开源项目一个机会,让更多的技术写作社区参与进来。

在这个项目中,技术作者花了几个月的时间与开源社区密切合作。他们将他们的技术写作专业知识带到项目的文档中,同时了解开源项目和新技术。

开源项目与技术作者一起改进项目的文档和过程。他们可能会一起选择构建一个新的文档集,或者重新设计现有的文档,或者改进并记录开源社区的贡献过程和入职体验。

我们一起提高公众对开源文档、技术写作以及我们如何合作以造福全球开源社区的意识。
谷歌文档季简介

这是双赢!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by It’s me, Marrie from Pexels

什么是 NumPy?

在最基本的层面上, NumPy 是数值,或者说是数值( Num ) Python ( Py )。

来自官方文件:

“NumPy 是 Python 中科学计算的基础包。它是一个 Python 库,提供了一个多维数组对象、各种派生对象(如掩码数组和矩阵)以及一系列用于数组快速操作的例程,包括数学、逻辑、形状操作、排序、选择、I/O、离散傅立叶变换、基本线性代数、基本统计操作、随机模拟等等。”

这是一个非常重要的开源 Python 库。它是 Python 中科学计算的核心库。它在数据科学、机器学习、深度学习、人工智能、计算机视觉、科学、工程等领域都很有用。它增加了对大型多维数组和矩阵的支持,以及可以对数组进行操作的大量高级数学函数。

NumPy(数字)的祖先最初是由吉姆·胡古宁创造的。到 2000 年,人们对为科学和技术计算创造一个完整的环境越来越感兴趣。2001 年,Travis Oliphant、Eric Jones 和 Pearu Peterson 合并了他们编写的代码,并将结果包称为 SciPy。2005 年,特拉维斯·奥列芬特创建了 NumPy。他通过将 Numarray 的特性整合到 Numeric 中并做了大量的修改来做到这一点。2005 年初,他希望围绕一个单一的阵列包来统一社区。因此,他在 2006 年发布了 NumPy 1.0。这个项目是科学计划的一部分。为了避免安装大的 SciPy 包只是为了获得一个数组对象,这个新的包被分离出来并被称为 NumPy。

什么是 SciPy?

是科学(SciPython(Py)SciPy 是一个免费的开源 Python 库。它用于科学计算和技术计算。它包含了用于优化线性代数积分插值特殊函数FFT信号图像处理ODE 解算器等科学与工程中常见任务的模块。SciPy 使用 NumPy 数组作为基本的数据结构。它有科学编程中各种常用任务的模块。这些任务包括积分(微积分)、常微分方程求解和信号处理。

SciPy 构建在 NumPy 数组对象上。这是 NumPy 堆栈的一部分。该堆栈包括像 MatplotlibPandasSymPy 这样的工具,以及一组不断扩展的科学计算库。它的用户来自科学、工程等所有领域。Python 拥有最大的科学用户群体之一,如果不是最大的话。类似的社区还有 R,Julia,Matlab。

还跟我在一起?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by Passerina from Pexels

该过程

谷歌在 2019 年 3 月宣布了 Docs 季。4 月,开源组织有机会申请成为该计划的一部分。谷歌于 4 月 30 日公布了入选组织。技术作者可以查看 45 个组织的列表,并选择他们感兴趣的项目。他们最多可以提交三份项目建议书。从 5 月 29 日至 6 月 28 日,技术写作申请开放!申请截止日期过后,每个组织选择他们有兴趣指导的技术写作项目。

8 月 6 日,谷歌公布了被接受的写作项目!

该计划收到了来自近 450 名技术作家的 700 多份技术写作项目建议书。每个组织能够为一个被批准的项目选择一个技术作者。然而,NumPy/SciPy 团队决定更进一步,在《Docs》季之外,为另外三名作者争取资金。该团队如此坚信推进他们的文档,以至于他们找到了额外的资金。这使得他们在与《Docs》一季相同的条件下,增加了三名作家。

经费从哪里来?

NumPy 收到了两笔赠款,这是一种一揽子交易(你可以在这里这里了解它们)。摩尔和斯隆基金会向伯克利数据科学研究所(BIDS)拨款 130 万美元,支持 NumPy 的开发。资助期从 2018 年 4 月到 2020 年 10 月。NumPy 指导委员会成员 Stéfan van der Walt 同意从这笔赠款中提供资金。)

Ralf Gommers 是 NumPy 和 SciPy 的核心程序员之一,也是 Quansight 实验室的负责人。拉尔夫是一个不可思议的人,他对《医生的季节》有这样的评价:

“当我第一次看到 Docs 季的公告时,我喜欢这个计划的想法——对我个人来说,与一位科技作家合作将是一种有趣的新体验,对 NumPy 和 SciPy 来说可能有很大的好处。所以我花了很多精力写了一个非常吸引人的想法页面,然后跟进那些表现出兴趣的作者。我大概接到了 10 个视频电话,以及更多的电子邮件。

然后,事实证明,兴趣很大,申请人和提案的质量真的很高。我开始思考如何不仅让一个或两个为期 3 个月的项目运行,而且如何让这些作家参与进来,让他们享受足够的体验,以便在项目结束后留下来。我想到的一件事是,人们喜欢和志同道合的人一起工作。然而,我们还没有技术人员——给 NumPy 和 SciPy 各增加一个可能还不够。所以我决定开始建立一个文档团队。想法和人都在那里,所以接下来需要的是资金。

NumPy 有一笔很大的活动资金,所以我和 Stéfan 讨论了将这笔资金用于 Docs 项目额外一季的可能性。斯蒂芬很棒,他也看到了提议的项目和建立一个作家团队的价值。所以他同意为此预留一些资金。所以我们今天来了——兴奋地开始吧!"

编剧是谁?

为 NumPy/SciPy 文档项目选择的作者是惊人的,你需要知道他们是谁!

玛雅·格沃兹兹

SciPy 在 Docs 季节选择的官方技术作家是 Maja Gwozdz。她的项目提案叫做“面向用户的文档和彻底的重构”你可以在这里阅读所有相关内容,但本质上,Maja 打算对现有文档进行重构,以便不同需求的用户可以轻松访问。

玛雅做了一些惊人的研究,你可以在这里找到。她不仅对 SciPy 有丰富的经验,而且她很清楚优秀的文档和指南会带来多大的不同。

安妮·邦纳

你真诚的(耶!)是 NumPy 的官方选择,项目提案是“让‘基础’更基础一点:改进 NumPy 的入门部分。”因为没有什么比帮助初学者理解复杂的信息和技术更让我高兴的了,NumPy 是一个完美的挑战!

我很高兴能够深入研究介绍性的 NumPy 材料,为没有经验的人创造更容易理解的东西。NumPy 处于这样一个有趣的位置:它非常复杂,但对于对数据感兴趣的初学者来说,它也是最重要的库之一。我将在 NumPy 中创建基本概念的初级文档,这些文档可以作为想使用NumPy,而不一定要学习它的人的垫脚石。

**更新 * *

初学者指南正在进行中,我希望得到您的反馈!看看这里的中等形式,让我知道你的想法!

[## NumPy 初学者终极指南

开始使用 NumPy 需要知道的一切

towardsdatascience.com](/the-ultimate-beginners-guide-to-numpy-f5a2f99aef54)

谢哈尔·拉贾克

Shekhar Rajak 被选为“Numpy.org 重新设计和高级文档重组的最终用户焦点”他的项目目标包括:

  • 为 www.numpy.org设计和开发更好的 UI
  • 增强和修改www.numpy.org的内容:NumPy 用户指南、NumPy 基准测试、F2Py 指南、NumPy 开发者指南、构建和扩展文档、NumPy 参考、关于 NumPy、报告 bug 以及所有其他与开发相关的页面。
  • 增加了关于何时使用 NumPy,何时使用 XND,Dask 数组 Python 库的内容,提供了类似的 API。
  • 保存 Python API 文档。

布兰登·大卫

Brandon David 因其项目“改进 scipy.stats 的文档”而入选。Brandon 计划填充缺失的函数,并添加示例和内部链接。他的目标是消除歧义,解决 GitHub 上的问题。

克里斯蒂娜·李

克里斯蒂娜·李因她的提案“科学文档:设计、可用性和内容”而被选中她是最近加入的,我期待着很快与你分享她的作品!

Harivallabha Rangarajan

Harivallabha Rangarajan 计划以任何可能的方式为文档做出贡献,并补充为文档季选择的作者的工作。他对为 scipy.stats 模块编写端到端教程特别感兴趣。他写道,“拥有更全面的教程将有助于用户更好地了解可用方法在管道中的使用方式和位置。”

欢迎来到博士季!!!

参与 NumPy 和 SciPy 的内部工作是令人难以置信的。到目前为止,我们一直在参加团队会议,了解核心成员,学习工作流程。我迫不及待地想让你们了解我们项目的进展。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by Pineapple Supply Co. from Pexels

参与进来!

既然您已经了解了写作方面的主要参与者,那么不要害怕联系我们,让我们知道您是否想在官方文档中看到相关信息!谁知道呢,我们也许能给你你想看的东西。

如果你对加入开源组织的想法感兴趣,那就去那里开始分享吧!不要等待邀请。现在就开始投稿吧!每个人都有责任让科技世界变得更加精彩。

如果您有兴趣为开源组织做贡献,但不知道如何开始使用 GitHub,您可能想看看这篇文章:

[## Git 和 GitHub 入门:完全初学者指南

Git 和 GitHub 基础知识,供好奇和完全困惑的人使用(加上最简单的方法来为您的第一次公开…

towardsdatascience.com](/getting-started-with-git-and-github-6fcd0f2d4ac6)

感谢阅读!和往常一样,如果你对这些信息做了什么很酷的事情,请在下面的评论中让所有人都知道,或者联系 LinkedIn @annebonnerdata

微调后的 BERT 模型关注什么?

原文:https://towardsdatascience.com/what-does-a-fine-tuned-bert-model-look-at-2eb39b6868dd?source=collection_archive---------11-----------------------

试图理解通过微调 BERT 模型学习的特征和模式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by Katarzyna Pe on Unsplash

注:此内容是我在 2019 年 Analytics vid hya data hack 峰会上的讲话的一部分。

最近有很多关于 NLP 的讨论,特别是在迁移学习技术的进步和像 transformers 这样的架构出现之后。作为一个来自机器学习应用领域的人,我觉得不仅在许多基准测试中拥有可以超越最先进结果的模型很重要,拥有可信任、可理解而不是完全黑盒子的模型也很重要。

这篇文章试图理解 BERT 在特定任务训练中的学习。让我们从注意力是如何在一个转换器中实现的,以及如何利用它来理解这个模型开始(如果你已经知道了,请随意跳过这一部分)。

立正!立正!

变压器使用自我关注在每一层对其输入序列的表示进行编码。有了自我注意,输入序列中的所有单词都有助于当前标记的表示(编码)。

让我们来看看这个来自贾勒马的博客的例子(我强烈推荐阅读他的博客来更深入地了解变形金刚)。这里你可以看到单词“思考”(Z1)的表示是由句子中其他单词(在本例中是“机器”)的贡献形成的。每个单词对当前单词的贡献强度由注意力分数(Softmax 分数)决定。它类似于每个单词给出其自身的一部分,以形成当前单词的完整表示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Source: http://jalammar.github.io/illustrated-transformer/

强度可以被推断为句子中的单词与当前单词的语义关联。例如,单词“它”在下面变形金刚中的注意力层的可视化中,具有来自单词“动物”的更高的贡献。这可以被推断为单词“它”的共指解析。这种行为为变形金刚提供了上下文表示/编码。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Inferring association between tokens using attention. source: http://jalammar.github.io/illustrated-transformer/

这些贡献强度(注意力分数)可以用来理解标记之间的关联,从而也可以用来理解变形金刚的学习。这正是我们在这篇文章中要尝试的。我们将尝试理解由转换器学习的特定于任务的特性。

特定于任务的功能:

报纸——伯特在看什么?今年早些时候发表的 (Clark et al .,2019)讨论了通过 BERT 模型自学的各种语言和共指模式。说明了语法敏感行为是如何从自我监督训练中产生的。这让我很好奇,并想在对一项任务进行微调后,尝试对伯特学习的特定任务特征进行类似的研究。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Example of Aspect based sentiment analysis — Source: https://medium.com/seek-blog/your-guide-to-sentiment-analysis-344d43d225a7

手头的任务:

我们将在这里使用的微调任务是一个基于方面的情感分析任务,设计为一个问题回答/多类分类问题。这种方法受到了论文 T5 的启发(孙等,2019)。通过这种将情感数据集转换为问答对的方法(如下所示),作者能够在 SEMEVAL 数据集上获得最先进的结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Aspect-based sentiment analysis as QA — https://arxiv.org/pdf/1903.09588v1.pdf

我使用 huggingface 的 transformers 库在 SEMEVAL 2014 数据集上微调了一个基于 BERT-base 的无案例模型,并使用 bertviz 可视化了注意力地图。

特定任务的学习:

在这里,我列出了一些有趣的模式,这些模式是我通过探索经过微调的 BERT 模型的注意层而观察到的,

  1. 方面头—方面词理解 :

我注意到,标题 9-8 主要关注评论中与方面相关的词,这些词对应于问题中的方面(下图中的词“服务”从词“服务员”获得了非常高的关注度)。在大多数情况下,所讨论的体词(左侧)在评论中具有来自体词(右侧)的更高贡献。所以这可以被认为是一个方面头。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

。体貌-情感中心词-体貌词及相关情感词理解:**

在这里,我们可以看到标题 9-0 的例子主要集中在与问题相关的方面词及其相应的情感词上。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3。短语级关注方面和情绪:

我还观察到,有些人在评论中关注的是谈论问题相关方面的完整短语。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4。⑩对反面:

令人惊讶的是,第 10-3 题主要关注的是另一个方面以及问题中没有的相关词汇。这里我们可以看到,当所讨论的方面是“服务”时,head 关注与“食物”相关的词,反之亦然。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

**5。审查中感兴趣方面的缺失—无操作:T3

当评审中没有提到某个方面时。头部关注[SEP] token。作为指示特征缺失(No-Op)的方式,被指定提取缺失特征的头部集中在[SEP]标记上。这个观察结果与论文的发现一致——伯特看什么?(克拉克等,2019)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进一步的步骤:

  1. 尽管我们到目前为止所看到的头部在大多数情况下都注意到了特定的特征,但也有头部没有注意到那些预期特征的例子。因此,对每个头部及其处理假设特征的能力进行更正式的研究(通过测量单个头部的准确性,类似于 Clark 等人,2019 年)将非常有趣。

代码:

  1. 特定任务的学习—https://colab . research . Google . com/drive/1 P4 HW HSO-bv 5 VW 8 pkdsqperet 507 kglr 3
  2. 语言学和句法学习—复制 Clark 等人的结果 2019—https://colab . research . Google . com/drive/1z5W-jgtybffbiwzbio 73 z 0 oiwtefzjyo
  3. 我在 https://github.com/infinitylogesh/Interpretable-NLP-Talk DHS 2019 的演讲幻灯片—

参考文献:

  1. 凯文·克拉克,乌尔瓦希·汉德尔瓦尔,奥默·利维和克里斯托弗·d·曼宁,伯特在看什么?伯特注意力分析 (2019)。
  2. 图示变压器
  3. 拥抱脸的变形金刚
  4. 伯特维兹。

2025 年首席数据科学家是什么样子的?

原文:https://towardsdatascience.com/what-does-a-principal-data-scientist-look-like-in-2025-545a571ec89f?source=collection_archive---------16-----------------------

在数据科学领域,这的确是一个激动人心的时刻!尤其是机器学习的魔力。为什么它如此令人兴奋,以至于吸引了数百万高智商、受过良好训练的未来专业人士。因此,我认为我们应该反思数据科学的未来。以下是我的预测…

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在是 2025 年,大公司中最令人垂涎的职业之一是首席数据科学家(PDS)。从标题上应该很清楚,这是一个精英角色。2025 年,一些创新公司甚至开始使用“高级数据经理”的头衔来吸引合适的候选人。

PDS 肩负着利用其在人工智能领域的优势来解决科技公司面临的最困难的人工智能问题的使命。例如,社交媒体公司仍在寻找完美的自主内容调节技术。只有 PDS 能帮助他们。

PDS 因其高级培训而特别适合解决此类问题。例如,推进评论调节技术发展的 PDS 每个人都完成了数字人类学沟通和 ML 应用的博士学位。

在他们的培训中,他们每个人都接受了为期五天的面对面讲座,内容涉及复杂的主题,如模因质量,以及某个评论是否被视为仇恨,或者是否只是讽刺。此外,在他们训练营的第二周,他们每个人都要完成一个独立的 ML 研究项目,并写一篇三段的论文。最后一天,班里的每个人都可以进行论文答辩,并拿到博士证书。

2019 年,我们可能会很难看到一个人如何在一周内完成这样一个先进的 ML 项目,尽管之前没有任何经验。ML 不还是硬的吗?嗯,当然,还是很难!这就是我们需要 PDS 的原因。他们肯定是 ML 领域的专家。他们每个人都读过谷歌云平台(GCP)提供的 80 页的机器学习即服务(MLaaS)手册。(不要被这本长书吓倒,这只是一本绘本。或者,有人可能会说,一个幻灯片甲板。)

因此,每个 PDS 都掌握了这项技术,因此知道如何点击 ML 向导—总是接受默认设置—最后,点击大的“运行机器学习!!!"按钮。(是的,谷歌添加感叹号是为了回应铺天盖地的客户反馈。)

但他们在 ML 方面的专业知识不足以解决如此具有挑战性的人工智能问题。因为每个 PDS 都知道,ML 应用于准备不充分的数据是没有用的。因此,PDS 也需要在他们的问题领域有深厚的专业知识,以便适当地准备他们的数据。他们的专业研究生课程相应地训练他们。

此外,PDS 是利用数据显微镜的专家。这些都是高级技术,允许他们的高技术用户探索数据结构和注释数据元素。例如,擅长评论审核的 PDS 知道如何通过点击其数据显微镜中的适当选项卡来发现标记的评论。然后,他们运用自己的专业判断,用正确的标签标注个人评论。大约一周后,他们已经准备了足够的数据(平均每天 2000 条评论),开始应用最先进的 ML 方法。2025 年,在 GCP 上运行 MLaaS 平均需要 4 分钟,费用为 7.21 美元。

一个刚毕业的 PDS 博士可能认为这个项目到此为止了。但是任何老手都知道,没有一个 ML 解决方案在第一次尝试时是完美的。相反,现实世界的数据科学是一个迭代循环,我们通过用户反馈不断改进方法。人们可能会称之为“有机强化学习”,平台用户通过竞争 ML 预测的标签,让 PDS 知道人工智能方法目前在哪里失败了。

为了提高 ML 性能,一些初级 PDS 可能会尝试使用 GCP 的 MLaaS 设置——认为他们可以比 Google 做得更好——但他们很快发现这是徒劳的。因为我们的上帝,谷歌,在 ML 领域是无所不能的。相反,问题总是准备数据不足。回到显微镜前!

记住,不要点击“运行机器学习!!!"每周扣一次以上;这花了我们很多钱。

正如你所想象的,到 2025 年,项目总监将是薪酬丰厚的专业人士。他们平均每小时 18 美元,顶级承包商每小时可以赚 32 美元以上。这些顶级专业人士的主要特点是他们在识别儿童色情制品等令人灵魂出窍的领域的情感坚韧。因此,赚大钱。像他们之前的牙医一样,这些专业人士表现出统计学意义上的更高的抑郁率。可惜他们不懂统计学。

请关注第二部分,在那里我们将考虑 2025 年如何协调大型 PDS 团队合作解决大规模人工智能问题。剧透:协调和管理 PDS 是一项如此糟糕的工作,只有计算机愿意去做。

关于机器学习作为一种服务对数据科学领域的影响的更严肃的论述,请参见“ ”我们作为数据科学家迈向更高抽象层次的激动人心的旅程 。”

“生产化”数据科学意味着什么?

原文:https://towardsdatascience.com/what-does-it-mean-to-productionize-data-science-82e2e78f044c?source=collection_archive---------11-----------------------

DS 生产化

如果我们把令人敬畏的技术投入到一个草率的系统中,技术不会做任何事情,只会让我们在失败时看起来很性感。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Fonthill Castle. It’s a neat place. You should visit.

这是关于数据科学生产的五部分系列的第一部分。当这些帖子可用时,我会用链接更新下面的列表:

  1. 数据科学的“生产化”意味着什么?
  2. 便携性
  3. 维护
  4. 刻度
  5. 信任

很容易找到企业从数据中获取价值的例子。也很容易找到可以用来利用数据的所有技术工具的例子。这些技术工具通常是人们在谈论数据科学时想到的,但我发现工具的重要性不如它们的部署方式。这些技术是一个更大的业务流程系统的一部分,所有这些都将产生业务成果。将数据科学集成到业务中可能意味着您只需输出报告,然后有人决定如何根据发现采取行动,也可能意味着更多。

这篇文章讲的更多,这通常被称为“生产化”“生产中”意味着它是从企业到客户的管道的一部分。在制造业中,如果某样东西正在生产,如果它存在于生产过程中的某个地方,就会导致实际的商品被放入商店,消费者可以购买并带回家。在数据科学中,如果某样东西在生产中,它就在将信息放在消费它的地方的路上。

好的设计不会凭空出现

我曾经和一个开发者一起工作,他说,“如果你在生产中使用它,它就被定义为生产化了。”从某种意义上来说,这的确是真的——从这种意义上来说,所有的数据科学都是产品化的,只要是以你交给老板的幻灯片的形式。我不认为这是思考这个问题的一个特别有用的方法。

生产化的核心是一个设计目标,但它通常被视为一系列的实现任务。让我来说明我的意思。这篇文章顶部的图片是宾夕法尼亚州多伊尔斯敦的丰希尔城堡。丰希尔城堡是由一位名叫亨利·默瑟的考古学家建造的,他花了大半辈子的时间来复兴一种几近消亡的摩拉维亚陶器风格。默瑟用有机材料建造了这座城堡,主要是为了展示他的瓷砖。当他决定需要一扇新窗户、一个楼梯或一个房间时,他就开始搭建,通常事先没有什么计划。下图显示了如何解决这一问题的示例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

A bedroom in Fonthill Castle.

他想要一间卧室。将这个房间改造成卧室的第一个障碍是,走廊实际上是从墙的中间进入房间的。解决方案?建一个楼梯。但是房间不是很大,也就是说楼梯真的又陡又窄。没问题:在楼梯旁边砌一堵墙,这样人就不会掉下来。但是卧室需要一个壁橱,没有空间既放壁橱又放床。同样,没问题——用壁橱盖住窗户的一半。从最宽泛的定义来看,结果就是一间卧室。

许多数据科学产品化——我甚至可以说是大部分——是 Fonthill Castle 的代码等价物。那些系统使用了好的技术,遵循了代码级别的许多最佳实践,并且是许多有能力的人努力工作的结果……充其量它们是笨拙的。在最坏的情况下,它们是业务的持续痛苦和费用来源。从技术上来说,Fonthill Castle 的那间卧室拥有卧室的所有组成部分——入口、床、壁橱等等——但人们通常更喜欢住在不难住的卧室里,而且当它们的结构方式使利用数据的过程不会限制数据必须提供的价值时,业务通常会更高效、更有利可图。系统整体设计得越好,任何一个组件的价值就越大。

这里有一个例子。我花了六个月的时间来制作这个图表:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

I’ve replaced all the labels with generic terms.

当然,图表本身只花了几个小时。这张图代表的一切花了六个月。这是一个完全重新设计的系统,用于模拟 IP 地址的归属位置,以便将这些位置输入到实时投标过程中。这个系统确保如果一个客户想锁定密尔沃基的消费者,他们不会为洛杉矶的消费者付费。这是一项核心业务职能,支持我的雇主的核心价值主张之一。

图表中的小方框和线条代表了与利益相关者进行长时间对话、与多个工程团队协调、生产另外两个流程(其输出需要支持该额外流程)以及开发五个独立算法的结果。所有这些成就都是独立的,没有我来描绘它们是如何组合在一起的。然而,使用这个图表,我们的工程团队能够非常快速地编写部署整个过程的代码。

更重要的是,当新的需求在最初的实现结束后出现时,我们的工程师能够相对容易地将它们合并到更大的系统中,因为他们有一个地图,显示了新需求可以或需要插入的所有位置。上面的图表实际上并不代表我们公司现有的流程,因为将该图表投入生产帮助我们认识到了我们需要解决的许多其他约束。但是基础设计使这些限制更容易解决,并帮助我们避免了许多笨拙的解决方法。

生产化包括对系统的前期投资,这些系统使我们选择使用的任何数据流程的部署、维护和采用变得平稳。生产所必需的设计工作几乎总是会延长产品上市的时间,正因为如此,它常常被忽视。但是延迟发射比失误发射不那么令人沮丧和昂贵。花时间好好设计系统是值得的。

飞机对出租车(或线对圈)

这就提出了一个问题,对于设计良好的数据科学能力来说,这意味着什么。分析产品的一个常见心理模型是我称之为航空公司的类比。航空航班是离散的事件:你通过指定你想去的某些地方和你想在去那里的路上拥有的某些东西来包机,然后你必须实际上在飞机上飞行,然后在下飞机后你可以回头来决定飞行如何进行。

在我看来,航线模型是一个不太理想的设计选择。这使得人们很容易将太多的注意力投入到数据科学的飞行中部分的自动化上,结果是企业最终手动完成了太多的飞行前和飞行后工作。例如,飞行前的工作主要是询问客户他们想要完成什么,以及如何优先考虑各种因素。数据科学家构建数据产品,将这些人工决策转化为机器学习算法等自动化工具可以理解的东西。同样,算法完成任务后,输出通常是报告或演示文稿或仪表板,发送给利益相关者,表面上是为了通知业务决策,可能是为了激励未来的分析工作。当我们将数据科学项目视为一次飞行时,很容易从[人类]->[计算机]->[人类]的角度考虑问题,从而错过许多自动化机会。

在我看来,只要我们将数据工作视为一系列飞行,我们就已经把钱留在桌子上了。除了当我们依赖大量手动决策时引入的人为错误之外,对飞行中工作自动化的关注限制了我们的优化能力。例如,如果我们不太擅长瞄准预期的结果,比如说,客户保留或销售,这可能是因为我们的预测算法没有发挥出应有的作用,但也可能意味着我们的分析范围是错误的,或者我们没有利用分析本身产生的数据。完全优化的数据功能是一种持续监控性能并从初始设置标准动态迭代向前的功能。

换句话说,我们需要我们的数据工作表现得更像出租车,而不像飞机。在这两种情况下,我们都必须决定目的地,但我们应该能够在中途修改目的地,或者增加意想不到的中途停留,或者在途中搭载新乘客,或者因为获得新信息而选择与原计划完全不同的路线。后续行程应自动从之前行程的目的地开始。

完全生产化的数据科学是一个圆,而不是一条线。

如果我们这样做,那么我们就只有两项任务——操作和校准——而不是指定、执行和评估分析,两项任务互为补充。测量的目的不应该是写出一份报告,而是在分析仍在进行时调整分析的初始参数(该报告可能是校准工作的副作用)。初始参数应被视为需要修改的先验知识,而不是需要满足的要求。这就是多臂土匪算法背后的直觉。

数据科学生产化将人类移出了循环,但这并不意味着人类不发挥关键作用。如果我们专注于自动化数据周期的每个部分,我们实际上为人类创造了更多与数据进行有意义交互的机会,并减少了我们的自动化导致意外和不良后果的机会。当人类可以花更少的时间来实现自动化时,他们可以花更多的时间来监控和评论它。

在数据科学的飞机模型下,我们必须寻找独特的机会将数据系统与业务联系起来。数据系统的目标、要求、约束和其他输入类似于目的地地图、航班时刻表和机场的座位、航站楼和登机口的可用性,以及允许某人预订航班的其他信息,而数据系统本身就是实际的飞机编队。如果我们能让我们的系统在进行过程中反复自我评估和重新配置,那么我们就不需要找出联系:数据系统就是业务

重申一下:把数据科学工作想成【业务需求】–>【算法】–>【结果】是完全正常合理的。最好把它想成【业务需求】–>【算法】–>【修正需求】–>【修正算法】–>【修正需求】,以此类推。主要的设计挑战不是选择最合适的算法或构造该算法最有效的实现。这是为了确保分析解决方案的自动、连续修订。这是为了确保主动发现原始解决方案错过的机会。

制度比工具更重要

不是每个使用数据科学工具的人都会发现这种自动化的持续改进是可取的,甚至是可能的。没关系。并不是所有的数据科学都需要产品化。但是,完全生产化提高了模型性能,降低了维护成本,降低了风险(包括财务和道德风险),而且,也许最重要的是,将好的分析结果被忽略或浪费的可能性降到了最低。

投资数据科学的决策通常以目标的形式进行阐述,作为一家企业,有些事情是您想要完成的,而数据科学被视为实现这些结果的一种方式。但是,如果我们只是把非常棒的技术投入到一个低效或适得其反的系统中,技术只会让我们在失败时看起来更性感。成功的主要决定因素是我们用来使数据成为我们业务一部分的系统的设计。这就是生产化。

巴塞罗那的公寓如何才能成为“幸存者”?

原文:https://towardsdatascience.com/what-does-it-take-for-an-apartment-in-barcelona-to-be-a-survivor-10e0ad337672?source=collection_archive---------29-----------------------

使用生存分析发现影响西班牙巴塞罗那一个受欢迎的短期租赁平台上的两居室公寓寿命的因素。

有人说巴塞罗那的房地产市场存在泡沫。这包括商业和住宅物业。

住宅物业市场有两个主要部分,迎合不同的观众。这些是短期租赁(一个晚上到 11 个月)和长期租赁(一年以上)。

Airbnb 是最知名的短租平台之一。几乎每个和我交谈过的城市居民都有关于 Airbnb 上市公寓的看法和/或故事。鉴于关于这个平台和上面列出的公寓有这么多说法,一个更具分析性的调查是有必要的。

在深入探讨这个话题之前,有必要对长期住宅房地产市场多了解一点。价格始终是衡量需求的一个很好的指标,因此,了解这些类型的房产在最近几年的平均租金价格可能会有所帮助。

什么东西上去了,就一定会下来?

这部分调查的第一站是开放数据 BCN 。幸运的是,该网站提供了过去 4 年来全市每个郊区(或街区)的平均租金信息。这些数据通过使用“每平方米价格”指标进行了标准化。

数据以 CSV 文件形式提供,每年一个文件(2014–2018)。这些文件是手动下载的,因为该网站有一个动态链接(这意味着它们不能用 Python 脚本抓取)。

下载后,每个 CSV 都被列在一个数据帧中——在导入与这个项目相关的库之后。

#Libraries
from functools import reduce
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns#Load CSV files into dataframe
file_name = ‘{}_lloguer_preu_trim.csv’
df = pd.concat([pd.read_csv(file_name.format(i)) for i in range(2014, 2019)])

在探索性数据分析中有许多步骤,但这都是从将数据帧标题从加泰罗尼亚语(加泰罗尼亚语,巴塞罗那位于其中)重命名为英语开始的。下一步识别空值,这些值被丢弃,因为不能使用其他方法插入/更新/估计。该流程还发现“测量”列中提供了两种不同的指标。出于此分析的目的,确定了每平方米的租赁价格,并用于过滤和创建新的数据框架。

df_sqm = df.loc[(df[‘Measure’] == ‘Lloguer mitjà per superfície (Euros/m2 mes)’) ]

然后将干净的数据帧导出到 CSV,以便在 Tableau 中制作图表。在导入时,很明显 X 轴所需的季度(如年份和季度)维度有问题。通过使用以下公式创建新的计算字段,解决了此问题:

MAKEDATE([Year], 
IF [Qtr] = 1 THEN 2
ELSEIF [Qtr] = 2 THEN 5
ELSEIF [Qtr] = 3 THEN 8
ELSEIF [Qtr] = 4 THEN 11
END ,1)

既然有了合适的时间轴,就有可能绘制出每个地区的租金价格图。下图显示了 2014 年至 2018 年各区的平均租金价格(每平方米欧元)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Annual Average Rental Prices (per SqM) for All Districts in Barcelona 2014–2018

相关性高得惊人——然而,鉴于唯一的变量是时间和价格,不可能得出任何结论,因为任何城市的租赁市场都受其他因素的影响。

“挂帽子的地方”

现在是时候把我们的注意力转向短期租赁市场了——也就是 Airbnb 上列出的房产。幸运的是,有一个网站定期抓取 Airbnb 房源,并把数据放到网上。 Insideairbnb 有 39 个列表抓取文件,时间跨度远至 2015 年 4 月。这些数据文件非常全面——幸运的是,它们以一致的命名惯例发布,这意味着它们可以使用 W Get 自动下载,只需在网上搜索一下就能获得准确的名称。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Path for file download consistent with date scraped, as listed

感兴趣的文件的 URL 被添加到一个名为ibnbdts(YYYY-MM-DD 格式)的列表中,删除了重复的内容。然后一次下载一个感兴趣的文件,解压缩并作为数据帧作为值添加到字典中。相应的键是来自 ibnbdts 列表的元素。

#url = ‘[http://data.insideairbnb.com/spain/catalonia/barcelona/{}/visualisations/listings.csv'](http://data.insideairbnb.com/spain/catalonia/barcelona/{}/visualisations/listings.csv')
#folder = ‘./InsideBNBdetailedListing/{}/’
#[wget.download(url.format(i), folder.format(i)) for i in ibnbdts]

完成后,研究形状并确定列标题。考虑到列的数量,我们决定创建一个较小的数据框架,只包含感兴趣的列。

df_filtered = df_ibnb[[
 ‘id’,
 ‘last_scraped’,
 ‘neighbourhood_cleansed’,
 ‘neighbourhood_group_cleansed’,
 ‘latitude’,
 ‘longitude’,
 ‘property_type’,
 ‘room_type’,
 ‘bathrooms’,
 ‘bedrooms’,
 ‘beds’,
 ‘price’,
 ‘import_dt’]]

采取了以下其他步骤来过滤和清理数据:

  1. 识别不同的房间类型。只有“整个住宅/公寓”房产是感兴趣的,其他的都被过滤掉了。
  2. 选择并过滤感兴趣的属性类型,在本例中为“公寓”、“阁楼”、“公寓”。
  3. 通过 map 使用 lambda 函数将 price (per night)列(当前是一个字符串)转换为浮点数。
  4. 创建箱线图以查看卧室和浴室数量的分布。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Box & Whisker to See Spread of Number of Bedrooms and Bathrooms

5.过滤掉既没有两间卧室,也没有 1.5-2 间浴室的房产。

6.从该过滤的数据帧中移除重复项(在第一次按 property_id (id)升序和在平台上的最后出现日期(作为字符串)降序排序(‘import _ dt’)之前)。

经过滤的数据帧(在如上所述的去重之前)用于创建新的细长数据帧(df_slim),其将仅包含平台上的 property_id (id)和最后出现日期(作为字符串)(‘import _ dt’),这些分别按升序和降序排序。

然后,使用自定义函数将字符串导入日期转换为日期时间字段,并应用。

def strtodate(row):
 ‘’’
 Input: String in format YYYY-MM-DD
 Output: Correspdining Datetime

 The purpose of this function is to convert a string to datetime, so that timedeltas can be calculated on them.
 ‘’’
 return datetime.strptime(row[‘import_dt’], ‘%Y-%m-%d’)df_slim_stg[‘scrape_dt’] = df_slim_stg.apply(strtodate, axis = 1)

然后使用 group by 创建一个更小的子集,每个属性(id)只出现一次,它们出现的最小和最大日期是两个单独的列。

df_slim = df_slim_stg.groupby(‘id’).agg({‘scrape_dt’ : [np.min, np.max]})

然后创建一个新的列,以确定该属性在平台上是否仍然有效。

def mostrecent(row):
 ‘’’
 Input: Date
 Output: 1 if date matches 17 September 2019 or 0 if it does not

 This will help to determine if the property is still active on the platform.
 ‘’’
 if row == datetime.strptime(‘2019–09–17’, ‘%Y-%m-%d’):
 return 1
 else:
 return 0df_slim[‘stillactive’] = df_slim[‘scrape_dt’][‘amax’].apply(mostrecent)

然后使用自定义函数和 apply 计算该物业在平台上列出的天数。

def daysonline(row):
 ‘’’
 Input: First Date and Last Dates that the property was seen on the platform
 Output: Number of days

 This will help to determine how long the property is/ was listed on the platform for.
 ‘’’
 return row[‘scrape_dt’][‘amax’] — row[‘scrape_dt’][‘amin’]df_slim[‘days_online’] = df_slim.apply(daysonline, axis = 1)

然后,在删除列(id 加倍)和重命名之前,合并纤细的和过滤的数据帧。

接下来,干净的数据框架需要将价格(作为浮动值)归一化,以便可以使用平均值的+/-1.5 标准偏差来过滤异常值。

#Normalize the new ‘priceUSD’ column for analysis
# Create variable x and pass in the float verion of column ‘priceUSD’
x = df_final[[‘priceUSD’]].values.astype(float)# Create a minimum and maximum processor object
min_max_scaler = preprocessing.MinMaxScaler()# Create an object to transform the data to fit minmax processor
x_scaled = min_max_scaler.fit_transform(x)# Append the normalised values within a new column in the dataframe.
df_final[‘priceNORM’] = pd.DataFrame(x_scaled)#First find values that are UNDER 1.5 Standard Deviations of the mean
indexNames = df_final[ df_final[‘priceNORM’] < (np.mean(df_final.priceNORM, axis=0) — ( 1.5 * np.std(df_final.priceNORM, axis=0)) ) ].index
df_final.drop(indexNames , inplace=True)#Second find values that are ABOVE 1.5 Standard Deviations of the mean
indexNames = df_final[ df_final[‘priceNORM’] > (np.mean(df_final.priceNORM, axis=0) + ( 1.5 * np.std(df_final.priceNORM, axis=0)) ) ].index
df_final.drop(indexNames , inplace=True)

一个新的方框图,显示剩余的价格数据。

fig, ax = plt.subplots(1,2, figsize = (15, 10)) #columns and rows, number of axes, figure size 
sns.boxplot(y = df_final.priceUSD, ax = ax[0])

现在价格正常化了,为了便于解释生存曲线,它们将被组合在一起。

 df_final[‘price_band’]=pd.qcut(df_final[‘priceUSD’],q=5, labels = [‘Very Low’,’Low’,’Moderate’,’High’,’Very High’])df_final['price_band']**=**pd.qcut(df_final['priceUSD'],q**=**5, labels **=** ['Very Low','Low','Moderate','High','Very High'])

将日期时间字段转换为整数,以便可以执行计算。

最近计算的“在线天数”值需要转换为月数。

def days2month(row):
 ‘’’
 Input: Numerical value which is assumed to be days
 Output: Corresponding numner of months

 The int/ float input (days) is divided by 365 then multiplied by 12.
 ‘’’
 return ((row[‘days’]/365)*12)df_final[‘months’] = df_final.apply(days2month, axis = 1)

然后将生成的数据帧导出到 CSV 格式,以便在另一个 Jupyter 笔记本文件中使用生存分析进行分析。

生存分析

生存分析需要定义一个自定义函数。

def survival(data, group_field, time_field, event_field):
 kmf = KaplanMeierFitter()
 results = []
 for i in data[group_field].unique():
 group = data[data[group_field]==i]
 T = group[time_field]
 E = group[event_field]
 kmf.fit(T, E, label=str(i))
 results.append(kmf.survival_function_)
 survival = pd.concat(results, axis=1)
 front_fill = survival.fillna(method=’ffill’)
 back_fill = survival.fillna(method=’bfill’)
 smoothed = (front_fill + back_fill) / 2
 return smoothed

生存分析的结果提供了一些有趣的图表。

创建了三个数据集:
1 .Airbnb 上曾经列出的 2 卧室、1.5-2 浴室公寓的总人口(2015 年 4 月-2019 年 9 月)。
2。1 的子集(如上),过滤为仅包含 ei example
3 中的公寓。1 的子集(如上),过滤为仅包含 Gràcia 的公寓

随后生成了以下图形(绘图)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Impact of Price Band on Survival Rate

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Impact of Property Type on Survival Rate

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Differing Survival Rates Amongst Properties in Eixample

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Differing Survival Rates Amongst Properties in Gràcia

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Differing Survival Rates Amongst Districts in Barcelona

总而言之,巴塞罗那的两居室公寓中,价格适中的公寓在 Airbnb 平台上停留的时间最长。这意味着这些公寓将不会出现在长期租赁市场上;因此,这部分市场的供应减少,这似乎(至少部分)导致了该市长期租赁价格的不断上涨。

为你的应用程序构建一个聊天机器人需要什么?

原文:https://towardsdatascience.com/what-does-it-take-to-build-a-chat-bot-for-your-application-f59c2ed074e5?source=collection_archive---------14-----------------------

利用 Kore.ai 机器人平台构建可大规模工作的智能聊天机器人。

你可能已经花了数小时来构建具有最佳应用内用户体验的应用,但当涉及到构建市场上最新、最热门的功能时,你就做不到了——一个可以与消息应用、电子邮件、语音助手、IVR 和许多其他渠道集成的对话界面。

现在怎么办?,你应该开始研究建立对话代理吗?你应该思考什么?……

实际上很多。举几个例子来说,你必须考虑很多——让我们考虑你的应用程序可以为“外卖”订购一个比萨饼并检查订单的状态。

  1. (意图检测)如何弄清楚用户对 bot 说了什么。也就是说,如何理解用户是想要下订单、检查订单状态还是其他什么(这在这个玩具例子中听起来很简单,但是当你的应用程序可以执行几十个动作时就变得复杂了)
  2. (实体检测)如何提取对应用程序执行操作所需的信息。例如,在用户话语“我想点一份比萨饼,边上有鸡肉、洋葱配料和两杯可乐”中,外皮是什么?,浇头是什么?,有哪些方面?等等
  3. (实体验证)如何验证用户提供的信息。例如:日期、货币、数字、项目等
  4. 如何在执行操作时处理来自用户的中断。例如,在完成“下订单”的对话之前,如果用户询问“我的 Id 为 ABCD 的订单状态如何”
  5. (渠道整合)我如何整合这个机器人与脸书或 Alexa 或谷歌助理等?
  6. 你如何分析与用户失败的对话?
  7. 你如何认证用户?
  8. 如何有条件地控制对话?。例如,如果用户提供了无效的浇头数量,如何通知他并要求不同的首选浇头?
  9. 我如何让它适用于多种语言?

如此等等…

在我们继续下去之前,你可能想让我停下来,指出一些平台,如 Luis、Dialog Flow、IBM Watson 等。当然,他们可以帮助你解决第一个问题,解决一点第二个问题,解决有限的第三个问题,解决很少的第五个问题,但是请记住,一个好的聊天机器人还需要满足很多要求。你可以有一个很棒的团队来构建机器人的其余部分,代价是什么?…以大量时间为代价。理想情况下,您会希望在不影响质量和功能的情况下,尽可能缩短“上市”时间。这需要一个已经解决了所有问题的工具——Kore . aibots 平台,这是一个对话平台,使您能够为数百个用例构建和管理对话机器人。

和其他平台有什么不同?

就像其他平台一样,Kore.ai 也解决了第一、第二和第三个问题。还有上面提到的每一点,还有更多。该平台提供了构建和管理机器人所需的完整开发工具包,而不必为机器人构建单独的后端服务。更容易给你看,让我们跳进平台,建立玩具机器人。如果您需要更多信息或帮助,请参考位于https://developer . Kore . ai/docs/bots/chatbot-overview/chatbot-overview/的文档

披萨店机器人

比方说,你有一家比萨店,人们可以点外卖一个比萨,可以选择饼皮、多达 3 种配料和一些配菜。您构建了一个人们可以在线订购的应用程序(假设您有这个程序)。现在让我们为这个比萨饼店建立一个机器人,在那里人们可以订购一个比萨饼带走,选择外壳,浇头和侧面,它还应该能够在被询问时检查订单的状态。

首先在 https://bots.kore.ai 注册/登录。点击创建一个机器人,并给它一个名字,选择语言(现在让我们用英语),让机器人类型是标准的(检查每个类型的意思在后面的文档)。现在,你将登陆这样一个机器人详细信息页面

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Bot details page

浏览这个页面,然后在左边的菜单中进入机器人任务。在 bot 任务页面中,您将看到几个可以创建的 bot 任务类型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Types of Bot Tasks

对于我们的玩具机器人,我们将集中于对话任务,这些任务将用户和机器人之间的完整对话流表示为有向图。这有助于您设计涉及条件动作的复杂对话,例如,在“订购比萨饼”任务中,比萨饼上允许的最大浇头数是 3,您可以检查这一点,并通知用户重新选择,而无需您的后端应用程序参与。

现在让我们创建两个对话任务:

  1. “订购比萨饼”,允许用户订购比萨饼的外壳,浇头和方面的选择。
  2. “查看订单状态”,可以查看已下订单的状态。

让我们先看看完成的“订购比萨饼”对话框,然后看看它是如何构建的(我将提供详细文档的链接,对于玩具示例可以忽略这些链接,但以后一定要查看它们)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Order Pizza Dialog

看到这个,你的第一个想法应该是“图中的节点是什么?”。嗯,这些被称为对话组件,Kore.ai 平台提供了几种类型的对话组件,让我们简单看看它们是什么:

  • 意图节点(用户意图)——与用户意图相关联的节点,即“订购比萨饼”是一个意图。当 Kore NLP 引擎识别出一个意图时,它对应的意图节点被触发(通常是一个对话任务的根节点,我说“通常”是因为它也可以作为一个非根节点存在,我们将在后面的文章中讨论)。因此,如果用户意图是“订购比萨饼”,则触发“订购比萨饼”对话任务中的“订购比萨饼”意图节点。你可以在https://developer . Kore . ai/docs/bots/bot-builder-tool/dialog-task/working-with-the-user-intent-dialog-node/了解更多信息

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Intent Node

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Entity Node

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Entity Node Properties

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Message node

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 脚本节点 —该节点允许用户编写 JavaScript 来处理到目前为止收到的数据,并更新机器人上下文(上下文记忆)。例如,在我们的玩具机器人中,我们使用这个节点来检查用户是否要求 3 个以上的浇头,并决定我们是否再次要求浇头。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Links between toppings and Validate Toppings count script

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Script node Properties

另一件你可能想知道的事情是“连接是如何定义的?”—每个节点都有连接属性,用户可以根据需要定义缺省转换和 if/else 条件。例如:从“订购比萨饼”对话框任务中的 ValidateToppingCount 脚本节点转换。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Example Transitions

等等!从对话中收集到的信息呢,“我如何访问数据?”——从“服务节点调用”的对话和响应中收集的所有数据在“上下文”Json 中可用,Ex 实体位于 JSON 路径 context.entities. 中,即,用于选择外壳(外壳实体值)的位置在 context.entities.crust 中

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Sample context json

现在,回到我们的玩具机器人“订购比萨饼”的对话任务,你现在可能已经弄清楚流程了

  • 在将意图识别为“订购比萨饼”时,触发“订购比萨饼”对话任务中的“订购比萨饼”意图节点。
  • 转换到“外壳”实体节点,并要求用户选择外壳,如果还没有提到。这是一个单项“值列表(枚举)”实体,它请求开发人员(您)定义的枚举列表项
  • 转换到“浇头”实体节点,并要求用户“选择浇头”,如果还没有提到的话。这是一个多项“值列表(枚举)”实体,它从列表中查找更多的多项。
  • 转换到 ValidateToppingCount 脚本节点,在该节点中验证用户询问的浇头数量。
  • 如果浇头计数大于 3,则忽略选定的浇头,并转换到“浇头”实体。
  • 如果浇头数小于或等于 3,那么转移到“sides”实体节点,在这里机器人请求边。
  • 收集完所有细节后,使用服务节点将数据发送到应用服务器,并确认订单。尽管对于这个玩具示例,我点击了虚拟端点(在与您共享之前将删除这个节点,因为它是无用的),但它总是返回状态 200。
  • 在“已下订单”消息节点中回复消息,就大功告成了。

这里有一个视频演示

Order a Pizza Dialog Run

订购披萨对话框完成了…或者没有,自然语言训练呢?所有聊天机器人平台都要求训练数据,那么 kore 呢——是的,Kore 也是这样做的,Kore.ai 的 NLP 的主题是另一天的帖子。截至目前,机器人正在利用其英语语法知识和任务名称工作。

我将删除服务节点,因为它没有用,并在最后附加 Bot 导出,您可以将它导入到您的帐户并检查它。此外,我留下了一些东西,所以你可以尝试

  1. [简单]当提供太多浇头时,让机器人显示不同的信息。这样做无需添加更多节点
  2. [HARD]“sides”实体将只接受,而不仅仅是没有编号的项目,即当我只说“coke”时,说“2 coke”将会起作用,但不会起作用。让它工作(视频中的提示)
  3. [简单]同样,在 sides 实体中,机器人不会接受否定的回答。即它将不断要求用户提供至少一种选择。让它成为可选的。(提示:查看实例属性)
  4. [MEDIUM]一个更复杂的对话框,通过添加最多 3 个节点(最好是 2 个)来订购多个披萨。提示:收集并确认。

未来的帖子里会有什么?

  1. 添加“检查订单状态”对话框。
  2. 启用通道。
  3. Kore.ai NLP 引擎一览。

数据

https://github.com/vishnukumarnekkanti/BotsData的 bot Export = Pizza store . zip

RMSE 到底是什么意思?

原文:https://towardsdatascience.com/what-does-rmse-really-mean-806b65f2e48e?source=collection_archive---------0-----------------------

均方根误差(RMSE)是衡量模型在预测定量数据时的误差的标准方法。正式定义如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

让我们试着从数学的角度来探索为什么这个误差的度量是有意义的。忽略平方根下 n 的除法,我们首先注意到的是类似于ℝⁿ:中两个向量之间的欧几里德距离公式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这启发性地告诉我们,RMSE 可以被认为是预测值向量和观测值向量之间的某种(归一化)距离。

但是为什么我们在平方根下面除以 n 呢?如果我们保持 n(观察次数)不变,它所做的只是将欧几里德距离重新缩放一个因子√(1/n)。很难看出为什么这是正确的做法,所以让我们更深入地研究一下。

假设我们的观测值是通过给每个预测值加上随机“误差”来确定的,如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这些误差被认为是随机变量,可能具有均值为μ、标准差为σ的高斯分布,但任何其他平方可积 PDF ( 概率密度函数)分布也适用。我们想把 ŷᵢ看作一个潜在的物理量,比如在某个特定的时间点从火星到太阳的确切距离。我们观测到的 yᵢ量将是我们测量时从火星到太阳的距离*,其中一些误差来自我们望远镜的误校准和大气干扰的测量噪声。*

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(NOT TO SCALE)

误差分布的均值μ对应于来自误校准的持续偏差,而标准差σ对应于测量噪声量。想象一下,现在我们确切地知道了误差分布的均值μ,并且想要估计标准差σ。我们可以通过一点计算看出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里 E […]是期望,Var(…)是方差。我们可以用第四行的e【ε】代替第三行的期望值 E[ εᵢ ]的平均值,其中ε是与每个εᵢ具有相同分布的变量,因为误差εᵢ是同分布的,因此它们的平方都具有相同的期望值。

请记住,我们假设我们已经确切地知道μ。也就是说,我们仪器中的持续偏差是已知偏差,而不是未知偏差。因此,我们不妨通过从所有原始观测值中减去μ来立即校正这种偏差。也就是说,我们不妨假设我们的误差已经以均值μ = 0 分布。将这个代入上面的等式,取两边的平方根,得到:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意左手边看起来很熟悉!如果我们从平方根中去掉期望 E,这就是我们之前的 RMSE 公式。中心极限定理告诉我们,随着 n 变大,σᵢ(ŷᵢ—yᵢ)/n =σᵢ(εᵢ)/n 这个量的方差应该收敛到零。事实上,中心极限定理的一个更清晰的形式告诉我们,它的方差应该像 1/n 一样渐近地收敛到 0。这告诉我们,σᵢ(ŷᵢ—yᵢ)/n 是对e[σᵢ(ŷᵢ—yᵢ)/n]=σ的一个很好的估计。但是 RMSE 是我们误差分布的标准差σ的一个很好的估计量!

我们现在还应该有一个在 RMSE 平方根下除以 n 的解释:它允许我们估计典型的单次观测的误差的标准偏差σ,而不是某种“总误差”。通过除以 n,当我们从小的观测值集合移动到更大的集合时,我们保持这种误差测量一致(随着我们增加观测值的数量,它变得更加精确)。换句话说,RMSE 是回答这个问题的一个很好的方式:“我们应该期望我们的模型在下一次预测中有多远?”

总结我们的讨论,假设我们的观测数据可以分解为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里的随机噪声可以是我们的模型没有捕捉到的任何东西(例如,可能影响观察值的未知变量)。如果噪音很小,正如 RMSE 估计的那样,这通常意味着我们的模型擅长预测我们观察到的数据,如果 RMSE 很大,这通常意味着我们的模型无法解释我们数据背后的重要特征。

数据科学中的 RMSE:使用 RMSE 的微妙之处

在数据科学中,RMSE 有双重目的:

  • 作为训练模型的启发
  • 评估训练模型的有用性/准确性

这就提出了一个重要的问题:RMSE 的“小”意味着什么?

我们首先要注意的是,“小”取决于我们选择的单位,以及我们希望的具体应用。在建筑设计中,100 英寸是一个很大的误差,但 100 纳米不是。另一方面,100 纳米在制造冰块托盘时是一个小误差,但在制造集成电路时可能是一个大误差。

对于训练模型,我们使用什么单位并不重要,因为在训练过程中我们所关心的是有一个启发式方法来帮助我们减少每次迭代的错误。我们只关心从一步到下一步的相对误差大小,而不是误差的绝对大小。

但是,在评估数据科学中经过训练的模型的有用性/准确性时,我们确实关心单位,因为我们不仅仅是想看看我们是否比上一次做得更好:我们想知道我们的模型是否能真正帮助我们解决实际问题。这里的微妙之处在于,评估 RMSE 是否足够小,将取决于我们对给定应用的模型精度要求。这永远不会有一个数学公式,因为它依赖于人的意图(“你打算用这个模型做什么?”),风险厌恶(“如果这个模型做了一个不好的预测,会造成多大的伤害?”),等等。

除了单位之外,还有另一个考虑因素:“小”也需要相对于正在使用的模型的类型、数据点的数量以及在评估模型的准确性之前模型经历的训练历史来度量。起初,这听起来可能违反直觉,但当你想起过度装配的问题时,就不会了。

每当模型中的参数数量相对于您拥有的数据点数量较大时,就有过度拟合的风险。例如,如果我们试图预测一个实数 y 作为另一个实数 x 的函数,并且我们的观测值是(xᵢ,yᵢ)与 x₁ < x₂ < x₃ …,一个通用插值定理告诉我们,对于 i = 1,…,n,存在某个次数最多为 n+1 的多项式 f(x)=yᵢ。这意味着如果我们选择我们的模型为 n+1 次多项式, 通过调整我们模型的参数(多项式的系数),我们将能够把 RMSE 一直降到 0。 不管我们的 y 值是多少,这都是正确的。在这种情况下,RMSE 并没有真正告诉我们任何关于我们的基础模型的准确性:我们被保证能够调整参数,以获得 RMSE = 0,正如在我们现有的数据点上测量的那样,不管这两个真实量之间是否有任何关系。

但是不仅仅是当参数的数量超过数据点的数量时,我们可能会遇到问题。即使我们没有过多的参数,一般的数学原理和对我们数据的温和背景假设也能保证我们很有可能通过调整模型中的参数,使 RMSE 低于某个阈值。如果我们处于这种情况,那么 RMSE 低于这一阈值可能对我们模型的预测能力没有任何意义。

如果我们想像统计学家一样思考,我们会问的问题不是“我们训练的模型的 RMSE 小吗?”而是,“我们训练过的模型在如此这般的一组观察值上的 RMSE 随机变得如此之小的概率是多少?”

这类问题变得有点复杂(你实际上必须做统计),但希望你们都明白为什么“足够小的 RMSE”没有预先确定的阈值,因为这将使我们的生活变得简单。

你认为数据科学的未来会怎样?

原文:https://towardsdatascience.com/what-does-the-future-of-data-science-hold-for-you-7ae47861dc22?source=collection_archive---------28-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如果我可以用两个词来回答这个问题,那就是——闪亮和有前途。

介绍

看看你的周围,到处都是数据。**“每天创建的数据超过 2.5 万亿字节。”**在不久的将来,预计地球上每个人每秒将产生 1.7 Mb 的数据。没错,这个数据是我们产生的,但是你知道这么多数据是怎么分析出来的吗?数据科学家是这一过程的幕后推手。

世界上很多公司都在寻找数据科学家。他们收到的数据既有结构化的也有非结构化的。因此,要使用非结构化数据并从其中获得洞察力,就需要使用数据科学。组织开始意识到管理这些数据的必要性,因此对数据科学家的需求也在增加。

现实生活中的用例

现在你可能会想,这些公司可以从客户那里获得反馈,通过满足客户需求来改进他们的服务。那么,他们为什么要为此付出如此巨大的代价呢?他们这样做是因为他们与世界同行,他们已经意识到“变化是唯一不变的”。这不仅仅是分析数据,而是以一种甚至客户都没有意识到的方式来理解客户,是理解市场需求、模式和趋势。你喜欢喜剧节目,但你不会要求网飞专门为你制作。当你开始看一部喜剧时,网飞会自动向你推荐另一部你可能会喜欢的喜剧。所有这一切之所以成为可能,是因为网飞大学的数据科学及其推荐系统。 聪明!不是吗?

我们还可以在这里谈论一些不令人寒心的项目,其中使用了数据科学,科学家甚至能够在很大程度上预测未来事件。不相信我?看看这个例子:

在飓风**【Fani】袭击印度奥里萨邦海岸**的 13 天前,IMD(印度气象部门)有迹象表明可能会有一场大规模的风暴,他们开始为风暴的爆发做准备。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Image Source:Google

4 月 21 日,基于各种来源的数据,他们预测,条件正在导致低压区的形成。他们收集了降雨量、海面以下和海面以上的温度、风速等数据,并对其进行分析,以预测飓风的强度。

创纪录的120 万人(相当于毛里求斯的人口)在不到 48 小时内被疏散,仅仅是因为数据科学家。这是过去 20 年来袭击印度的最强飓风之一。这就是数据科学的力量。您还可以了解 数据科学如何用于医疗保健 以及它如何改善患者的生活方式并在早期预测疾病。

现在想象一下这 120 万人克服的灾难。在这里,我可以自豪地说,如果你能拯救别人的未来,你就拯救了自己的未来。这是 2019 年,这一切都是可能的,向前一点,让我们谈谈未来,以及他们在 2020 年和 2025 年的作用。如果他们现在有如此大的需求,那么他们未来的需求会是怎样的呢?毫无疑问,他们是当今世界上收入最高的职业之一。有没有想过他们未来的工资会是多少?

数据科学家在 2020 年的角色

到 2020 年,印度将面临数据科学专业人员短缺的问题。这是因为他们需要分析大量数据,做出决策和预测。为此,他们确实需要掌握与统计、数学、数据可视化、机器学习、编码等相关的技能。我们很少发现有如此高水平技能的人。根据 IBM 进行的一项调查,到 2020 年,数据科学家的职位空缺将增加 36.4 万到 272 万。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Image Source: Google

根据 LinkedIn,数据科学家的工作简介如下:

信息技术和服务- 29,300

计算机软件-19800

研究-13200

互联网-7700

金融服务-6500

管理咨询-3600

高等教育- 3,000 人

银行业-2800

营销和广告-2500

保险-2200

数据科学家根据他们拥有的技能获得巨额报酬。连 IBM 做的 调查都这么说。平均工资为:

地图减少- $115,900

猪-114,500 美元

机器学习-11.27 万美元

阿帕奇蜂房-11.22 万美元

Apache Hadoop-110,600 美元

大数据-10.99 万美元

数据科学-10.73 万美元

NoSQL-:10.5 万美元

预测分析-103,200 美元

MongoDB-101300 美元

未来几年,印度各行各业对数据科学家的需求将增长 400%以上。数据科学家在未来必不可少,因为:

有一船的数据——正如我们在本文第一段中读到的关于定期生成的数据量。需要管理和分析这些数据。通过汲取洞察力,可以做出对业务增长有效的决策。有可能发生的预测或事件在收集的数据的帮助下被识别。

技能无法匹配 -未来的数据科学家将能够处理最关键和最复杂的业务挑战。他们之所以能够做到这一点,是因为他们拥有为组织带来变革所需的正确技能和技术知识。你不可能在任何其他职业中找到这些独特的技能和天赋。查看掌握这门艺术必须具备的顶级 数据科学技能 (哎呀…理科:P)。

应用数量将会增加 —数据科学家的工作包括从原始数据中提取有意义的信息。这个过程看起来花费的时间较少,但实际上它需要大量的工具和技术,而这些工具和技术会占用大量的时间。数据科学最近探索了许多应用,并将在不久的将来继续探索更多应用。

结论

最后我想说的是,改变是不可避免的,但你的成长是可选的。因此,如果你想跟上快节奏的世界和不断变化的技术,那就与世界携手共进吧。相反,我想说的是,往前走一步,因为这是数据科学家的工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值