当一个国家否认冠状病毒时,你会怎么做?
使用数据估计塔吉克斯坦的新冠肺炎病例数
修订:2020 年 4 月 30 日(晚上 8:55)—本文原始出版物中列出的数据包括在不同新闻稿中重复计算的检疫编号。编辑版本纠正了这一点。
塔吉克斯坦是一个有 900 万居民的国家,然而只有十五个新冠肺炎病例。与中国接壤的塔吉克斯坦并不幸运。相反,的诊断一直被该国政府掩盖,直到今天,他们都否认该国受到病毒的影响。甚至当内务机构监督部部长贾洛丁·皮罗夫死于症状与新冠肺炎相似的病毒时,卫生和社会保障部声称死因是肺炎和猪流感。
尽管国内呼吁正式承认全球疫情,甚至世卫组织也没有干涉塔吉克政府对新冠肺炎的否认。当一个政府否认疫情或以可疑条款处理感染和死亡时,很难掌握病毒传播的规模。不过,在这种情况下,政府并没有完全否认新冠肺炎的存在。卫生部一直在检测有冠状病毒样症状的人(均为阴性),并隔离患病公民和来自其他国家的旅行者。卫生部在定期新闻发布会上公布了被隔离人员的数量。
正如每一次现代疫情一样,统计模型被用来预测新冠肺炎的传播。利用其他研究的所有结果以及卫生部发布的数据,有可能创建一个模型,追溯性地构建新冠肺炎在塔吉克斯坦的潜在传播。
方法论
这项研究收集的数据由 Franziska Buhre 汇编,她是一名驻柏林的自由记者,2019 年在塔吉克斯坦生活了三个月,得到了 Institut für auslandsbezehungen 的资助。数据摘自塔吉克斯坦共和国卫生和人口社会保障部发布的新闻简报。简报中提供的数据提供了被隔离的总人数,如从中国、韩国、日本、意大利、伊朗和阿富汗返回的公民,或来自“外国”的人。
为了了解新冠肺炎的潜在传播,需要估计这些被隔离的人群中有多少可能是病毒携带者。在日本进行的二月研究中,研究人员对乘坐三架包机从中国武汉撤离的 565 名日本公民进行了检查,以了解新冠肺炎在乘客中的流行情况。在接受检测的乘客中,1.4%的人对新冠肺炎病毒呈阳性。将这一指标应用于数据集,我们可以得出样本人群中可能的感染率。在下表中,人们可以看到,即使在最少的情况下,仅从被隔离的人数来看,塔吉克斯坦可能有大约 114 例新冠肺炎病例。
将疑似病毒携带者隔离的目的是限制他们与社会其他人的接触,从而阻止病毒的传播。然而,在她的报道中,Buhre 发现人们不是在家里被隔离,而是“被送到营地,医院,疗养院,其中许多是苏联时代的,条件恶劣。”因此,花在隔离上的时间是可变的,有报道称一些病人行贿以获得自由。
因此,上表中的受感染人数并不代表会有效传染给其他塔吉克人的人数。在最好的情况下,所有人都将被隔离,直到不再具有传染性。然而,模型必须考虑一定量的“泄漏”。在 2011 年对 H1N1(猪流感)患者进行的一项研究中,澳大利亚的研究人员发现,只有 35%到 55%的人完全遵守了他们的指示。以此为基础,我们可以乐观地假设塔吉克斯坦的泄漏率约为 50%。这意味着每两个被隔离的病人中,就有一个会传染给塔吉克社会的其他人。
病毒的威胁,使它如此可怕和致命的原因是它会传播。57 名具有潜在传染性的个人穿越塔吉克斯坦会有什么影响?考虑到目前为止在新冠肺炎收集的数据,这也是可以模拟的。病毒的传播是通过一种叫做 R0(读作 R-零)的统计数据来衡量的。这是通过接触有传染性的人而被感染的新人数。根据帝国理工学院新冠肺炎反应小组的一项研究,新冠肺炎的 R0 估计在 2.0 到 2.6 之间,换句话说,每个新冠肺炎患者都有可能把它传给 2.5 个人。
再乐观一点,R0 为 2.2,我们可以模拟这 57 名具有传染性的人如何通过塔吉克社会感染新冠肺炎病毒。在数据中的第一天,2020 年 2 月 8 日,将有 4.5 个传染人。第二天,这个数字会增加到 4.52.2 = 9.9。第二天,9.9 人现在被认为具有传染性,所以在第二天,等式是 9.92.2 = 21.78 。这就是指数增长的方式,数字继续以 2.2 的因子复合。一个警告:在这个模型中,我还假设 50%的新感染者实际上是传染性的。这个假设建立在三个可能的因素上:1)这个人表现出症状和隔离;2)此人病重不能外出;和/或 3)这个人是无症状的,试验性的研究建议让他们比有症状的人少 50%的传染性。
塔吉克斯坦卫生部的新闻稿不一致,因此我们没有每日新增病例的数字。在这个模型中,我将前一天的数字进行复合,除非添加了新的数字。这是观察随时间推移而增长的一种基本方法,但这是利用所提供的数据可以做到的。
鉴于上述模型,可以合理地预计,自 2020 年 2 月初以来,塔吉克斯坦约有 12,803 例新冠肺炎病例。这大大高于卫生部报告的 15 例。
讨论
新冠肺炎在每个社会都有不同的表现。该模型基于有限的统计数据和假设,这些数据和假设来自文化和社会因素不同、对病毒的实际传播有重大影响的其他国家。然而,鉴于政府在 2020 年 4 月底之前否认有任何病例,塔吉克斯坦的实际病例数可能更接近估计数,而不是政府声称的数字。虽然不是 100%准确,但该模型是基于新型冠状病毒如何在其他国家传播的同行评审数据。鉴于塔吉克斯坦的经济、移民模式和边境状况,没有理由认为它会与全球趋势如此大相径庭。
Franziska Buhre 通过 IFA-auslandsbezehungen 研究所的赠款住在塔吉克斯坦。她目前的研究由 WPK 科学基金会资助。这项研究的数据由 Franziska Buhre 收集,可以在这里下载。
你可以在这个谷歌表单中找到新冠肺炎在塔吉克斯坦传播的不同场景的模型。
你在其他国家有类似的案例可以从这项研究中获益吗?请在推特上联系我 @saracooper_ 。
要成为一名数据科学家,你需要知道什么
数据科学家职业起步指南
图片由作者提供(使用 Canva 制作)
数据科学是一个新兴领域,能够从结构化和非结构化数据中提取有用的趋势和见解。它是一个跨学科的领域,使用科学研究、算法和图表来揭示混沌中的模式,并使用这些模式来创造惊人的东西。
作为一名数据科学家,你需要了解一些基本的数学和编程知识,并对模式和趋势有敏锐的洞察力。由于该领域的跨学科性质,数据科学家将会发现自己在从事不同的广泛的技术工作。
在我们开始讨论成为一名数据科学家需要什么之前,我们先来谈谈数据科学领域的工作需要什么。
数据科学家是做什么的?
在数据科学领域工作就像坐过山车一样。这项工作的某些方面缓慢而稳定,而另一些方面则快速而疯狂。它的其他部分就像在一个循环中,你一遍又一遍地重复事情。
每当数据科学家开始一个新项目时,他们都会经历一系列已知的步骤,以得出最终结论。
任何数据科学项目都以数据开始,以数据结束,在这两者之间,奇迹发生了。
如果您浏览互联网,您会发现许多文章涉及数据科学项目中不同数量的步骤。但是,不管步骤多少,核心方面都是一样的。对我来说,任何数据科学项目都要经历 6 个主要步骤。
图片由作者提供(使用 Canva 制作)
步骤№1:了解数据背景。
每当我们开始一个数据科学项目时,我们通常旨在解决一个问题、提高性能或预测未来趋势。要做到这一点,我们首先需要掌握数据来源的历史以及它是如何产生的。
步骤№2:收集数据。
一旦我们了解了这些数据的背景,我们就需要收集数据并开始处理。根据项目的性质,有不同的方法来收集数据。我们可以从数据库、API 或者——如果你是初学者或者刚刚开始学习技能——从开放的数据源获得。收集数据的另一个选择是避开公开可用信息的 wen。
抓取任何有请求和美丽声音的网页
towardsdatascience.com](/a-step-by-step-guide-to-web-scraping-in-python-5c4d9cef76e8)
步骤№3:清理并转换数据。
大部分时间,如果不是全部时间,我们从数据源收集的数据是纯净和原始的。这种数据不适合在算法和未来步骤中使用。因此,当我们获得新数据时,我们要做的第一件事就是清理它,对它进行分类和标记,并理解它。
步骤№4:分析探索数据。
一旦我们的数据是干净的和结构化的,我们就可以开始分析它,并试图找到其中的模式。这可以通过可视化数据并寻找重复或尖峰来完成。
如何在混乱中找到模式?
towardsdatascience.com](/5-data-mining-techniques-every-data-scientist-should-know-be06426a4ed9)
步骤№5:数据建模。
我们终于到达了神奇的一步!在我们探索和分析我们的数据之后,是时候输入机器学习算法,并使用它来预测未来的结果。这确实是数据科学的力量。
第 6 步:可视化和交流结果。
最后,也是这个过程中最关键的一步是有效地可视化和呈现项目的结果。
一旦这些步骤都完成了,一个新的项目就来了,是时候重新开始了。
[## 用 Pygal 实现 Python 中的交互式数据可视化
一步一步的教程,创造惊人的可视化
towardsdatascience.com](/interactive-data-visualization-in-python-with-pygal-4696fccc8c96)
数据科学需要哪些技能?
数据项目生命周期的每一步都需要特定的知识和技能。为了更好地连接所需的技能,我会将项目的每个阶段与完成该步骤所需的技能配对。
- *进行*数据调查,你只需要一颗好奇的心,一支笔,一张纸。您坐下来,或者询问数据源一些问题以更好地理解数据,或者如果是开源数据,阅读数据附带的文档。
- 要执行数据收集, 您需要知道如何与数据库和 API 通信。理解这些技术的基本结构和机制将使您的数据收集变得轻而易举。如果你正在使用开源数据集,那么学习如何寻找数据集和一些好的来源会有很大的不同。
- 要执行数据清理 *,*您需要一些基本数据挖掘和清理技术的良好知识。您需要标记您的数据,并对其进行适当的分类。此外,您可以使用正则表达式来查找拼写错误,或者使用专门的工具来简化这个过程。
- 要执行数据探索, 你将需要一些基本的统计学和概率论。一些数据可视化和实验设计的知识,在这个阶段可以帮到你很多。
数据科学中最常用的 4 种概率分布
towardsdatascience.com](/probability-theory-in-data-science-bacb073edf1f)
- 要执行数据建模, 你需要知道一些机器学习算法,以及它们是如何工作的。你不需要什么都 100%懂;如果你能正确地使用它们,并把它们应用到正确的数据形式中,你就没问题了。
- 最后,执行数据通信, 你可能会用到一些基本的科学通信 101。也就是了解你的听众,他们的背景知识,选择晦涩的词语来解释复杂的概念。此外,在这个阶段,有效的数据可视化可以决定项目的成败。
图片由作者提供(使用 Canva 制作)
技术工具
我们刚刚谈到的一些技能需要一种编程语言、一种算法或特殊的包。
- 编程语言:Python,r
- 用于处理和创建数据库的: MySQL , PostgreSQL , MongoDB ,或者 Python 中的 SQLite 。如果你用的是 R,那么你可以用 RMySQL。
- 用于数据探索和转换的包:在 Python Pandas 、 Numpy 或 Scipy 中。或者在 R GGplot2 和 Dplyr 中。
- 可视化的 Python 库: Matplotlib , Plotly , Pygal 。
- Python 的基本机器学习包Scikit-learn r 中的和 CARET 。
结论
你不需要了解统计学、数学、机器学习的所有知识,也不需要成为一名专业的程序员来开始学习数据科学。你只需要这些知识的基础。随着您从事不同的项目并建立自己的档案,您的知识库将会扩大,您的“数据科学意识”将会自动提高。
所以,不要被领域吓倒,也不要被成为一名优秀的数据科学家需要“掌握”多少东西吓倒。从基础开始,逐步深入到高级主题。耐心点,全力以赴,你会成功的。
数据科学家实际上是做什么的?
尺寸很重要…
查尔斯·德鲁维奥在 Unsplash 上拍摄的照片
S 自从我开始从事数据工作以来,我一直听说数据科学,所以我一直想了解更多。问题是,当你开始探索数据科学家实际上在工作中做什么时,它会变得相当混乱。
简而言之,数据科学家的角色
我们都知道,数据科学就是利用数据为公司创造尽可能多的影响。为了创造这种影响,数据科学家需要工具,如构建复杂的模型、设计简洁的图表或编写代码。
基本上,数据科学家解决真实的公司问题,使用过去的数据预测未来。
误解的两个来源
人们对数据科学有很多误解,这可能有两个原因:
1.媒体
热门话题和行业需求之间存在巨大的错位。机器学习和人工智能主导着媒体,掩盖了数据科学的所有其他方面。所以现在普通公众认为数据科学家是专注于机器学习和人工智能的研究人员,而实际上在某些情况下,该行业正在雇用永远不会实际执行任何人工智能或机器学习相关任务的数据科学家(可能是因为公司还没有做好准备)。
2.人力资源(部)
困惑的另一个原因来自人力资源经理,可以理解,他们可能会被飞来飞去的新术语和流行语淹没。这导致他们对工作职位的标注不准确。一名人力资源代表可能会称某个职位为数据分析专家,而实际上他们需要的是数据分析师。当他们需要一个商业智能分析师时,另一个可能雇用一个初级数据科学家。当然,有许多公司声称他们的工作机会很棒,但这并不是整个行业的标准。
为了让事情更清楚一点,我们首先必须了解数据世界中需要什么,我们将使用 Monica Rogati 的 需求数据金字塔 (全文 此处 ),这是受著名的马斯洛需求层次理论的启发。澄清了这个框架之后,我们就可以理解数据科学家在这个光谱中的位置了。
需求的数据金字塔
图片由 Monica Rogati 在黑客报上提供
数据生成&收集处于金字塔的最底层,基本需要。显然,我们必须收集某种数据,才能使用这些数据。这里的关键是了解需要哪些数据,以及哪些数据是可用的。
然后将&存储数据移动到系统中是非常重要的,而且由于大数据和与之相关的所有挑战,它实际上在媒体中被很好地捕获。
当数据可以访问时,检测和纠正(或删除)损坏或不准确的记录变得至关重要。探索&转换数据,通常称为*数据清洗,*是数据科学中被低估的一面。
只有当数据得到清理并且可靠时 BI & Analytics 才能发挥作用,简而言之,这意味着从数据中形成见解,并建立衡量成功的指标。
然后数据产品需要学习&优化,通过 A/B 测试和实验来评估哪个产品版本是最好的。
媒体主要报道的是金字塔的最后一部分,即 AI &深度学习。我们已经不断地听说了这件事。但是它实际上并不是最高优先级的,或者至少不是用最少的努力获得最多结果的事情。这就是为什么人工智能和深度学习位于需求层次的顶部。
尺寸很重要…
图片来自 Pexels 安德里亚·皮亚卡迪奥
既然我们已经了解了数据世界需要什么,那么数据科学家实际上在做什么呢? 公司的 规模是这里的一个关键因素。
让我用下面三个例子来解释一下为什么:
启动
初创企业通常缺乏资源。他们可能只有一名数据科学家。所以一个数据科学家必须做所有的事情。也许他不会做人工智能或深度学习,因为那不是公司的优先事项。
在初创公司工作的数据科学家可能需要建立整个数据基础设施,编写一些软件代码来添加日志记录,然后进行分析和构建指标,并通过 A/B 测试来检查不同的解决方案。
中型公司
但是让我们看看中型公司。最后,他们有更多的资源。他们至少可以将数据工程师和数据科学家分开,将金字塔的任务一分为二。
因此,他们通常会让数据工程师收集数据,并负责所有的 ETL 过程。然后,如果中型公司做了大量需要人工智能的推荐模型或东西,那么数据科学家将负责金字塔的其余部分。
大型公司
大公司可能会有更多的钱,因此他们可以花更多的钱在员工身上。因此,他们可以让许多不同的员工从事不同的工作。这样,员工可以专注于他们最擅长的事情。
因此,举例来说,通过仪器传感器收集数据都是由软件工程师处理的。清理和建立数据管道是数据工程师的工作。因此,数据科学家将只关注分析。那么人工智能和深度学习将成为研究科学家的职权范围,这可能得到机器学习工程师的支持。
作者图片
结论
总之,如您所见,数据科学家没有单一的工作描述,但根据公司的规模,定义会有所不同。
我希望这篇文章能让你对数据科学家的实际角色有更多的了解,如果你考虑将它作为你职业生涯的下一步,你可能想看看你想为之工作的公司的规模,因为这将彻底改变你的职责和整体任务。
请务必联系我,告诉我你所有的建议和意见。
感谢您的阅读!
我正在创建一个与数据科学和分析相关的所有我最喜欢的课程、书籍和用例的列表。点击 链接 即可在免费访问该内容。
[## 用我的推荐链接加入 Medium-Lore 那又怎样
阅读 Lore 的每一个故事那又怎样(以及媒体上成千上万的其他作家)。您的会员费直接支持…
medium.com](https://medium.com/@loresowhat/membership)
数据科学家创造了什么?
以及为什么你,一个有抱负的数据科学家,应该关心
马尔科姆·莱特曼在 Unsplash 拍摄的照片
我的家人要求我解释我是做什么的。我试着解释了很多次都没有成功。大多数时候,对话可以归结为:“好吧,告诉我们你做了什么。你努力的结果是什么?”我开始意识到,当数据科学受到质疑时,即使是这也不是一个容易回答的问题。
这也是互联网上最常见的问题之一。数据科学家提供什么?他们做了什么让每个人都如此兴奋的事?许多想成为数据科学家的人对此并不清楚。这是因为数据科学家没有一件事可以做。你提供什么将取决于你工作的公司和你的公司/雇主对你的工作类型的要求。这就是为什么在申请或接受一份工作之前,了解你将创造什么是了解一个职位不可或缺的一部分。
让我们来看几个例子,看看作为一名数据科学家,你可能会做些什么。看看列表中是否有你最喜欢的。选择工作时,知道自己的偏好会很有用。
- **一个经过训练的模型:**数据科学家分析数据,并在这些数据上训练机器学习模型。在这种情况下,您的主要目标将是根据您的业务需求创建性能最佳的模型。在项目结束时,你将有一个训练有素的模型来交付。
- 一个 API: 制作一个 API 就是为最终用户提供一种以简化的方式与你的模型进行交互的方式。假设您的模型根据邻近地区预测了阿姆斯特丹明天将出售的香蕉数量。然后,您的 API 将以这样一种方式设置,它将接收一个邻居名称并返回香蕉的数量。这只是外界与你的模型互动的一种方式。
- **完整的管道:**在你训练好的模型之上,可能会有一个完整的管道。管道是一个完整的产品,包括读取数据、分析、模型构建,甚至将结果准备成最终用户可以轻松访问的格式。如果你问我,在准备好你的模型(从技术角度来说)之后的一切都不再是数据科学,但一些公司更喜欢那些可以参与数据科学团队产品构建的人。这并不意味着你需要工程技能。很多时候,你可能是构建整个管道的更大团队的一员。
- **分析结果演示:**该交付件可以单独请求,也可以与其他交付件一起请求,这种情况很常见。你不仅要分析数据和建立模型,还要以一种易懂清晰的方式展示你的工作。大多数情况下,这个可交付成果是从您的工作中得出结论所必需的,并且有可能影响业务决策。你在这里需要的关键技巧是用非技术人员可以理解的术语解释一个复杂的过程。
- **一份报告:**有可能没有人会主动和你的模型互动,会是阶段性的工作。在这种情况下,该模型将被安排为每周运行一次,并生成某种报告。该报告可以是对数据进行分析的结果,也可以是对某个值的预测。格式可以是任何东西,一个 excel 表,一个 csv 文件,甚至可以是某种可视化或可视化。
- **仪表板:**这是我最不喜欢的交付品。有时,公司需要你准备一种方法来与他们拥有的数据进行交互。虽然这更像是数据分析师的工作,但我已经看到许多公司让数据科学家来做。
- **建议:**有时候,业务人员需要数据科学家来理解数据发生了什么,并向他们解释。你可能会说这听起来像是数据分析师的工作,但不一定。随着人工智能伦理和可解释性的最新需求,公司希望了解 ML 模型如何如此好地拟合他们的数据,以及为什么。因此,你的责任可能不仅限于表现非常好的模型。您可能需要准备一个解释,说明为什么某个模型符合数据,以及哪些要素解释了预测值的变化方式和变化量。
到目前为止,这些是我见过或听过的数据科学家交付的最常见的产品或交付品类型。你可以在上听到许多嘉宾提到这些,所以你想成为一名数据科学家?播客。尽管它们看起来不同,但很多时候你做的工作是相似的:分析和建模。改变的是你最终呈现的结果。
然而,你努力的目标将是你工作的一大部分。对你正在准备的东西感到有动力是很重要的。所以一定要在求职面试中提出来。了解作为一名数据科学家,你将承担什么样的责任。这不仅会显示出你真正的兴趣和知识,还会让你对你申请的工作有更深刻的了解。
🐼想更多地了解熊猫吗? 获取我的免费熊猫小抄。
一个数据科学家每天都在做什么?
对数据科学家职业生涯的逐时观察
对于数据科学家的日常工作,存在一些误解和困惑。对于他们交付什么,他们做了多少编码,他们和谁一起工作等等,似乎没有一个清晰的理解。这当然不是没有原因的。数据科学家的日常工作在很大程度上取决于公司、团队结构、个人,有时甚至取决于他们所在的行业。但我相信每个数据科学家在日常工作中都会经历一些共同的事情。
在本文中,我将一小时一小时地分享数据科学家的工作,让您更好地了解这项工作需要什么。作为背景,我将谈论一个在一家公司的数据科学团队工作的人。我们将从被分配到一个新项目到交付一个项目开始。当然,一个典型的项目持续的时间要比几天长得多,但是为了这个例子,让我给你一个压缩的时间表。
第一天
上午 9 点
你的主管找你谈一个新项目。你公司的团队 A 需要对他们的数据做些什么。但是你的主管也不知道他们需要什么,因为他们不能很好地向他/她解释。你告诉你的主管你会和他们联系。
你发一封电子邮件或者打电话给请求这个项目的人,和他们以及他们团队中的其他人安排一次会议。
上午 10 点
你在主管的陪同下去参加会议,试着了解他们想要什么。原来他们从其他团队那里听说你预测了他们的 xyz,这真的很有用。他们问你是否能预测他们与 xyz 非常相似的 abc。他们认为,既然您可以使用相同的型号,就不应该花这么长时间。
你向他们解释,即使 xyz 和 abc 非常相似,你也需要使用他们的数据建立一个全新的系统。你告诉他们这个项目需要一些工作。
他们说会给你寄一些数据样本。你同意调查他们的数据,并与他们再次会面,进一步讨论这个问题。
上午 11 点
你接收到少量的数据并熟悉它。你记笔记,写问题,让下一次会议更有效率。
下午 1 点
你与团队 A 会面,以便更好地了解他们需要什么。你听听他们对这个问题的看法。他们使用许多他们领域特有的行话和关键词。每次你有不明白的地方,你都会要求澄清。你也可以在研究数据时问你准备好的问题。你和他们谈得越多,你就越能意识到他们需要的和他们认为的完全不同。
你向他们解释这一点,并告诉他们为什么他们需要的东西不同而且简单得多。
你解释了机器学习的能力和局限性,甚至是一点点关于机器学习模型是如何工作的。
讨论的结果是,你同意了项目的暂定目标。你告诉他们,你需要首先更好地理解问题,然后你可以根据需要修改目标。
下午 2 点
你会接触到一些对团队 A 的系统如何工作有更深入了解的人,还有一些知道团队 A 的数据是如何收集的人。你采访他们以了解领域、数据收集过程和例外情况(如果有的话)。
下午 3 点
你想出一个如何进行项目的计划。你一定要考虑你即将开始的项目的人工智能伦理含义,并记下它们,以便与你的利益相关者(如果有的话)进行讨论。
下午 4 点
你与团队中的其他数据科学家交谈,向他们解释你的方法,并获得他们的反馈。
您根据与领域专家和同事的交谈修改您的计划和目标。
第二天
上午 9 点
你与你的利益相关者会面,向他们展示你修改后的计划。你谈论你从团队 A 领域的专家那里学到了什么,你如何相应地修改目标,你需要注意的潜在道德问题,以及你提出的建议方法。
您与他们讨论内容,并提出交付内容和时间表。您还同意在项目期间定期会面以更新他们。
上午 10 点
你收到所有的数据,并开始探索它。您进行可视化并仔细观察数据,以了解更多关于以下方面的信息:
- 特征的分布
- 缺少值
- 数据中的不平衡
- 对某一种族、性别、民族或其他群体的偏见
- 根据数据法则,您可以使用或不可以使用哪些功能
如果数据有任何问题或者你不能理解的东西,比如一个令人困惑的特征名称,你可以回到你在团队 A 中的联系人那里,他知道这些数据并要求他们澄清。
上午 11 点
您将从数据中获得的发现准备成可展示的内容,并将其发送给您的利益相关者或自己展示。如果您的发现带来了新的挑战或影响,您可以与他们分享,并讨论重新调整目标和方法。
下午 1 点
您再次对数据进行处理,找出可以用于手头目标的其他数据源。你对公司内部其他免费可用的数据集以及互联网上可以支持这个项目的其他付费或免费数据源进行了一些研究。
第三天
上午 9 点
您将所有的数据汇集在一起,再次进行探索,这一次要为训练准备好数据。这样做时,您可以:
- 检测和处理异常值
- 找到缺失的价值点,并决定替代或消除它们的方法
- 想办法把你的分类特征包括进去
下午 1 点
你想出一些新的特征来生成。与其他团队成员一起集思广益,讨论如何增加、合并或改变您所拥有的功能,以帮助算法获得更好的性能
根据您所拥有的质量/可用数据的数量,您决定所需的测试数据的数量。您还可以决定如何分割数据,因为这个决定取决于问题的类型。
下午 4 点
您花了一天的大部分时间来清理、生成新特性并准备好训练和测试集。从现在开始,你要专注于训练模特。但是在你开始建模之前,你必须确定这个项目的成功因素。
您根据利益相关者的需求来决定您将使用的评估指标。你再次与他们交谈,以确保你将结果优化到他们需要的程度。您向您的利益相关者解释这一点很重要,因为如果您使用了错误的评估指标,您将为错误的绩效类型优化模型。如果有了错误的性能类型,即使模型表现得非常好,它也可能最终对您的利益相关者不可用。
第三天
上午 9 点
你决定了几个适合这类问题的模型。
您构建第一个模型,并使用您确定的一个或多个评估指标来评估性能。
下午 2 点
您尝试不同的设置和超参数值来提高模型的性能。
第四天
上午 9 点
在实现和训练了几个不同的模型之后,你选择了最有希望的一个。为了获得更高的性能,您尝试创建一些新功能并排除一些功能。
根据您使用的模型,您可以检查功能的有用性,以查看哪个功能有助于模型更好地预测。
下午 1 点
当你达到一个可接受的性能水平后,你就完成了关于你的代码和你在开发过程中编写的模型的文档。
你准备内容以一种可理解的方式展示你的结果。
下午 3 点
你向你的利益相关者展示你的结果,提及你对他们的系统发现了什么,还有什么可以改进的。你同意在一定时间内准备好模型供使用。
第五天
上午 9 点
你与某个将要使用你的模型输出的人取得联系。他们更详细地解释了他们需要的结果格式。
上午 10 点
您会见了一位开发/运营工程师来帮助您部署您的模型。你告诉他/她这个问题,你的模型,你需要数据如何进来,你的模型会产生什么。你们一起制定部署计划。
下午 1 点
您完成代码和文档,并将其发送给开发/运营工程师。当他准备将 it 整合到您公司的生产中时,您与他保持密切联系,回答问题并解决出现的问题。
下午 2 点
同时,您向您的客户团队 A 发送信息,告诉他们一旦部署了您的模型,他们可以如何开始使用它。
下午 5 点
当你结束一周的工作时,你和你的同事谈论一周的工作。你为自己是一名出色的数据科学家而感到自豪。
你接受对你努力工作的赞美。
就是这样!你度过了忙碌的一周,但当你看到你所创造的成果时,一切都是值得的!
我希望你喜欢这个关于数据科学家一周生活的小故事。请记住,这不是对数据科学家工作的完美描述,它仅仅是我的经验和我从播客嘉宾或同事那里听到的故事的结合。根据公司的不同,数据科学家可能有更多或更少的职责。毕竟每个公司都是独一无二的。
我知道有些事情是数据科学家职责的一部分,例如,维护以前构建的模型、每周团队会议、与利益相关者定期开会以让他们了解您的最新进展、实际安排与大组织中的人开会需要多长时间,以及部署您的模型实际需要多长时间。
当然,你也可能想找一个自由职业者的职位,不用说,那种数据科学工作看起来会非常不同。
我写这篇文章的目的是让您稍微了解一下数据科学的世界。希望我实现了!请在评论中告诉我你对此的看法。
👉对数据科学领域以及如何开始学习感到困惑? 免费参加数据科学入门迷你课程 !
关于数据科学,公共卫生学位教会了我什么
为什么公共卫生研究生课程值得你考虑
我看到无数的文章、博客帖子和推文热烈支持或反对为了进入数据科学领域而追求更高学位的想法。我认为这场辩论过于依赖背景,不可能有一方获胜,但大学毕业后追求更高的学位对我来说是正确的道路。通常,我在这些对话中看到的学位只有数据科学、计算机科学和统计学的硕士和博士学位。虽然所有这些学位对数据科学都有明显的价值和相关性,但我想在对话中引入公共卫生学位。
公共卫生领域是关于保护和改善公众健康的,它有一系列广泛的子领域。其中的两个,流行病学和生物统计学,是高度定量的,并且与数据科学有许多共同之处。流行病学是对疾病和其他健康相关状态和事件的分布和决定因素的研究,而不出所料,生物统计学主要关注与健康和医学相关的统计方法。我完成了为期两年的流行病学公共卫生硕士(MPH)课程,并在攻读学位期间获得了宝贵的技能和概念知识。
那么,是什么让这个学位如此适合数据科学职业呢?最重要的是,许多可用的课程都可以直接应用于数据科学领域的职业。课程包括数据科学、机器学习、SQL、地理空间分析、回归、纵向分析以及一系列高级统计方法和研究设计方法*。如果你对数据科学中最重计算机科学的分支(例如数据工程)感兴趣,现有的课程可能不够用,但对于寻找更多分析职位的人来说,有很多东西可以学习。
*注意:各学校在优先考虑 R 和 SAS(广泛用于政府和非营利机构)编程语言的程度上有很大差异,这是在考虑课程时需要考虑的重要因素。一些学校已经在很大程度上过渡到 R,而其他学校仍然坚定地致力于 SAS。在许多情况下,像我一样,你可能两者都学,但严重依赖其中一个。
值得注意的是,“数据科学”这个术语本身是从 2001 年才出现的。然而,流行病学家和生物统计学家几十年来一直在使用数据科学保护伞下的许多技术。在购买研究生课程时,这种寿命是重要的考虑因素。虽然数据科学学位项目在过去几年里层出不穷,但大多数公共卫生学校存在的时间要长得多。这意味着他们有时间管理他们的教员,多次开发课程,并建立强大的校友网络,这对你以后的职业生涯是一个重要的资源。在教授们解决他们课程中的问题时,你不会是最初几个班级的学生之一——相反,你很可能是一台运转良好的机器的一部分,在这台机器上,教授们已经一起工作了多年,开发出了相互补充的课程。
也许流行病学课程的最大好处是它为思考数据提供了丰富的背景。流行病学的最终目标是超越相关性以建立因果关系,并且非常关注研究设计、潜在的偏倚和复杂统计方法的正确使用,以实现这一异常困难的目标。风险也很高——流行病学工作被用于制定临床、政策和资金决策,产生非常真实、非常人性化的后果——因此关于数据质量和统计有效性的问题受到了重视。在这个学位项目上学习两年后,我看待数据的方式完全不同了。我的直觉是批判性地思考我们在数据中真正捕捉到了哪些人口(与我们想要捕捉的人口相比),以及基于数据收集过程我们可以有效地回答哪些问题。虽然查找图像分类教程并训练一个模型来检测皮肤图像上的恶性肿瘤是相当容易的,但流行病学家被训练成对数据进行批判性思考,例如质疑该模型是否是使用全范围的肤色训练的(通常不是),以及如果不这样做可能会对模型在已经被边缘化的人群中的性能产生影响。这些问题在医疗保健之外也有重要的后果(想想警察部门使用的面部识别软件),流行病学培训使识别和应对这些破坏性陷阱变得更加容易。流行病学思维在更良性的环境中也是一种资产,比如考虑你的销售数据是否准确地代表了你的所有客户,或者你是否能真正将销售的变化归因于广告活动。
如果你对医疗行业的数据科学工作感兴趣,公共卫生学位尤为重要。在现实世界的问题背景下,通过真实的医疗保健数据来学习统计学和算法的用法是非常有价值的,并且有许多选修课可供您选择,以更好地了解您将要处理的疾病的临床知识。这些课程,如“癌症流行病学”或“精神病学流行病学”,也涵盖了最常用于研究这些疾病的研究设计和分析技术——这些材料你可能不会在标准的统计学或数据科学学位中涵盖。许多后来进入医疗保健行业的数据科学家缺乏这种行业特定的知识,这可以让你在申请过程中脱颖而出,也让你更容易做好工作。
最后,大多数著名的公共卫生项目保证你毕业时有非常有市场价值的经验。同样,这些项目已经存在了几十年,这意味着它们有时间与各种公司和组织发展关系,可以帮助你获得成功。我的学校要求在项目的第一年和第二年之间有一段“实习”经历(实质上是实习),并在寻找和获得这些宝贵机会方面提供帮助。有了这一要求和支持,在医疗保健公司或相关组织获得数据科学经验变得容易得多,这也可能导致未来的工作机会。此外,大多数项目要求毕业论文。虽然流行病学和生物统计学硕士论文通常远没有博士论文那么令人生畏,但它们本质上是可发表的长达一年的数据科学项目,可以为你的简历和求职面试提供出色的经验。
虽然我的 MPH 经历非常积极,对我来说是正确的选择,但我坚信追求任何高级学位的决定都是高度个人化的,取决于你独特的环境。然而,我确实相信,如果你正在寻找一个学位项目,特别是如果你的长期目标是在卫生领域工作,那么公共卫生的定量学位更值得你考虑。
一个 AI 系统怎么看待奥地利?
关于 GTP2 语言模型的一些实验
www.pexels.com T2
自然语言处理(NLP),即计算机程序以这种方式理解人类语言的能力,是人工智能(AI)的一个应用领域。用大量文本创建(“训练”)的语言模型是 NLP 的重要基础。这些文本通常来自互联网上发表的文章,因此反映了作者的观点。
大量使用这种“训练文本”的现代语言模型是否代表了普遍观点?
在这篇文章中,我想通过一个关于奥地利观点的语言模型来研究这个问题。
使用了来自“Open AI”的模型“ GPT2 ”,这是一个强大的英语系统,它是用 40GB 的文本数据创建的。我使用最大的可用变量,其中优化了 15 亿个参数。
Max Woolf(“gp T2-simple”)的实现是在“ Google 联合实验室”上进行实验的基础。
如果你想了解更多关于 GPT2 的信息,你可以在这里找到介绍:
试验 OpenAI 的 GPT-2 算法并学习其源代码
medium.com](https://medium.com/analytics-vidhya/understanding-the-gpt-2-source-code-part-1-4481328ee10b)
我们从在 Google Colab 中安装和导入所需的包开始。
然后我们下载模型。
我们现在可以使用语言模型来继续给定的文本。通过选择一个合适的起始文本,我们试图找出语言模型对奥地利的“想法”。
通过设置参数来确定文本应该有多长(长度),我们想要多少不同的延续(样本),以及模型应该有多“有创意”(温度),我们让模型生成新的文本。
让我们看一些初始文本和延续的例子:
“奥地利最受欢迎的人是……”
- 奥地利最受欢迎的人大概是社民党党首加布里尔。他的政党在 2016 年 10 月的议会选举中赢得了最多的选票
- 在奥地利,最受欢迎的人仍然是女王,但是越来越多的人喜欢…
- 在奥地利,最受欢迎的人几乎总是拥有最豪华的汽车,也是全世界羡慕的汽车。
该系统似乎不太确定奥地利最受欢迎的人。在这里,我们这个小国与欧洲的大邻居德国(“社民党老大加布里尔”)和英格兰(“女王”)混为一谈。对于一个“美国语言模型”来说,这是意料之中的。第三个答案不仅幽默,或许还很贴切,即使不仅仅是在奥地利。
“奥地利最美的地方是…”
- 奥地利最美的地方是维也纳附近的山谷。山谷的顶端是斯特劳斯巴赫村。
- 奥地利最美丽的地方在维也纳附近,这个美丽的地标将会变得更加美丽和华丽,因为它将被卖给俄罗斯开发商 STX。
- 奥地利最美的地方是维也纳附近的双年展艺术别墅,它以古老的乡村风格装饰。
这里的焦点是维也纳及其周边地区。
“在奥地利的历史上,经常有……”
- 在奥地利的历史上,经常有这样的例子。一个国家的人民,生活在这样一个问题几乎是未知的时代,抗议国家社会主义
- 在奥地利的历史上,经常有与中国人有关的问题。
- 在奥地利的历史上,很少有邻居在和平与睦邻关系中并肩生活和工作。
一些历史知识似乎是有的。但事实上,与中国的关系经常出现问题,这似乎有点奇怪。
“奥地利最受欢迎的运动是…”
- 在奥地利最受欢迎的运动仍然是足球,在维也纳,它也是最受欢迎的运动。
- 奥地利最受欢迎的运动是跑步。每年都会举办一些户外联赛,还有几个以高中为基础的跑步俱乐部。
- 在奥地利最受欢迎的运动是足球,但其他形式的运动也变得很受欢迎。
足球作为最受欢迎的运动当然是真的,但它也可能是一种侥幸,因为这是许多国家的真实情况。奥地利跑步的重要性被误判了。对我们来说如此重要的冬季运动却一无所知,这有点令人惊讶。
“奥地利的气候是……”
- 奥地利的气候温暖而温和。7 月平均最高气温为 11℃,最低气温为-2℃,最高气温出现在 12 月。
- 奥地利的气候与欧洲其他地方不同。每年夏天,白雪覆盖了这个国家的一些最高的山脉,这个国家经历了地球上最温暖的夏天。
- 奥地利的气候当然非常温暖,这是一个与圣贝纳迪诺恋爱的好理由。
天气一直被认为是温暖的,这在气候变化的背景下并非不准确。然而,温度数字并不匹配。
总之,值得注意的是,语言模型能够写出语法正确的句子,而不是完全随机的废话。但是该模型的事实知识是大量非结构化文本的结果,是相当不可靠的。
如果您想尝试自己的启动文本,您可以在以下网址找到完整的 Google Colab 文档:
实验
使用 GPT 2 colab.research.google.com](https://colab.research.google.com/drive/1_1iiwkrKZ4TiKXqv50a73DqfU0jRfJZd)
计算机视觉在 2020 年美国大选新闻提要中看到了什么?(第二部分)
第二部分——使用 Python 可视化人工智能注释图像的分步指南;2020 年美国大选图像分析
来源:Unsplash.com 搜索词:唐纳德·特朗普;Srinivas Vadrevu 的分析
person= You; #yes its you,dear reader!
print("Thanks for viewing this article")If Person.read_article([Part1](/what-does-computer-vision-see-in-the-us-election-2020-news-feed-part-1-2-a558ec7ccaa0))= False:
print("Please check out the Part 1 of this series..") urlopen([Part1](/what-does-computer-vision-see-in-the-us-election-2020-news-feed-part-1-2-a558ec7ccaa0)) #please click on the Part1 hyperlinkunlock(Part2) # else unlock part2
print("Please scroll down. Happy reading!") |
在我写这篇文章的时候,美国大选正一步步接近边缘。拜登-特朗普的票数为 264-213,拜登还需要 6 票才能赢得选举。我想知道前一段时间的差距有多小(224-213),我认为这些数字源于他们竞选的活力和一年多来的媒体报道。在阅读了第 1 部分之后,您现在已经有了一个关于美国选举的大量图像分析数据集,并且您已经准备好通过可视化引擎来搅动它以获得洞察力。这篇文章更像是可视化图像分析的指南,而不是见解本身。因此,我首先从可视化的代码、解释和结构开始,然后从新闻提要中获得一些见解
2A)图像分析数据的可视化方法、代码和图示
为了便于说明,我从 Unsplash 收集了一些图像,展示如何处理和可视化图像网格中的数据。是的,我们将在坐标轴上绘制图像,就像您绘制数据点一样!
因此,我在unsplash.com上搜索了“唐纳德·川普”和“乔·拜登”,为每个查询词找到了大约 15-20 张图片。
对于“Donald Trump”和“Joe Biden”的这几批 URL,我调用了 runvisionai 函数(如果您绕过了开放代码,请参见 Part1 了解更多信息)来构建广泛的特征类别级别数据集。
你还记得 label_df 数据帧吗?我将它或它的子集分配给 test_label。
test_label=label_df['source_term'=="Donald Trump_site:Unsplash.com"
test_label['Query/alt'].fillna("NA", inplace = True)
test_label=test_label.sort_values(["img_num"],ascending=(True))
display_images(test_label)
从这里开始,有许多可能的方法来可视化图像数据集。TI 希望构建一个视图,为我提供一个网格中所有图像的一站式概览,以及与第一个图像网格结构类似的另一个网格中每个图像的相应特征图表。
比方说,我想显示唐纳德·特朗普图像子集中所有图像的网格,其中云视觉 API 已经注释了至少一个标签。我想设计一个函数,允许我传递子集’ test_label '数据帧并检索图像网格。创建我的代码模式的需求如下所示:
图 1:以类似网格的方式表示图像的草图
- 我需要整个网格的主要情节和图像网格的每个 URL 图像的子情节。(Gist2) →
- 我传递一批图像 URL 并提取不同的 URL(gist 2)
- 根据图像的数量,我设置了我的子情节尺寸(行、列、宽和高)。为了更容易阅读,我将网格的列数限制为 4。
对于每个 URL,我将使用 Python 图像库(PIL)打开、读取并转换 URL 为 PIL 图像(Gist1 中的函数在 Gist2 中调用)→
对每个 URL 的循环运行显示每个子情节中的图像,并重复它,直到所有图像都被绘制出来。
要点 1:从 URL 返回 PIL 图像的函数
要点 2:在网格中绘制图像
2a.1 标签识别和可视化:
上述函数的输出是所有图像的一站式概览网格,Cloud Vision API 为这些图像识别了至少一个标签。您可以在下面找到它:
图 2:所有已经被 GCP AI 的 label_detection 标注的图片的图像网格。来源 Unsplash.com;搜索词:唐纳德·特朗普;Srinivas Vadrevu 的分析
对于上面的网格,我想以同样的顺序绘制标签图表,以便快速浏览标签网格中的关键趋势。如果一张图片弹出了任何有趣的标签,我需要在标签网格中找到与标签条形图坐标相同的对应图片。标签网格的逻辑与图像网格非常相似。您可以在下面找到代码:
要点 3:在标签网格内绘制标签图表,其尺寸与图像网格相同
我使用条形图来表示标签,按照置信度得分的降序排列。上面图像的标签网格输出如下图所示。让我们仔细看看下面的图像 9(第 2 行:第 3 列),并在图像网格的(第 2 行,第 3 列)中找到它的对应图像。
图 3:在与图像网格具有相同尺寸的标签网格内绘制的标签条形图子图,其中 y 轴为标签,x 轴为置信度得分;Srinivas Vadrevu 的分析
图 4:支线剧情中的 Img9 来源:https://unsplash.com/photos/s8RnzkNHrcM;
例如,IMG-9(下面网格中的 2x 3)的标签不同于其他标签条形图。主要的标签是**雕像、玩具、缩微模型、卡通、纪念品和活动人偶。**您可以通过查看图 4 中的图 9 来确认这一点
我可以即时想到一些应用程序。其中一个是在家庭安全领域,当 CCTV 图像馈送同时检测到抗议和人群标签时,就会触发移动通知来通知住户。
2a.2 目标检测和可视化
逻辑和代码与标签检测和可视化部分非常相似。逻辑相同,但结果略有不同。除了服装和配饰,照片中没有任何引人注目的东西。图像加载后,您可以放大查看下面的图像和对象网格。
图 5:所有图片的图像网格,已经由 GCP AI 的 object_detection 注释。来源 Unsplash.com;搜索词:唐纳德·特朗普;Srinivas Vadrevu 的分析
图 6:y 轴为对象,x 轴为置信度得分的对象子图,绘制在与图像网格(左)具有相同尺寸的标签网格内;Srinivas Vadrevu 的分析
2a.3 .人脸检测和可视化:
要点 4:在一个与图像网格尺寸相同的网格内绘制面部情感线
对于人脸检测和可视化,我不得不稍微修改一下代码。对于每张脸,我们有五种不同的面部情绪/特征:快乐、悲伤、愤怒、惊讶和模糊。除了这些,还有曝光和头套功能。对于这个项目,我需要情感分数和一个非情感特征来观察和比较。
每种情绪都按照 0-5 的可能性评分,其中
0:未知,1:非常不可能,2:不太可能,3:可能,4:可能,5:非常可能。
我想在 x 轴有分类值的点状图中表现情感。因此,我将数据集的跨选项卡结构扁平化,将不同列中的情绪放在一列中。情感网格和图像网格按照这个顺序绘制在下面。
从下面的情绪网格中,你可以观察每张脸在每种情绪下的得分。图 6 是脸部和他们的情绪的鸟瞰图。
如果你想描绘每张图片的情感,我更喜欢为图片中的每张脸创建一个边界框,并在框的旁边显示情感。从下面的表格中可以清楚地看到,前三张图片包含了一个快乐的人。你能在图像网格中找到它们吗?
图 7:在与图像网格(左)具有相同维度的网格内绘制的 y 轴为似然性度量,x 轴为情感类别的面部绘图线;Srinivas Vadrevu 的分析
图 8:GCP AI 人脸检测标注过的所有图片的图像网格。来源 Unsplash.com;搜索词:唐纳德·特朗普;Srinivas Vadrevu 的分析
2a.4 颜色识别和检测:
Gist5:将 colors_df 中的 RGB 值转换为十六进制格式
这类似于面部情绪,因为每种颜色都有红色、绿色、蓝色、alpha 和像素分数值。我将 RGB 值转换成十六进制值来标记颜色。我使用树形图来绘制颜色和像素分数值,以显示颜色组成。
图 9:在与图像网格尺寸相同的网格内绘制的彩色树形图(左);Srinivas Vadrevu 的分析;资料来源:unsplash.com
您可以看到红色、黑色、灰色和棕色是唐纳德·特朗普相关图片的常见颜色。
2a.5 安全搜索检测和可视化
除此之外,您还可以检查安全搜索的显式参数。您可以对成人、医疗、欺骗、暴力和色情图片使用可能性度量。我已经采取了 4 张插图的照片。在下面的例子中,第一个和第四个图像是欺骗,图表证实了这一点。
图 10:在与图像网格(顶部)具有相同尺寸的网格内绘制的安全搜索绘图线,其中在 y 轴上是可能性度量,在 x 轴上是安全搜索类别;Srinivas Vadrevu 的分析;资料来源:unsplash.com
准备好 AI 图像注释和可视化的代码后,我们现在可以将该算法部署到
- 分析网站、google images 或使用 NewsAPI 中的图片
- 构建强大的影像分析数据集,以及
- 创建要素的鸟瞰图可视化,以获得洞察力。
2b。计算机视觉在美国选举新闻提要中看到了什么?
一、新闻文章
来源:我拿了两个主流媒体网站,了解他们报道 2020 美国大选新闻时对图像的选择取舍。他们的网站链接如下。我所使用的方法非常类似于上面概述的用于 Unsplash 图像的方法。
竞选过程中你需要知道的:特朗普总统将访问密歇根州、爱荷华州、北卡罗来纳州、乔治和…
edition.cnn.com。](https://edition.cnn.com/politics/live-news/us-election-news-11-01-2020/index.html) [## 随着竞选接近尾声,早期投票接近 1 亿张
特朗普总统正在前往他在民调中落后的四个关键州,并已经准备好挑战…
www.nytimes.com。](https://www.nytimes.com/live/2020/11/02/us/trump-biden-election)
我将过去 12 天,即 10 月 20 日至 10 月 31 日,作为本文的样本。我建立了图像分析数据集,并为这段时间内发布的所有图像创建了可视化效果。我发现将时间范围划分为 3 天的窗口更容易,以确保每个窗口中有足够的图像进行有意义的分析。在这一部分中,我将集中讨论关于标签、物体、地标和标志的出版物之间的区别。在下面的所有图表中,x 轴代表计数,y 轴代表特征。我通过在 5x2 的网格中改变 3 天的窗口和网站来绘制带注释的标签、徽标和对象。
就标签而言,您可以查看链接中的图片,并与下面的图表进行比较,以区分突出的标签。
10 月 29 日至 31 日:与 CNN 相比,NYT 在这一时期似乎有许多主题和注释标签。有趣的是,你可以观察到右边有不少汽车相关的主题——{机动车、汽车设计、汽车外观、汽车、陆地车辆、车门}。在左侧,您可以找到与航空旅行/飞机相关的标签。一些照片可能是在不同州的竞选集会上登机或下飞机时拍摄的。颜色标签,红色和蓝色,是两个网站通用的。
10 月 26 日至 28 日:右边的标签又多了很多种类。有趣的是,你可以在 NYT 图像中观察到建筑、建筑和罗马神庙的主题。如果我没有看图像就看到了这些图表,我推断左边的照片是带有美国国旗的演讲照片和飞机着陆后/登机前的照片。右边的照片似乎包含了更多充满活力的主题,如大都市、建筑、城镇、高能见度服装、城市和地标以及演讲。我推测,由于主题的多样性和活力,后一组标签可能比前一组标签在网站上有更多的参与度。
您可以将单个标签链接到网站参与度指标,如跳出率、会话持续时间、页面/会话,以查看是否有任何标签持续推动更好的网站参与度表现。
10 月 20 日至 25 日:类似上述观察。如果你发现其他有趣的模式,请在文章中评论。
图 11:标注在三天窗口和新闻网站上的标签;Srinivas Vadevu 的分析
如上所述,我也绘制了人工智能识别的物体和标识。你可以在下面放大查看。同样,与左侧相比,图表右侧的徽标种类更多。
图 12:标注在三天窗口和新闻网站上的徽标(网格行:时间窗口,网格列:网站;Srinivas Vadevu 的分析
图 13:跨三天窗口和新闻网站标注的对象(网格行:时间窗口,网格列:网站);Srinivas Vadevu 的分析
从图片中识别的地标以及经度:
从地标数据中,你也可以在图片中看到人工智能识别的地标的经度。你可以在下面查看它们的开普勒图像。
图 14:从新闻网站识别并在开普勒上绘制的地标的可视化;Srinivas Vadrevu 的分析
其他特征:颜色和面部表情会产生有趣的视觉效果。我发现许多图片经常投射出快乐,偶尔会依次出现模糊、愤怒和悲伤。
我没有探索过面部的物理特征,比如滚动、倾斜、平移角度、面部界标以及边界多边形之间的距离。但是一些想法可能会很有趣。例如,人脸的边界框可以用于自动进行社交距离检查。您可以映射识别的人脸数量、一个人是否戴着面具(标签/物体),以及人脸边界框之间的距离,以检查是否遵循社交距离。
二、议案谷歌搜索对比了反弹:
为了查看多个新闻网站的图片,我使用谷歌图片提取了所有与总统候选人集会相关的图片。在本例中,我将搜索查询“拜登集会 2020”得到的图像与查询“特朗普集会 2020”得到的图像进行了比较。对于这些查询,我提取了 100 个图像,每个图像都用于注释和分析。在所有可视化效果中,拜登拉力赛的图像在左侧,特朗普拉力赛的图像在右侧。
标签
- 这些标签对两种查询都很常见:人群、粉丝、观众、人物和粉丝——这些都是你在集会照片中所期望的。
- “特朗普拉力赛 2020”场景中的图像也有标签,如体育场、竞技场、运动场馆、大会和运动场。我们可以推断,这些地方是唐纳德·特朗普(Donald Trump)集会演讲的热门拍照地点。
- 就乔·拜登的集会图像而言,诸如新闻发布会、新闻、机动车和欢呼之类的标签与通用标签一起出现。
物体:
- 特朗普集会图像中的物体也出现在拜登的集会图像中。这两个查询的共同对象是西装、外套、衣服、领带、旗帜和外套。这些通常是从他们的服装中识别出来的物品。
- 与特朗普的集会图像相比,乔·拜登的集会图像似乎有更多种类的物体。乔·拜登(Joe Biden)集会照片中的独特物品是汽车、麦克风、手机、太阳眼镜、行李包、衬衫和服装。
- 有趣的是,汽车和机动车似乎在乔·拜登的标签和物品中很常见。即使在第一组网站图像分析中,机动车也经常出现在乔·拜登的图像中。
标志:
您可以查看下面的徽标图表。为了得到至少 5 个标识,我将标识识别置信度分数放宽到 0.5,而不是我用于标签和物体的 0.9。下面的图表中有人工智能为每个查询识别的公司标志列表。在某些情况下,它运行良好。例如:本图中阿迪达斯标志置信度为 0.8 分。
对于大多数其他情况,置信度得分在 0.5-0.6 之间,所以要有所保留。例如,在这张图片中识别出了 WeWork 徽标。我不确定从图片上看是否明显。你可以试着发现它——一个寻找瓦尔多的练习。
图 15:为源自拜登拉力赛 2020 的谷歌搜索的图像标注的标签(左)和源自特朗普拉力赛 2020 的谷歌搜索的图像的标签(右);Srinivas Vadrevu 的分析
图 16:为来自拜登拉力赛 2020 的谷歌搜索的图像标注的标识(左)和来自特朗普拉力赛 2020 的谷歌搜索的图像的标识(右);Srinivas Vadrevu 的分析
图 17:为源自拜登拉力赛 2020 的谷歌搜索的图像注释的对象(左)和源自特朗普拉力赛 2020 的谷歌搜索的图像的对象(右);Srinivas Vadrevu 的分析
面孔:
快乐是最常见的面部情绪,其次是模糊的特征。两个查询的每个情感得分的中值是 1(不太可能检测到情感)
图 18:源自拜登拉力赛 2020 的谷歌搜索的图像的面部情绪网格(左)和源自特朗普拉力赛 2020 的谷歌搜索的图像的网格(右);Srinivas Vadevu 的分析
颜色:
这两组的颜色 RGB 和像素分数绘制如下。
图 19:来自拜登拉力赛 2020 的谷歌搜索的图像的彩色网格(左);来自特朗普拉力赛 2020 谷歌搜索的图像的颜色网格(左)
结论
如果一张图片对消费者来说值一千个字,那么随着人工智能和计算机视觉算法的兴起,它对组织的价值会放大数倍。我们已经看到,计算机视觉可以解开仅来自图像的巨大数据仓库。在美国选举新闻源图像分析的情况下,我们可以提取大量的图像数据集,并搅动它们以产生洞察力。您可以在现有项目中使用这些文章中概述的代码,或者将其扩展到新的应用程序中。
如果我们可以使用这些图像数据点作为前因或独立变量来解释对结果 KPI 的变化/影响,许多应用和操作化将会实现。一些例子包括:
- 在这种新闻提要的情况下,我们可以观察到结果度量增加的趋势,例如,当选择了具有特定特征集的图像时,知道该新闻文章的印象数、阅读数和花费的时间。
- OTT 平台的缩略图可以通过颜色、情感、姿势、标签和她通常使用的缩略图的对象属性来识别客户偏好,从而实现个性化。对于未来的发布,该平台可以通过将焦点客户偏好映射到存储库的图像属性,从新的电影图像存储库中识别缩略图选择。
- 对于产品公司,您还可以通过对用户社交媒体帖子的图像情感分析来了解用户如何参与产品,并使用标签和对象功能对消费者进行细分。
- 这也可以应用于监控和安全领域——当某些特征出现在来自 CCTV 馈送的图像中时进行识别和触发通知。
- 或者,尝试通过这种算法将你的照片标记到你的照片上,让数据揭示你的摄影风格(从角度数据点)
我认为,在使用人工智能和图像分析的洞察力和可视化方面,我们只是触及了表面。快乐探索数据的海洋!
文章中使用的图片来源:
下面是我用来绘制图像网格的 Unsplash 的图像。感谢所有的摄影师。
2014 年 10 月 18 日在宣布竞选总统之前,唐纳德·特朗普参加了国会议员史蒂夫·金的筹款活动…
unsplash.com](https://unsplash.com/photos/wUbxCL-WXow) [## Sebastian Pociecha 在 Unsplash 上拍摄的照片
下载 Sebastian Pociecha 拍摄的德国科隆服装、服饰、风帽和毛衣的免费高清照片…
unsplash.com](https://unsplash.com/photos/D86EPYMO6iE) [## roya ann miller 在 Unsplash 上拍摄的照片
下载这张由罗亚·安·米勒拍摄的美国华盛顿的人、人、人和华盛顿的免费高清照片…
unsplash.com](https://unsplash.com/photos/xsdFiNPV0nc) [## 克里斯·博斯在 Unsplash 上的照片
下载克里斯·博斯在美国纽约拍摄的人、人、配件和附件的免费高清照片…
unsplash.com](https://unsplash.com/photos/5dGzPxy-qlk) [## 米歇尔·邦克斯基在 Unsplash 上的照片
下载米歇尔·邦克斯基在美国北卡罗来纳州阿什维尔拍摄的特朗普、政治、阿什维尔和北卡罗来纳州的免费高清照片…
unsplash.com](https://unsplash.com/photos/EwFgxZxgDAM) [## 照片通过捕捉人心。在 Unsplash 上
下载此免费高清照片的人,人,人和特朗普捕捉人心。(@死 _ _ _ _ 艺人)
unsplash.com](https://unsplash.com/photos/YI5DzUUFvqQ) [## 查尔斯·德鲁维奥在 Unsplash 上的照片
下载这张由 Charles Deluvio (@charlesdeluvio)拍摄的文字、报纸、人和人的免费高清照片
unsplash.com](https://unsplash.com/photos/9BXL-Vn22Do) [## 照片通过捕捉人心。在 Unsplash 上
下载此免费高清照片的人,人,人和横幅捕捉人心。(@死 _ _ _ _ 艺人)
unsplash.com](https://unsplash.com/photos/9Kc7mQKq-zA) [## 尤尔根·哈兰在 Unsplash 上的照片
我偶然发现了这些为特朗普访问俄罗斯制作的俗气头巾…下载约根·哈兰的这张照片…
unsplash.com](https://unsplash.com/photos/QVeRgFErOPs) [## 照片由 Unsplash 上的 mana5280 拍摄
下载这张由 mana5280 (@mana5280)拍摄的玩具、小雕像、人和人的免费高清照片
unsplash.com](https://unsplash.com/photos/s8RnzkNHrcM)
计算机视觉在 2020 年美国大选新闻提要中看到了什么?(第 1/2 部分)
第 1 部分-生成批量人工智能注释图像和预处理数据,以构建特征级图像数据集。
从美国选举 2020 图像的样本批次上标注的数据生成的数据可视化网格;丹丹尼斯在 Unsplash 上的背景照片;Srinivas Vadrevu 的分析
编辑:
这是两部分系列的第一篇文章。你可以在这里找到第二部分的链接
由于图像在顾客购买过程中的普遍性和重要性,视觉内容策略现在已经成为市场营销不可或缺的一部分。然而,视觉内容创作主要植根于隐性知识和创造性领域。然而,随着计算机视觉的出现,公司应该将人工智能用于建立对图像特征的明确知识,以探索什么驱动印象并影响购买决策吗?换句话说,人工智能生成的数据补充创作过程的时机成熟了吗?随着美国大选的临近,我选择它作为当前的营销背景来使用 Cloud Vision AI,并在本文的第一部分解释如何建立广泛的特征级数据集。
我相信你一定听说过这句谚语…
“一幅画胜过千言万语”
图 1:早期广告的模糊版本,强调形象的重要性,由弗兰克·巴纳德于 1921 年创作;来源:http://www2.cs.uregina.ca/~hepting/projects/pictures-worth/
你知道这句英语谚语起源于广告吗?虽然它最初是一句亚洲谚语,但一些早期的广告商用它来强调图片在产生印象中的重要性。
弗兰克·巴纳德在 1921 年的广告是这样说的:
“奶油甜很好吃”是一个很短的短语,但如果在一年中每天早上、中午和晚上向许多人展示该产品的诱人图片,它会比在相同数量的人面前放置一千字的广告销售更多的商品,一年中只有有限的几次…
仅仅是对有价值产品的良好印象的优势提醒消费者一次又一次地购买它”——弗兰克·巴纳德
“一图抵一万字”这句话对你来说意味着什么?如果…它变得更有意义还是更无意义
www2.cs.uregina.ca](http://www2.cs.uregina.ca/~hepting/projects/pictures-worth/)
虽然有点讽刺的是,你在上面的广告中看不到任何图片,但它强调了通过其媒体(在汽车上)的图像在给观众留下良好印象方面发挥着重要作用。这些印象可能会影响他们购买产品的决定。是的,当时“印象”这个词不仅仅是一个营销 KPI 指标。
当你从 1921 年快进到今天,你发现自己在照片、广告牌、电视广告、互联网广告、模因、展示广告、Instagram feed 和其他社交媒体等方面加速前进。在令人眼花缭乱的旅程之后,你看到你正在浏览 Twitter 上的一些帖子,这是你日常工作的一部分。弗兰克·巴纳德(Frank Barnard)的汽车作为获取用户的渠道,他们的印象现在被社交媒体 feed 取代。你在 feed 中看到一个帖子(见下文),在向下滚动之前花了五秒钟考虑新产品。你会对耳塞留下一个“印象”,这可能会影响你未来使用该产品的决定。弗兰克·巴纳德一点也不知道他对广告图像的拍摄在 100 年后仍有意义。
最近的调查通过其发现强调了视觉图像在广告中的重要性和普遍性:
- 60%的消费者表示,他们更有可能考虑或联系在本地搜索结果中有图片显示的企业
- 67%的消费者表示,在选择和购买产品时,产品形象的质量至关重要。
动机和背景:
每 3 个顾客中就有 2 个依靠视觉创意做出购买决定,视觉创意在营销中的重要性怎么强调都不过分。然而,根据我最近和一些创业公司的经验以及阅读的大量材料,我认为视觉内容策略主要涉及(1)受众及其目标,(2)品牌形象及其目标,以及(3)分销媒体。然而,实际的图像内容和组成主要是一种创造性的努力,是建立在营销人员的隐性知识上的结果。所以这篇文章背后的动机是探索使用机器学习/计算机视觉来分析图像的可能性,并检查 AI 是否可以生成关于内容策略的明确知识,以补充创建视觉内容的创造性努力。在我看来,人工智能图像分析可以为视觉内容营销打开更多的可能性,正如 sabermetrics 在 21 世纪初对棒球世界所做的那样。
总统候选人发布的推文
**设定背景:**随着总统竞选活动如火如荼地进行,选举即将来临,我想不出比这更切合当前和相关的营销背景了,总统候选人正在积极主动地向美国民众推销自己,以争取投票(阅读。
购买)用于即将到来的 2020 年 11 月 3 日的选举。浏览下面列出的两篇文章,可以发现图像/图片(阅读视觉媒体)在影响选举(阅读购买决策)中的作用。此外,由于新冠肺炎,图像的作用只是被放大了。我知道这有点牵强,但我们似乎确实在政治活动和公司营销努力之间有相似之处,尤其是在形象的作用上。
这张照片展示了巴拉克·奥巴马总统和他的妻子,第一夫人米歇尔·奥巴马,在一次…
time.com](https://time.com/4439540/winning-the-white-house-lightbox/) [## 媒体影响选举的六种方式
安德拉·布里恰切克的故事。瑞安隆德和亚伦纳尔逊视频。照片由谢弗邦纳和 Karly DeWees。问唐纳德…
journalism.uoregon.edu。](https://journalism.uoregon.edu/news/six-ways-media-influences-elections)
在设置了背景之后,我决定分析当前主题美国 2020 年选举活动的视觉内容,这些内容来自不同的来源,如谷歌图像、报纸网站和新闻 API,以将计算机视觉用于图像分析。我把主要文章分成三个部分-
- 围绕给定主题聚合一组图像(本文中的美国 2020 年大选)- 第 1a 部分
- 通过视觉人工智能批量处理图像,为每幅图像添加注释特征- 第 1b 部分
- 可视化特性以获得洞察力- 第二部分
在本文中,我将详细介绍前两个部分,以及从互联网上的一批图像中生成人工智能注释特征数据集的代码。在第 2 部分中,我将讨论更多关于绘制这些数据集的图表,并探索从中获得的见解。
第 1a 部分:数据收集-围绕一个主题聚合一组图像-2020 年美国大选
我想建立一个个人图像数据集,用于收集过去几周内关于 2020 年美国大选的照片。为此,我确定了创建图像数据库的不同来源,每张图片都将由 ML 进行注释。我列出了三个来源,代码,以及从这些来源收集 URL 的方法-
a) 新闻 API —
这是一个易于使用的 HTTPS REST API,您可以在其中请求关于为查询生成的文章的“一切”。您文章的“一切”端点为您提供:
状态、总结果、文章、来源、作者、标题、描述、URL、URL 到图像< the link to the image in the article>、发布和内容
您可以找到下面的代码(Gist 1)来调用 NewsAPI 并将数据推入 pandas 数据框中,以便于阅读。
要点 1:将新闻文章从 NewsAPI 拉入 pandas 数据框的代码
在要点中,我键入 URL 参数,并以 JSON 格式从 NewsAPI 收集响应。从 JSON 文件中,我选择文章并循环添加文章的属性,包括图片 URL。
Edho Pratama 在 Unsplash 上的照片
b)谷歌图片搜索- 围绕一个主题的另一个图片来源是谷歌图片。这是任何人寻找与某个主题相关的图片的单一接触点。在寻找将谷歌图片放入数据集的方法时,我看到了这篇由@fabianbosler 撰写的文章。对于任何希望在互联网上负责任地抓取图片的人来说,这绝对是一本好书。
我在那篇文章中使用了 gist 代码来提取美国选举新闻的图片和 URL。
新闻网站——除了新闻网站本身,还有什么更好的美国 2020 年选举新闻图片来源呢?许多受欢迎的新闻网站正在为开发者创建他们自己的 API 来访问他们的数据。你可以在他们的网站上找到 API 文档和端点。其中有几个是https://developer.nytimes.com/和http://developer.cnn.com/(即将推出)。如果网站没有 API,您可以尝试经典、漂亮的 soup 包来抓取网站的图像 URL。
假设你想搜集 abcdef.com 网站上 10 月 18 日到 10 月 31 日之间的所有文章。首先,您可能希望检查网站 URL 的结构,以识别可以循环生成文章 URL 的任何日期字符串。对于每个 URL,您可以找到网站上的所有图像,获取它的“src”,将它们附加到一个数据框中,并重复迭代您需要的所有文章 URL(基于日期)。
要点 2:调用 beautiful soup 提取主文章 URL 中的图片 URL
在你从网上刮下任何东西用于个人或商业用途之前,通读使用/服务条款以检查你是否违反了任何条款通常被认为是一种好的做法。
使用这些方法的组合,我从几个覆盖美国 2020 年选举新闻的热门网站收集了图像,以建立一个广泛的图像数据集来分析趋势。图像 URL 的列表存储在 links_df 中。可以将唯一的 URL 提取为注释列表。可能会有这样的情况,同一个 URL 可以从不同的来源提取,就像来自一个新闻网站的同一个图片出现在 Google 搜索图片中一样。
url_list= links_df['urls'].unique().tolist()
步骤 1b:使用 Cloud Vision API 对收集的图像进行批量注释,并将 JSON 响应转换为数据帧
准备好图像 URL 数据集后,我使用 Cloud Vision API 通过它们的 REST API 来注释各种功能。为此,我创建了一个 GCP 项目,启用了 Cloud Vision API,创建了一个服务帐户,并以 JSON 格式生成了用于身份验证的私有凭证。然后,我使用终端创建了一个虚拟环境来安装谷歌云视觉库。
virtualenv <your-env>
source <your-env>/bin/activate
<your-env>/bin/pip install google-cloud-vision
如果您还想为项目创建一个新的内核,您可以使用 ipykernel 包:
pip install ipykernel
ipython kernel install --user-- --name=yourkernelname
jupyter notebook
对于批处理,我想构建一个函数“runvisionai”,它为输入到函数中的一批 URL 生成一个特性类别数据集。在此之前,我必须决定每个要素类别级别数据集的结构。作为一个例子,我将带你从 Unsplash 为一张图片创建面部特征数据集。(见下图 4)
client = vision.ImageAnnotatorClient()
image = vision.Image()url= "https://images.unsplash.com/photo-1540502040615-df7f25a5b557?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2550&q=80"image.source.image_uri = url response_face_example = client.face_detection(image=image)
一旦知道了响应 JSON 文件的“face_annotations”中的数据点,就需要选择追加要素类别数据框的粒度级别。
在将图像发送到 vision AI 进行处理后,您可以在此处找到图像的 JSON 响应。如果将该响应可视化,它将看起来像下面处理过的图像。根据 JSON 响应,可能有不同的粒度级别:
图 5:视觉 AI 的面部检测响应的视觉表示
- 在 JSON 文件中,你可以通过为每个面添加下面的数据点(我在这个项目中就是这么做的)来压缩这些数据点。
Face 1:
roll_angle: -9.5155668258667
pan_angle: -5.019717216491699
tilt_angle: 1.8756755590438843
detection_confidence: 0.9624646902084351
landmarking_confidence: 0.6258678436279297
joy_likelihood: LIKELY
sorrow_likelihood: VERY_UNLIKELY
anger_likelihood: VERY_UNLIKELY
surprise_likelihood: VERY_UNLIKELY
under_exposed_likelihood: VERY_UNLIKELY
blurred_likelihood: VERY_UNLIKELY
headwear_likelihood: VERY_UNLIKELY
图 6:我为每个面收集边界多边形顶点的数据框草图
2.或者…您可以在每个面的顶点级别收集数据,即,对于每个面,您可以收集包围该面的多边形的每个顶点的 x 和 y 坐标。
在这种情况下,您可能希望在“runvisionai”函数的 face 循环中创建一个嵌套循环(该循环又嵌套在 URL 中)。我发现对于最近开始编码的人来说,画出数据集的轮廓并对代码进行逆向工程以得到它是很有用的。
要点 3:提取 API 响应中标注的面的边界顶点的代码
图 6:要点 3 中代码的结果;它是一个数据框,单位是边界多边形的顶点;Srinivas Vadrevu 的分析
3.或者…您可以创建一个面部特征数据集,其中粒度级别固定在面部特征/面部标志级别。单位项目是身体面部特征。那么,在这种情况下,我的代码模式应该是
图 7:我收集面部标志及其坐标的数据框草图
(1)循环 URL →调用 RunVisionAI →采集人脸。每个 URL 的注释 JSON
(2)然后在脸部打圈脸。函数内部的注释→收集数据集中的人脸 id→
(3)为每个面部创建嵌套的环形标志→在数据集中收集面部标志→
(4)在面部标志层附加 x、y 和 z 坐标。重复直到所有循环完成。
要点 4:提取图像中标注的面部标志的顶点的代码
在确定了表面级别的数据粒度和数据框的结构后,我为每个要素类别创建了一个空数据框,以存储和追加每次 URL 迭代的数据框结果。我为面部数据集创建了一个 face_df 数据框来收集每个面部的特征——置信度得分、喜悦、悲伤、惊讶、愤怒和模糊。
face_df=pd.DataFrame(columns['Source','Query/alt','URL','img_num',
'face','confidence','joy','sorrow','surprise',
'anger','blurred'])
我将所有特征数据帧中每张图片的标识符设置为: Source (来自 NewsAPI/ News 网站的谷歌图片搜索/新闻网站名称)、 Query/alt (包含谷歌图片搜索的搜索查询或图片的 alt 描述),以及 URL (该图片的 URL 链接)
逻辑与其他功能类别非常相似。您可以在 Gist 5 中找到下面所有特性类别的完整代码。此函数“runvisionai”成功地注释了一批 URL,并将数据存储在不同要素类别的相应数据框中。
要点 RunvisionAI 函数的代码,为输入其中的 URL 构建功能级别的数据集
继续运行该函数,以获得您在步骤 1 中收集的一批 URL 的要素类别级别数据集。
urls= list_df['URLs'].unique().tolist()
runvisionai(urls)print(label_df)
print(objects_df) # check if feature category dataset is prepared
如果在步骤 1b 结束时一切顺利,您将拥有所有填充的数据框,它们具有不同的单元(URL、面孔、位置、标签、徽标等)。)和每个功能类别的相应指标。
图 8:特征类别的输出数据帧;Srinivas Vadrevu 的分析
第二步:可视化
由 Jakayla Toney 在 Unsplash 上拍摄的照片
在下一篇文章中,我将根据视觉人工智能提取的特征绘制和分析图像。我将很快更新这篇文章,提供第二部分的链接。作为下一篇文章的预览,我为 CNN 和 NYT 在过去三天(10 月 29 日-10 月 31 日)的美国大选报道中发布的图片标注了标签。y 轴以图像中出现频率的降序排列标签。x 轴代表计数/频率。我只考虑了置信度超过 90%的图像中的标签。
使用下面的图片,你可以比较 CNN 和纽约时报网站在 2020 年 10 月 29 日至 10 月 31 日期间发布的图片中标注的标签
图 9:根据出现次数排列的顶部标签(在 NYT 图像中以超过 90%的置信度识别);Srinivas Vadrevu 的分析
图 10:按出现次数排列的顶部标签(在 CNN 图像中以超过 90%的置信度识别);Srinivas Vadrevu 的分析
本文第 1 部分的结论:本文的主要目的是概述从一批图像生成大量特征数据集所涉及的代码和步骤。我用美国 2020 年大选作为营销背景,从互联网图像中提取特征。在我看来,图像特征成分有可能被用作解释视觉内容广告表现的因变量。换句话说,将这些图像数据集与活动营销分析数据(印象、喜欢、点击、点击率等)联系起来会非常有趣。).在这样做的时候,我推测我们可以找到姿势、标签、面部表情、物体、颜色组合和标志的某种组合有更好的表现,比如说点击率相对于其他组合。这种明确的知识可以反馈给参与视觉内容生成的创意团队。
数据科学家是做什么的?
作为一名数据科学家,我在工作场所做些什么?
数据科学是对从数据中提取和构建知识的计算原理、方法和系统的研究。越来越多的公司开始意识到数据科学的能力,这有助于他们防范行业风险,保持行业竞争力。
数据科学的流程是什么?
数据科学流程-作者图表
数据科学过程始于我们想要回答的目标或问题。因此,首先,我们正在研究我们需要解决的领域和问题。这个过程大约需要几天到几个月的时间,这取决于域的大小和我们需要解决的问题。我们越清楚,我们就能给出更好的解决方案。
我们接下来需要获得适当的数据来帮助我们回答这个问题。这里更重要的是,我们必须考虑 4 个主要因素,“量”、“多样性”、“准确性”和“速度”,我们将其视为大数据中的 4 V。通常情况下,可能无法访问我们心目中的理想数据集,因此确定最接近的可访问数据非常重要。通常情况下,任何数据集都不会成为一道菜。因此,在获得数据后,我们必须对数据进行预处理和清理。这意味着我们得到的是原始数据,我们必须将其转换成可以用于进一步分析的格式。这一步就是我们所说的数据角力。例如,我们必须处理损坏的记录或丢失的值。这一步我用的是 Python。大多数时候 NumPy 和熊猫图书馆都在帮助我。
可以研究清理后的数据,以获得对所包含信息的高级理解。我们通常通过可视化数据和计算汇总统计数据来做到这一点。这个过程被称为“探索性数据分析”。在这一步,“Matplotlib”和其他一些可视化库,如“Seaborn”来帮忙。在这一步结束时,我们可以从数据中获得非常有用的见解。例如,通过在地图上绘制新冠肺炎患者位置的数据点,你可以注意到世界上哪些特定地理区域处于危险之中,哪些仍然是安全的。而这一步也有助于丰富数据集,衍生出更多有趣的特征。
在这一步之后,机器学习算法和适当的计算和统计方法将有助于进一步分析和预测未来趋势。这就是奇迹发生的地方!在这里,我使用了一套机器学习和统计库,如 skit-learn、Keras、SciPy 和 Statsmodels 等。这个阶段可能还包括验证我们的模型,并解释结果。
最后,我们就最初提出的问题交流我们的结果。这包括综合结果,讲述我们从数据中学到的东西。简单地说,我们称之为在整个组织中部署我们的模型。我们以报告的形式或用户交互工具的形式呈现它。
现在,我可能已经给你留下了这些阶段一个接一个发生的印象,但实际上,数据科学过程是迭代的和非线性的。这意味着我们可能会在整个项目中多次重复这个数据科学过程。我们也可能回到以前的阶段,用获得的新知识重复它。
而数据科学方面的技能呢?
数据科学家通常结合了数学、统计学、计算机科学和编程方面的技能,他们还应该知道问题出现的领域。这是关键,因为它有助于我们首先提出正确的问题,以及解释结果。
数据科学技能集-按作者分类的图表
我认为,拥有数据科学的理论知识和实践经验非常重要。因此,我也在练习编程。但我不是专业程序员,但我精通 python 编程语言。与此同时,我正在尝试不同的机器学习算法,通过应用于不同领域的案例研究的统计概念。
那么为什么是 Python 呢?
Python 在 90 年代就已经出现了,所以它是一种成熟的编程语言,对于从未编程过的人来说,它非常适用。它是开源的,可以免费安装。更重要的是,Python 是数据科学项目的热门选择,因为有许多可用的库(如 R)可以简化数据处理和分析任务。
最后,我应该提到,我从“华盛顿大学”提供的 Coursera 机器学习专业化课程和“加州大学圣地亚哥分校”提供的 Coursera 大数据专业化课程中学到了大多数东西。我以自己在“IQ Pvt ltd”一年初级数据科学家角色的经历来写这篇文章。如果有什么要补充的,欢迎在下面评论。
关于现代 NBA 的老龄化,数据告诉了我们什么?
以数据驱动的视角看老龄化如何影响现代 NBA。联盟中最好的球员都多大了?现代玩家是不是越来越年轻了?谁得到上场时间了?
图片:作者
在过去的几十年里,随着许多顶级体育运动从早期的乘坐公共汽车和微薄的薪水成长和成熟为数十亿美元的大企业,体育科学也是如此。这一点在 NBA 表现得最为明显,在这个联盟中,每支球队的成功都更多地依赖于少数明星球员,而不是世界上任何其他团队运动。
为了让他的身体保持在最佳状态,据说勒布朗·詹姆斯雇佣了一个令皇室羡慕的团队。据说他的团队包括一名生物机械师、康复教练、按摩师和私人厨师,而他的每间房子都包括一个高压氧舱以帮助康复。詹姆斯在 35 岁时仍然表现出 T4 MVP 的水平,当拉里·伯德这样的传奇人物在这个年龄退役时,很难对结果提出异议。
但是,这是真的吗?让我们看看这些数据,看看我们可以从现代 NBA 的最佳球员、联盟的总体构成以及球员的寿命和表现中了解到什么关于老龄化的信息。
联盟中最好的球员都多大了?
该图表显示了从 5 年期间(例如,1986-1990,或 2016-2020)收集的统计数据,绘制了每个球员的 BPM (box-plus-minus) 统计数据与他们年龄的关系。没有一个统计数据可以完美地描述一个球员的表现,但是 BPM 是一个很好的衡量一个人相对于联盟中其他人表现如何的标准。
为了关注那些有积极影响的球员,图表只显示了 BPM 值超过 2 的球员,也就是说每个赛季大约有 50 名球员。
越来越多的顶级 NBA 球员打得更好,时间更长。(图片:作者)
有两个趋势很明显。早些年的散点图在顶部更“尖”,4+BPM 的球员(全明星球员)集中在 23-28 岁。最近(页面右侧),年龄不再是个人表现水平的决定性因素,数据更加分散。
从 2016 年到 2020 年的几年中,有多名球员(保罗/邓肯/吉诺比利/德克)在 35 岁以上的年龄已经创下了 2+ BPM 的赛季记录(见各图右下角)。一个 2+ BPM 的赛季旨在成为一个“好的开局”,这些赛季对于 35 岁以上的球员来说在 1986-1990 年或多或少是闻所未闻的,除了 1986 年卡里姆的最后一个伟大赛季。
现代 NBA 是年轻人的游戏吗?
在看别的之前,我们先来看看上一个(2019–2020)NBA 赛季球员的年龄概况。下面的图表显示了 NBA 球员的年龄分布。
2019-2020 年的大多数 NBA 球员年龄在 22 至 26 岁之间(图片:作者)
尽管图表一直延伸到 43 岁(祝贺文斯·卡特惊人的职业生涯),但 NBA 球员最常见的年龄实际上是 22 岁。事实上,联盟中超过一半(55%)的球员年龄在 25 岁或以下。这的确是年轻人的游戏。
现在,让我们通过从 1990 年开始的时间快照来看看这是否总是正确的。我们在这张图表中向下移动的每一个子图都比前一个子图在时间上多了十年。
随着时间的推移,NBA 球员的平均年龄越来越年轻(图片:作者)
随着时间的推移(在图表中向下),显示每个年龄段玩家百分比的列基本上向左移动。这告诉我们,年轻选手突破的比例已经越来越大。下一张图表把数据简化成了柱状图。
NBA 中 24 岁及以下的球员比以往任何时候都多。
每组按年龄显示球员的百分比,每个颜色条显示数据来自的每个赛季。
很明显,如果你是一名 30 岁或以上的现代 NBA 球员,你的工作越来越受到 24 岁以下球员的威胁。
当然,这与招聘规则的变化以及谁有资格有很大关系。T2 并不一定意味着年轻球员变得更好。所以接下来,让我们来看看更微妙的统计数据,而不仅仅是关于谁在联盟中的统计数据。
年轻与经验——谁在球场上?
2019-2020 年的大多数 NBA 球员年龄在 22 至 26 岁之间(图片:作者)
上面的分析只是简单地看了看谁在名单上。但是整场比赛都坐在板凳上,一场比赛只得到 5 分钟的上场时间,和一场比赛得到 30-35 分钟的首发上场时间是完全不同的。所以在这一部分,我们考虑了每个球员在球场上花费的时间。
绘制球员的上场时间,并按年龄分组,下面的图表出现了。
年长的球员通常比年轻球员得到更多的上场时间(图片:作者)
每一栏都是由每个球员的上场时间占联盟上场时间的比例组成的。所以上场时间越长的球员会被标上更蓝/更深的颜色,同时在每一栏占据更多的高度。另一方面,几乎不玩游戏的玩家可能不会对专栏有所贡献,他们会被标记为浅色。
与我们看到的第一张图表(下面再次显示以供参考)相比,我们可以看到年龄较大的球员一般比年轻球员获得更多的上场时间。
NBA 球员年龄(2019–2020 赛季)(图片:作者)
在这一点上,让我们扩展我们对上场时间的分析,来绘制一段时间内的数据。
NBA 球员越来越年轻,但每个球员上场的时间也越来越少。(图片:作者)
这个图表最好用两个词来描述——“负载管理”。这一趋势始于 20 世纪 90 年代末和 21 世纪初的圣安东尼奥马刺队,现在在整个联盟广泛采用,以最大限度地减少每个球队关键球员的磨损。
更具体地说,1990 年的上场时间图表覆盖着深黑色的条,表明单个球员的上场时间高度集中。随着时间的推移,这些酒吧的频率降低到 2020 年几乎没有任何球员承担他们在 90 年代曾经承担的负担。
结果,上场时间在不同年龄段之间,以及不同球员之间看起来更加公平。
尽管如此,这仍是大量需要消化和研究的数据。让我们从更细的角度来看一下数据。
明星时代 vs 角色球员时代(和板凳球员时代)
不可否认的是,一个 NBA 球队从球星到板凳球员都有不同的球员群体。因此,让我们将数据分组进行分析。
在这里,我根据球员的上场时间将数据分为三个“等级”——粗略的理论是更好的球员得到更多的上场时间。顶层代表每队平均前 2 名玩家,第二层玩家从 3 到 7,其余玩家是第三层玩家。
这个数据是为 2019-2020 赛季绘制的。
年龄较大的球员在上场时间较长的球员中占多数(图片:作者)
尽管 NBA 的组成主要是 26 岁及以下的球员,但大部分上场时间很长的球员实际上是 27 岁及以上。
我们一会儿将回到为什么。但在此之前,我们先来看看历史数据,通过比较 2020 年与 1990 年和 2005 年的相同数据,看看情况是否一直如此。
与 1990 年相比,2020 年“一线”玩家在各年龄组中的分布更加平坦。(图片:作者)
这张图表真实地讲述了一个故事,在 2020 年,每支球队的一线(最佳)球员很可能在 21 至 30 岁之间的任何年龄,而在 1990 年,他们最有可能在 23 至 28 岁之间,实际上在 26 至 28 岁之间。
2020 年的三级玩家群体中,年龄在 28 岁及以上的玩家数量更多,而在 1990 年,这一数字还很少,尤其是当他们达到神奇的 30 岁时。
所以,这张图表显示,尽管球员平均年龄更小,但是越来越多的有足够天赋和足够优秀的球员能够延长他们的职业生涯。
我们对拥有 20 多年职业生涯的文斯、德克和科比感到惊叹。我想知道 20 年后,甚至 10 年后,我们会不会认为这些职业生涯长度是多么罕见。
但是在你离开之前——如果你喜欢这个,在推特上打个招呼/关注一下!
如果你喜欢这篇文章,你可能会喜欢这些:
用 hexbin shot 图表分析体育数据,用 Plotly 和 Plotly Express 分析气泡图(源代码&我自己的数据…
towardsdatascience.com](/interactive-basketball-data-visualizations-with-plotly-8c6916aaa59e) [## Plotly Dash 与 Streamlit——哪个是构建数据仪表板 web 应用程序的最佳库?
用于共享数据科学/可视化项目的两个顶级 Python 数据仪表板库的比较——
towardsdatascience.com](/plotly-dash-vs-streamlit-which-is-the-best-library-for-building-data-dashboard-web-apps-97d7c98b938c)
原载于 2020 年 10 月 29 日【https://www.jphwang.com】。
降维到底是做什么的?
使用 Matplotlib 和 Scikit-learn 可视化 SNE 霸王龙
卢卡斯·本杰明在 Unsplash 上的照片
想象一下:一个学生正在上美术课,他们的老师让他们在一张纸上画一个立方体。现在,作为现实中一个精明的参与者,学生们意识到他们不能在二维平面上画三维物体。因此,凭借他们卓越的批判性思维能力,他们试图通过连接 4 个点在你的纸上画出立方体的一个面。
立方体在二维平面上的投影不正确||作者图像
这是一个很好的尝试,但是学生意识到他们没有保留立方体的特征,因为他们只在纸上画了一面。他们只在纸上画了 4 个点,而立方体上有 8 个顶点。他们继续画另一个形状:
将立方体精确投影到二维平面||作者图片
他们把这个结果给他们的美术老师看,老师对这个结果很满意。该学生减少了立方体的维度,同时仍然保留了使形状可识别的特征。你可能会问,这和 SNE 霸王龙有什么关系?嗯,这个例子就是这个算法的驱动原理。
复杂的数据集很难处理。在一家试图扩大数据集的大数据初创公司工作时,人们对收集的数据提出了许多问题。当数据集很小,仅包含几个要素时,开发人员可以创建简单的图来了解要素和所需输出之间的关系。然而,当数据集变得复杂时,会出现所有数据都失去意义的情况,开发机器学习模型来预测结果变得非常具有挑战性。这就是降维的亮点:试图降低特征集的复杂性,并产生更多可消化的数据,这些数据可以被处理并输入到机器学习模型中。在这篇文章中,我们将试图建立一个直观的关于这些降维技术是如何工作的。因此,我们已经讨论了降维做什么,但没有讨论如何降维。让我们再来看看我们的艺术学生,看看 t-SNE 是如何工作的。
当这个学生将三维物体投影到二维空间时,他在做什么?这位学生试图在高维度中查看点之间的关系,并在降维的同时保留特征。t-SNE 以非常相似的方式发挥作用,通过在更高的空间中创建点的概率分布来定义关系,然后在更低的维度中创建类似的分布。为了实现这一点,引入了一个称为困惑度的数字来描述我们的原始数据集的特征。低复杂度意味着该算法将尝试从更局部的角度减少数据,加重局部分组的权重。高复杂度意味着算法倾向于数据的全局结构。
t-SNE 找到了点与点之间的引力和斥力,最终的结果是当点在低维空间中沉淀下来。作为一个例子,我们将使用 MNIST 数字数据库,这是一个由手写数字组成的机器学习数据库,用于算法分类。这个数据集中有大量的要素,仅从数据集来看并没有内在的分组。这个数据集中有 784 个维度,每个维度对应一个手写数字图像中的一个像素。我们看不到 784 维中的点,因此我们将尝试将该数据集的聚类降低到三维,以便更好地理解分组。
MNIST 数据集上 SNE 霸王龙的可视化||作者 gif
让我们重温一下这部动画中发生了什么。t-SNE 在这个高维空间中寻找一个概率分布,然后在一个更低的维度中寻找一个与高维分布尽可能相似的概率分布。正如我们所看到的,t-SNE 正在寻找低维分布之间的相似性,然后最终确定了一个表达数据中良好分组的特征集。
从这里去哪里?
一旦这些数据点被投影到低维空间,现在就由开发人员来制定将在这个新数据集上工作的分类算法。t-SNE 不是一个分类器,而是一个工具,用来查看数据集的分类效果如何。这个系统可以被认为是一个太阳系,数据点小行星场围绕数据集的分类组旋转,t-SNE 作为引力将这些点拉近分类组。
下面是三维动画的代码。您需要做的就是将 scikit-learn 的 TSNE 实例传递给 tsneAnimate 函数,并调用 tsneAnimate.animate
作者代码
什么遵循/不遵循本福特定律
对维基百科数百组数据的分析。
循迹而行(图片由作者提供)。
像许多其他人一样,我第一次听说本福特定律时,我想:“什么?太奇怪了!有什么诀窍?”然后,就没有诀窍了。它就在那里。这是一条没有明显理由就适用的法律。
如果你从来没有听说过,让我们来看看它是什么:想象一组来自一些现实生活现象的数字。比方说,地球上所有有人居住的地方的人口。会有成千上万的数字,有些很大,有些很小。这些数字的存在不是因为一些系统的过程,而是以某种方式出现在数十亿人数千年的生活中。因此,你会认为它们几乎完全是随机的。想想这些数字,如果我问你:“与 2、3、4 等相比,有多少是以数字 1 开头的?”,直觉上你可能会说:“差不多一样多”。你就错了。答案是:明显更多。
根据本福德定律(实际上应该称为纽康-本福德定律,见下文),在跨越多个数量级的大量自然发生的数字中,任何数字的前导数字都更有可能是小而不是大。可能性有多大?形式上,一个数字以数字 d 开始的概率 P(d) 由下式给出:
P(d) = log10(1+1/d)
这意味着,在这些自然出现的数字集中,一个数字以 1 开头的概率略高于 30%,而以 9 开头的概率略低于 5%。很奇怪吧?
根据本福特定律,一个数字开始一个数的概率。
这种奇怪的自然/数学现象最早是由西蒙·纽康(因此全名)发现的,他注意到包含对数表的书的开头页面比结尾页面(从 9 开始)磨损得多。基于这一观察,表明人们往往更需要对数表来表示从 1 开始的数字,他首先提出了现在所知的纽科姆-本福特定律,尽管第一个数字的概率公式略有不同。超过 65 年后,弗兰克·本福德再次发现了这一现象,并对几种不同的东西进行了测试,包括美国的人群。从那时起,它已经在许多事情上得到测试和应用,从金融欺诈检测到代码、停车位甚至 COVID 。这个想法是,如果一组数字自然出现,没有被篡改或人为限制,它们很有可能遵循本福特定律。如果他们不依法办事,那就有猫腻了。
但是这真的普遍适用吗?适用到什么程度呢?我们可以假设代表不同现象的数字在不同程度上遵循本福特定律,有时更多,有时更少,有时没有。所以问题是:
什么遵循本福特定律,也许更重要的是,什么不遵循?
为了回答这个问题,我们需要大量自然产生的数字。
维基数据拯救世界
纽科姆和本福特没有我们这么幸运。为了找到一组数字来检验他们的定律,他们不得不从任何可用的来源手动收集这些数字。如今,我们不仅有一个普遍可访问的百科全书,我们还有它的数据版本。
维基数据是数据的维基百科。这是一个众包数据库,即使不是全部,也是相当大的一部分。例如,使用维基数据,通过一个相对简单的查询,就可以快速获得美国每个城市的人口规模以及许多许多其他信息。因此,也应该有可能获得它包含的所有数字集合。
为此,我们使用基于 RDF 的维基数据表示。RDF(资源描述框架)是一种基于图形的网络数据表示。基本上,RDF 中的事物由 URIs 表示,并通过带标签的边与其他事物或值相连。例如,下图显示了位于爱尔兰、人口为 79,504 人的高威市在 Wikidata 的 RDF 中的简化表示。
维基数据中关于戈尔韦的一些信息的图示。
RDF 的好处在于,一个非常非常大的图可以用一组三元组来表示,其形式为 <主语、谓语、宾语> 。这些三元组中的每一个都对应于图中的一条边,代表一条原子信息。
<[http://www.wikidata.org/entity/Q129610](http://www.wikidata.org/entity/Q129610)> <[http://www.w3.org/2000/01/rdf-schema#label](http://www.w3.org/2000/01/rdf-schema#label)> “Galway” .<[http://www.wikidata.org/entity/Q129610](http://www.wikidata.org/entity/Q129610)> <[http://www.w3.org/1999/02/22-rdf-syntax-ns#type](http://www.w3.org/1999/02/22-rdf-syntax-ns#type)> <[http://www.wikidata.org/entity/Q515](http://www.wikidata.org/entity/Q515)> .<[http://www.wikidata.org/entity/Q515](http://www.wikidata.org/entity/Q515)> <[http://www.w3.org/2000/01/rdf-schema#label](http://www.w3.org/2000/01/rdf-schema#label)> “City” .<[http://www.wikidata.org/entity/Q129610](http://www.wikidata.org/entity/Q129610)> <[http://www.wikidata.org/entity/P17](http://www.wikidata.org/entity/P17)> <[http://www.wikidata.org/entity/Q27](http://www.wikidata.org/entity/Q27)> .<[http://www.wikidata.org/entity/Q27](http://www.wikidata.org/entity/Q27)> <[http://www.w3.org/2000/01/rdf-schema#label](http://www.w3.org/2000/01/rdf-schema#label)> “Ireland” .<[http://www.wikidata.org/entity/Q129610](http://www.wikidata.org/entity/Q129610)> <[http://www.wikidata.org/entity/P1082](http://www.wikidata.org/entity/P1082)> “75,504”^^<[http://www.w3.org/2001/XMLSchema#Integer](http://www.w3.org/2001/XMLSchema#Integer)> .
所以从维基数据中收集数字集合的第一步是提取所有的三元组,其中对象部分是一个数字。
我们首先下载整个 Wikidata 数据库的完整转储文件,作为一个压缩的 NTriples (NT)文件。NT 是 RDF 的一种非常低效的表示,其中每个三元组用一行表示。要下载的 gzip 文件(latest-all.nt.gz)相当大(143GB),我不建议尝试解压缩。但是,因为每个三元组都在一行上完全独立于其他三元组表示,所以这种格式使得使用基本的 linux 命令行工具过滤数据变得非常容易,而不必将整个数据加载到内存中。因此,为了提取对象是数字的三元组,我们使用zgrep(grep处理 GZipped 文件)来查找引用了 decimal 、 integer 或 double 类型的三元组,如下所示:
zgrep “XMLSchema#decimal” latest-all.nt.gz > numbers.decimal.nt
zgrep “XMLSchema#double” latest-all.nt.gz > numbers.double.nt
zgrep “XMLSchema#integer” latest-all.nt.gz > numbers.integer.nt
然后我们可以使用 cat 命令将所有这些放在一起:
cat numbers.decimal.nt numbers.double.nt numbers.integer.nt > numbers.nt
通过计算文件中的行数,检查这个 110GB 的文件最终包含了多少个三元组:
wc -l numbers.nt
730238932 numbers.nt
每一行都是一个三元组。每个三元组作为一个数字作为值(对象)。这是一个很大的数字。
下一步是将这些数字组织成有意义的集合,并计算每个集合中有多少个数字从 1、2、3 等开始。这里,我们使用三元组的“谓词”部分。例如,该文件中有 621,574 个三元组以*<【http://www.wikidata.org/entity/P1082】>为谓词。http://www.wikidata.org/entity/P1082是属性*维基数据用来表示有人居住的地方的人口。所以我们可以将所有这些人分组,并将其纳入维基数据已知的所有人群的集合中。这将是我们要测试的一组自然出现的数字。
下面的简单 python 脚本创建了一个 JSON 文件,其中包含属性列表、作为谓词的三元组的数量、这些三元组的最小和最大值、它们覆盖的数量级以及以 1、2、3 等开头的数字的数量。
import time
import json
import redata = {}st = time.time()
with open("numbers.nt") as f:
line = f.readline()
count = 0
while line:
p = line.split()[1]
val = int(re.findall("\d+", line.split()[2])[0])
val1 = str(val)[0]
if p not in data:
data[p] = {"i": val, "a": val, "c": 0, "ns": {}}
if val < data[p]["i"]: data[p]["i"] = val
if val > data[p]["a"]: data[p]["a"] = val
if val1 not in data[p]["ns"]: data[p]["ns"][val1] = 0
data[p]["ns"][val1] += 1
data[p]["c"] += 1
count += 1
line = f.readline()
if count % 1000000 == 0:
print(str(count/1000000)+" "+str(len(data.keys()))+" "+str(time.time()-st))
st = time.time()
if count % 10000000 == 0:
with open("numbers.json", "w") as f2:
json.dump(data, f2)
with open("numbers.json", "w") as f2:
json.dump(data, f2)
我们总共获得了 1582 个属性,代表了要根据本福特定律测试的多组数字。我们将其减少到 505 个属性,因为在 Wikidata 中,相同的关系有几个冗余的属性表示。我们还在另一个脚本中提取每个属性的标签(名称)和描述,这样我们就不必在以后查找它们。
Benfordness 测试
现在我们有了许多组数字,以及它们根据前导数字的分布,我们可以检查它们在多大程度上遵循本福特定律。几个统计测试可以用来做这件事。这里我们用一个相对简单的叫做卡方的。该测试对一组数字的值由以下公式给出
χ=σᵢ(oᵢ-eᵢ)/eᵢ
其中 i 是考虑中的前导数(1 到 9), oᵢ 是 i 的观测值(集合中以 i 开头的数的百分比), eᵢ 是期望值(根据本福特定律,应该以 i 开头的数的百分比)。结果越小,这组数字就越多。下面的脚本计算了前一个脚本创建的每组数字的卡方检验,以检查它们是否符合本福特定律。
import math
import sys
import jsonif len(sys.argv) !=2:
print("provide filename")
sys.exit(-1)es = {
"1": math.log10(1.+1.),
"2": math.log10(1.+(1./2.)),
"3": math.log10(1.+(1./3.)),
"4": math.log10(1.+(1./4.)),
"5": math.log10(1.+(1./5.)),
"6": math.log10(1.+(1./6.)),
"7": math.log10(1.+(1./7.)),
"8": math.log10(1.+(1./8.)),
"9": math.log10(1.+(1./9.))
}print("expected values: "+str(es))data = {}
with open(sys.argv[1]) as f:
data=json.load(f)for p in data:
sum = 0
for n in es:
if n in data[p]["ns"]:
sum += data[p]["ns"][n]
cs = 0\.
for n in es:
e = es[n]
a = 0.
if n in data[p]["ns"]:
a = float(data[p]["ns"][n])/float(sum)
cs += (((a-e)**2)/e) # chi-square test
data[p]["f"] = cswith open(sys.argv[1]+".fit.json", "w") as f:
json.dump(data, f)
那么,这是真的吗?
为了方便起见,获得的结果可以在谷歌的电子表格中找到。脚本和结果也可以在 Github 上获得。
查看结果时首先要注意的是,我们最喜欢的例子人口,表现非常非常好。事实上,它是本福德定律的第二最佳拟合,卡方值为 0.000445。这里面有超过 60 万个数字,只是碰巧存在而已,它们几乎完全符合本福特定律的预测。由于卡方检验值如此之低,样本又如此之大,这种巧合的可能性是如此之小,真的无法想象。它是真实的。
不出所料,其他几个与人口密切相关的属性也进入了最符合本福德定律的前十名,包括识字 / 文盲、男性/女性人口或家庭数量。
我敢肯定,每个人都渴望得到答案的问题是“那么,哪处房产是第一位的?”,由于人口仅次于。卡方值为 0.000344 时,第一名实际上属于名为游客数量的酒店,游客数量被描述为“每年参观某个地点或某个活动的人数”(总共 48,908 人)。
在非常高的本福德中,我们还发现了面积(被一个物体占据的面积),或者总有效票数(用于选举。空白票数在 Benfordness 上也做的不错)。
维基数据的高度本福德属性中似乎也有不少与疾病相关的属性,包括病例数、痊愈数、临床试验数、和死亡数。
与公司相关的数字在顶级本福德酒店中也非常明显。财产雇员(一个公司的雇员人数)是其中最强的,但我们也看到光顾、净收入、营业收入、和总收入。
体育统计也有不错的表现,职业生涯中的总投篮次数、职业生涯正负评分和职业生涯总得分,还有几个生物学和其他自然相关的话题,如翼展(飞机或动物)、自行(星星)、地形突起(即一座山或小山的高度)或距地球的距离(天文物体)。
当然,还有更多非常符合本福德定律的特性:上面的特性只涵盖了最适合的几组数字(卡方小于 0.01)。它们也并不特别令人惊讶,因为它们非常符合通常应该遵循本福特定律的数字集的特征:它们很大(最小的空白票数,仍然包含 886 个数字),覆盖几个数量级(从 3 到 80),更重要的是,它们是自然发生的:它们不是通过任何系统的过程产生的。他们刚刚出现。
然而,有一个非常重要的例外。卡方值为 0.00407,覆盖 7 个数量级的 3259 个数字,我们找到属性 *Alexa rank。*这对应于来自 Alexa 互联网服务的网站排名,该服务基于流量和受众提供网站信息。很难解释它怎么会如此吻合,因为作为一个排名,它通常应该从 1 到其最大值呈线性分布。然而,对于为什么会发生这种情况,有两种可能的解释:1-对于一个给定的网站,几个排名可能会持续几年,2-不是所有由 Alexa 排名的网站都在维基数据中。换句话说,遵循本福特定律的不是排名本身,而是维基数据中自然发生的排名选择。令人担忧的是,同样的事情也可能影响其他结果,这是一个很好的例子,表明任何数据集都可能以严重影响统计分析结果的方式产生偏差。
不好的呢?
因此,我们已经证实了本福特定律确实适用于许多自然产生的数,甚至有时适用于自然产生的非自然产生的数的选择。当它不起作用时怎么办?
首先,我们可以排除所有太小(少于 100 个数字)和数量级太少(少于 3)的集合。在大多数情况下,这些根本不符合,如果符合,我们不能排除这只是一个巧合的可能性。
我们研究的整套属性中最不合适的属性是最低大气压力,被描述为“风暴测量或估计的最小压力(热带气旋强度的度量)”,卡方为 12.6。该集合包含 1,783 个数字,从 4 到 1,016 不等。虽然这是一组符合所需特征的自然出现的数字,但很容易看出为什么它不适合。大气压力通常不会变化太大,可以预计大多数数值实际上接近于平均海平面压力 (1013 毫巴)。甚至有可能 4 的值只是数据中的一个错误。
许多其他非拟合属性可以类似地解释:它们的值通常不会变化到足以遵循本福特定律,但例外和异常值使它们仍然跨越几个数量级。包括轴距(车辆前后轮之间的距离)寿命*(物种)视野(例如设备)电源电压(在一个国家或地区)。*
有趣的是(可能因为我对天文学一无所知),虽然与自然现象有关,但许多不太拟合的属性对应于与行星或空间有关的度量:轨道的半长轴、(恒星或行星的)有效温度*、远日点 s(天体离其轨道运行的物体最远的距离)、近日点(天体离其轨道运行的物体最近的距离)、 金属性(一个天体中比氢或氦重的元素的丰度)和轨道周期(一个给定的天体绕另一个天体运行一周的时间)。 也许本福德定律是地球自然规律,甚至是人类自然规律,而不是宇宙规律。*
然而,如果是这样的话,这里有一个有趣的例外:在真正不适合的属性中,我们发现观众/听众数量*(电视或广播节目的观众数量;网站上的网络流量)。这组包括 248 个数字,从 5318 到 60 亿不等。考虑到 Alexa 排名(这与网站的受众规模有关)也是我们非常合适的属性的例外,这感觉非常矛盾。然而,也许同样的解释也适用:如果我们对每件事都有一套完整的订户/观众数量,它可能会很好地遵循本福特定律,但我们没有,这 248 个可能集中在最引人注目的网站和程序的选择所引入的偏见是一个足够不自然的约束,它使它失去了本福特特性。*
那又怎样?
本福特定律很奇怪。这是意想不到的,也没有很好的解释,但不知何故,实际上是可行的。很明显,有一类数字应该遵循本福特定律,事实上也确实如此。也有其他人显然不知道,在大多数情况下,知道原因相对容易。然而有趣的是,在一些情况下,数字并没有按照本福特定律的方式运行。正如本文开始时提到的,这种现象被广泛用于检测数字何时被篡改,通过检查应该遵循本福特定律而实际上没有遵循本福特定律的数字。似乎还有另一类应用程序在寻找不应该遵循本福特定律的数字选择。如果他们这样做了,这可能是一个迹象,表明看起来很像随机抽样不知何故出现了偏差的自然趋势,即不受控制的人类和自然过程必须产生高度本福特数。了解这一点,以及数据集应该属于哪个类别,对于测试数据是否存在偏差以及数据样本的代表性非常有用。
当然,还有天文学的例子。我怀疑答案只会强调我自己在这件事上的无知,但我真的很想知道为什么所有那些与天体有关的测量都如此顽固地拒绝遵守本福特定律。
可解释的人工智能有多重要?
数据科学,人工智能
可解释的人工智能是使决策过程透明和快速的机会
普里西拉·杜·普里兹在 Unsplash 上的照片
在这篇文章中,你可以探索可解释的人工智能,它背后的主要思想是什么,为什么需要可解释的人工智能,以及我们将如何开发可解释的人工智能?
最重要的是让任何关于人工智能的事情变得可解释、公平、安全和有传承,这意味着任何人都可以非常简单地看到人工智能的任何应用是如何发展的,以及为什么会发展。” —吉妮·罗梅蒂
什么是可解释的 AI?背后的主旨是什么?
Bret Kavanaugh 在 Unsplash 上拍摄的照片
可解释的人工智能(XAI)是使决策过程透明和快速的机会。换句话说,XAI 应该删除所谓的黑箱,并详细解释这个决定是如何做出的。
为了制作一个好的可解释的人工智能系统或程序,应该回答以下问题:
- 这种结构背后的意图是什么,以及相关各方的影响是什么?
- 输入到底是如何转化为输出的?
- 要使用的数据来源是什么?
澄清的需要是由信任人工智能做出的决定的需要驱动的,特别是在商业领域,任何错误的决定都可能导致重大损失。
正如《商业》中所介绍的,可解释的人工智能提供了导致更好商业结果的洞察力,并预测了最受欢迎的行为。
首先,XAI 让公司所有者直接控制人工智能的运作,因为所有者已经知道机器在做什么,为什么。它还维护公司的安全,因为所有程序都应通过安全协议,如果有违规行为,应记录在案。
当利益相关者有能力观察所采取的行动并欣赏其逻辑时,解释人工智能系统有助于与他们建立信任关系。
绝对致力于新的安全立法和倡议,如 GDPR,是至关重要的。根据现行法律关于正当性的规定,禁止立即做出任何决定。
然而,在 XAI 的帮助下,禁止自生决定的需求将不再有效,因为可解释人工智能中的决策过程尽可能简单明了。
为什么需要可解释的人工智能?
阿尔诸那在 Unsplash 上拍摄的照片
它是关于程序向人类解释其行为背后的逻辑的能力,它的形式是能够用正式语言向计算机科学家解释,并且能够向系统用户解释。
这一点非常重要,因为它与人类对设备使用的信任密切相关,更正式的说法是,如果这种信任能够证明机器的行为,那么这种信任就很重要。
我们将如何开发可解释的人工智能?
可解释的人工智能是一种人工智能,旨在以普通人可以理解的方式解释其意图、推理和决策过程。
XAI 经常在深度学习的意义上被提及,并在机器学习 (ML)范式中发挥着重要作用:
- 公平
- 公开
- 机器学习的透明性
XAI 通过分享以下内容,提供了关于人工智能软件如何做出决定的一般知识:
- 该课程的优点和缺点。
- 软件使用的基本参数用于得出结论。
- 为什么一个程序做出一个明确的决定,而不是选择?
- 不同形式的判断可接受的置信度。
- 预计软件会犯什么样的错误?
- 哪些错误应该改正?
XAI 的基本目标是算法透明。直到最近,人工智能系统还只是简单的黑匣子。即使输入和输出是已知的,用于作出决策的等式总是专有的或不容易掌握的,尽管编程的内部工作是开放的,并使公众可以访问。
随着人工智能变得越来越普遍,揭露偏见和信任问题是如何得到回答的比以往任何时候都更重要。例如,《欧盟一般数据保护条例》( GDPR)规定了澄清条款的权利。
结论
在 Unsplash 上由 Austin Distel 拍摄的照片
人类层面的解释包括一系列认知功能,如自我意识、心智理论、长期记忆和记忆储存、语义学等。人工智能将描述的是它能做什么的角色,并且它与我们发现和引入的能力成指数关系。
现在,把你的想法放在 Twitter ,Linkedin,以及Github*!!*
同意 还是 不同意 与 Saurav Singla 的观点和例子?想告诉我们你的故事吗?
他对建设性的反馈持开放态度——如果您对此分析有后续想法,请在下面的 评论 或联系我们!!
推文@ SauravSingla _ 08、评论Saurav _ Singla,还有明星SauravSingla马上!
脸书知道我的位置吗?
分析和可视化脸书在个人层面收集的地理位置和跟踪数据
这是我的“脸书到底了解我什么?”系列的第二部分在那里,我用数据科学分析了脸书收集的 7500 份关于我的资料。参见第 1 部分分析我自己的脸书活动、第 3 部分了解脸书认为我喜欢什么、第 4 部分了解脸书在其他网站上了解我的活动和第 5 部分了解我 4.5 年的感情在脸书数据中是什么样子。
如果你有一部智能手机,你使用的任何应用程序都可以追踪你的位置。令人欣慰的是,近年来限制这一点并识别哪些应用程序正在使用你的位置数据变得越来越容易,尽管许多人要么忘记检查这一点,要么根本没有意识到设置已经打开。
在这篇文章中,我将解决脸书收集了多少位置数据的问题,我将把它形象化,以展示如何用它来推断你的生活。
这就是我
第一种,也是最明显的一种,脸书获取我们位置信息的方式是我们自愿以个人资料的形式提供给他们。大多数人会输入他们的家乡、当前城市和/或工作地点,并让他们的朋友看到。
我也用脸书做过这个,下面你可以看到(大概)这些地方在英国的什么地方。希望这能提供一些背景信息,让下面的地图更容易理解。请注意,在所有这些地图中,我使用的是脸书的精确坐标,但为了更好地形象化,我在这里将它们显示为圆圈。
你可以在这里看到,脸书知道我在哪里长大、上学,然后我搬到诺丁汉上大学(2014 年),毕业后留在那里,开始了新的工作(2017 年)。尽管这些都是公开信息,但值得指出的是,人们通常不会考虑这些“生活事件”是如何让你的身体位置随着时间的推移而建立起来的。
它还显示了我的“最后位置”,也就是我现在住的地方。友情提醒,脸书知道你住在哪里!
明确的个人资料位置并不是脸书存储您的位置数据的唯一方式,但是…
逻辑概念
脸书跟踪您位置的另一种方法是在您登录帐户时识别您的位置。我承认,我并不完全理解纳入这个数据集的标准,因为它不包括我每次打开应用程序的时间,但似乎主要是过去 18 个月的地点,还有一个是 2017 年的。它由 192 个地点组成。区域越暗,我从该位置登录的次数就越多。
我的脸书位置历史的地图,使用 r .标签的传单包装为进一步的上下文增加。
你可以立即看到这里的一些模式,可以用来作出推论——我在诺丁汉的生活是最明显的。我父母的房子和我女朋友的父母的房子都是热点,谢菲尔德也是,我经常去那里工作和上大学(反正是 Covid 之前)。
这些数据中包含的一些新信息是 trips 的证据。在过去的一年半时间里,我去过利物浦两次,还有苏格兰的邓弗里斯&加洛韦(地图左上角)。在这两种情况下,您可以看到我在终点登录,还可以看到我到达终点的路线:在往返苏格兰的途中经过卡莱尔,在往返利物浦的途中经过特伦特河畔斯托克。
你可以看到这些信息如何被用来跟踪我的位置,甚至预测它。如果你知道我要从家里去利物浦,你可能会认为我会经过或靠近特伦特河畔斯托克。
旅途中的生活
脸书发现我位置的第三种方法是利用我的账户活动。这是我在下载的数据中能找到的最大的一组位置信息。
追溯到 2017 年 10 月,我在进行了超过 1500 次操作,例如:登录、结束会话、更改密码或向我的账户添加信息(即支付信息)。这些的位置如下图所示。
首先要注意的一点是,这里没有显示账户活动的两个实例。一个来自华盛顿、西雅图(美国),一个来自德国的未知地点。这两个动作都是“登录检查失败”——大概是黑客试图访问我的账户。
我还应该提到,这似乎不是 100%准确。这可能是因为位置被调整到最近的城市中心/手机信号塔,或者因为位置是从 IP 地址计算的,而不是我的实际位置。话虽如此,绝大多数似乎有大致正确的位置,你可以在这里看到与以前相同的模式。
热点显示了我大部分时间呆在哪里——我的房子和家人的房子。我只能假设孤立的圆圈是我旅行的时候,要么作为乘客登录脸书,要么在去目的地的路上停下来。通过比较热点和单个位置,您可以看到实时跟踪我的位置并对我的最终目的地做出有根据的猜测是多么容易。
Et fin
“脸书到底了解我什么?”系列的第二部分到此结束。我希望它已经有所启发,你也喜欢深入了解我生命中激动人心的故事。接下来,我将通过观察脸书认为我喜欢什么和不喜欢什么来深入我自己的内心——并给出我自己对它们的准确性的看法。我也会解释为什么有时候感觉脸书在听你的谈话…以及为什么他们没有。
如果你喜欢这篇文章和这个系列,那么请给我和我的出版物数据片一个关注以保持最新。第三部分明天开始!
GPT-3 对人工智能意味着什么?
GPT-3 改变用人工智能构建软件的公司规则的三种方式
GPT-3 是一个在大块互联网上训练的非常大的机器学习模型。苏珊·尹在 Unsplash 上的照片
到目前为止,2020 年最大的人工智能新闻是 OpenAI 巨大的新语言模型 GPT-3 的成功。在这篇文章中,我将快速总结为什么 GPT-3 会引起如此大的轰动,然后强调个人和公司用人工智能建造东西的 3 个后果。
GPT-3:非常简短的入门
为什么人们对 GPT-3 感到兴奋?原因如下,在三条推文中:
这是怎么回事?
已经有很多关于 GPT-3 的总结文章,所以我不会在这里重复。
为了更好地介绍这个模型是如何工作的,请查看来自 Jay Alammar(非常优秀)的视觉指南。关于这个模型的能力和局限性的严肃讨论,请看凯文·拉克尔的给 GPT-3 做图灵测试。
简而言之,GPT-3 是一个被训练成自动完成句子的模型。它已经在大量的网络上被训练过了。一路走来,它学到了很多有趣的东西。
为什么会发生这种情况?
事实证明,如果你试图从网上自动完成句子,记忆大量的东西是有用的。例如,如果你想完成关于巴拉克·奥巴马的短语,记忆一大堆关于他的东西会很有帮助。你还能怎样完成“巴拉克·奥巴马出生于 ____”这个句子?
所以这个模型已经了解了很多关于奥巴马的事情。还有川普。以及互联网上经常出现的任何人和任何事。
事实上,这不仅仅是学习事实,而是学习创造东西。你不能通过自动完成句子来创造东西,但是你可以通过自动完成代码来创造东西。原来互联网上有很多代码,所以模型已经学会写半连贯的代码。例如,它学会完成不是用普通散文写的句子。它可以完成用编码语言写的行,像 HTML & CSS。
最有趣的是,当短语的开头是代码中的而不是时,模型已经学会自动完成代码。让我们再来看看那条有趣的布局生成推文:
引擎盖下到底发生了什么?GPT-3 被输入了自然语言描述(输入到“生成”框中的提示),它会自动完成大致满足这些描述的代码。大概这个模型已经学会了这样做,因为在训练期间它看到了很多教程,在这些教程中,人们用文字描述了代码正在做什么(“接下来,我们将制作一个看起来像西瓜的按钮……)。
这类演示让开发者争相获取 API,也让风投争相获取他们的支票簿。提示 Y Combinator 的保罗·格拉厄姆,硅谷的元老之一:
那么这对于用人工智能建造东西的人来说意味着什么呢?
1.从开放的 AI 到封闭的 AI
当前人工智能激增的一个特点是,代码,通常还有数据,可供任何人免费使用。机器学习的学术模型已经围绕像 Arxiv 这样的开放网站上的免费预印本合并在一起。传统的同行评审已经被发布你的模型并允许其他人修改它们所取代:基本上现在你可以发布任何你喜欢的东西,如果代码有效,你会因此而得到好评。
例如,NLP 向前迈出的最后一大步是 Google 的 BERT 模型。这篇论文很快就有了代码,现在你可以通过优秀的包免费训练或使用 BERT 模型,比如变形金刚库和谷歌 Colab 笔记本上的免费计算。
GPT-3 与众不同,它太大了,业余爱好者(或大多数公司)无法自我训练,甚至无法运行。通常在深度学习中,训练模型很昂贵,但使用它们相对便宜,你可以在自己的笔记本电脑上完成。
但这里的情况并非如此:该型号需要大约 350GB 的内存来运行,这是我 2019 年 MacBook Pro 的 15 倍。而且你完全可以忘记训练它: Lambda Labs 估计,使用云 GPU 进行训练需要花费 460 万美元。
那么你如何进入 GPT 3 号?通过一个 API,这意味着你在互联网上发送文本,然后 OpenAI ,创造了 GPT-3 的公司,通过模型运行文本,并向你发送响应。
要使用 GPT 3,你必须为每次使用付费
这是彻底背离在你自己的基础设施上运行模型。这意味着:
- OpenAI 每次用模型都赚钱
- OpenAI 观察人们使用模型的不同方式
- 打开查看您发送给模型的数据
此外,对 API 的访问目前受到限制。这就形成了一种权力动态,一小部分人可以接触到 GPT 3 号,并对它说些好话,以保持这种竞争激烈的特权。想象一个流行的音乐节,门票有限,宣传力度很大。有点像 Fyre festival ,也许。
2.很少有人能活到老学到老
宣布 GPT-3 的论文标题是**“语言模型是一次性学习者”。**这到底是什么意思?
机器学习通过记忆模式来工作。从历史上看,每个模型都能够学习一组模式。例如,我们可以学习一个模型来告诉我们一条推文是正面的还是负面的。我们通过展示正面和负面推文的模型例子来做到这一点,并教它“看起来像这样的推文是正面的,看起来像这样的推文是负面的”。
如果我们想学习一个模型来告诉我们一条推文是否是关于培根的,那是一个不同的模型。你不能要求你的“正/负”模型形成对培根的看法。你训练一个新的。
这有点像一个不能真正弹钢琴的人去记忆特定歌曲的手部动作。也许他们可以完美地弹奏筷子,而且有一点灵活性:他们可以弹奏得更大声、更快或更断续。但是他们不能看乐谱给你弹首新歌。
真的,把这个和会弹钢琴的人相比。他们已经学会了如何快速学习一首新曲子。他们拿着音乐,练习几次,然后就可以演奏了。
这不是一个完美的类比,但它是一只可爱的小狗。信用:吉菲
这就是 GPT 3 号能做的。它还没有学会演奏一首曲子。它学会了如何 快速学会演奏新曲子 。
这就是“少拍学”的意思。GPT-3 可以从几个例子中学会做一项新任务。例如,它可以学习做加法、拼写纠正或翻译,如论文中所述:
出自原文。
请记住,这个模型最初只是被训练来进行自动完成(这就是顶部的紫色箭头所代表的)。
少数镜头学习允许没有数据的 AI
这很有趣,因为它破解了在现实世界中应用人工智能的一个巨大挑战:冷启动问题。除非你有一堆训练数据,否则你无法创建一个令人信服的模型。但是在你造出人们会使用的东西之前,你不可能真正得到数据。这是一个第二十二条军规。
GPT 3 号也许能够解决这个问题,因为它能够做很多开箱即用的事情。我认为将会有一个完整的剧本,从你的产品的 GPT-3 基线开始,然后弄清楚如何在其上分层专有数据和模型以进一步改进它。Jack Clark 在 Import AI 217 中强调了这一点,描述了来自 Salesforce 的 GeDi 模型:
[它]是研究人员如何开始构建插件工具、技术和增强功能的一个例子,这些工具、技术和增强功能可以附加到现有的预训练模型(例如,GPT3)上,以提供对它们更精确的控制
杰克, 进口艾刊 217
3.作为数据库的语言模型
近几十年来,最有价值的企业技术公司一直专注于存储和检索信息。大多数消费者都熟悉帮助你从网上检索答案的服务——比如谷歌——但你可能不太熟悉维持大部分经济运转的数据库技术,这种技术由甲骨文公司和 T2 SAP 公司出售。
如果你以前使用过数据库,你会知道你必须使用特殊的语言与它们交流。例如,要确定加拿大人口最多的城市,您可以这样写:
SELECT * FROM CITIES WHERE COUNTRY='CANADA' SORT BY POPULATION LIMIT 1
对大多数人来说,这是天书。
但是正如你从介绍中所记得的,这是 GPT-3 顺便从学到的东西。所以你可能会问 GPT-3 这样的问题:
"The most populous city in Canada is ____ "
它会自动完成
Toronto
GPT-3 解决了数据库的输入和访问
这很重要,因为它解决了如何从数据库中获取数据的问题。
但它也解决了如何将数据存入数据库的问题。同样,这目前还不是很简单,需要专业知识。
在人工智能中,将事实输入数据库通常被称为“知识图构建”,这非常耗时,并且难以自动化。自 2012 年以来,谷歌一直在研究他们的知识图表——这是为出现在谷歌结果上方的有用信息框提供动力的东西——但 GPT-3 似乎在短短几个月的训练中复制了许多相同的内容,没有明显的努力。
该面板由谷歌的知识图谱提供。GPT-3 将允许其他公司以很低的成本制造类似的产品。来自维基百科。
GPT-3 只是绕过了“我应该如何构建我的数据库,以及如何将我的所有数据放入其中”的问题。它不会取代数据库的所有用途——例如,你必须有点疯狂才能让 GPT-3 存储你的航空公司的预订——但对于以一种易于检索的方式存储松散结构的数据来说,它将非常有用。
更新 GPT-3 将是一个关键的研究领域
为了让 GPT-3 成为一个有用的知识库,你需要能够轻松地更新信息。例如,如果加拿大人口最多的城市发生变化,我们需要一种方法让 GPT-3 知道。这将是一个非常热门的研究领域。显然你不想重新培训整个模型了(记得价格标签吗?),但当世界发生变化时,调整一下也不错。
如果我们能够令人信服地解决知识更新的问题,那么我认为 GPT-3 驱动的知识图会非常有用。这里有几个例子:
- 由 GPT-3 驱动的客户服务机器人可以回答关于你的产品的问题,而无需任何人明确输入或更新这些信息。
- 科学知识的自然语言讯问(“明尼苏达州目前的 COVID 病例数是多少?”)
- 基于世界当前状态的自动完成系统,例如,在一封销售电子邮件中,你可以写“我们目前有 X 家商店,昨天我们服务了 Y 位顾客”,然后让 GPT-3 填写任何相关的统计数据。
结论
迄今为止,人工智能一直在努力实现其商业承诺。GPT-3 提供了一种令人耳目一新的新方法,绕过了击败许多早期人工智能项目的数据悖论。
然而,单个供应商控制对模型的访问是一个戏剧性的范式转变,还不清楚它会如何发展。OpenAI 尚未参与谷歌、亚马逊和微软发起的云人工智能战争,但如果这些公司不以某种形式复制 OpenAI GPT-3 服务,那将令人惊讶。
最后,我认为将模型放在 API 后面会在技术的创造性应用方面带来意想不到的好处。可以说,这个领域已经受到了 ML 专业人员过高薪水的损害,这抑制了专注于创造创新事物的早期创业公司的增长。如果你的早期雇佣非常昂贵,以至于你需要花费所有的时间来筹集资金,那么你就很难专注于开发为用户提供价值的软件。通过 API 访问模型强调了一个事实:这不是魔术,这是一个工具。你可以用它做一些有趣的事情。
进一步阅读
- 深度学习怀疑论者加里·马库斯对 GPT-3 的批评
- 来自格温的 GPT-3 创意写作实验
- 我见过的 GPT-3 最有创意的用法:死人的教训
以人为中心的 AI 对管理意味着什么?
以人为中心的人工智能依赖于企业教育的能力,即清楚地理解管理者能带来什么
图片来源:SecureWeek
人工智能背后的管理动机仅仅是通过用机器取代员工来减少人员编制吗?如果是这样,“以人类为中心的人工智能”充其量是弄巧成拙的废话。如果麻省理工学院将以人为中心的人工智能定义为“以深入、有意义的方式向人类学习并与之合作的(信息)系统的设计、开发和部署”,那么对于管理层来说,了解机器智能在哪里以及如何增强人类潜力也同样重要。以人为中心的人工智能依赖于企业教育的能力,以培养对管理者在日益数字化的组织中能够带来什么的清晰理解。
商科和工科学生需要了解 AI 在管理方面的哪些知识?在本系列之前的文章中,我们探讨了从“人工智能就绪”和人工智能项目管理到协作智能和数字化转型的主题。在这最后一部分中,我们将关注三个领域,我们认为这三个领域是任何关于“以人为中心”的人工智能的管理课程的核心:数字伦理的重要性,人工智能和创新之间的虚假联系,以及引入对人工智能价值的讨论。
数字伦理
数据伦理包括研究和采用尊重基本个人权利和社会价值观的数据实践、算法和应用。【ii】如果道德不是数据或算法的属性,那么当管理者依赖数据做出商业决策时,道德挑战就会自然产生。当数据和算法都反映了人类决策的愿景、偏见和逻辑时,人工智能不能与它旨在解决的更大的经济和社会挑战隔离开来,这些愿景、偏见和逻辑是否忠实地反映了商业的现实,如果不是,这些反映如何影响客户、组织和市场的管理观点?数据驱动的决策制定并不意味着在客观分析数据和主观影响行为之间做出选择,而是强调理解数据如何塑造人类感知和主动性的必要性。
从这个角度来看,讨论数据伦理的目的不是帮助管理者区分对错,而是促进关于什么是可接受的数字实践的讨论。在管理教育中,可以解决和探讨五个不同的挑战。由于个人数据成为数字经济的燃料,围绕个人身份信息、明确同意以及访问权、纠正权和被遗忘权的问题值得关注。算法已经成为决策自动化的关键,但管理者应该在多大程度上对由此产生的决策负责仍有争议。隐性偏见的问题同样重要,因为个人和集体的态度和偏见影响着我们对数据、认知、逻辑和伦理的使用。技术对我们如何以及为什么交流的影响也应该得到讨论——因为我们对数据的依赖已经微妙地改变了我们对“信任”、“隐私”、“真相”和“价值”的定义。最后,我们对数据驱动决策的承诺应该将“科学主义”提升到其他形式的人类智能之上吗?【iii】
图片来源:斯坦福大学
海有 121 名教职员工——超过 80%是白人,几乎同样多的是男性
斯坦福大学以人为中心的人工智能研究所(HAI)是一个很好的例子,说明了研究伦理偏见变得多么困难和多么重要。基于“人工智能的设计者必须广泛代表人类”的立场,该大学在去年推出了 HAI,以“推进人工智能研究、教育、政策和实践,以改善人类条件”。【iv】“然而,当该机构公布领导该计划的 120 名教师和技术领导者时,他们都曾在世界顶尖的商学院和工程学院接受教育,其中超过 80%是白人,男性几乎与白人一样多。这个群体代表了整个人口,还是代表了过去五十年来主导这个行业的不同种族、文化和思想潮流?鉴于他们背景和教育的相似性,他们能够在多大程度上理解当地道德挑战的复杂性?如果数字化转型的目标是将数据转化为行动,教师们会采取行动来巩固现状,还是促进更具代表性或最终更令人满意的未来信仰多样性?
人工智能与创新
人工智能是创新的证明,还是至少是未来创新的必要条件?开发能够模仿人类行为的算法是一回事,制造能够创新的机器是另一回事。几个世纪以来,创新在很大程度上依赖于环境:不同时代的创新(技术推动、市场拉动、战略整合和网络)是由技术工具和市场动态在特定时间点的相互作用定义的。Tidd 和 Bessant 认为,今天的创新意味着通过解决经济或社会问题,应用产品、流程、立场或范式来创造价值。探索管理层如何利用机器智能来促进创新,为组织提供了一个重大机会,让他们可以将人工智能的讨论扩展到数据和算法之外,并讨论如何将这些技术应用到他们的业务中,并从中获利。
如果人工智能可以复制人类思维,企业利益相关者应该思考一下,为什么他们的管理者需要企业教育。课程讨论可以分析机器智能的现状,机器智能充其量只能掌握重复性任务(狭义人工智能),以及“超级人工智能”的承诺,即能够重新制定组织试图解决的经济、社会和政治问题。研讨会可以探索为什么机器学习一直受到解决方案逻辑的束缚,而人类创新的根源在于发现明显问题的普遍性。研讨会可以帮助管理人员了解如何利用机器智能来识别数据中的可识别模式,以及为什么他们需要关注违反可编程逻辑的异常值。这一明显的悖论可能会在可预见的未来很好地制约管理培训:尽管人工智能永远不会成为创新的证据,但当与适当的培训一起使用时,人工智能构成了开发管理好奇心、创造力和创新的关键。
图片来源:阿里巴巴
当与适当的训练一起使用时,人工智能构成了开发管理好奇心、创造力和革新的关键
中国科技巨头阿里巴巴就是一个很好的例子。在不到二十年的时间里,阿里巴巴已经拿出了充分的证据证明其创新能力:其基于平台的商业模式预计仅今年一年就能从其在零售、互联网和技术领域的投资中获得 1000 亿美元的收入。通过利用互联网技术和数据智能来开发一个开放的、依赖技术的、以价值为中心的生态系统,阿里巴巴的管理层重新定义了“新零售”行业。【VII】其“智能商业”的愿景是基于人类和机器智能的匹配——每个核心业务流程都在一个在线网络中协调,并使用机器学习技术来有效地实时利用数据。管理层利用其基于云的 Alink 平台、支付宝和淘宝等应用程序以及阿里助手等发明,创建了一个由卖家、营销人员、服务提供商、物流公司和制造商组成的创新生态系统,其表现优于传统的商业基础设施。人工智能本身并不被视为目的,而是数据化、协调、激励和启发制造商和消费者以不同方式思考商业的创新过程中的基石。
人工智能与价值
AI 的价值是什么?“物有所值”在今天很大程度上是一个赘述,即使什么是物有所值的问题仍然是一个悬而未决的问题。一方面,消费者使用参照系来选择产品和服务,这些参照系决定了他们的价值。另一方面,今天的业务流程被设计成价值链的一部分,发挥着生产者和消费者的责任。在这两种情况下,对“财务价值”的认知都受到人类“价值”的制约,如质量、效用、公平、邻近性和所有权。如果人工智能的算法可以很容易地被训练来分析和探索成本,它们迄今为止几乎没有能力预测和/或影响人类对价值的感知。指标捕捉了它们被设计用来衡量的东西,算法按照它们被教导的那样执行,而人们基于个人经验来评估数据的价值。
数据没有内在价值,除了它如何被用来解决社会和经济挑战。人工智能的管理培训需要超越机器学习指标的相关性讨论,如精确度、准确度、召回率和灵敏度,以调查金融价值和人类价值之间的复杂关系。关于影响购买决策的认知因素的案例研究可以帮助参与者理解,决策者不是根据数据进行运算的冰冷的计算机器,而是根据他们的感觉和见解做出反应的经理和消费者。在将价值讨论引入人工智能研究的过程中,企业培训可以帮助管理层关注机器和人类代理之间的交互如何影响生产率、有效性和质量。机器既不创造也不获取价值,而是人。
图片来源:灰色海岸媒体
只要人类还在购买和消费,价值的本质就永远不会被算法捕捉到
探索人工智能的管理挑战提供了一个恰当的例子。将人工智能的研究局限于其技术组成部分,可能会导致对人工智能对消费、生产和投资的不可避免的影响的盲目管理。如果价值不是在数据本身中捕获的,它就在元数据中表示,元数据的内在、外在和系统维度定义了如何组织和解释数据。如今,数字资产的管理需要深入理解评估数字资源时固有的封闭分类法和开放大众分类法的语义。【VIII】对价值而非成本的核算导致管理层反思人工智能和生产力之间的联系,这反过来又可以导致对决定数字经济中组织核心活动的生产边界的重新定义。最后,重新制定生产率指标可以促进关于激励和利润的讨论,并有机会将投资策略从计算股东的 ROI 转变为计算价值链中所有参与者的投资回报。
我们学到了什么?
如今,人工智能领域的企业培训需要帮助管理层超越数据和算法,探索人工智能如何改变组织和市场。商业努力的未来成功不取决于人工智能,而是取决于能够利用数字技术提高人类潜力的管理者。在这个由三部分组成的系列中,我们讨论了我们认为应该成为任何人工智能课程核心的九个主题:
- 人工智能和战略——人工智能如何影响我们思考商业的方式。
- 人工智能就绪性——组织准备利用人工智能优势的程度
- 人工智能项目管理——将人工智能实验作为与组织的业务目标、背景和资源相一致的项目进行管理
- 协作智能——设计人机代理网络,以促进知识、专业技能和偏好的众包
- 管理决策——关注机器学习在何时何地可以帮助管理者将数据转化为行动
- 数字化转型——认为数字化技术不会改变公司和市场,而是会改变人。
- 数字伦理——管理者依靠数据做出商业决策时出现的伦理挑战
- 人工智能与创新——人工智能在开发管理好奇心、创造力和创新中的作用。
- 人工智能、价值和价值——人工智能的价值研究
在每种情况下,管理技能而不是技术悟性被证明是将人工智能的承诺与每个组织的战略、资源和文化相结合的基础。
Lee Schlenker 是 BAI 的校长,也是商业分析和社区管理教授。他在 LinkedIn 上的个人资料可以在的查看
【I】Schlenker,L. (2020),管理在人工智能课程中的地位和匹配人机智能
【ii】Schlenker,L. (2020),嘿 Siri,成为人类意味着什么?,走向数据科学
【iii】比如,情感(人际)、语言(文字智能)、内省(自知)和精神(存在)智能
【iv】O ’ Neil,P.H. (2019),斯坦福大学的新研究所,以确保人工智能是“人类的代表”,其工作人员大多是白人,Gizmodo
【v】Tidd j .,Bessant J. (2013)管理创新。整合技术、市场和组织变革
这些预测是在当前的经济衰退之前预测的。
【VII】曾,M. (2018),阿里巴巴与商业的未来,
【VIII】ka gle,k .(2019)元数据的价值《福布斯》
部署机器学习模型意味着什么?
对模型部署和各种类型的简单介绍
目录
介绍
想象一下,你花了几个月的时间创建了一个机器学习(ML)模型,它可以用近乎完美的 f1 分数来确定一项交易是否是欺诈性的。很好,但是你还没完成。理想情况下,您会希望您的模型能够实时确定交易是否具有欺诈性,以便您能够及时阻止交易。这就是模型部署的用武之地。
大多数在线资源侧重于机器学习生命周期的前期步骤,如探索性数据分析(EDA)、模型选择和模型评估。然而,模型部署似乎是一个很少讨论的话题——原因是它可能相当复杂。部署是一个与 EDA、模型选择或模型评估完全无关的主题,因此,没有软件工程或 DevOps 背景的人不会很好地理解它。在本文中,您将了解什么是模型部署,模型的高级架构,部署模型的不同方法,以及在确定部署方法时要考虑的因素。
什么是模型部署?
部署机器学习模型,称为模型部署,简单地说就是集成机器学习模型,并将其集成到现有的生产环境(1)中,在那里它可以接收输入并返回输出。部署您的模型的目的是使您可以将经过训练的 ML 模型的预测提供给其他人,无论是用户、管理人员还是其他系统。模型部署与 ML 系统架构密切相关,ML 系统架构是指系统内软件组件的排列和交互,以实现预定义的目标(Opeyemi,2019)。
在部署模型之前,您的机器学习模型在准备部署之前需要达到几个标准:
- 可移植性:这是指你的软件从一台机器或系统转移到另一台机器或系统的能力。可移植模型是一种响应时间相对较短的模型,并且可以用最少的努力重写。
- 可扩展性:这是指你的模型可以扩展到多大。可伸缩模型是不需要重新设计来保持其性能的模型。
(1)生产环境是一个术语,用于描述软件和其他产品被最终用户实际投入使用的环境(Techopedia,2012)
ML 系统的高层体系结构
概括地说,ML 系统有四个主要部分:
- 数据层:数据层提供了对模型所需的所有数据源的访问。
- 特征层:特征层负责以透明、可扩展和可用的方式生成特征数据。
- 评分层:评分层将特征转化为预测。Scikit-learn 是最常用的,也是评分的行业标准。
- 评估层:评估层检查两个模型的等价性,可用于监控生产模型。即,它用于监控和比较训练预测与实况交通预测的匹配程度。
部署模型的不同方法
部署您的 ML 模型有三种一般方式:一次性、批处理和实时。
一次性
你并不总是需要不断地训练一个机器学习模型来部署它。有时一个模型只需要一次或者周期性的。在这种情况下,可以在需要时简单地对模型进行专门训练,并将其推向生产,直到它恶化到需要修复。
批次
批量训练允许您不断地拥有模型的最新版本。这是一种可扩展的方法,一次获取一个子样本数据,无需在每次更新时使用完整的数据集。如果您在一致的基础上使用模型,这很好,但不一定需要实时预测。
实时
在某些情况下,您需要实时预测,例如,确定交易是否是欺诈性的。这可以通过使用在线机器学习模型来实现,如使用随机梯度下降的线性回归。
确定部署方法时要考虑的因素
在决定如何部署一个 ML 模型时,有许多因素和影响需要考虑。这些因素包括以下内容:
- 预测生成的频率以及需要结果的紧迫性
- 如果预测应该单独生成还是批量生成
- 模型的延迟要求、用户拥有的计算能力以及期望的 SLA
- 部署和维护模型所需的运营影响和成本
更多类似的文章,请查看 Datatron 的媒体页面或他们的博客 https://blog.datatron.com/ T2 T3
感谢阅读!
如果你喜欢我的工作,想支持我…
- 支持我的最好方式就是在媒体 这里关注我。
- 在 Twitter 这里成为第一批关注我的人之一。我会在这里发布很多更新和有趣的东西!
- 此外,成为第一批订阅我的新 YouTube 频道 这里!目前还没有视频,但即将推出!
- 在 LinkedIn 上关注我这里。
- 在我的邮箱列表 这里报名。
- 看看我的网站,terenceshin.com。
参考
Techopedia (2019)。生产环境。技术百科。https://www . techopedia . com/definition/8989/production-environment
奥佩耶米,巴米格巴德(2019)。去神秘化的机器学习模型的部署(第 1 部分)。走向数据科学。
朱利安·凯尔维齐奇(2019 年)。在生产中部署机器学习模型的不同方法概述。 KDnuggets。https://www . kdnugges . com/2019/06/approads-deploying-machine-learning-production . html
路易吉·帕楚诺(2020)。部署机器学习模型意味着什么? KDnuggets。https://www . kdnugges . com/2020/02/deploy-machine-learning-model . html
拥有数据驱动的思维模式意味着什么?
我把它分成三个主要步骤
在 Unsplash 上拍摄的 ThisisEngineering RAEng
更喜欢看这个? 在 YouTube 上查看我的视频。
今天,我和一个人聊天,讨论数据科学项目的障碍。有一次,我解释了一个人成为数据科学家需要什么技能。我提到的一件事是,我认为数据科学家应该具有数据驱动的思维模式。在我说了之后,我意识到,我不太明白我说的是什么意思。关于什么是数据驱动的心态,它如何影响公司,数据意识的水平等等,有许多解释。我指的不是那种公司的胡言乱语。我的意思更多的是在个人层面上;作为人,我们如何被数据驱动。经过思考,我总结出它包括三个关键概念:
习惯用数据支持你的决定
当你成为一名数据科学家,你的生活将围绕数据展开。你需要习惯于根据这些数据做出决定。这也包括你对如何分析数据所做的决定。你必须养成不做很多不必要假设的习惯。
- 需要为您的模型选择参数吗?比较一下,看看哪个效果最好。不要只使用随机值。
- 不确定如何处理你丢失的价值观?看看这些数据,看看你能做些什么来填补这些空白。不要只是移除它们。
这需要一段时间来适应,因为作为人类,我们的生存要感谢我们的大脑能够根据“表面”模式假设事情。但当你在处理数据时,最重要的是能够抛开你凭信念做出假设的本能,开始通过观察做出假设。
当我刚开始的时候,我发现记下我在一个项目中所做的假设很有帮助。然后我会再看一遍,看看我能否用我掌握的数据来支持它们。
阅读数据时保持客观的能力
除了根据数据做出决定之外,你还想确保你看到的正是正在显示的内容。很容易陷入这样一个陷阱:只看到让我们高兴的东西,而忽略其他的东西。我也犯过这种错误,我会忽略滑稽的外观(因为有点太糟糕了,不舒服)性能指标,希望它没有任何意义。相信我,最后,它意味着什么,它会制造麻烦。因此,你需要能够解决出现在你面前的问题,而不把它们过滤掉。
理解使用数据的可能性和局限性
了解您可以用数据做什么是数据科学家的主要职责之一。知道你不能做什么至少和那一样重要。这都是关于保持现实的期望,同时意识到潜力。
这就是为什么能够现实地处理问题和解决方案是拥有数据驱动思维的一部分。您可以通过问自己以下问题来衡量自己对每个项目的理解:
- 我能在脑子里把这个问题形式化吗?
- 它符合数据科学的格式吗?
- 什么是输入和输出?
- 他们是如何表现的?
数据驱动的思维模式不是一夜之间就能学会的。你必须练习,接受批评,保持警惕,发现你可能犯的任何错误。它基本上是一个框架,你应该训练你的大脑通过它来看待生活。从这个意义上说,这不仅仅是数据科学家的事。这也适用于现实生活。
尤其是最近,互联网上有很多错误的信息。我们可能会在我们的提要中看到许多未经证实和不真实的“事实”。这正是数据驱动思维可以帮助你的地方。不要相信你看到的第一件事,你可以研究它,收集信息和数据,然后做出自己的决定。通过寻找事实和证据来支持你的想法和说法,你就是数据驱动型的。
这些都是需要记住的好事情,但是最终获得数据驱动思维的方法是通过实践数据驱动技术。你可以这样做的一个方法是参加我的动手数据科学课程,我们立即动手,通过做来学习*。去看看。我保证,当你将自己的实践技能付诸实践,亲身体验现实生活中的项目时,你会对自己进步的速度印象深刻。*
🐼想更多地了解熊猫吗? 获取我的免费熊猫小抄。
成为一名合格的数据科学家需要具备哪些条件?
我们需要最低标准的认证吗?
我对如今有如此多的学生和专业人士正在学习编程式数据科学工具感到兴奋。越来越多的学校和大学在过去的理论课程中增加了实践部分,人们需要掌握 Python 或 R,并尝试使用现实生活中的数据集。
但这引发了另一个问题:现在每个人都自称是数据科学家。无论我在招聘什么职位,这个词在我看过的 80%的简历中都出现过。事实上,这让我开始忽略这个术语,因为它不再是区分人才的标志。
所以这就引出了一个问题——什么时候一个人才能真正成为一名合格的数据科学家?
合格数据科学家的定义
根据我的个人经验,合格数据科学家(QDS)的一个重要指标是他们何时能够准确估计完成一项包含他们不熟悉的元素的重要工作需要多长时间。要做到这一点,您需要:
- 拥有知识来制定完成工作所需的步骤,这些步骤中哪些你已经可以做到,哪些你需要进一步研究
- 拥有能力去做你认为你能做到的步骤,而不会出现意想不到的问题
- 有信心在你预计的时间内学会你不知道的部分
如果我要为 QDS 奖设计某种认证考试,它将是开卷考试,可能需要 4 个小时到一整天,它将涉及选择要解决的新问题和大量数据集。问题将按步骤设置,其中一些早期步骤将需要对所选语言的核心有很强的、流利的知识和快速的记忆,而一些后期步骤将需要对不被视为语言核心一部分的包、模块和方法进行研究和应用,并需要考生进行在线研究才能完成。高效优雅的方法会得到额外的加分。
成为合格数据科学家的步骤
学习成为 QDS 需要哪些步骤?我相信至少需要一年的全日制学习,超过两个紧张的学期,并有几个渐进的学习模块和相应的实践部分:
第一学期:
- 初级数学和统计:这将确保人们理解他们正在编写的一些东西。它不必非常复杂,但应该涵盖数据类型和结构、统计汇总和描述符、数据误差和准确性的度量、离散数学和其他一些概念。
- 语言基础:这将教授如何用所选语言操作数据的基本组件,并与 1 中所学的概念紧密相关。应该给学生一些练习,让他们用自己选择的语言进行操作,然后解释他们刚才所做的事情的数学意义。
- **操作系统管理:**学生应该体验 Unix 和 Windows 环境,使用命令行,理解环境变量、权限和许多其他概念,这些概念在他们的语言与其平台的交互方式中起着重要作用。设置核心软件、ide 和集成应该是本模块的重要部分。
- **项目工作:**在步骤 1 到 3 之后,实质性的项目工作应该以确保频繁的编码实践、发现和解决错误的经验、使用版本控制和产生高质量的输出和结果为目标。应该鼓励学生访问社区资源,如 StackOverflow 并学习如何恰当地与这些社区互动。
第二学期:
- 解释性和预测性建模:这将教授解释一种现象的建模与预测一种现象的建模之间的理论差异、可以为每种建模做出的不同设计选择以及实践中使用的最典型的方法/算法。
- **常用算法、方法和工具:**学生应该接触到最常见的跨平台算法,它们适合做什么(与 1 相关),以及如何用自己选择的语言执行它们。
- **代码抽象:**学生要学会干巴巴的重要性(不要重复自己),变得能舒服的写函数,明白抽象的价值。
- 开发:应该向学生教授软件开发的基本步骤和原则,并用他们选择的语言向他们展示开发的关键资源。应该鼓励他们参与语言发展社区。
- **调试:**学生需要建立处理错误的信心。应该教授系统的调试过程,探索典型的错误信息和回溯。学生应该接触到语言内部以及语言与操作系统交互方式产生的错误。
- 更多项目工作:第二学期的项目工作应集中在 QDS 考试上,以继续鼓励在核心语言功能中快速自信地编码,但引入一些问题,这些问题需要研究学生不熟悉的方法,一些代码抽象将有助于提高工作效率,一些调试将是可能的。
我写这篇文章的主要原因是想趁现在还新鲜的时候,把一些想法从我的系统中整理出来,写在纸上,但是我很想得到一些读者对此的反应。这种结构的课程/资格会为雇用数据科学家提供更好的基础吗?我是不是反应过度了?我错过了什么?
最初我是一名纯粹的数学家,后来我成为了一名心理计量学家和数据科学家。我热衷于将所有这些学科的严谨性应用到复杂的人的问题上。我也是一个编码极客和日本 RPG 的超级粉丝。在 LinkedIn 或Twitter上找我。也可以看看我在drkeithmcnulty.com上的博客。
拥有学士学位需要具备哪些条件才能闯入数据科学领域?
在 Unsplash 上由 Carlos Muza 拍摄的照片
我从完成数据科学训练营和获得只有本科学位的数据科学职位的经历中学到的东西。
Y 你是一名刚刚毕业的大学生,或者在获得与数据科学无关的学士学位后已经有了一年或三年的工作经验,但是你开始重新考虑你当前的职业轨迹。你已经研究过数据科学,并认为它很酷,所以你正在考虑参加数据科学训练营或自学,以便在该领域开始新的职业生涯。值得吗,像你这样背景的人有没有可能找到数据工作(数据分析师/数据科学家/机器学习工程师)?
是的,这是可能的,我认为这是值得的(你的经历可能会有所不同)。
然而,从第一天开始,你肯定是在打一场硬仗。我将建议你需要关注三件事,以最大化你从数据科学训练营出来后获得工作的机会。
在我们开始之前,这是我在求职过程中的核心资历。你的背景可能会彻底改变你的经历:
- 加州大学伯克利分校机械工程理学学士。(平均绩点约为 3.5)
2.一年在小公司做电气和控制工程师的工作经验。
3.三个月的全职数据科学训练营,构建机器学习、回归、分类和推荐系统项目。
带着这个背景去找工作,这是我学到的。
要准备的东西:
1.编造你的故事
无论你的背景如何,试着把它编织成一个故事,尽可能地引导你过渡到数据科学。我的真实故事是:
- 我最终选择了机械工程,因为我在高中玩了太多的电子游戏,不知道长大后想做什么。
- 当我在大学的时候,我发现我讨厌机械工程,所以我最终在小组项目中做了大部分的编程工作。
- 后来,我在瓦楞纸箱制造机械行业的一家陈旧、停滞不前的公司做了一名电气和控制工程师,这让我害怕每天早上去上班。
采访者听到的是以下内容:
“我学习机械工程是因为我喜欢应用数学和物理来解决现实世界的问题。由于硬件工作的逻辑限制,我发现自己被编程吸引住了,所以我做了一年的电气和控制工程师,在那里我练习了一点 Python 和 UI 设计。虽然我发现工程系统和应用物理概念令人愉快,但我一生都在玩音乐,也喜欢写一些讲述故事的歌曲。数据科学对我很有吸引力,因为它是应用数学/统计学、编程知识和分析数据来讲述一个故事的高潮,所以我辞去了工作,加入了一个全职奖学金,以追求数据科学的职业生涯。”
我没有撒谎,但这也不是全部事实。然而,它确实满足了面试官想要听到的叙述,这样他们就不会认为你会在新职位上任三个月后突然想再次转行。你必须简洁地让面试官相信你对自己的职业转型有信心,否则他们不会赌你赢。
2.如果你只能在网上申请,有可能获得数据科学家的面试,但期待数据分析师的角色
尽管新兵训练营的广告可能会告诉你不同的信息,但如果你没有关系可以获得推荐,也没有硕士学位,你的申请可能连人都不会看到。
以下是我在记录了我发出的每一份求职申请后收集的“求职统计”,包括推荐和不推荐的:
我没有被立即拒绝的七分之五的工作申请是通过推荐的。我申请了几乎所有用“数据科学家”或“数据分析师”搜索的工作。
我获得的任何现场面试(即使是数据分析师职位)都是通过推荐获得的,除了 Twitter 数据科学家学徒职位。每次我在 LinkedIn 上申请数据科学家职位时,他们的衡量标准经常说我是拥有学士学位的 5 %- 10%申请人中的一员——其余的拥有硕士或博士学位。除非你愿意等上几个月或几年,等碰巧看过你简历并决定给你打电话的那家公司回复,否则你需要一个推荐人来获得远程考虑。
如果你现在不认识这个领域的任何人,你可以尝试在数据科学活动中建立联系,但他们很容易失败。你需要自在地与陌生人交谈,询问咖啡聚会的潜在关系。
3.准备,准备,准备面试
我怎么强调都不为过。作为一个非传统背景的学士候选人,任何公司考虑雇用你都有内在的风险。你获得的任何面试机会,你都必须表现出色——尤其是技术方面的。记下面试的所有方面:
- 行为 —练习回答“你为什么想为公司工作”、“你会给团队带来什么”、“你最后是如何从事数据科学的”等问题。这可能看起来微不足道,但我没有通过谷歌的手机屏幕,因为我没有排练,只能覆盖这些问题。
- 技术 —对 SQL 了如指掌,因为它是业内处理数据的基石。空闲时间在 LeetCode 和 HackerRank 上做 python 和编码面试题。如果你愿意花点钱,有一些职业公司会在网上模拟数据科学家的面试。
- 现场 —在解决白板编程问题时,100%地谈论自己的思考过程。练习识别业务问题,并提出创新的度量标准来衡量它们。能够在简历上解释每个项目的每一步。如果你正在寻找一个数据科学家的角色,了解核心的机器学习技术,它们的优点和缺点,以及 A/B 测试的基础知识。
在第六次面试成功之前,我失败了 5 次现场面试。不要像我一样,在得到你的角色之前让那么多的机会溜走。接受所有面试,先安排你不感兴趣的职位。
事后思考和重复
“是你认识的人”
没有数据科学背景的落地面试难。当人们说找工作取决于你认识谁时,这就是他们在谈论的部分。一旦你参加了面试,你只需要练习技术部分,直到你能通过。然而,像我这样的资历,你甚至很少会接到第一个电话,如果没有推荐人(有时甚至有推荐人),你永远也不会有机会证明自己。不要因为你没有准备好就让机会溜走,但也不要在你准备技术技能的时候停止申请职位。每个机会都很重要。
不要依赖新兵训练营给你找工作
除非有工作保证,否则不要指望新兵训练营能神奇地给你找到工作。它能做的是缓冲你的简历,让你接触到工作和面试中的许多话题。深入挖掘并真正内化这些话题以通过面试(和登陆面试)取决于你。然而,真正帮助我找到面试机会的一件事是与我训练营中的人建立关系网——记住,你指望的是推荐。
祝你好运!
找工作肯定会有起有落。最后,我得到了一份为期一年的合同,在一家大公司担任与电气测试数据相关的数据分析师。我失业不到 12 个月,其中 3 个月是在训练营,但你的经历可能会有所不同。
有些时候,你会质疑一切是否值得,有些时候,你离目标如此之近,但一切都分崩离析。你只需要耐心,坚强,抓住你发现的任何机会。
感谢你读到这里,现在就这些了!稍后再来听听你的第一份数据科学工作是什么样的。
如何才能获得一份数据科学家的工作?
基于实际工作发布数据的实用指南
马库斯·温克勒在 Unsplash 上的照片
答你是否渴望成为一名数据科学家,但不确定如何才能获得一份工作?在这篇文章中,我将从以下几个方面概述招聘人员对潜在候选人的期望
- 工具特定知识
- 技术
- 软技能
我将向你解释如何获得满足工作要求的经验,以及如何提高你在面试过程中的成功率。如果你喜欢视频格式,请点击这里—https://youtu.be/2CYQJ4IFeRA
在深入研究本文之前,本文提供的详细信息是基于对跨越不同国家/地区的不同工作门户上的数据科学家职位的招聘信息的分析,相信我,模式是完全相同的。
招聘启事中通常会提到哪些工具?
数据科学家职位发布中有许多常见的工具。我将涵盖满足期望所需的最低要求以及拥有期望的好处。
编程
几乎 70%到 80%的数据科学家职位要求候选人具备一种或多种以下编程语言的经验,
- 计算机编程语言
- 稀有
- 斯堪的纳维亚航空公司
- 结构化查询语言
如果你开始学习数据科学,那么你最好选择 Python 而不是其他编程语言,因为它目前非常流行,并且拥有巨大的社区支持。编程技能非常重要,因为数据科学家会花 80%的时间来分析数据集,拥有良好的编程知识非常重要。
我目前正在用 python 编写一个为期 100 天的数据科学教程系列,涵盖数据科学家常用的所有概念和技术。如果你有兴趣加入下面的旅程
可视化
下一个最受欢迎的技能是构建良好可视化的能力。在这方面有帮助的一些工具是
- 像 Tableau/Power BI 这样的仪表板工具
- 像 MatplotLib 和 Seaborn 这样的 Python 库
以上两项技能(编程和可视化)是让你的简历入围的必备技能,因为数据科学家每天都会用到这些技能。其他可能非常有帮助但不是强制性的技能是
大数据框架
数据存储已经变得非常便宜,因此许多组织已经开始存储比过去更多的数据。为了理解这些大型数据集,了解大数据框架中的工具至关重要。像 Cassandra、Hadoop、Spark、Kafka 这样的工具在这种情况下特别有用,因此拥有这些工具经验的候选人会比其他人更受青睐。
云体验
云平台提供了许多优势,例如
- 降低 IT 成本
- 易于扩展
- 业务连续性
- 自动更新
- 高级安全性
其中许多只有拥有大型 IT 团队的大公司才有,但现在有了云技术,没有专用 IT 资源的小公司也可以享受这些好处。
由于所有这些好处,许多公司都有采用云技术的趋势,因此有了一些云经验,你就能很好地找到工作。在云平台中很容易获得经验,所有主要的云平台都提供免费积分或提供免费层,可以用来使用和学习他们的平台。他们还提供对材料和培训教程的访问,以了解有关其平台的更多信息。
雇主寻找的所有技能是什么?以及如何建立它们?
下面列出了通常期望候选人具备的技术和非技术技能。
分析能力
这是一个人提出相关问题以收集所有所需信息,并在解决商业问题时使用逻辑推理和批判性思维的能力。
一些在工作描述中常见的,实际上涉及到你的分析技能的关键术语是,
具有很强的分析、统计和建模技能,具有处理和“理解”来自不同系统的数据的经验
“良好的问题解决和分析技能”
使用各种技术解释结果,从简单的数据聚合到复杂的数据挖掘和统计建模
“分析头脑”
分析思维对于数据科学家来说至关重要,因为在开始处理业务用例之前,彻底理解问题陈述非常重要。好消息是,任何人都可以训练自己的分析技能。有一些技巧可以用来提高这一特定技能。他们是
提问(5W 和 1H 技巧):在处理一个业务问题时,尽可能多地提问,从以下问题开始,
- 谁啊。
- 什么?
- 在哪里?
- 什么时候?
- 为什么?
- 怎么会?
问这些问题会提高你的批判性思维,通过练习,这将成为一种习惯。为了用一个用例来实践这一点,让我们考虑下面的例子,
用例/业务问题:减少客户流失
现在,让我们尝试使用 5W 和 1H 技巧,就这一特定场景提出更多问题
- 产品/公司的顾客都是些什么人?
- 整个行业的流失趋势是什么?
- 这些不安的顾客要去哪里?
- 这个客户流失问题是什么时候开始的?
- 为什么这些客户会流失?
- 我们怎样才能阻止这些客户的流失?
这些试探性问题不仅有助于更好地理解问题,还有助于解决方案的设计
**差距分析:**这是关于理解当前状态以及预期的未来状态,并提出有助于从当前状态过渡到未来状态的问题和行动。例如,让我们考虑下面的例子
当前状态 : 8%的客户在注册平台后一个月内流失
未来状态:将第一个月的客户流失率降至 5%或以下。
分析:
- 达到这个目标可以增加多少收入?
- 导致客户流失的所有触发点是什么?是产品设计有缺陷吗?支付网关?
- 忠诚客户群和流失客户的特征是什么?
- 有哪些事情可以帮助实现这个目标?
商业头脑
下一个重要的技能是商业敏锐性,这意味着个人理解商业环境和场景的能力。数据科学家通常会与各种业务团队合作,并与他们一起解决业务问题,因此数据科学家以正确的方式理解问题是至关重要的。在工作描述中,一些与商业头脑相关的常用短语是:
“在通过数据科学创造可衡量的商业价值方面的成熟经验”
“开发数据科学产品”
“针对业务挑战提出解决方案和策略”
“收集所需数据并进行数据分析,以支持业务需求”
在这里,雇主只是想找到一个能够解决任何复杂问题的人。这些技能来自于解决各种商业问题的经验。但是,如果你正试图开始你的数据科学职业生涯,或者希望过渡到数据科学职业生涯,那么可以通过阅读各种分析案例来接触这些领域。有许多关于热门组织如何使用数据来改善客户体验或增加收入的案例研究。这会让你对更大的图景有所了解。根据你想申请的公司,你肯定可以试着阅读一些特定行业的案例研究。
我的公司发表文章,介绍他们如何利用数据,以及他们正在研究什么样的用例?
数据科学体验
现在来看实际的技术技能,大多数数据科学职位空缺都希望申请人拥有一定程度的数据科学项目工作经验。工作描述中常用的一些短语是,
“处理复杂多变的数据集”
“分析大量信息以发现趋势和模式”
“端到端数据科学执行”
对预测建模、机器学习、聚类和分类技术以及算法有深刻的理解
“构建预测模型和机器学习算法”
如果您有兴趣了解基于不同成熟度级别的数据科学项目的生命周期,请观看此视频
获得这种经验的最好方法是研究 kaggle 用例。kaggle 平台上有许多数据科学竞赛,也有一些学习练习。在大多数竞赛中,会提供关于问题、数据和要达到的目标的细节。在这项比赛中,你可以接触到以下一些技术技能
- 可用于特征选择的方法
- 可视化数据的所有可用选项是什么?它们在提取洞察力方面有什么用?
- 如何最好地将数据分为训练和测试?
- 有哪些不同的算法?哪种算法最适合哪种类型的场景?
- 大多数比赛鼓励团队合作,因此你也可以学习与团队合作和版本控制
沟通技巧
无论你在一个商业问题上付出了多大的努力,真正重要的事情是将洞察力传达给相关的商业利益相关者。工作描述中常用的与沟通技巧相关的短语有
“良好的演示和可视化技能”
能够以清晰、准确和可行的方式传达复杂的定量分析、分析方法和调查结果
“根据需要支持分析和数据可视化的业务需求”
“与关键利益相关方密切合作,了解业务问题并执行提供业务解决方案的数据科学项目”
“与技术和非技术受众进行清晰有效的沟通”
下面是一些可以帮助你提高沟通技巧的事情
- 使用正确的工具,如仪表板、图表或其他相关工具
- 彻底理解问题,并用简单的语言向利益相关者解释
- 避免使用行话术语
- 同情听众,用他们习惯的语言进行解释
- 尝试用故事情节或因果链来演示分析
如何增加你成功的机会?
让我们假设你已经提高了上述技术和软技能,那么现在如何确保你的个人资料入围?有一些技巧可以增加你接到面试电话的机会
建立一个文件夹:从事自己喜欢的项目,并为之努力。将它们发布到你的 git 知识库中,让它们变得可见,最好有一个包含你所有工作的网站,并在你的简历中提供链接
提升你的网上形象:提升自己的一些最佳地点是:
- LinkedIn——确保你的个人资料是最新的
- 个人博客——写下你的作品、学习和爱好项目
- ka ggle——参与竞赛,为数据集做出贡献,参与讨论
别忘了在简历中提供这些平台的链接
推荐人:请你的朋友/同事认可你的技能并提供建议
最后一个建议
为了增加你入围的机会,一定要准备一封求职信。甚至只有一份简历,用同一个简历申请不同的职位。试着阅读并理解职位描述,然后根据你申请的职位定制你的简历和求职信,这样你的成功概率会大大提高。
关于我
我是一名拥有超过 10 年经验的数据科学专业人员,我已经撰写了 2 本数据科学方面的书籍,它们在这里有售。我有一个 YouTube 频道,在那里我教授和谈论各种数据科学概念。如果有兴趣,可以订阅我下面的频道。
我是一名数据科学专业人员,在高级分析和应用机器领域拥有十多年的经验…
www.youtube.com](https://www.youtube.com/c/DataSciencewithSharan)
在新冠肺炎时代,如何才能成为成功的 CDO 人?
2020 年首席数据官研讨会的三大要点
2020 年 3 月新冠肺炎袭击美国时, 疾病控制中心 聘请的第一个角色是首席数据官。毫不奇怪,在今年的全虚拟 麻省理工学院首席数据官研讨会 上,新冠肺炎和 GDPR,这两个在文化相关性方面很接近的堂兄弟,是所有人的首选。
在本文中,我分享了此次活动的三个重要收获,并提出了 CDO 在这个远程优先、数据至上的世界中保持竞争优势的后续步骤。
这是麻省理工学院年度首席数据官研讨会的第一天,第四个小时,尽管完全是虚拟的,但对话却非常真实。
我的第一个“太真实”的时刻出现在一个小组讨论会上,从麦当劳到美国银行,一些世界上最令人印象深刻的公司的 CDO,以来自 Milind Kamkolkar 、Cellarity 的 CDO 的智慧金块的形式出现:
“在当今世界,成为数据驱动型企业就意味着成为一家企业。”
是!如果我在观众席上,我会开始鼓掌。(也许我做到了,只是一点点,在我的电脑屏幕前)。
在研讨会上,Milind 的评论和其他数据领导者的许多其他评论谈到了一个不可否认的事实,即数据以及 CDO 的作用对每个企业都变得越来越重要。
随着事件的进展,一个主要主题出现了:新冠肺炎和 GDPR(2020 年最热门的两个话题)永远改变了 CDO 的成功形象,无论哪个行业,数据团队都必须响应他们的要求,才能在各自的岗位上取得成功。
正如 NewVantage 首席执行官兰迪·比恩(Randy Bean)在题为“确保首席数据官角色的成功”的小组讨论会上所强调的那样,现代 CDO 的职责仍在萌芽和演变中。在研讨会的过程中,发言人提出了他们自己的论点,即 CDO 应该关注什么,以及他们应该如何制定自己的战略,以满足新冠肺炎、GDPR 和其他行业变革的需求。
尽管他们存在差异(就像雪花,没有两个 CDO 是相同的)我发现他们都同意的三个关键事情:数据治理的健壮和自动化方法的重要性,对数据质量 解决方案的需求,以及数据民主化的承诺。重要的是,数据民主化有可能在公司范围内真正扩大前两项计划和许多其他计划的影响。
数据治理应该自动化
为了跟上不断发展的法规遵从性需求,团队应该优先考虑自动化数据治理任务。图片由斯科特·格雷厄姆在 Unsplash 上提供。
新冠肺炎和 GDPR 已将数据治理置于许多 CDO 的前沿和中心,但手动合规方法已不再奏效。手动编目和监控上游和下游的数据依赖关系使得团队很难跟上 PII 处理需求。
尽管所有行业都被迫适应这一新规范,但或许没有哪个行业像金融服务业或联邦政府那样受到如此大的影响。问问硅谷银行的 CDO卡拉戴利和美国空军的 CDO艾琳维德林就知道了。在两次单独的会谈中,Cara 和 Eileen 详细阐述了对更高级的数据治理方法的需求,该方法利用 ML 来解决这些问题,将数据人员从繁琐、容易出错的任务中解放出来,这些任务可以通过自动化更有效地解决。
Cara 表示,自动化数据目录是其组织数据治理战略的基础。
卡拉说:“CDO 这个角色不适合胆小的人。”。“对于许多没有投资基础数据基础架构、数据管理实践和数据质量的公司来说,数据治理是一项艰巨的任务。因此,CDO 通常会重新开始或修复出错的数据治理计划。”
同样,Eileen Vidrine 分享说,美国空军投资了一个自主开发的联合数据目录(称为 VAULT)来处理数据治理。
“我们的最终目标是让 VAULT 平台对每个航空人都是可用的,就像基础设施一样,”她说。“为了实现这一目标,我们将真正投资于自助式自动化数据治理,以便我们能够在空军的各个领域同步做出有关我们数据的决策。”
优先考虑数据质量
如果数据断了,没人听到,会发出声音吗?图片来自图片来自studiostocksonShutterstock。
坏数据不会放过任何人,这是一个保守得不好的秘密。
问问劳伦·加德纳博士就知道了,他是约翰·霍普金斯大学传奇的新冠肺炎全球仪表板的创造者之一,该仪表板追踪冠状病毒确诊病例、康复和死亡的数量。该地图被广泛认为是实时了解疫情状况的主要信息来源,为世界各地的社区提供了一种方便用户的方式来了解疾病如何影响他们的地区。
根据劳伦的说法,准确的数据是地图功效的核心,但不同国家跟踪和报告数据的差异影响了各种指标,包括病死率(换句话说,死亡率)。
她说:“这些比率因国家而异,从不到 1%到 25%不等。”“实际上不太可能有这么大的差异。更有可能的是,这是一个多因素的问题,即所报告数据的数据质量。”
在与其他数据领导者的小组讨论中,中国银行的 CDO Richard Goldberg 指出,进攻性和防御性数据战略之间的区别在于识别和解决数据质量问题的能力,以免它们成为问题。
“重要的是实施数据战略,认识到 CDO 不仅仅是一名消防员,”他说。“最终,我们需要开始以一种有知识和健康的方式使用数据,并以高度的信心利用数据。要真正实现创新,我们需要对数据一致性负责。”
在公司范围内推动数据民主化
数据民主化是在公司范围内扩大数据影响的关键。图片由 Unsplash 上的安妮·斯普拉特提供。
从美国空军到 Capital One,分散的数据分析方法正迅速成为新的规范。由专业的实践者团队将洞见生成锁起来的日子已经一去不复返了。
美国运通的 CDO 丹妮尔·柯普指出,她的团队对数据民主化的优先考虑有助于在公司范围内扩大数据的使用(和影响)。这种民主化为 Capital One 的所有数据团队提供了释放其数据潜力的必要工具,并进而利用这些工具做出更明智的决策。
“重要的方面是尽可能集中数据管理,然后分散/联合数据的分析、ML 和 BI 方面,”Danielle 说,这与数据网格没有什么不同。
数据民主化的另一个要素是跨公司跨职能的数据最佳实践传播。
Eileen Vidrine 认为,数据是一项团队运动。
“这不是一个办公室在数据领域的工作,”她说。“这是关于建立那些伙伴关系。为了快速行动,我需要整个部门的变革倡导者。”
尽管如此,几乎所有的数据领导者都强调,要大规模实施数据民主化,仍有许多工作要做,特别是考虑到新冠肺炎已经高度重视数据驱动决策。
ThoughtSpot 的首席数据战略官 Cindi Howson 发表了一篇关于如何发展数据驱动文化的演讲,很好地回应了这种必要性。
根据她在 ThoughtSpot 的团队委托进行的一项关于 CDO 有效利用数据的主要障碍的调查,她说,“即使在疫情期间,当释放数据的价值很重要时,82%的首席债务官也说文化是他们的主要障碍。”
我的意见:如果我们让负责任地使用数据变得更容易、更容易,这些工具将会被更多人采用,反过来,更有影响力的数据应用将会真正为您的公司发挥作用。
CDO 的下一步是什么?
CDO 的作用仍在演变。最终,解决这三个支柱(数据治理、数据质量和数据民主化)是很重要的,但是最重要的是,您需要将您的数据组织的优先级映射到您的业务需求。除此之外,没有新奇的数据目录、令人兴奋的分析工具或云仓库迁移会给你带来成功。
您的业务需求通常可以归结为影响底线的因素,无论这意味着实现收入目标、销售配额,还是新用户注册。您需要确定哪些数据将帮助您的公司实现这一目标,以及如何让您的团队成功地快速、合规且最有效地获取和利用这些数据。
就这样,我将留给你另一个来自研讨会的“太真实”的智慧金块,由万事达卡 CDO 乔安·斯通尼尔提供:
“你可以在不同行业之间调整某些数据技能,但你的数据策略绝对要遵循你的业务策略。”
欲了解更多来自数据世界的更新和热点,请务必关注蒙特卡洛的 数据停机博客 。