数据和分析

视频号

微信公众号

知识星球

Chinese, Simplified
SEO Title
data and analytics

【业务计划】Anaplan 介绍

视频号

微信公众号

知识星球

Chinese, Simplified

什么是Anaplan?

Anaplan是一个基于web的商业规划企业平台。它也是创建该平台的公司的名称。Anaplan的名字结合了单词分析和计划,以其名为Polaris的内存数据库和计算引擎而闻名

私募股权公司Thoma Bravo于2022年6月收购了Anaplan。这笔107亿美元的收购预计将使Anaplan在与其他集成业务处理提供商SAP和Oracle以及Kinaxis和Blue Yonder等供应链供应商的竞争中更具竞争力。

https://youtu.be/icqu2Kl1Imc

一些使用Anaplan的公司包括Adobe、拜耳、德尔蒙特、Groupon和Unum。

总部位于英国中南部的救护车服务中心使用Anaplan来预测其在给定时间内预计响应的紧急呼叫数量,并确定如何为响应者分配资源。该服务机构报告称,该计划帮助救护车服务的预测准确率提高了1.7%。

Anaplan的用途是什么?

Anaplan用于企业绩效管理(CPM),提供企业级协作业务规划和商业智能。通过连接规划和分析,该软件通常有助于提高运营绩效。

企业客户可以将数据上传到Anaplan云,让客户的业务用户组织和分析来自财务、人力资源、销售和其他业务部门的不同企业数据集。Anaplan可用于以下业务部门的协作规划:

  • 销售。它可以帮助进行配额规划、销售预测和激励薪酬。
  • 信息技术。它可以用于敏捷实施和规划、IT财务管理和成本透明度以及设施管理。
  • 财务。它可以协助进行资本支出规划、财务合并、税务和财政以及报告和分析。
  • 供应链管理。它可用于预测分析、贸易促销计划和分销需求计划。

planning

Anaplan功能

用于业务分析和规划流程的Anaplan模块包括用于以下任务的工具:

  • 预算、规划和预测
  • 佣金计算
  • 需求规划
  • 财务合并
  • 盈利能力建模
  • 项目规划
  • 定额计划
  • 劳动力计划

Anaplan有三个主要层次。

  • 基本的基本层包括规划和建模的基本功能,如交互式仪表板设计、自助数据导入和导出、与Microsoft Office和CloudWorks的集成,以及Anaplan的基于云的数据集成和编排平台。
  • 专业级此层添加了增强的功能,如应用程序生命周期管理、审核功能和DocuSign集成。
  • 企业企业级提供自带的关键功能、额外的工作空间津贴和HyperCare高级技术支持服务。

专业级别的客户可以为更多的企业级技术支持支付更多的费用。所有层次的用户都可以为PlanIQ或HyperModeling等功能支付额外费用。PlanIQ将Anaplan与机器学习和统计算法集成,以创建业务预测。HyperModeling聚合大型数据集以便于分析。

planiq

Anaplan还在2021年推出了一款名为Anaplan Polaris的新计算引擎

planning

Anaplan's Polaris calculation engine helps with analysis and planning.

Anaplan的优点和缺点

Anaplan在2022年被Gartner的供应链规划幻方图列为领导者,并在过去被任命为该研究小组的云财务规划和分析幻方图的领导者。(Gartner在2021年停止了该幻方图。)

Anaplan值得考虑,原因如下:

  • 易用性。Anaplan提供Excel风格的功能,因此业务用户可以使用它来做出数据驱动的决策,否则需要数据科学家的技能。
  • 计算引擎。该平台包括一个计算和建模引擎,可以深入了解过去的性能和未来的模型。这些信息有助于管理者使用业务分析来改进决策。
  • 协作审计跟踪、模型恢复和选择性用户访问功能具有协作活动的安全性。实时协作功能使团队能够远程协作。
  • 能见度提高。数据被表示为事务级别,以实现更精确的业务决策。用户可以查看多个商业计划之间的关系,以衡量它们对彼此的影响。他们还可以查看与每个业务计划相关联的元数据。
  • 动态集成。仪表板使用户能够聚合和动态调整多个业务计划。

使用Anaplan的一些缺点包括以下几点:

  • Cookies。如果用户的系统不接受cookie,他们必须在每次会话中重新启用Anaplan的新建模体验。
  • 支持Anaplan的评论指出,获得平台的技术支持可能是一个挑战。
  • 导入。数据的大量导入和导出可能会减慢模型的速度,因为它们会占用大量资源。

Anaplan定价

Anaplan基于许可证的定价取决于各种因素,包括客户的用户数量、使用计划和业务线。定价还取决于客户购买的工作空间GB数。Anaplan定价可能会随着层和应用程序复杂性的增加而显著增加

Anaplan不提供免费计划或免费试用,但提供产品演示。

Anaplan与竞争对手

Anaplan通常被比作Excel。企业从Excel转换到Anaplan需要一个长期的商业案例。

Anaplan的竞争对手因用途而异。Gartner的幻方图报告列出了其在供应链规划市场的竞争对手如下:

  • Adexa
  • Arkieva
  • Blue Ridge
  • Blue Yonder
  • Coupa
  • Dassault Systèmes
  • E2open
  • GainSystems
  • Infor
  • John Galt Solutions
  • Kinaxis
  • Logility
  • Manhattan Associates
  • O9 Solutions
  • OMP
  • Oracle
  • Relex
  • SAP
  • Slimstock
  • ToolsGroup
  • Wolters Kluwer

在金融方面,Gartner Peer Insights将以下产品列为近期买家排名的替代产品:

  • IBM Planning Analytics
  • Jedox EPM Software
  • OneStream Platform
  • Oracle Cloud EPM
  • Planful Continuous Planning Platform
  • Vena Solutions Budgeting, Planning & Forecasting
  • Workday Adaptive Planning

Gartner使用对产品评论的回应来确定客户用来比较竞争对手的因素。他们发现,考虑在销售和财务方面替代Anaplan的客户通常会比较集成和部署功能以及支持功能。

Anaplan是企业战略预算规划的一种选择。数字化转型预算有独特的规划要求。学习一些数字化转型预算规划的最佳实践。

本文地址
https://architect.pub/anaplan-introduction
SEO Title
Anaplan introduction

【数据产品】数据产品的问题与机遇

视频号

微信公众号

知识星球

Chinese, Simplified

数据产品风靡一时。根据我最近在2023年迄今为止的数百次数据活动和在线对话,全球各地的许多数据领导者都在强烈考虑数据产品的实施。

对许多人来说,数据产品代表了更广泛的计划的第一阶段,该计划专注于数据网格架构的部署。对其他人来说,数据产品是某种形式的数据和分析组织转型的里程碑——通常与更广泛的数字化转型联系在一起。

一些数据领导者正在考虑将数据产品作为数据目录部署的一部分,或支持某种形式的数据货币化或数据市场。

虽然有许多不同的程序涉及数据产品——以及不同类型的数据产品——但在我们的行业中,数据产品的确切定义仍然存在很大的模糊性。这种混乱并不一定是坏事,但它确实突显了数据领导者如何看待数据产品与产品管理专业人士如何看待数据之间的显著差异。

这些都是实质性的差异,我将在下面更详细地讨论。

https://youtu.be/BSds7adRDEg

数据网格中的数据产品

数据网格中的数据产品定义非常明确,并共享几个关键功能: 

  • 仅支持分析用例
  • 拥有以领域为中心的所有权,但可以跨域使用
  • 由使用或消耗决定的价值
  • 由数据产品所有者创建和管理
  • 自动化治理(通过所谓的联邦计算治理)
  • 使用条款受数据合同管辖
  • 通过自助数据平台提供

从更广泛的产品管理焦点来看,数据网格中的产品只是CDO可以“产品化”的所有产品的一小部分

数据组织只能向其客户提供分析解决方案,这些解决方案可以自动提供,并受数据合同中一套严格规则的约束,这种想法极为有限。

数据网格中的“产品”是一个非常具体的结构,具有技术上复杂的依赖关系,我还没有看到任何公司完全实现它——至少在网格定义数据产品的范围内是这样。

其他数据产品

数据网格结构之外的数据产品包括产品、服务、功能、工具,以及几乎任何可以在数据团队中创建并提供给该团队之外的人的东西——供内部和外部使用。

这些产品可以是字段、模式、API或报告面板,而产品形式的这种可变性对于缺乏任何形式的正式产品管理培训的普通数据人员来说是一个巨大的困惑来源。

大多数数据和分析团队似乎在没有雇佣熟练的产品经理或领导者的情况下就开始了数据产品计划,这一事实加剧了人们对什么是(或不是)数据产品的困惑。

许多数据领导者并没有遵循既定的、有据可查的方法来实施组织中的产品管理职能,而是将数据产品的实施视为基层的、主要专注于技术的DIY工作

正在创建数据产品(通常以分析、报告和仪表板的形式),正在实施充当产品店面的系统(通常是数据目录),并提供产品供消费。

在许多情况下,产品管理的基本原理、配套的产品运营模式以及其他赋能能力(如产品营销)的重要性往往被完全忽视,这是有问题的。

将重点放在技术上,很少关注人,而且实际上不关注传统的产品管理实践,这就造成了一种情况,即数据产品的实施对普通公司来说几乎没有实际好处。

数据领导者可能会说他们正在“做”数据产品,但他们真正做的只是给他们可能已经做了很长一段时间的事情贴上一个新标签:构建仪表板并使其更容易访问。仪表板现在被称为产品,这一事实本身并不能为您的组织带来任何价值。

更糟糕的是,这些数据产品计划的客户更清楚。他们可以看到,他们从数据中实现价值的能力几乎没有改变(如果有的话)

它们是相同的仪表盘和相同的见解。通过新的虚拟店面或目录,这些报告可能更容易访问,但更容易访问数据的好处远不是大多数人认为的变革。

数据产品断开连接

因此,对许多公司来说,这是一种脱节。他们最初认为数据产品可以从根本上改变他们为客户服务的方式,尤其是那些考虑数据网格的客户,但唯一切实的好处是更容易访问数据。

造成这种脱节的原因是,数据和分析领导者专注于输出(数据产品),而不是创建输出所需的流程。当涉及到创建产品时,这个过程就是产品管理。如果做得正确,产品管理可以区分成功的产品和失败的产品。

产品管理定义了以最有效的方式创建、管理和营销最能满足客户需求的产品所需的流程。

如果你是一个认真致力于实现数据产品的数据领导者,那么你也应该实施数据产品管理。只专注于创建产品只是难题的一半,但要获得数据产品所能提供的全部好处,您需要正确管理产品。

这种对产品管理的关注代表了数据领导者在考虑数据产品时的最大机会。

因此,问题变成了,“对于许多数据团队目前没有关注的数据产品,产品管理方法的主要区别是什么?

考虑以下五个关键的产品管理规程,这些规程在今天只关注数据产品所有权的数据团队中是缺失的。

产品或产品线战略

产品经理的一个关键职能是产品战略,不仅针对给定的产品,而且针对每个产品线中的所有产品。换言之,整体数据战略和支持它的各种产品之间应该保持连续性。该战略的一部分还包括产品生命周期管理,以及从构思到日落的所有主要阶段的产品管理。

以设计为中心和用户体验

产品设计和可用性是产品经理武器库中的关键武器。了解给定产品的整体用户体验,并应用以设计为中心的方法来定义产品需求,有助于提高消费者从给定解决方案中获得价值的可能性。

关注产品的可用性和设计也不会假设用户缺乏技能或知识(这是数据素养的核心假设),而是确保产品要求是这样的,即使是普通用户也可以在第一天就从产品中获得价值。

分发

产品管理的一个关键方面是产品分销。每次产品发布时,产品经理都会确保客户的需求和习惯与向他们交付产品的渠道之间保持适当的一致。

成本和效益

产品定价是产品管理的一个关键方面,将包括产品开发中的所有成本因素,包括任何发布或上市成本和持续支持。为产品付费的需求和意愿是否足以让组织证明投资的合理性?

除了极少数正在实施数据产品的数据和分析团队外,所有团队都完全缺乏这种级别的分析,但这是非常需要的。数据领导者无法理解可量化的商业利益(这是消费者愿意支付的价格的代表),这是大规模数据计划失败的一个主要因素——通常是由于无法维持持续的资金或利益相关者的支持。

熟练的产品专业人员知道如何估计给定产品的损益,这是所有认真对待数据产品的数据专业人员都应该做的事情。

走向市场(GTM)

这可以说是传统产品管理可以给数据产品世界带来的最大好处。典型的产品上市包括:

  • 用户培训和启用。用户培训和启用是任何产品发布的关键方面,但当产品需求将可用性和设计视为成功的关键时,这里所需的工作量可能会大大减少。
  • 产品营销和定位。所有的产品发布都需要一定程度的营销,数据产品也不例外。在这里,数据产品可以将传统的营销重点与数据叙事相结合,即传播价值主张。
  • 持续的用户支持。发布后,您将如何为用户提供支持?
  • 用户反馈。您将如何获取客户对您的产品的意见?您将使用哪些指标来定义产品发布成功率?

如果数据领导者正在寻求数据产品的更多转型效益(无论他们是否专注于数据网格战略),那么产品管理的这五个关键方面应该集成到他们的数据产品战略中。聘请一位经验丰富的产品经理,而不是试图从头开始培养这些技能,将是加速这一努力的好方法。

我在CDO Matters播客的第28集中更多地谈到了如何释放数据产品的力量,这是唯一一个致力于帮助领导者变得更加数据驱动的节目——无论你在哪里获得播客。

本文地址
https://architect.pub
SEO Title
THE PROBLEM AND OPPORTUNITY WITH DATA PRODUCTS

【数据分析】2023 ML、AI和数据前景报告的主要收获

视频号

微信公众号

知识星球

Chinese, Simplified

预计到2025年,全球人工智能市场将达到1906.1亿美元,预计到2024年将有84亿人工智能数字助理,超过全球人口。人工智能的发展速度令人着迷,但很难跟上。

年度MAD(机器学习、人工智能和数据)景观是Matt Turck理解这一动态领域的努力。其理念是与社区分享工作并进行讨论。今年的版本由凯蒂·米尔斯、凯文·张和保罗·坎波斯合著。

近几个月来,Generative AI出现了不可否认的指数级加速,导致了一个新的迷你泡沫的形成。人工智能的影响已经超越了技术进步,并已成为一种主流现象,全世界的非技术人员都亲身体验了它的力量。

数据、机器学习和人工智能的兴起是我们这一代人最重要的趋势之一,其影响深远,超出了技术领域。它对社会、政治、地缘政治和伦理的影响是深远的。

它将对我们的行业产生巨大影响,人工智能营销、人工智能销售和人工智能内容等短语将成为我们今年和去年日常词汇的自然组成部分。

有兴趣了解更多信息吗?然后前往我们的免费人工智能驱动增长最佳实践指南。在这份报告中,我们探讨了人工智能的发展和演变,考察了它的一些潜在用途,特别是在营销、销售和客户体验方面。

所以,让我们跳进去。

2023年MAD的主要趋势

MAD公司面临新的衰退时代

2023年的MAD(机器学习、人工智能和数据)正面临一个新的经济时代,资本变得稀缺和昂贵。因此,这一领域的公司不得不将重点从不惜一切代价的增长转移到控制开支上。裁员公告已成为家常便饭,因为2023年MAD形势下的许多公司不得不裁员。

然而,尽管面临挑战,该领域对软件产品的市场需求已经开始适应新的现实。因此,许多以前隐藏或被剥夺优先权的问题现在全面出现,每个人都越来越关注。董事会中的风险投资家不太关注追逐下一个闪亮的目标,而更关心保护他们现有的投资组合。

冻结的融资市场

2022年,融资市场基本关闭,影响了公共和私人市场,预计这一趋势将持续到2023年。

市场状况导致只有具有持续增长和有利现金流动态的公司才会与严重依赖资本的公司分离。IPO窗口已经关闭,没有明确的迹象表明何时会重新开放。IPO总收益比2021年下降了94%,而2022年的IPO数量下降了78%。

新生代人工智能,一个新的融资泡沫?

尽管市场普遍低迷,但Generative AI已成为科技行业的亮点。由于其有可能带来技术格局的重大转变,风险投资公司一直在积极投资该领域。

几家AGI类型的公司在首轮融资中筹集了超过1亿美元,来自OpenAI、Deepmind、谷歌大脑和Facebook AI research等研究实验室的创始人吸引了大量投资。值得注意的是,OpenAI在2023年1月获得了微软100亿美元的投资,而Runway ML、ImagenAI和Descriptt等其他人工智能平台也筹集了大量资金。

人工智能成为主流

Open的人工智能对话机器人ChatGPT于2022年11月30日发布,标志着人工智能主流化的一个重要时刻。具有模仿人类对话能力的ChatGPT迅速成为有史以来增长最快的产品之一。它基于GPT 3.5的发布标志着人工智能已经成为集体意识的一个重要方面。

Generative AI的指数加速

OpenAI在推进人工智能图像生成技术方面发挥了重要作用。2021年初,它发布了CLIP,这是一个开源的多模式零样本模型。

在给定图像的文本描述的情况下,该模型可以预测图像最相关的文本描述,而无需针对任何特定任务进行优化。OpenAI还推出了DALL-E,这是一个人工智能系统,可以从自然语言描述中生成逼真的图像和艺术。

其第二个版本DALL-E 2于2022年9月公开发布。同月,OpenAI发布了Whisper,这是一种自动语音识别(ASR)系统,能够将多种语言转录并翻译成英语。MetaAI还于2022年9月发布了Make-A-Video,这是一个从文本中生成视频的人工智能系统。

不可避免的反弹

生成人工智能的巨大力量引发了一些担忧,包括担心它会取代人类的工作。

然而,我们更有可能走向一种合作模式,在这种模式下,人工智能模型与人类一起作为“配对程序员”或“配对艺术家”工作。已经有一个名为Promptbase的高质量文本提示销售市场。

有人滥用Generative AI,包括创建NSFW色情生成器“不稳定扩散”,该生成器在Kickstarter上被关闭。此外,一些组织已经禁止了ChatGPT,Microsoft/GitHub因在培训CoPilot时涉嫌侵犯知识产权而面临诉讼,CoPilot被指控杀害开源社区。

最后,还有人指控参与数据标签过程的肯尼亚工人受到剥削。

谁是MAD的关键参与者?

今年的景观共有1416个标志,而2012年第一个版本的标志为139个。今年的重点是吸引更多非常年轻的初创公司,包括Generative AI等新领域的初创公司。

报告指出,当首次公开募股再次成为可能时,最大的私营公司将需要首先上市。Databricks估值很高,ARR超过10亿美元,是一个可能的候选者。据报道,尽管该公司正在为潜在的上市做准备,但首席执行官Ali Ghodsi并没有表示特别迫切需要上市。

  • 与2021年相比,创业公司的资金下降了31%,增长型市场受到的打击尤其严重。尽管2022年上半年有一些融资公告,但在下半年大幅放缓。
  • 尽管2022年是收购困难的一年,但仍有几笔大额交易。值得注意的例子包括Illumina以71亿美元收购Grail,以及BioNTech以约6.82亿美元收购InstaDeep
  • Databricks一直在扩大其产品线,以涵盖广泛的MAD景观类别,包括数据湖、流媒体、数据目录、查询引擎、数据工程、数据市场、数据共享和数据科学/企业ML。这主要是通过有机增长实现的,也有少量收购,如Datajoy和Cortex Labs。
  • InfluxDB在2023年2月获得了5100万美元的E轮融资,Anduril在2022年12月获得了15亿美元的融资,Dataiku在F轮以37亿美元的估值筹集了2亿美元,Alation在E轮以17亿美元的估价筹集了1.23亿美元,Horizon Robotics在2022年10月获得了10亿美元。
  • 进行了几次重大收购,包括Illumina斥资71亿美元收购Grail公司,该公司使用机器学习进行癌症检测;Snowflake斥资8亿美元收购Streamlit,这是一个通过数据脚本创建可共享网络应用程序的平台;以及BioNTech在2023年初以约6.82亿美元收购人工智能决策平台InstaDeep。

去年的主要收获是什么?

Matt Turck的《2021机器学习、人工智能和数据(MAD)前景报告》全面概述了该行业的现状,并强调了几个关键要点:

  1. 人工智能和机器学习行业的持续增长:报告强调,随着投资的增加、新的创业公司和技术的进步,人工智能和机械学习行业继续快速增长。
  2. 新工具和平台的出现:报告强调了新工具和新平台的出现,如低代码和无代码平台,这使得非专家更容易构建和部署人工智能和机器学习模型。
  3. 越来越多地关注隐私和道德:报告指出,随着利益相关者寻求减轻偏见算法的风险并保护个人隐私,人工智能和机器学习行业越来越关注隐私和伦理。
  4. 人工智能和机器学习在医疗保健中的应用增长:该报告强调了人工智能和机械学习在医疗卫生中的应用越来越多,在疾病诊断、药物开发和个性化医疗等领域都有应用。
  5. 自然语言处理(NLP)的进步:报告指出,自然语言处理取得了重大进展,在语言模型、情感分析和机器翻译等领域取得了突破。
  6. 人工智能和机器学习在网络安全中的使用增长:该报告强调了人工智能和机械学习在网络安全中的使用增加,并在威胁检测和网络安全等领域得到了应用。

MA的未来展望

2023年数据基础设施市场的主要趋势表明,市场竞争激烈,尤其是在客户面临越来越大的预算压力和首席财务官控制的情况下。虽然数据和人工智能仍然是许多企业的优先事项,但他们现在必须用更少的资源做更多的事情,因此更有可能选择那些提供“刚刚好用”的紧密集成产品套件的老牌供应商

随着市场变得越来越达尔文主义,最成功的公司将找到方法,将其产品从单一功能扩展到综合平台。这种增长将需要加深他们的客户关系,特别是在市场面临合理化和精简成本的压力时。

在过去的几年里,“现代数据堆栈”(MDS)一直是数据基础设施市场的标志,为企业提供了一个不断发展和合作的可能性世界。然而,最近市场的变化表明,MDS可能面临压力,因为企业试图控制成本并使其数据基础设施的方法合理化。

尽管2023年数据基础设施市场面临挑战,但企业仍有许多成功的机会。这包括智能利用Generative AI的特定垂直或特定任务公司,为非生成任务开发自己模型的AI优先公司,以及提供必要基础设施支持这些解决方案的LLM Ops公司。通过专注于这些机会领域,企业可以在竞争中保持领先,并在不断发展的数据基础设施市场中蓬勃发展。

本文地址
https://architect.pub/key-takeaways-2023-ml-ai-data-landscape-report
SEO Title
Key Takeaways from the 2023 ML, AI & Data Landscape Report

【数据分析】KPI与指标:通过提示和示例了解差异

视频号

微信公众号

知识星球

Chinese, Simplified
  • 目录
  • 1) 什么是KPI?
  • 2) 什么是度量?
  • 3) KPI与指标:主要区别
  • 4) KPI和指标跟踪提示

性能跟踪从未如此简单。随着现代自助BI工具的兴起,每个人都可以在几秒钟内监控相关的性能指标。但这并非没有问题。拥有快速高效分析数据的能力并不总是意味着你做得正确。企业从几个内部和外部来源提取数据,这使得过滤这些数据并只保留与公司相关的数据变得困难但必要。这是在KPI和指标的帮助下完成的。

在日常业务环境中,KPI和度量通常被认为是一回事。然而,尽管它们以类似的方式工作,但它们并没有用于相同的目的。记住这句话,以后再说:所有KPI都是指标,但不是所有指标都是KPI。也就是说,这篇文章将涵盖指标和KPI之间的主要区别,以及一些高效绩效跟踪的例子和技巧。



让我们快速了解一下指标和KPI的定义!

你的机会:想测试一个专业的KPI和指标软件吗?

什么是KPI?

从本质上讲,关键绩效指标(KPI)是根据特定的业务目标来衡量绩效或进度的。需要考虑的一个关键因素是“关键”一词,这意味着他们只跟踪与公司战略决策真正相关的内容。

一个好的KPI应该能帮助你和你的团队了解你是否做出了正确的决定。它们是业务成果的映射图,是推动公司前进的战略指标。KPI的示例可以是销售增长、客户保留率或客户终身价值。公司通常在交互式KPI报告的帮助下,将这些测量结果可视化。

什么是度量?

度量是用于在运营和战术层面跟踪特定业务流程性能的定量度量。它们有助于为关键业务目标的绩效提供背景,但不像KPI那样对其成功至关重要。

虽然其中一些指标可能与目标紧密相关,但指标并不是监测战略行动的最重要指标。然而,它们仍然与告知企业不同活动的进展有关。一些度量标准的示例包括按营销渠道划分的潜在客户转化率、回报率和收购成本。

既然我们对这两个指标的定义都有了基本的了解,那么让我们更深入地了解KPI和指标之间的区别。

KPI与指标:有什么区别?

KPI & Metrics

KPI和度量通常被视为同义词。但是,事实并非如此。虽然它们都是定量测量,但它们用于不同的目的。简单地说,KPI需要专门与目标或目标相关联才能存在,而指标只是衡量特定业务行动或流程的性能。让我们更详细地了解其中的一些差异。

  • 沟通:如上所述,KPI是专门用于沟通业务目标进展的战略指标。另一方面,度量用于跟踪可能朝着该目标努力的特定领域或过程。例如,假设你想在明年多销售20%,你的主要KPI将是迄今为止销售的产品或订阅数量。现在,为了详细监控该目标的进展,您需要跟踪各种指标,如网站访问者数量、表现最佳的销售渠道、销售代理的绩效,以及任何其他有助于您了解哪些行动有助于实现目标以及哪些措施可以改进的指标。总之,KPI可以被视为一组对您实现目标的过程有影响的指标。
  • 目标:一个好的KPI总是与结果息息相关,你希望它能上升或下降以达到目标。另一方面,指标是衡量不同业务领域日常绩效的影响,正如销售示例所示,只有其中一些指标可以帮助您跟踪战略行动的成功。这里重要的一点是,指标和KPI并不互斥——这就是为什么它们经常被视为同一件事。KPI需要一组指标来跟踪其成功,您只需要确保使用正确的指标来跟踪它。记住:虽然所有KPI都是指标,但并非所有指标都是KPI。
  • 重点:指标和KPI之间的另一个重要区别是它们的重点级别。KPI具有高级视角。它们代表了与各个部门相关的关键业务目标。另一方面,指标被视为较低级别的指标,它们跟踪特定于部门或业务领域的活动或流程。以销售额增长20%为例,每个部门都可能在实现这一目标方面发挥作用。例如,市场营销部门可能需要专注于增加在线销售,销售团队可能需要集中精力制定战略,以有效地将潜在客户转化为付费客户,物流团队可以专注于改善运输体验,产品团队可以集中精力寻找生产中的优势和劣势。因此,每个部门都需要跟踪实现总体业务目标的不同指标。

让我们通过使用现代KPI工具创建的一些KPI与度量标准示例来正确看待这些差异:

1) 销售增长指标和KPI

让我们先来详细介绍一下我们在年底前将销售额提高20%的例子。像销售增长这样的大目标与企业的各个部门有关,如管理、销售、营销和生产。这些部门中的每一个都将跟踪自己的指标,以了解他们的活动如何为总目标做出贡献。在这里,我们将重点讨论一些销售方面的问题。

KPI:销售增长

sales-growth-datapine

上图直观地显示了我们的主要KPI:销售增长。根据当前期间与上一期间的比较、基于目标的销售额百分比以及销售代表的销售收入等信息,我们可以一目了然地看到目标是否实现。但是,为了微调策略,我们还需要了解不同活动的表现,这可以在各种销售指标的帮助下完成。

度量:线索转化率

lead-conversion-rate

衡量这一特定目标的一个很好的销售指标是转化率。它衡量的是最终成为付费客户的感兴趣的人数。这最终转化为销售额的增长。这一指标非常有用,因为它为做出战略决策提供了更深入的见解。如果你的潜在客户转化率很低,那么你需要考虑其他方案来激励潜在客户成为真正的客户。衡量这一目标的其他一些指标可能包括潜在客户与机会的比率、净利润率等。

你的机会:想测试一个专业的KPI和指标软件吗?

 

2) 客户体验KPI与指标

研究表明,客户保留率增加5%,利润就会增加25%。现在想象一下,考虑到这些信息,你想设定一个目标,在年底前将保留率提高10%。现在,这个目标也可以与不同的部门相关。例如,营销团队需要专注于开展有吸引力的活动,让客户再次购买,而产品团队可能需要专注于开发高质量的产品。

KPI:客户保留率

customer-retention-support

客户忠诚度直接影响您的收入。当客户对您的服务或产品感到满意时,他或她很可能会回来再次购买。由于您的目标是将保留率提高10%,因此上图将是您的主要KPI。衡量你成功的一个好方法是根据市场基准和现实的商业数据设定目标百分比。现在,让我们来看看对这个特定目标有用的一些产品级别指标。

指标:退货率和退货原因

return-reason

回报率是一个很好的衡量标准,可以用来跟踪以了解客户忠诚度。如果你的客户正在退货,他们很可能不会再回来购买。为了从回报率中提取更深入的结论,产品团队可以跟踪回报原因度量。如上图所示,该指标列出了客户退货的主要原因。在这里,我们看到28%对应于有缺陷的项目。降低这28%可能会对提高保留率产生直接影响,因此,重点领域将是提高产品质量。生产的其他有价值的客户保留指标可以包括重复购买率或完美订单率。

如果您想看到更多类似的KPI示例,请查看我们的库,其中包含来自不同行业、功能和平台的示例。

衡量正确KPI和指标的技巧

tips-for-kpis-and-metrics-tracking

我们已经介绍了关键绩效指标和指标的定义,并探讨了业务指标与KPI的差异。在文章的这一部分,我们将介绍5个技巧,这些技巧将帮助你以有效的方式衡量你的目标和表现。

1.将指标与KPI分开

衡量一切实际上意味着你什么都不衡量。当涉及到将KPI与指标分离时,您需要考虑什么对您的业务最重要。任何类型的指标都可以是一个指标,但如果这个指标没有提供任何有价值的信息来帮助你改进,那么你应该放弃它。

跟踪错误的指标可能会导致时间和资源的浪费,而这是很容易避免的。衡量太多可能会让人感到困惑和误导。为了避免这种情况,请确保只选择真正为目标带来价值的KPI,并留下任何无用的信息。下一点将对此进行详细介绍。

2.选择正确的KPI

选择合适的KPI来衡量可能是以有效方式跟踪战略的最重要步骤。为了帮助实现这一目的,您可以使用一些KPI跟踪技术。在这里,我们将解释其中的两个:SMARTER和Six A的方法。

  • SMARTER:此KPI跟踪实践代表具体、可衡量、可实现、相关、有时限、评估和重新评估。它是KPI必须满足的要求列表,以便被认为是有用的。正如这篇文章中提到的,它们应该针对你的目标,切合你的商业现实,并随着战略的发展而灵活变化。
  • 六个A:这个方法代表“对齐”、“可实现”、“敏锐”、“准确”、“可行”、“活跃”(Aligned, Attainable, Acute, Accurate, Actionable, Alive)。就像SMARTER标准一样,这种做法也旨在评估KPI的相关性,对于指标太多而需要将其缩小到少数的企业来说很有用。

通过应用这些方法,您应该能够将其缩小到每个业务目标2-5个关键KPI左右。这有助于您保持分析过程的特定性,避免误导性信息影响您解释数据的方式。

这里需要记住的一件重要事情是,您应该始终重新审视KPI。如果你找到了更好的方法来实现你的目标,那么你应该确保你正在跟踪正确的数据。您可以通过每周或每月报告定期监控KPI来做到这一点。一旦定义了KPI,您就拥有了开始做出战略决策和思考长期行动所需的所有信息。

3.通过交互式仪表板获得集中视图

KPI和指标是企业的宝贵工具。虽然关键绩效指标往往更重要,但指标也有助于更全面地了解部门或特定领域的绩效。如今,有几个在线数据可视化工具提供了一系列仪表板选项,以集中的方式可视化KPI和指标。让我们以数字营销为例来看待它。

marketing-kpi-report

上面的例子是用专业的仪表板生成器创建的,它完美地结合了跟踪营销活动ROI所需的指标和关键绩效指标。获得这样一个集中的视图可以帮助营销人员全面了解他们的营销工作,以便做出明智的战略决策。

如果你想看到更多像这样的面板示例,那么我们建议你看看我们的库,里面有来自不同行业、功能和平台的80多个模板,以获得灵感!

4.远离虚荣指标

虚荣指标是指那些在纸面上看起来不错,但对未来的商业战略没有帮助的指标。在某些情况下,虚荣指标被用来显示改进,但它们实际上是不可操作的指标,也与你认为真正重要的任何事情无关。虚荣衡量标准的一个很好的例子是社交媒体粉丝。想象一下,你实施了一项活动,在你的Instagram上吸引了10000名新粉丝。现在,这似乎是一个成功的第一手,但如果这10000名追随者中只有50人购买了你的产品或服务,那么这个指标就变得毫无用处了。

为了避免面临虚荣指标的问题,你需要保持你的分析尽可能客观。在选择KPI和指标时,您将进行监控,始终确保它们反映了事实。虽然关注者或点赞数量等指标可能看起来令人兴奋,但它们也可能会给你指明错误的方向。BI工具提供了各种KPI和仪表板模板,可以为您指明正确的方向,以避免犯此错误。

5.设定现实的目标

以正确的方式衡量指标和关键绩效指标的最后一个技巧是设定可实现的目标。为了有效地衡量KPI和指标,您需要知道自己的发展方向和目标。在这里,你需要小心,不要设定不切实际的目标,比如一年内销售额增长50%,而你过去几年的平均增长率是5%。在制定目标时,根据您的业务环境以及一些行业基准考虑可实现的价值。通过这种方式,你将确保你正在朝着可实现的目标努力,避免因设定不切实际的价值观而变得堆叠或失望。

你的机会:想测试一个专业的KPI和指标软件吗?

 

KPI与指标的主要收获

在这篇关于关键绩效指标与指标的文章即将结束时,我们希望您能更深入地了解这两个指标的区别。这篇文章的重要收获是要记住:没有指标就没有KPI,这两者对于确保不同业务活动的健康投资回报至关重要。

KPI和指标是绩效跟踪的宝贵工具。每天,越来越多的企业转向BI仪表板软件,以交互式和直观的方式集中查看其最重要的指标。通过使用现代仪表板技术,团队可以保持联系,共同努力实现共同的业务目标。

为了让您保持新鲜感,以下是衡量标准和KPI之间主要差异的小摘要:

  • KPI根据关键业务目标衡量绩效,而指标则衡量特定业务活动的绩效或进度。
  • KPI是战略性的,而指标通常是操作性的或战术性的。
  • 指标是特定于某个部门的较低级别指标,而KPI可以由致力于同一目标的各个部门跟踪。
  • 指标为您的业务活动提供背景,KPI允许进行战略决策。
本文地址
https://architect.pub/kpis-vs-metrics-understanding-differences-tips-examples
SEO Title
KPIs vs Metrics: Understanding The Differences With Tips & Examples

【数据分析】数据分析中使用的4种模拟模型

视频号

微信公众号

知识星球

Chinese, Simplified

将不同类型的模拟模型与预测分析相结合,使组织能够预测事件并提高数据驱动决策的准确性。

随着组织深入研究预测分析和数据驱动决策,模拟模型正在寻找新的用途。

大多数数据分析技术都是从赌博游戏开始的。例如,你可能想确定用三个六面骰子(二项式或正态分布的基础)总共掷14个骰子的可能性,或者知道你在轮盘赌或扑克中的赔率。这种游戏本质上是模拟,数据分析师的目标是创建一个简化的模型来确定复杂系统的行为。

这种模拟已经成为解决生物学、物理学、经济学和其他具有许多相互作用组件的领域中复杂现实世界问题的唯一方法。数据分析专业人员应该了解以下四种类型的模拟模型:

  • 蒙特卡罗方法。
  • 基于Agent的建模。
  • 离散事件模拟。
  • 系统动态建模。

这四种类型的模拟模型是大量游戏、视觉和音频合成技术、机器学习算法、处理内核和控制器系统的基础。模拟可以在组织做出决策或设计之前对系统进行虚拟测试。

蒙特卡罗方法(Monte Carlo method)

在许多模拟中,很难确定所选择的变量和来自这些变量的数据分布是否代表所讨论的模型。蒙特卡洛这个名字来源于轮盘赌,这是一种在蒙特卡洛度假胜地出名的游戏。轮盘有37个编号为0到36的插槽,其中有18个红色插槽、18个黑色插槽和一个绿色插槽。玩家有48.65%的机会获得红色与黑色插槽,2.7%的机会获得绿色插槽(0)。这三种机会代表一种分布。

任何单独的旋转都会产生一个随机值。重复相同的过程1000次或更多次,结果的分布应遵循这些百分比。如果没有,其他变量可能也在起作用,比如肆无忌惮的经销商用来减速的踏板。

蒙特卡罗方法最古老的例子之一是用来计算π的值。这可能需要数百万个数据点才能实现,这指出了蒙特卡洛模拟的局限性:它们通常没有那么有效。

这种模拟通常与贝叶斯分析一起使用,贝叶斯分析依赖于先前的发现来确定事件发生的可能性。政治分析家经常使用这种技术,即民意调查生成一组变量,然后可以将这些变量聚合起来创建一个模型,并使用蒙特卡洛方法来测试模型。例如,天气事件的集合建模也使用蒙特卡洛来确定飓风的可能路径。

基于Agent的建模

任何看过鸟群起飞的人都会看到,看似随机的初始行为被同步的活动所取代,即使没有一只鸟控制它们的活动,它们也会以不同的队形飞行。飞行中的鸟类已经制定了简单的规则,根据它们周围的景象告诉它们该做什么。每只鸟在飞行时都会避开障碍物,并根据周围鸟类的位置实时调整位置。

在系统动力学中,这些鸟是代理,它们所做的动作是紧急行为。这些行为是对基于其他代理行为的离散规则集的反应。识别这些规则的过程称为基于代理的建模。

代理系统在20世纪60年代被研究为控制论最早的例子之一,至今仍具有重要意义。例如,典型繁忙高速公路上的交通很难通过计算机进行建模。相反,许多建模师将每辆车模拟为一个代理,该代理通常遵循一组规则,但会定期出现问题,以查看汽车在总体上的行为。

代理系统也用于物联网设备和无人机。这些设备不依赖于通过中央处理器协调活动,中央处理器通过复杂的处理产生延迟和瓶颈。相反,他们会对最近的邻居做出反应。只有当他们得到不明确的信息时,他们才会与中央控制器联系,或者如果他们不能与邻居或中央控制器互动,他们就会将自己置于安全模式。

这种交互场景是代理系统的缺点。少数代理之间的中断或类似中断可能会迅速传播。这一现象导致了难以恢复的大停电,因为这一事件(一切都离线)的原因是自主发电站的紧急行为。在重新启动的过程中,导致停机的问题可能会在没有说明原因的情况下得到解决。

可以用软件对象代替硬件对象来模拟代理系统。例如,细胞生物学很适合基于代理的建模,因为细胞行为往往会影响附近不同类型的细胞。

离散事件模拟

与代理系统相关的是细胞自动机的概念,詹姆斯·康威在20世纪70年代的《生命的游戏》中成名,后来由Mathematica的斯蒂芬·沃尔夫拉姆成名。这两种技术都支持图像处理和机器学习中使用的转换滤波器和内核。

这样的系统是离散事件模拟的例子。在这些模拟中,时间被分解为不同的步骤或块,而不是连续的,每个步骤的模型状态,然后是前一步骤的模型函数。

在这些模拟中,稳定或准稳定的组件在没有显式编程的情况下出现。

数据分析师在邻近性决定网格状态或空间的区域使用离散事件模拟。例如,大多数天气建模系统都利用体素(三维单元)来根据以前的状态确定每个单元的输入和输出。理论上,用于描述地图的网格越细,结果就越准确。需要对模型进行修正,以考虑网格的形状(或拓扑)。三角形或六边形网格比矩形网格更准确。

系统动态建模

在理想的数学世界中,应该可以用独立的函数来描述世界,这意味着它们可以被视为线性的。事实上,描述系统的大多数变量都是相互耦合的——改变一个变量的值可能会因为它们的相互作用而改变另一个变量。这些是由微分方程导出的非线性系统。

通过计算,我们可以用差分方程对这些方程进行数值求解。差分方程使用离散数学来寻找特定的解,然后通过建立解的集合来进行广义化。

这种系统的一个很好的例子是捕食者-猎物模拟。在最简单的情况下,有猎物,猎物的数量会增加,直到食物耗尽。在这一点上,猎物数量下降到可以恢复食物供应的水平。然而,再加上一个捕食者,事情就会变得更加复杂。猎物现在与两个变量耦合:食物供应和杀死猎物的捕食者数量。这三个物种的种群都变得非线性,有些不可预测,甚至混乱。这些方程被称为李雅普诺夫方程,也描述了许多经济模型以及流体和气流动力学方程。

系统动力学建模(SDM)研究混沌系统。它依赖于离散事件模拟和数值方法来确定系统中组件的行为。除了李雅普诺夫解,SDM还用于高密度粒子模拟——例如,基于作用在理想化版本恒星上的力来建模星系的行为。混沌系统产生了分形,分形是一种分数维,通常与迭代、递归结构和新兴行为有关。

本文地址
https://architect.pub
SEO Title
4 types of simulation models used in data analytics

【数据分析】数据分析:定义、用途、示例等

视频号

微信公众号

知识星球

Chinese, Simplified

了解数据分析、如何使用数据分析、常见技能以及实现分析概念的职业。

数据分析是对数据的收集、转换和组织,以便得出结论、做出预测并推动明智的决策。

数据分析(Data analytics)经常与数据分析(data analysis.)混淆。虽然这些都是相关术语,但它们并不完全相同。事实上,数据分析(data analysis)是数据分析(Data analytics)的一个子类别,专门处理从数据中提取意义的问题数据分析( Data analytics)作为一个整体,包括分析之外的过程,包括数据科学(使用数据进行理论化和预测)和数据工程(构建数据系统)

在本文中,您将了解更多关于什么是数据分析、如何使用数据分析及其关键概念的信息。您还将探索数据分析技能、工作和成本效益高的专业知识,这些知识可以帮助您从今天开始。

什么是数据分析?

数据分析是一个多学科领域,它采用了广泛的分析技术,包括数学、统计学和计算机科学,以从数据集中获得见解。数据分析是一个宽泛的术语,包括从简单的数据分析到收集数据的理论方法和创建存储数据所需的框架的所有内容。

如何使用数据分析?数据分析示例

数据无处不在,人们每天都在使用数据,无论他们是否意识到这一点。每天的任务,比如测量咖啡豆来制作早晨的杯子,在决定穿什么之前查看天气报告,或者用健身追踪器跟踪你一整天的步伐,都可以是分析和使用数据的形式。

数据分析在许多行业都很重要,因为许多商业领袖都使用数据做出明智的决策。运动鞋制造商可能会查看销售数据,以确定哪些设计应该继续,哪些设计应该退役,或者医疗保健管理员可能会查看库存数据,以决定他们应该订购的医疗用品。在Coursera,我们可以查看招生数据,以确定在我们的课程中添加什么样的课程。

使用数据来推动业务战略的组织通常会发现他们更自信、更积极主动、更精通财务。

数据分析:关键概念

数据分析有四种关键类型:描述性、诊断性、预测性和规定性。这四种类型的数据分析可以帮助组织做出数据驱动的决策。乍一看,他们每个人告诉我们以下内容:

  • 描述性分析告诉我们发生了什么。
  • 诊断分析告诉我们发生某些事情的原因。
  • 预测分析告诉我们未来可能发生的事情。
  • 处方分析告诉我们如何行动。

从事数据分析工作的人通常会使用数据分析过程来探索这四个领域中的每一个,包括识别问题、收集原始数据、清理数据、分析数据和解释结果。

阅读更多:什么是数据分析?(附示例)

数据分析技能

数据分析需要广泛的技能才能有效执行。根据Coursera拥有8700万全球学习者的社区的搜索和注册数据,截至2021年12月,这些是需求量最大的数据科学技能:

  • 结构化查询语言(SQL),一种常用于数据库的编程语言
  • 统计编程语言,如R和Python,通常用于创建高级数据分析程序
  • 机器学习,人工智能的一个分支,涉及使用算法发现数据模式
  • 概率和统计学,以便更好地分析和解释数据趋势
  • 数据管理,或收集、组织和存储数据的实践
  • 数据可视化,或使用图表讲述数据故事的能力
  • 计量经济学,或使用数据趋势创建基于预测未来趋势的数学模型的能力

虽然数据分析职业需要一定的技术知识,但有条不紊地掌握上述技能——例如每天学习一点或从错误中吸取教训——有助于掌握这些技能,而且现在开始永远不会太迟。

阅读更多:数据分析很难吗?迎接挑战的技巧

数据分析职业

通常,数据分析专业人员的工资高于平均水平,在劳动力市场中需求量很大。美国劳工统计局(BLS)预计,2021年至2031年间,数据分析领域的职业生涯将增长23%,远高于平均水平,预计年收入将高于平均水平82360[1]。但根据Anaconda 2022年数据科学状况报告,63%的受访商业组织对面临如此快速增长的人才短缺表示担忧[2]。

数据分析领域的入门级职业包括以下角色:

  • 初级数据分析师
  • 助理数据分析师
  • 初级数据科学家

随着你在该领域获得更多经验,你可能有资格担任中高层职位,如:

  • 数据分析员
  • 数据科学家
  • 数据架构师
  • 数据工程师
  • 业务分析师
  • 市场分析师

点击上面的链接,了解更多关于每条职业道路的信息,包括职位要求以及平均工资和工作增长。

了解有关数据分析的更多信息

数据分析就是利用数据来获得洞察力,并做出更好、更明智的决策。向谷歌数据分析专业证书中的佼佼者学习,该证书将使您在大约六个月内为入门级数据分析职位做好工作准备。在那里,您将学习数据清理和可视化等关键技能,并通过视频教学和应用学习项目获得常用数据分析工具的实践经验。

本文地址
https://architect.pub
SEO Title
Data Analytics: Definition, Uses, Examples, and More

【数据分析】预测分析:定义、模型类型和用途

视频号

微信公众号

知识星球

Chinese, Simplified

什么是预测分析?

预测分析是指使用统计和建模技术来预测未来的结果和表现。预测分析着眼于当前和历史数据模式,以确定这些模式是否可能再次出现。这使企业和投资者能够调整他们使用资源的地方,以利用未来可能发生的事件。预测分析也可用于提高运营效率和降低风险。

关键要点

  • 预测分析使用统计和建模技术来确定未来的性能。
  • 保险和市场营销等行业和学科使用预测技术来做出重要决策。
  • 预测模型有助于进行天气预报、开发视频游戏、将语音转换为短信、客户服务决策以及开发投资组合。
  • 人们经常将预测分析与机器学习混为一谈,尽管两者是不同的学科。
  • 预测模型的类型包括决策树、回归和神经网络。

了解预测分析

预测分析是一种对未来某些未知因素进行预测的技术。它利用了一系列技术来做出这些决定,包括人工智能(AI)、数据挖掘、机器学习、建模和统计。

1.例如,数据挖掘涉及对大数据集的分析,以从中检测模式。文本分析也做同样的事情,除了大块的文本。

预测模型用于各种应用,包括天气预报、创建视频游戏、将语音转换为文本、客户服务和投资组合策略。所有这些应用程序都使用现有数据的描述性统计模型来预测未来的数据。

预测分析也有助于企业管理库存、制定营销策略和预测销售额。

2.它还帮助企业生存,尤其是那些在医疗保健和零售等竞争激烈的行业。

3.投资者和金融专业人士可以利用这项技术来帮助制定投资组合,降低风险。

4.这些模型确定了数据中的关系、模式和结构,可用于得出关于生成数据的底层过程的变化将如何改变结果的结论。预测模型建立在这些描述性模型的基础上,并查看过去的数据,以确定在给定当前条件或一组预期的未来条件下,某些未来结果的可能性。

预测分析的使用

预测分析是各种行业的决策工具。

预测

预测在制造业中至关重要,因为它可以确保供应链中资源的最佳利用。供应链车轮的关键辐条,无论是库存管理还是车间,都需要准确的功能预测。

预测建模通常用于清理和优化用于此类预测的数据质量。建模可确保系统能够获取更多数据,包括面向客户的运营数据,以确保更准确的预测。

信用

信用评分广泛使用预测分析。当消费者或企业申请信贷时,申请人的信贷历史数据和具有类似特征的借款人的信贷记录被用来预测申请人可能无法履行任何延期信贷的风险。

承销

数据和预测分析在承保中发挥着重要作用。保险公司根据类似投保人的当前风险库以及过去导致赔付的事件,对投保人进行审查,以确定未来必须赔付的可能性。精算师通常使用预测模型,将特征与过去投保人和索赔的数据进行比较。

市场营销

从事该领域工作的个人在计划新的活动时,会观察消费者对整体经济的反应。他们可以利用这些人口结构的变化来确定当前的产品组合是否会吸引消费者进行购买。

与此同时,活跃的交易员在决定买卖证券时,会根据过去的事件查看各种指标。移动平均线、区间和断点基于历史数据,用于预测未来价格走势。

欺诈检测

金融服务可以使用预测分析来检查交易、趋势和模式。如果任何此类活动看起来不正常,机构可以对其进行欺诈活动调查。这可以通过分析银行账户之间的活动或分析某些交易何时发生来实现。

供应链

供应链分析用于预测和管理库存水平和定价策略。供应链预测分析使用历史数据和统计模型来预测未来供应链绩效、需求和潜在中断。这有助于企业主动识别和解决风险,优化资源和流程,并改进决策。这些步骤使公司能够预测在任何特定时刻手头的材料以及是否会出现短缺。

人力资源

人力资源部使用预测分析来改进各种流程,例如预测未来的劳动力需求和技能要求,或分析员工数据以确定导致高离职率的因素。预测分析还可以分析员工的表现、技能和偏好,以预测他们的职业发展,并帮助制定职业发展规划,此外还可以预测多样性或包容性举措。

预测分析与机器学习

一个常见的误解是预测分析和机器学习是一样的。预测分析通过分析过去帮助我们了解未来可能发生的事情。预测分析的核心包括一系列统计技术(包括机器学习、预测建模和数据挖掘),并使用统计数据(历史和当前)来估计或预测未来结果。

另一方面,机器学习是计算机科学的一个子领域,根据Arthur Samuel(美国计算机游戏和人工智能领域的先驱)1959年的定义,机器学习意味着“对数字计算机进行编程,使其行为方式,如果由人或动物完成,则被描述为涉及学习过程。”

5.最常见的预测模型包括决策树、回归(线性和逻辑)和神经网络,这是深度学习方法和技术的新兴领域。

预测分析模型的类型

预测分析中常用的技术有三种:决策树、神经网络和回归。阅读下面每一个的更多信息。

决策树

如果你想了解是什么导致了某人的决策,那么你可能会发现决策树很有用。这种类型的模型根据某些变量(如价格或市值)将数据放入不同的部分。正如名字所暗示的那样,它看起来像一棵有着单独树枝和叶子的树。分支表示可用的选择,而单个叶子表示特定的决定。

决策树是最简单的模型,因为它们易于理解和剖析。当你需要在短时间内做出决定时,它们也非常有用。

回归

这是统计分析中使用最多的模型。当您想确定大数据集中的模式以及输入之间存在线性关系时,请使用它。这种方法通过计算一个公式来工作,该公式表示数据集中所有输入之间的关系。例如,您可以使用回归来计算价格和其他关键因素如何影响证券的性能。

神经网络

神经网络是模仿人脑工作方式发展起来的一种预测分析形式。该模型可以使用人工智能和模式识别来处理复杂的数据关系。如果你有几个需要克服的障碍,比如手头有太多数据,没有帮助你找到数据集中输入和输出之间关系的公式,或者你需要做出预测而不是做出解释时,都可以使用它。

如果你已经使用决策树和回归作为模型,你可以用神经网络来确认你的发现

集群模型

聚类描述了聚合具有相似属性的数据的方法。以亚马逊这样的大型在线零售商为例。亚马逊可以根据购买量对销售额进行聚类,也可以根据消费者的平均账户年龄对销售额进行分组。通过根据共享特征将数据划分为类似的组,分析师可能能够识别定义未来活动的其他特征。

时间序列建模

有时,数据与时间有关,具体的预测分析依赖于何时发生的事情之间的关系。这些类型的模型以特定的频率评估输入,例如每天、每周或每月的迭代。然后,分析模型根据时间寻找季节性、趋势或行为模式。这种类型的预测模型可用于预测何时需要高峰客户服务期或何时进行特定销售。

企业如何使用预测分析

如上所述,预测分析可以用于许多不同的应用中。企业可以利用这些模式来帮助提升他们的兴趣并改善他们的运营。预测模型经常被企业用来帮助改善他们的客户服务和外联。

高管和企业主可以利用这种统计分析来确定客户行为。例如,企业所有者可以使用预测技术来识别和瞄准可能叛逃并求助于竞争对手的老客户。

预测分析在广告和市场营销中发挥着关键作用。公司可以使用模型来确定哪些客户可能对营销和销售活动做出积极回应。企业主可以通过瞄准积极响应的客户而不是进行一揽子活动来节省资金。

预测分析的好处

使用预测分析有许多好处。如上所述,当你需要在没有其他(明显)答案的情况下预测结果时,使用这种类型的分析可以帮助实体。

投资者、金融专业人士和商业领袖能够使用模型来帮助降低风险。例如,投资者和他们的顾问可以使用某些模型,通过考虑某些因素,如年龄、资本和目标,帮助制定对投资者风险最小的投资组合。

使用模型会对降低成本产生重大影响。企业可以在产品推出前确定产品成功或失败的可能性。或者,他们可以在制造过程开始前通过使用预测技术为生产改进留出资金。

预测分析的批评

预测分析的使用受到了批评,在某些情况下,由于其结果中存在不公平现象,因此受到了法律限制。最常见的是,这涉及到预测模型,导致在信用评分、住房贷款、就业或犯罪行为风险等领域对种族或族裔群体的统计歧视。

一个著名的例子是银行在住房贷款中划红线的做法(现在是非法的)。无论使用此类分析得出的预测是否准确,它们的使用通常都是不受欢迎的,而且明确包括个人种族等信息的数据现在往往被排除在预测分析之外。

FAQ

Netflix如何使用预测分析?

数据收集对于像Netflix这样的公司来说非常重要。它根据客户的行为和过去的观看模式从他们那里收集数据。它利用这些信息根据他们的偏好提出建议。这是你在订阅中找到的“因为你看了…”列表背后的基础。

数据分析的三大支柱是什么?

数据分析有三大支柱。它们是使用模型的实体的需求、用于研究模型的数据和技术,以及使用这种分析所产生的行动和见解。

预测分析有什么好处?

预测分析有利于预测、风险管理、客户行为分析、欺诈检测和运营优化。预测分析可以帮助组织改进决策,优化流程,提高效率和盈利能力。这一分析分支用于利用数据预测未来可能发生的事情。

预测分析的最佳模型是什么?

预测分析的最佳模型取决于几个因素,如数据类型、分析目标、问题的复杂性以及结果的预期准确性。可供选择的最佳模型可能包括线性回归、神经网络、聚类或决策树。

底线

预测分析的目标是对未来事件进行预测,然后使用这些预测来改进决策。预测分析应用于金融、医疗保健、营销和零售等多个行业。预测分析中使用不同的方法,如回归分析、决策树或神经网络。

本文地址
https://architect.pub
SEO Title
Predictive Analytics: Definition, Model Types, and Uses

【数据和分析】2023年数据和分析预测

视频号

微信公众号

知识星球

Chinese, Simplified

我对以下方面的预测:

  • 实现可持续发展的IT和数据
  • 增强弹性的可观察性
  • 恢复信任的透明度

我对2023年的看法很简洁,有三个重要主题:可持续性、韧性和信任。2023年将被标记为“回归基本”的一年,用更少的资源做更多的事情,并以透明度和合作目标改进现有做法。话虽如此,“年度房屋清洁”总是有助于清除废物,并释放出现在可以做的事情的创造力。

2022年,我的首要主题是质量:新冠肺炎疫情爆发后,新流程和用例的快速实施给基础设施带来了很大压力,而“管道”并没有很好地发挥作用。大量的补丁解决方案、重复和冲突的管道、大量的人工和逆向工程。关于治理和数据素养的讨论激增,所有这些都是为了使我们的基础设施质量足够可靠,从而做出可信的决策。

2023年是疫情推动的数字化转型加速的第三年。在最初将资源投入到数据和分析领域以实现增长之后,我们现在更加成熟,能够评估其效率:总体拥有成本、自动化程度、解决方案对不断变化的现实的适应性,以及在更少的工具下整合各种功能。

这些是我自己对数据和分析领导者关注的焦点以及这些领域各自的技术解决方案趋势的看法。

实现可持续发展的IT和数据

众所周知,标普公司的寿命在几十年内从60年延长到了18年。这远远早于新冠肺炎疫情和当前我们面临的经济低迷。

事实也证明,精通数据的组织远远超过了技术适应性较差的竞争对手。这种利用技术赢得市场的雄心可能解释了为什么到2025年,全球在商业实践、产品和组织数字化转型方面的支出预计将达到2.8万亿美元。

坏消息是,超过一半的数字化举措需要很长时间才能完成,其价值尚未实现。大部分数据都已存储但未使用。

由于业务表现如此糟糕,各组织将其在工具上的巨额支出换成了一些举措,在这些举措中,工具能够实现资产及其使用的数据素养、透明度和可观察性。

我们还看到了技术堆栈的整合,以实现互操作性和降低成本,这通常导致向单一供应商基础设施的转变。越来越明显的是,组织渴望一种基础设施,使他们能够组织和访问数据和分析资产,从而能够理解并信任地使用这些资产。

此外,到2025年,50%的首席信息官将拥有与IT组织可持续性相关的绩效指标。

因此,现在我们终于有机会推动可持续发展倡议,将其作为整个业务弹性的一部分,由可观察到的适应性和成本效益技术推动。

此外,我们可以与同行分担这一负担:到2027年,超过50%的企业将使用行业云平台来加快其业务举措。

行业云平台的发展可能需要一段时间,但主要的云平台不久前就已经引入了数据市场。其理念是允许组织进行数据、对象和产品的交易和交换。如果您已经对内部数据使用了相同的云平台,那么集成和管理将变得更易于管理。行业平台和市场准备丰富这一体验,以提供量身定制的可组合解决方案。它们为通用市场和行业市场提供了数据货币化机会和协同效应。而且,尽管核心组织数据共享是一粒难以下咽的法律药丸,但围绕可持续性和气候倡议的合作可能是数据协同效应的一个良好开端。

当您转向可持续、经济高效的未来时,需要考虑的另一件事是TCO(总拥有成本)。新的解决方案可能需要不同的员工来维护。它可能只解决了部分问题,这将需要购买更多的解决方案,而且成本可能很难预测。

最后,作为整个组织努力的一部分,我们渴望以可持续的方式使我们的组织数据堆栈更加丰富。理想情况下,这也提高了组织利益相关者的整体可持续性。

需要了解的技术趋势:

坦率地说,各组织都在努力创建、监控和管理数据管道。数据平台发现了这一点,他们缓慢但肯定地将可能的解决方案纳入其产品中。这可能是个好主意。但它也会创建数据竖井,因为并不是整个组织都在CDW上运行。

到目前为止,大多数组织仍然根据分析用例(即席问题、报告和机器学习模型)来划分每个存储的数据。在过去的五年里,CDW处理了50%的分析数据负载,两年后将达到75%。然而,现在放弃数据湖和内存数据库还为时过早。

我们仍然需要解决“反馈循环”或反向ETL:来自数据管道或分析的见解被写入应用程序或文件,或返回数据源。由于CDW想要取代运营数据源或数据湖的愿望还不够成熟,我建议不要这样做。相反,我主张使用更简单的架构,使用API在分析和运营应用程序之间直接通信。

我将在下一节中详细介绍数据基础设施的映射和治理。

2021年,初创公司筹集的风险投资中,超过20%(超过600亿美元)流向了拥有数据相关产品的初创公司。关于可持续性和成本效率,您可以在较小的初创公司和公司中找到更好的TCO和自动化以及更好的ROI。数据解决方案市场正在蓬勃发展,许多不同供应商提供了多种不同价格的产品。

增强弹性的可观察性

为了将系统停机时间减少80%,您会采取什么措施?

如果你的组织投资建立一个数字免疫系统,它可能会在短短几年内获得收益。

那么,如何才能实现数字免疫呢?只需将可观察性与增强的测试、监控和自动补救相结合,添加安全性和风险管理,就可以实现数字弹性和适应性!

我想特别关注可观测性。

到2026年,70%成功应用可观察性的组织将实现更短的决策延迟。

这正是我在上一节中介绍的内容——实现高度自动化的工具,以实现快速而自信的决策。

数据和分析上下文中的可观察性是映射数据和分析资产、业务流程和应用程序,它被称为“元数据”。它是关于理解各种资产的含义(语义)和上下文(关系)。监控上下文和使用情况的模式可以作为将元数据激活到自动决策循环中的基础。

被动和主动元数据都能让您透明地了解哪些数据和分析以及如何使用它们。这是消除未使用和陈旧数据、中断的管道和有冲突的指标中的浪费的基础(下一主题将详细介绍)

到目前为止,大多数进步组织都为特定资产创建了数据契约,以了解其沿袭、使用、适用性和影响。通过元数据激活,我们可以渴望自动映射我们的所有资产。在这种现实中,我们更接近于将数据资产货币化(如前一主题所述)。

需要了解的技术趋势:

解决这些挑战并为可观测性提供解决方案的工具目前分布在不同的类别之间,如数据谱系、数据可观测性、目录、活动元数据管理平台和度量存储。

从更广泛的角度来看,这些工具是数据网格和数据结构的融合。数据网格的目标是在一定规模上创建可组合的数据产品。数据结构的目标是将所有数据和分析资产映射到任何位置,并对其进行管理,以确保唯一性、无冲突和单一的真相来源。它们的结合为我们提供了数据产品的启动平台,这些产品具有内置的发现、可观察性和治理,以及数据生产者和消费者之间的内置协作工具。

我认为FinOps是可观察性的另一个特征:能够将数据资产的使用归因于业务流程或应用程序及其各自的基础设施成本。FinOps工具是作为数据管理平台、应用程序监控系统的一部分引入的,最近,它们在主动元数据管理平台路线图中越来越受欢迎。

恢复信任的透明度

人工智能和机器学习很难在组织中获得吸引力,部分原因是消费者不信任他们不理解的东西。

近年来,我们讨论了可解释人工智能,现在我们称之为受控人工智能/ML。

这个新名称也反映了信任AI/ML的定义的转变:风险、隐私、安全管理、数据可靠性、基础设施和可解释性。

当你阅读上面的列表时,你会发现它与整个数据和分析实践相似。未能实现产品化和商业价值,危及商业利益相关者之间的信任,并使其更难吸引更多的组织预算。

尽管如此,没有人认为自动化人工智能驱动的数据驱动决策是未来的趋势,并具有巨大的竞争优势。

可能的解决方案在于以人为本的治理和数据扫盲举措。

理解和解释数据和分析需要数据素养。我们目前80%的业务工作组对使用数据没有信心。

如果可观察性使我们能够看到和理解上下文,那么数据素养将为我们翻译我们所看到的以及我们如何对此采取行动。

现在是治理:从历史上看,我们将治理视为一种防御机制,允许用户在“需要知道的基础上”访问数据和分析。时代变了,现在大多数担任业务角色的员工都渴望但无法做出数据驱动的决策。治理的新作用是为懂数据的人员提供方便的自助服务。

对于这种新的“进攻性”游戏,我们需要将治理应用于所有数据产品和服务,包括ML模型。

需要了解的技术趋势:

我有偏见,但我对这些问题的回答是在“独立的语义层”中管理组织逻辑和数据资产的使用。

以下是我的理由:

如果您在BI工具ETL或数据存储中记录您的管道、转换、指标和问题,那么您正在创建组织的另一个孤立、分散的画面,不同的角色只能从一个角度看待现实;

如果你想在度量来源、由哪个计算器使用哪个数据和哪个版本的度量以及由谁使用方面拥有端到端的可观察性,你必须将其放在CDW/ETL/BI管道的顶部或外部;

如果你想利用数据资产Observability and Governance for Risk and Security,它们应该可用于这些工作流或通过接口使用,而不需要另一个“Ops”来运行;

度量存储/功能存储/业务术语表/视图在同一类型的资产上重复了治理和可观察性的工作-为什么不在与数据本地连接的独特语义结构之上有一个平台来服务所有这些场景?

最后但同样重要的是:您真的希望您的关键业务指标与您的数据所在的平台记录在同一个平台上吗?

结论:

我们讨论了成本、效率、透明度和更好的业务协调。但归根结底,它是可持续性、韧性和信任;能够在数字化转型的艰难时期蓬勃发展;能够在不可避免的失败后迅速回顾,从中学习,变得更聪明;围绕数据为人们构建协作支持系统。

祝你2023年快乐健康!

本文地址
https://architect.pub/2023-predictions-data-and-analytics
SEO Title
2023 Predictions in Data and Analytics

商务智能

Chinese, Simplified
SEO Title
bisienss intelligence

Power BI

视频号

微信公众号

知识星球

Chinese, Simplified

如果交流Power BI DA-100认证考试,请加入知识星球。

Power BI DA-100认证交流

 

SEO Title
Power BI

【Power BI 认证小测试1】(DA-100)数据分析案例研究1:Litware, Inc. 是一个在线零售商

Chinese, Simplified

案例研究-

这是一个案例研究。案例研究不是单独计时的。你可以使用尽可能多的考试时间,你想完成每个案例。然而,在这个考试中可能会有额外的案例研究和部分。您必须管理您的时间,以确保您能够在规定的时间内完成考试中包含的所有问题。

要回答案例研究中包含的问题,您需要参考案例研究中提供的信息。案例研究可能包含提供关于案例研究中描述的场景的更多信息的展览和其他资源。在这个案例研究中,每个问题都是独立于其他问题的。

在这个案例研究的最后,将出现一个回顾屏幕。这个屏幕允许你回顾你的答案,并在你进入考试的下一个部分之前做出修改。开始一个新的部分后,您不能返回到这个部分。

开始案例研究

要显示此案例研究的第一个问题,请单击Next按钮。在回答问题之前,使用左窗格中的按钮来探索案例研究的内容。单击这些按钮将显示诸如业务需求、现有环境和问题声明等信息。如果案例研究有一个All Information选项卡,请注意显示的信息与后续选项卡上显示的信息相同。准备回答问题时,单击“问题”按钮返回问题。

概述- - - - - -

Litware, Inc.是一家使用微软Power BI仪表盘和报告的在线零售商。

该公司计划利用来自Microsoft SQL Server数据库、Microsoft Excel文件、文本文件和其他几个数据源的数据。

Litware使用Azure Active Directory (Azure AD)对用户进行认证。

现有环境,

销售数据,

Litware的在线销售数据具有如下表所示的SQL模式。

 

在Date表中,date_id列的格式为yyyymmdd, month列的格式为yyyymm。

Date表中的week列和Weekly_Returns表中的week_id列的格式是yyyyww。

Sales表中的sales_id列表示一个惟一的事务。

region_id列只能由一个销售经理管理。

数据问题

你们关心的是销售数据的质量和完整性。您计划验证销售数据是否为负的销售额。

报告要求,

Litware确定了以下技术要求:

  • 主管们需要一个显示区域销售情况的视觉效果。
  • 区域经理需要视觉分析每周的销售和收益。
  • 销售经理必须能够看到他们各自区域的销售数据。
  • 销售经理需要一个可视化工具来分析销售业绩和销售目标。
  • 销售部门需要包含销售交易数量的报告。
  • 用户必须能够在报表中看到月份,示例如下:Feb 2020。
  • 客户服务部门需要一个可以分别根据销售月份发货月份进行筛选的视觉效果。
SEO Title
Power BI Certification Quiz 1 (DA-100) Data Analysis Case Study 1: Litware, Inc. It's an online retailer

【Power BI 认证小测试1】(DA-100)数据分析案例研究3:Northwind Traders是一家专业的食品进口公司

Chinese, Simplified

案例研究-

这是一个案例研究。案例研究不是单独计时的。你可以使用尽可能多的考试时间,你想完成每个案例。然而,在这个考试中可能会有额外的案例研究和部分。你必须管理你的时间,以确保你能够在规定的时间内完成考试中包括的所有问题。

要回答案例研究中包含的问题,您需要参考案例研究中提供的信息。案例研究可能包含提供关于案例研究中描述的场景的更多信息的展览和其他资源。在这个案例研究中,每个问题都是独立于其他问题的。

在这个案例研究的最后,将出现一个回顾屏幕。这个屏幕允许你回顾你的答案,并在你进入考试的下一个部分之前做出修改。开始一个新的部分后,您不能返回到这个部分。

开始案例研究

要显示此案例研究的第一个问题,请单击Next按钮。在回答问题之前,使用左窗格中的按钮来探索案例研究的内容。单击这些按钮将显示诸如业务需求、现有环境和问题声明等信息。如果案例研究有一个All Information选项卡,请注意显示的信息与后续选项卡上显示的信息相同。准备回答问题时,单击“问题”按钮返回问题。

概述。概述- - - - - -

  • 北风贸易公司是一家专业的食品进口公司。
  • 该公司最近实施了Power BI,以更好地了解其顶级客户、产品和供应商。

概述。业务问题,

销售部门依赖IT部门在Microsoft SQL Server Reporting Services (SSRS)中生成报表。IT部门花费了太长的时间来生成报告,并且经常误解报告需求。

现有的环境。数据源

北风贸易商使用的数据来源如下表所示。

 

Source2每天都从第三方系统导出,并存储在Microsoft SharePoint Online中。

现有的环境。客户表

Source2包含一个名为Customer Details的工作表。工作表的前11行显示在下表中。

 

Source2中的所有字段都是必填的。

“客户详细信息”中的“地址”列是账单地址,它可能与送货地址不同。

现有的环境。SQL Azure数据库

Source1包含如下表:

  • 订单
  • 产品
  • 供应商
  • 类别
  • 订单细节
  • 销售员工

Orders表包含以下列。

 

“订单详细信息”表包含以下列。

 

Orders表中的地址是送货地址,它可以与账单地址不同。

Products表包含以下列。

 

Categories表包含以下列。

 

供应商表包含以下列。

 

Sales Employees表包含以下列。

 

Sales Employees表中的每个员工被分配到一个销售区域。每个区域可以分配多个员工。

要求。报告要求

北风贸易公司需要以下报告:

  • 顶级的产品
  • 顶级客户
  • 准时装运

Top Customers报告

  • 将根据选定订单的月份或季度、产品类别和销售区域的最高销售额显示排名前20位的客户。

Top Products报告

  • 将根据选定订单的月份或季度、销售区域和产品类别的最高销售额显示前20种产品。报告还必须显示哪些供应商提供了最好的产品。

“准时发货”报告

将显示选定发货月份或季度的以下指标:

  • 按国家和运输地区延迟发货的订单百分比
  • 上个季度多次延迟发货的客户
  • 北风贸易商将迟交订单定义为那些在规定的发货日期之后发货的订单。
  • 如果当月迟交订单的百分比超过5%,必须通知仓库出货部。
  • 报告必须显示当前日历年和最近三个日历年的历史数据。

要求。技术要求

北风交易者确定了以下技术要求:

  • 单个数据集必须支持所有这三个报告。
  • 报告必须存储在单个Power BI工作区中。
  • 报告数据必须是太平洋时间每天早上7点的最新数据。
  • 当用户与可视化进行交互时,报表必须提供快速的响应时间。
  • 数据模型必须尽可能地最小化数据集的大小,同时满足报告需求和技术需求。

要求。安全需求

对报表的访问权限必须只授予Azure Active Directory (Azure AD)安全组。每个部门都有一个Azure AD安全组。

销售部门必须能够在Power BI中完成以下任务:

  • 创建、编辑和删除报表中的内容。
  • 管理工作空间、数据集和报告的权限。
  • 发布、取消发布、更新和更改应用程序的权限。
  • 为报表工作区分配Azure AD组基于角色的访问权限。
  • 销售部门的用户必须能够访问销售区域的数据,这些数据在sales Employees表中分配给他们。
  • Power BI为Sales Employees表提供以下行级安全(RLS)表过滤器DAX表达式。
  • [EmailAddress] =用户名()
  • RLS仅适用于销售部门用户。其他部门的用户必须能够查看所有数据。
SEO Title
power-bi-certification-quiz-1-da-100-data-analysis-case-study-3-Northwind Traders is a specialty food import company

【Power BI 认证小测试1】(DA-100)数据分析案例研究2:Contoso是一家生产制造型公司

Chinese, Simplified

案例研究-

这是一个案例研究。案例研究不是单独计时的。你可以使用尽可能多的考试时间,你想完成每个案例。然而,在这个考试中可能会有额外的案例研究和部分。您必须管理您的时间,以确保您能够在规定的时间内完成考试中包含的所有问题。

要回答案例研究中包含的问题,您需要参考案例研究中提供的信息。案例研究可能包含提供关于案例研究中描述的场景的更多信息的展览和其他资源。在这个案例研究中,每个问题都是独立于其他问题的。

在这个案例研究的最后,将出现一个回顾屏幕。这个屏幕允许你回顾你的答案,并在你进入考试的下一个部分之前做出修改。开始一个新的部分后,您不能返回到这个部分。

开始案例研究

要显示此案例研究的第一个问题,请单击Next按钮。在回答问题之前,使用左窗格中的按钮来探索案例研究的内容。单击这些按钮将显示诸如业务需求、现有环境和问题声明等信息。如果案例研究有一个All Information选项卡,请注意显示的信息与后续选项卡上显示的信息相同。准备回答问题时,单击“问题”按钮返回问题。

概述- - - - - -

Contoso, Ltd.是一家生产户外设备的制造公司。Contoso每季度都会召开董事会会议,由财务分析师手工准备

微软的Excel报告,包括公司四个业务部门的损益表、公司资产负债表下一季度的净收入预测

现有环境,

资料及来源

报告的数据来自三个来源。详细的收入成本和费用数据来自Azure SQL数据库。资产负债表汇总数据来自微软Dynamics 365商业中心。资产负债表数据与损益结果无关,但两者都与日期有关。

下个季度的月度收入和支出预测来自微软的SharePoint在线列表。季度预测通过使用以下共享维度:日期、业务单元、部门和产品类别与损益结果相关

净收益预测数据-

净收益预测数据存储在SharePoint在线列表中,名为“预测”,格式如下表所示。

 

收入预测是按月进行的,并将其相加以显示本季度的预测。

资产负债表数据-

资产负债表数据与每个帐户每月的最终余额一起导入,格式如下表所示。

 

在资产负债表数据中,每个账户每月总有一行。

Dynamics 365商业中心数据

Business Central包含一个产品目录,该目录显示产品如何上卷到产品类别产品类别上卷到业务单元

收入数据日期和产品级别提供。费用数据以日期和部门级别提供。

业务问题,

从历史上看,两名分析师每周都要为每季度的董事会会议准备报告。此外,通常每个季度至少会出现一个问题,由于Excel公式中的单元格引用错误,导致报告中的值出现错误。有时,报告中会出现冲突的结果,因为上卷到每个业务单元的产品和部门的定义不一致。

需求- - - - - -

计划变更,

  • Contoso计划通过使用Microsoft Power BI实现季度报告流程的自动化和标准化。该公司希望在不到两天的时间内完成报告。公司希望为业务单位、产品和部门创建通用逻辑,用于所有报告,包括但不限于董事会的季度报告。

技术要求,

  • Contoso希望用最少的手工工作来刷新报告和数据集。
  • 该公司希望向董事会提供单个报告包,其中包含自定义导航和到补充信息的链接。
  • 维护,包括手动更新数据和访问,必须尽可能地减少。

安全需求,

  • 这些报告必须从powerbi.com网站上提供给董事会。Azure Active Directory组将用于与董事会共享信息。
  • 负责每个业务单元的分析师必须看到董事会看到的所有数据,除了盈亏数据,这必须仅限于他们的业务单元的数据。分析师必须能够从包含盈亏数据的数据集构建新的报告,但分析师构建的任何报告都不能包含在董事会的季度报告中。分析师不能与任何人分享季度报告。

报告要求,

  • 您计划将资产负债表与Power BI中的标准日期表以多对一的关系(基于每月的最后一天)关联起来。在季度报告包中,至少有一份资产负债表报告必须显示本季度以及上一季度的期末余额
  • 预测必须包含一个名为RevenueProjection的列,该列包含收入预测金额。必须从预测到包含下表中显示的列的名为Date的表创建关系。

 

  • 产品、部门和业务单元的定义和属性必须在所有报表中保持一致。
  • 董事会必须能够从季度报告中获得以下信息:
    • 长期收益趋势
    • 每个帐户的期末余额
    • 按季度支出与预测的比较
    • 长期负债与上一季度相比的变化情况
    • 季度收入与上年同期的比较
SEO Title
power-bi-certification-quiz-1-da-100-data-analysis-case-study-2-Contoso, Ltd. is a manufacturing company

【Power BI认证小测试1】Power BI (DA-100)数据分析(001-005)

Chinese, Simplified

Question 1 ( Testlet 1 )

Case Study  参考 【Power BI 认证小测试1】(DA-100)数据分析案例研究1:Litware, Inc. 是一个在线零售商

您需要创建一个计算列来根据报表需求显示月份。

应该使用哪种DAX表达式?

  • A. FORMAT('Date'[date], "MMM YYYY")
  • B. FORMAT('Date' [date], "M YY")
  • C. FORMAT('Date'[date_id], "MMM") & "" & FORMAT('Date'[year], "#")
  • D. FORMAT('Date' [date_id], "MMM YYYY")

Question 2 ( Testlet 1 )

Case Study  参考 【Power BI 认证小测试1】(DA-100)数据分析案例研究1:Litware, Inc. 是一个在线零售商

在创建数据模型之前,您需要检查需要关注的数据。

在Power Query 编辑器中你应该做什么?

  • A.转换sales_amount列,将负值替换为0。
  • B.选择列分布。
  • C:选择sales_amount列并应用一个数字过滤器。
  • D.选择Column profile,然后选择sales_amount列。

Question 3 ( Testlet 2 )

Case Study  参考:

案例研究【Power BI 认证小测试1】(DA-100)数据分析案例研究2:Contoso是一家生产制造型公司

支持这些报告所需的Power BI数据集的最小数量是多少?

  • A:两个导入的数据集
  • B:一个单独的DirectQuery数据集
  • C:两个DirectQuery数据集
  • D:单个导入的数据集

Question 4 ( Testlet 3 )

Case Study  参考:

【Power BI 认证小测试1】(DA-100)数据分析案例研究3:Northwind Traders是一家专业的食品进口公司

您需要设计数据模型来满足报告需求。

在Power BI Desktop中你应该做些什么?

  • a .在Power Query中,使用DAX表达式向Orders表添加列,以计算OrderDate列的日历季度、OrderDate列的日历月份、ShippedDate列的日历季度和ShippedDate列的日历月份。
  • B.在Power Query中,在Orders表中添加列,计算OrderDate列的日历季度和日历月份。
  • C.从Power BI Desktop,在创建报表时使用自动日期/时间选项。
  • D.在电源查询中,添加一个日期表。与Orders表中的OrderDate列创建一个活动关系,与Orders表中的ShippedDate列创建一个非活动关系。

Question 5 ( Question Set 1 )

您有如下表所示的表。

Impressions表每个月包含大约3000万条记录。

你需要创建一个广告分析系统来满足以下要求:

✑展示广告印象对当天、活动和网站名称都很重要。去年的分析是必需的。

✑最小化数据模型大小。

您应该执行哪两个操作?每一个正确的答案都是解决方案的一部分。

注:每个正确的选项值一分。

  • A.根据Ad_id, Site_name和Impression_date对Power query中的Impressions查询进行分组。使用CountRows函数进行聚合。
  • B.创建表之间的一对多关系。
  • C.通过使用COUNTROWS函数创建一个计算的度量。
  • D.创建包含Ad_id、Site_name和Impression_date的计算表。

本文:

SEO Title
Power BI Certification Testlet 1:Analyzing Data with Microsoft Power BI v1.0 (DA-100) (1-5)

【Power BI认证小测试1】Power BI (DA-100)数据分析(006-010)

Chinese, Simplified

Question 6 ( Question Set 1 )

贵公司有培训视频发布到微软流。

您需要将视频直接显示在Microsoft Power BI仪表盘中。

应该添加哪种类型的瓷砖?

  • A:视频
  • B.自定义流数据
  • C.文本框
  • D . Web内容

Question 7 ( Question Set 1 )

在Power Query Editor.中打开查询。

您需要尽快确定每个列中空值的百分比。

您应该选择哪个数据预览选项?

  • a 显示空白
  • b 列配置文件(Column profile)
  • c .列分布
  • d .列质量

Question 8 ( Question Set 1 )

您有一个包含1500行数据的潜在客户列表。列表包含以下字段:

  • ✑ First name
  • ✑ Last name
  • ✑ Email address
  • ✑ State/Region
  • ✑ Phone number

将列表导入Power Query Editor。

您需要确保列表包含您想要进行营销活动的每个州/地区的记录。

您应该执行哪两个操作?每一个正确的答案都是解决方案的一部分。

注:每个正确的选项值一分。

  • A.打开高级编辑器。
  • B.选择列质量。
  • C.启用基于整个数据集的列分析。
  • D.选择列分布。
  • E.选择列配置文件。

Question 9 ( Question Set 1 )

热点,

您有一个返回100多个列的API。下面是列名的一个示例。

  • ✑client_notified_timestamp
  • ✑client_notified_source
  • ✑client_notified_sourceid
  • ✑client_notified_value
  • ✑client_responded_timestamp
  • ✑client_responded_source
  • ✑client_responded_sourceid
  • ✑client_responded_value

您计划只包含返回列的一个子集。

您需要删除任何具有sourceid后缀的列。

你应该如何完成Power Query M代码?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域:

Question 10 ( Question Set 1 )

拖放

您正在从包含一组文档的JSON文件构建一个数据集。

您需要将JSON文件中所有文档的属性作为列导入。该解决方案必须确保日期属性可以用作Microsoft Power BI报告中的日期层次结构。

你应该依次执行哪三个动作?要回答问题,请将适当的操作从操作列表移动到答案区域,并按正确的顺序排列它们。

选择和放置:

 

本文:http://jiagoushi.pro/node/1582

 

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-6-10

【Power BI认证小测试1】Power BI (DA-100)数据分析(011-015)

Chinese, Simplified

Question 11 ( Question Set 1 )

将两个Microsoft Excel表Customer和Address导入Power Query。“客户”包含以下列:

✑ Customer ID

✑ Customer Name

✑ Phone

✑ Email Address

✑ Address ID

地址包含以下列:

✑ Address ID

✑ Address Line 1

✑ Address Line 2

✑ City

✑ State/Region

✑ Country

✑ Postal Code

“ Customer ID”和“Address ID”列表示唯一的行。

您需要创建一个查询,每个客户有一行。每行必须包含每个客户的城市、州/地区和国家。

你应该怎么做?

  • A.合并客户和地址表。
  • B.调换客户和地址表。
  • C.根据地址ID列分组Customer和Address表。
  • D.附加客户和地址表。

Question 12 ( Question Set 1 )

你有以下三个版本的Azure SQL数据库:

  • ✑ Test
  • ✑ Production
  • ✑ Development

您有一个使用开发数据库作为数据源的数据集。

您需要配置数据集,以便能够轻松地在powerbi.com的开发、测试和生产数据库服务器之间更改数据源。

你应该怎么做?

  • a .创建一个包含数据库服务器名称的JSON文件。将JSON文件导入数据集。
  • B.创建一个参数并更新查询以使用该参数。
  • C.为每个数据库服务器创建一个查询并隐藏开发表。
  • D.设置数据源隐私级别为“组织”,使用“ReplaceValue Power Query M”功能。

Question 13 ( Question Set 1 )

您有一个包含用户投诉的CSV文件。该文件包含一个名为Logged的列。记录包含每个投诉发生的日期和时间。“Logged”中的数据格式为:2018-12-31 at 08:59。

您需要能够根据日志日期分析投诉,并使用内置的日期层次结构。

  • A.使用at作为分隔符分割Logged列。
  • B.应用转换来提取Logged列的最后11个字符,并将新列的数据类型设置为Date。
  • C.应用转换来提取Logged列的最后11个字符。
  • D.将Date转换选项中的Parse函数应用到logging列。

Question 14 ( Question Set 1 )

您有一个包含销售事务的Azure SQL数据库。数据库频繁更新。

您需要从数据中生成报告来检测欺诈交易。数据必须在更新后的五分钟内可见。

如何配置数据连接?

  • A .添加SQL语句。
  • B.选择“数据连通性模式”为“DirectQuery”。
  • C.设置命令超时时间。
  • D.选择“数据连接方式”为“导入”。

Question 15 ( Question Set 1 )

您有一个包含许多复杂DAX表达式的数据模型。表达式包含对RELATED和RELATEDTABLE函数的频繁引用。

您需要推荐一个解决方案来最大限度地减少RELATED和RELATEDTABLE函数的使用。

你有什么建议吗?

  • A.将模型分解为多个模型。
  • B.隐藏模型中未使用的列。
  • C.使用功率查询合并表。
  • D.转置所需的列。

原文:

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-11-15

【Power BI认证小测试1】Power BI (DA-100)数据分析(016-020)

Chinese, Simplified

Question 16 ( Question Set 1 )

您有一个包含超过100万行的大型数据集。该表有一个名为Date的datetime列。

您需要在不丢失对任何数据的访问的情况下减小数据模型的大小。

你应该怎么做?

  • A.将Date列的小时四舍五入到“startOfHour”
  • B.修改“日期”列的数据类型为“文本”。
  • C.Trim 日期列。(Trim the Date column)
  • D.将日期列分成两列,一列只包含时间,另一列只包含日期。

Question 17 ( Question Set 1 )

拖放,

您正在使用Microsoft Power BI对名为SalesDetail的表中的数据进行建模。

您需要向终端用户提供访问有关SalesDetail数据的汇总统计信息的权限。用户需要了解数据的完整性和值分布。

你应该依次执行哪三个动作?要回答问题,请将适当的操作从操作列表移动到答案区域,并按正确的顺序排列它们。

选择和放置:

Question 18 ( Question Set 1 )

您可以使用“ Power Query Editor”创建以下步骤。

Table.ReplaceValue (SalesLT_Address、“1318”、“1319”,Replacer.ReplaceText, {AddressLine1 "})

一行在AddressLine1列中的值为 21318 Lasalle Street。

当这个步骤被应用时,这个值是多少?

  • A. 1318
  • B. 1319
  • C. 21318 Lasalle Street
  • D. 21319 Lasalle Street

Question 19 ( Question Set 1 )

你有一份微软Power BI报告。PBIX文件大小为550mb。该报表通过powerbi.com共享容量的App工作区进行访问。

报告使用一个导入的数据集,该数据集包含一个事实表。事实表包含1200万行。数据集计划在每天的08:00和17:00刷新两次。

该报表是一个包含15个AppSource图形和10个默认图形的单一页面。

用户说,当他们访问和与报表交互时,该报表加载图形很慢。

您需要推荐一种解决方案来提高报告的性能。

你有什么建议吗?

  • A.增加数据集刷新的次数。
  • B.将visuals 分割到多个页面。
  • C.更改导入的数据集为DirectQuery。
  • D.实现行级安全(RLS)。

Question 20 ( Question Set 1 )

您可以使用Microsoft Power BI Service创建一个指示板。仪表板包含一张显示当前年度总销售额的可视卡片。

您通过在工作区中使用Viewer角色授予用户对仪表板的访问权。

用户希望每天收到显示卡上显示的号码的通知。

您需要自动化通知。

你应该怎么做?

  • A.创建数据告警。
  • B.共享仪表盘给用户。
  • C.创建订阅。
  • D.在评论中标记用户。

 

本文:http://jiagoushi.pro/node/1584

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-16-20

【Power BI认证小测试1】Power BI (DA-100)数据分析(021-025)

Chinese, Simplified

Question 21 ( Question Set 1 )

注意:这个问题是呈现相同场景的一系列问题中的一部分。本系列中的每个问题都包含一个可能满足既定目标的独特解决方案。一些问题集可能有不止一个正确的解决方案,而其他的可能没有一个正确的解决方案。

在你回答了这个部分的问题后,你将不能回到它。因此,这些问题将不会出现在回顾屏幕上。

您正在使用Microsoft Power BI对数据进行建模。数据模型的一部分是名为Order的大型Microsoft SQL Server表,它拥有超过1亿条记录。

在开发过程中,您需要从Order表中导入数据样例。

解决方案:从Power Query Editor导入表,然后将筛选步骤添加到查询中。

这符合目标吗?

  • A:是的
  • B:没有

Question 22 ( Question Set 1 )

注意:这个问题是呈现相同场景的一系列问题中的一部分。本系列中的每个问题都包含一个可能满足既定目标的独特解决方案。一些问题集可能有不止一个正确的解决方案,而其他的可能没有一个正确的解决方案。

在你回答了这个部分的问题后,你将不能回到它。因此,这些问题将不会出现在回顾屏幕上。

您正在使用Microsoft Power BI对数据进行建模。数据模型的一部分是名为Order的大型Microsoft SQL Server表,它拥有超过1亿条记录。

在开发过程中,您需要从Order表中导入数据样例。

解决方案:在SQL语句中添加WHERE子句。

这符合目标吗?

  • A:是的
  • B:没有

Question 23 ( Question Set 1 )

注意:这个问题是呈现相同场景的一系列问题中的一部分。本系列中的每个问题都包含一个可能满足既定目标的独特解决方案。一些问题集可能有不止一个正确的解决方案,而其他的可能没有一个正确的解决方案。

在你回答了这个部分的问题后,你将不能回到它。因此,这些问题将不会出现在回顾屏幕上。

您将创建一个名为DataSourceExcel的参数,该参数保存Microsoft Excel数据源的文件名和位置。

您需要更新查询以引用参数,而不是在每个查询定义中引用多个硬编码的位置副本。

解决方案:在Power Query M代码中,使用DataSourceExcel替换对Excel文件的引用。

这符合目标吗?

  • A:是的
  • B:没有

Question 24 ( Question Set 1 )

注意:这个问题是呈现相同场景的一系列问题中的一部分。本系列中的每个问题都包含一个可能满足既定目标的独特解决方案。一些问题集可能有不止一个正确的解决方案,而其他的可能没有一个正确的解决方案。

在你回答了这个部分的问题后,你将不能回到它。因此,这些问题将不会出现在回顾屏幕上。

您将创建一个名为DataSourceExcel的参数,该参数保存Microsoft Excel数据源的文件名和位置。

您需要更新查询以引用参数,而不是在每个查询定义中引用多个硬编码的位置副本。

解决方案:修改查询的源步骤以使用DataSourceExcel作为文件路径。

这符合目标吗?

  • A:是的
  • B:没有

Question 25 ( Question Set 1 )

注意:这个问题是呈现相同场景的一系列问题中的一部分。本系列中的每个问题都包含一个可能满足既定目标的独特解决方案。一些问题集可能有不止一个正确的解决方案,而其他的可能没有一个正确的解决方案。

在你回答了这个部分的问题后,你将不能回到它。因此,这些问题将不会出现在回顾屏幕上。

您将创建一个名为DataSourceExcel的参数,该参数保存Microsoft Excel数据源的文件名和位置。

您需要更新查询以引用参数,而不是在每个查询定义中引用多个硬编码的位置副本。

解决方案:创建一个引用DataSourceExcel的新查询。

这符合目标吗?

  • A:是的
  • B:没有

本文:

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-21-25

【Power BI认证小测试1】Power BI (DA-100)数据分析(026-030)

Chinese, Simplified

Question 26 ( Question Set 1 )

注意:这个问题是呈现相同场景的一系列问题中的一部分。本系列中的每个问题都包含一个可能满足既定目标的独特解决方案。一些问题集可能有不止一个正确的解决方案,而其他的可能没有一个正确的解决方案。

在你回答了这个部分的问题后,你将不能回到它。因此,这些问题将不会出现在回顾屏幕上。

您正在使用Microsoft Power BI对数据进行建模。数据模型的一部分是名为Order的大型Microsoft SQL Server表,它拥有超过1亿条记录。

在开发过程中,您需要从Order表中导入数据样例。

解决方案:添加基于订单日期进行筛选的报表级筛选器。

这符合目标吗?

  • A:是的
  • B:没有

Question 27 ( Question Set 1 )

注意:这个问题是呈现相同场景的一系列问题中的一部分。本系列中的每个问题都包含一个可能满足既定目标的独特解决方案。一些问题集可能有不止一个正确的解决方案,而其他的可能没有一个正确的解决方案。

在你回答了这个部分的问题后,你将不能回到它。因此,这些问题将不会出现在回顾屏幕上。

您正在使用Microsoft Power BI对数据进行建模。数据模型的一部分是名为Order的大型Microsoft SQL Server表,它拥有超过1亿条记录。

在开发过程中,您需要从Order表中导入数据样例。

解决方案:编写一个使用FILTER函数的DAX表达式。

这符合目标吗?

  • A:是的
  • B:没有

Question 28 ( Question Set 1 )

您有一个监视制造过程质量的Power BI仪表盘。仪表盘包含以下元素:

  • 折线图,显示每天生产的次品数量。
  • ✑KPI可视化显示当前每天生产的次品百分比。
  • 当每天生产的不良品百分比超过3%时,需要通知你。

你应该创造什么?

  • A .一个问答视频
  • C .订阅
  • C.一个聪明的叙事视觉 visual
  • D .警报

Question 29 ( Question Set 1 )

拖放,

你正在Power BI上准备一份财务报告。 使用Power Query Editor连接到存储在Microsoft Excel电子表格中的数据,如下图所示。

需要准备以下数据:

  • ✑可视化,包括随时间变化的数据中的所有度量(measures )
  • ✑所有度量的年同比计算(Year-over-year calculations for all the measures)

你应该依次执行哪四个动作?要回答问题,请将适当的操作从操作列表移动到答案区域,并按正确的顺序排列它们。

选择和放置:

Question 30 ( Question Set 1 )

热点,

您的数据沿袭如下图所示。

使用下拉菜单选择答案选项,根据图形中显示的信息完成每个语句。

注:每个正确的选项值一分。

热点区域:

本文:http://jiagoushi.pro/node/1586

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-26-30

【Power BI认证小测试1】Power BI (DA-100)数据分析(031-035)

Chinese, Simplified

Question 31 ( Question Set 1 )

您正在检查一个在“Power Query Editor “ 中生成10,000行的查询。

您需要标识一个列是否只包含惟一的值。

您可以使用哪两个数据预览选项?每一个正确的答案都是一个完整的解决方案。

注:每个正确的选项值一分。

答:列配置文件

  • A. Column profile
  • B. Column distribution
  • C. Show whitespace
  • D. Column quality
  • E. Monospaced

Question 32 ( Question Set 1 )

热点,

  • 您有两个Azure SQL数据库,它们包含相同的表和列。
  • 对于每个数据库,您都要创建一个查询,该查询从名为Customer的表中检索数据。
  • 您需要将Customer表确定为单个表。该解决方案必须最小化数据模型的大小,并支持powerbi.com中的定时刷新。

你应该怎么做?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域:

Question 33 ( Question Set 1 )

热点,

  • 你有一个每月交易摘录的文件夹。
  • 您计划创建一个报告来分析事务数据。
  • 您收到如下邮件:您好,我已经将24个月度交易数据文件放入共享驱动器。文件Transactions201801.csv到transaction201812.csv有4列,而文件Transactions201901.csv到Transaction201912.csv有相同的4列外加3列。每个文件包含10到50个事务。
  • 从文件夹中获取数据并选择Combine & Load。“合并文件”对话框显示在展示中。(单击Exhibit选项卡。)

对于下面的每个语句,如果该语句为真,则选择Yes。否则,选择No。 注:每个正确的选项值一分。

热点区域:

Question 34 ( Question Set 1 )

拖拽,

  • 您将收到必须包含在Microsoft Power BI报告中的收入数据。
  • 您可以在Power Query中预览来自Microsoft Excel数据源的数据,如下面的示例所示。

  • 您计划从数据中创建若干视觉效果,包括显示按年和产品划分的收益的视觉效果。
  • 您需要转换数据,以确保能够构建视觉效果。解决方案必须确保对列包含的数据进行适当的命名。
  • 你应该依次执行哪三个动作?要回答问题,请将适当的操作从操作列表移动到答案区域,并按正确的顺序排列它们。

选择和放置:

Question 35 ( Question Set 1 )

热点,

  • 您正在使用Power BI构建一个财务报告。
  • 您有一个名为financials的表,其中包含一个名为Date的列和一个名为Sales的列。
  • 您需要创建一个度量,计算与上一季度相比的销售额的相对变化。

你应该如何完成测量?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域:

本文:http://jiagoushi.pro/node/1587

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-31-35

【Power BI认证小测试1】Power BI (DA-100)数据分析(036-040)

Chinese, Simplified

Question 36 ( Question Set 1 )

  • 您有一个自定义连接器,它为过去一年中发送的每一封电子邮件返回ID、发件人、收件人、主题、正文和附件。超过1000万条记录被返回。
  • 您可以根据员工发送电子邮件的对象构建一个分析员工内部网络的报告。
  • 您需要防止报表收件人阅读分析的电子邮件。解决方案必须使模型尺寸最小化。

你应该怎么做?

  • A.实现行级安全(RLS),以便报告收件人只能根据他们发送的电子邮件看到结果。
  • B.在导入期间删除Subject和Body列。
  • C.从模型视图中,设置主题和主体列为隐藏。

Question 37 ( Question Set 1 )

  • 你们公司在YouTube上发布了培训视频。
  • 您需要将视频直接显示在Microsoft Power BI仪表盘中。

应该添加哪种类型的瓷砖?

  • A:视频
  • B.自定义流数据
  • C.文本框
  • D . Web内容

Question 38 ( Testlet 4 )

Case Study 参考 

数据分析案例研究1:Litware, Inc. 是一个在线零售商

您需要为行政人员的可视化创建所需的关系。

在创建关系之前,你应该做些什么?

  • A.将Sales[region_id]的数据类型改为Whole Number。
  • B.将“Sales[region_id]”的数据类型修改为“Decimal Number”。
  • C.将Sales[sales_id]的数据类型更改为Text。
  • D.在Sales表中,为Sum(sales_amount)添加一个度量。

Question 39 ( Testlet 4 )

Case Study 参考:

数据分析案例研究1:Litware, Inc. 是一个在线零售商

您应该创建什么来满足销售部门的报告要求?

  • A. a measure that uses a formula of SUM(Sales[sales_id])
  • B. a calculated column that use a formula of COUNTA(Sales[sales_id])
  • C. a measure that uses a formula of COUNTROWS(Sales)
  • D. a calculated column that uses a formula of SUM(Sales[sales_id])

Question 40 ( Testlet 4 )

Case Study 参考:

数据分析案例研究1:Litware, Inc. 是一个在线零售商

您需要提供一个解决方案,以向销售经理提供所需的访问权限。

你应该在解决方案中包含什么?

  • A.在Sales_Manager表中创建一个username = username()的表过滤器的安全角色。
  • B.在sales_manager_id = UserPrincipalName()的Region_Manager表上创建一个具有表过滤器的安全角色。
  • C.在Sales_Manager表中创建一个name = UserName()的表过滤器的安全角色。
  • D.创建一个安全角色,在Sales_Manager表上有一个表过滤器,其中username = sales_manager_id。

本文:http://jiagoushi.pro/node/1588

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-36-40

【Power BI认证小测试1】Power BI (DA-100)数据分析(041-045)

Chinese, Simplified

Question 41 ( Testlet 4 )

Case Study 参考:

数据分析案例研究1:Litware, Inc. 是一个在线零售商

  • 您需要在Weekly_Returns表和Date表之间创建一个关系,以满足区域经理的报告需求。

你应该怎么做?

  • A.使用RELATED DAX函数将Weekly_Returns数据添加到Sales表中。
  • B.在Weekly_Returns表中,创建新的计算列date_id,格式为yyyymmdd,并使用计算列创建与Date表的关系。
  • C.根据date_id唯一的Date表创建一个新表,然后与Weekly_Return创建一个多对多的关系。

Question 42 ( Testlet 4 )

Case Study 参考:

数据分析案例研究1:Litware, Inc. 是一个在线零售商

  • 您需要创建关系以满足客户服务部门的报告需求。

你应该创造什么?

  • A.一个额外的名为ShipDate的日期表,一个从date [date_id]到Sales[Sales_date_id]的一对多关系,以及一个从ShipDate[date_id]到Sales[sales_ship_date_id]的一对多关系。
  • B.一个附加的名为ShipDate的日期表,Sales[sales_date_id]到date [date_id]的多对多关系,Sales[sales_ship_date_id]到ShipDate[date_id]的多对多关系
  • C.一个从Date[date_id]到Sales[sales_date_id]的一对多关系和另一个从Date[date_id]到Weekly_Returns[week_id]的一对多关系
  • D.从Sales[sales_ship_date_id]到Date[date_id]的一对多关系和从Sales[sales_ship_date_id]到Date[date_id]的一对多关系

Question 43 ( Testlet 5 )

Case Study 参考:

数据分析案例研究2:Contoso是一家生产制造型公司

拖拽

  • 一旦创建了盈亏数据集,您应该依次执行哪四个操作,以确保业务单元分析师看到适当的盈亏数据?要回答问题,请将适当的操作从操作列表移动到答案区域,并按正确的顺序排列它们。

选择和放置:

Question 44 ( Testlet 5 )

Case Study 参考:

数据分析案例研究2:Contoso是一家生产制造型公司

您应该使用哪种DAX表达式来获得资产负债表报告中的期末余额?

  • A. CALCULATE ( SUM( BalanceSheet [BalanceAmount] ), DATESQTD( 'Date'[Date] ) )
  • B. CALCULATE ( SUM( BalanceSheet [BalanceAmount] ), LASTDATE( 'Date'[Date] ) )
  • C. FIRSTNONBLANK ( 'Date' [Date] SUM( BalanceSheet[BalanceAmount] ) )
  • D. CALCULATE ( MAX( BalanceSheet[BalanceAmount] ), LASTDATE( 'Date' [Date] ) )

Question 45 ( Testlet 5 )

Case Study 参考:

数据分析案例研究2:Contoso是一家生产制造型公司

热点,

  • 您需要在资产负债表数据中计算每月的最后一天,以确保您可以将资产负债表数据与Date表关联起来。
  • 您应该使用哪种类型的计算和哪种公式?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域:

 

本文地址
https://architect.pub/power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-41-45
SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-41-45

【Power BI认证小测试1】Power BI (DA-100)数据分析(046-050)

Chinese, Simplified

Question 46 ( Testlet 6 )

Case study 参考:

热点,

您需要创建一个度量,该度量将返回延迟订单的百分比。

如何完成DAX表达式?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域

Question 47 ( Testlet 6 )

Case study 参考:

热点,

  • 您需要在数据集中为RLS创建一个关系。
  • 你应该怎么做?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域:

Question 48 ( Question Set 2 )

您将从包含下表中所示表的数据库构建一个报告来分析客户事务。

  • 你导入表。

应该使用哪种关系来链接这些表?

  • A.客户和事务之间的多对多
  • B.从事务到客户的一对多
  • C.从客户到事务的一对多
  • D.客户和交易之间一对一

Question 49 ( Question Set 2 )

热点,

你有一份Power BI报告。

您需要创建一个计算表来返回100个最高消费客户。

如何完成DAX表达式?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域:

Question 50 ( Question Set 2 )

热点,

在Power BI模型中有两个表,分别名为Customers和Invoice。Customers表包含以下字段:

✑ CustomerID

✑ Customer City

✑ Customer State

✑ Customer Name

✑ Customer Address 1

✑ Customer Address 2

✑ Customer Postal Code

发票表包含以下字段:

✑ Order ID

✑ Invoice ID

✑ Invoice Date

✑ Customer ID

✑ Total Amount

Customer表通过Customer ID列与Invoice表相关。一个客户可以在一个月内收到许多发票。

Power BI模型必须提供以下信息:

  • ✑上个月每个州开发票的客户数量
  • ✑每个邮政编码中每个客户的平均发票金额

您需要定义从Customers表到Invoice表的关系。解决方案必须优化查询性能。

  • 应该配置什么?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域:

本文:http://jiagoushi.pro/node/1590

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-46-50

【Power BI认证小测试1】Power BI (DA-100)数据分析(051-055)

Chinese, Simplified

Question 51 ( Question Set 2 )

  • 您有一个Microsoft Power BI数据模型,其中包含三个表Orders、Date和City。Date和Orders之间、City和Orders之间存在一对多的关系。
  • 该模型包含两个名为Role1和Role2的行级安全(RLS)角色。Role1包含以下过滤器。
    • City[State Province] = "Kentucky"
  • Role2包含以下过滤器。
    • Date[Calendar Year] = 2020 -

如果用户同时是Role1和Role2的成员,那么在使用该模型的报告中,他们将看到哪些数据?

  • A:用户将看到州省值为肯塔基州,日历年为2020年的数据。
  • B.用户将看到州省值为肯塔基或日历年为2020的数据。
  • C.用户将只看到State Province值为Kentucky的数据。
  • D.用户将收到一个错误,将不能看到报告中的数据。

Question 52 ( Question Set 2 )

热点,

  • 贵公司有附属机构帮助公司获得客户。
  • 您为公司的附属机构经理构建一份报告,以帮助他们了解附属机构的业绩。
  • 经理要求显示每个子公司最近50笔交易的总销售价值的visual 。您有一个包含以下表的数据模型。

  • 从属表与基于affiliation id列的Transactions表有一对多的关系。

您需要开发一个度量来支持可视化。

  • 如何完成DAX表达式?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域:

Question 53 ( Question Set 2 )

  • 您正在配置一个Microsoft Power BI数据模型,使用户能够通过使用Q&A提问自然语言问题。
  • 您有一个名为Customer的表,它具有以下度量。
  • 客户数量= DISTINCTCOUNT(Customer[CustomerID])
  • 用户通常将客户称为订阅者。
  • 您需要确保用户可以通过使用Q&A获得有用的“订阅者计数”结果。解决方案必须使模型的大小最小化。

你应该怎么做?

  • A.设置CustomerID列的“summary By”为“None”。
  • B.向Customer表添加“订阅者”的同义词。
  • C.向CustomerID列添加“subscriberID”的同义词。
  • D.在Customer count度量中添加“subscriber count”的描述。

Question 54 ( Question Set 2 )

热点,

  • 您正在创建一个Microsoft Power BI数据模型,其中包含如下表所示的表。

  • Products表通过ProductCategoryID列与ProductCategory表相关。
  • 您需要确保能够按产品类别分析销售情况。

您应该如何配置从ProductCategory到Products的关系?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域:

Question 55 ( Question Set 2 )

热点,

  • 您正在创建一个分析报告,该报告将使用下表中显示的表中的数据。

  • 这两个表之间是有关系的。
  • 没有对employee_id和employee_photo的报告要求。
  • 您需要优化数据模型。

应该为employee_id和employee_photo配置什么?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热面积:

 

原文:

本文:http://jiagoushi.pro/node/1591

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-51-55

【Power BI认证小测试1】Power BI (DA-100)数据分析(056-060)

Chinese, Simplified

Question 56 ( Question Set 2 )

热点,

  • 您正在创建一个Microsoft Power BI模型,该模型有两个表,分别名为CityData和Sales。
  • CityData仅包含下表中的数据。

  • Sales只包含下表中显示的数据。

  • CityData和Sales基于每个表中的State列使用多对多关系进行关联。

对于下面的每个语句,如果该语句为真,则选择Yes。否则,选择No。

注:每个正确的选项值一分。

Hot Area:

Question 57 ( Question Set 2 )

拖拉,

  • 您构建了一个关于仓库库存数据的报告。该数据集拥有来自全球200个仓库的1000多万条产品记录。
  • 您有一个名为Products的表,其中包含下表中显示的列。

  • 仓库经理报告说,使用该报告很困难,因为该报告只使用表格(table)和图形(visuals)中的产品名称。产品名称包含在ProductDescription列中,并且始终是第四个值。
  • 您需要修改报告,以支持仓库经理的需求,以便在产品层次结构的不同级别上探索库存级别。解决方案必须使模型尺寸最小化。

你应该依次执行哪三个动作?要回答问题,请将适当的操作从操作列表移动到答案区域,并按正确的顺序排列它们。

选择和放置:

Question 58 ( Question Set 2 )

  • 您有一个返回下图中所示数据的查询。

  • 您需要配置该查询,以显示以下示例中显示的数据。

您应该在查询中使用哪个步骤?

  • A. = Table.SplitColumn(Source, "classes", Splitter.SplitTextByDelimiter(",", QuoteStyle.None), {"classes.1"})
  • B. = Table.Unpivot(Source, {"classes"}, "Attribute", "Value")
  • C. = Table.SplitColumn(Source, "classes", Splitter.SplitTextByPositions({10}), {"classes.1"})
  • D. = Table.ExpandListColumn(Table.TransformColumns(Source, {{"classes", Splitter.SplitTextByDelimiter(",", QuoteStyle.None), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "classes")

Question 59 ( Question Set 2 )

  • 你有文件销售区域。每个区域分配一名销售人员。
  • 您有一个导入的数据集,它具有一个名为Sales的动态行级安全(RLS)角色。Sales角色按销售人员筛选销售事务数据。
  • 销售人员必须只看到来自他们所在地区的数据。
  • 您将数据集发布到powerbi.com,设置RLS角色成员关系,并将数据集和相关报告分发给销售人员。
  • 一位销售人员报告说,她认为她应该看到更多的数据。

您需要验证销售人员当前看到的数据。

你应该怎么做?

  • A.使用“测试”作为角色选项,以销售人员的用户帐户查看数据。
  • B.指导销售人员在Microsoft Power BI Desktop中打开报表。
  • C.筛选报告中的数据,以匹配销售事务表上筛选器中的预期逻辑。
  • D.使用Test作为角色选项来作为Sales角色查看数据。

Question 60 ( Question Set 2 )

热点,

您正在创建一个如下图所示的快速度量。

  • 您需要为一段时间内的销售额创建一个每月滚动平均度量。

如何配置快速测量计算?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热面积:

本文:http://jiagoushi.pro/node/1592

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-56-60

【Power BI认证小测试1】Power BI (DA-100)数据分析(061-065)

Chinese, Simplified

Question 61 ( Question Set 2 )

  • 你们有四个销售区域。每个地区都有多个销售经理。
  • 在数据模型中实现行级安全性(RLS)。将相关的启用邮件的安全组分配给每个角色。
  • 您有可以按区域进行分析的销售报告。销售经理可以查看所在区域的销售记录。销售经理被禁止查看其他地区的记录。
  • 一名销售经理调到不同的地区。
  • 您需要确保销售经理能够看到正确的销售数据。

你应该怎么做?

  • A.修改销售经理的Microsoft Power BI license类型。
  • B.从Microsoft Power BI Desktop,编辑报表的行级别安全设置。
  • C.请求将销售经理添加到正确的Azure Active Directory组中。
  • D.管理底层数据集的权限。

Question 62 ( Question Set 2 )

DRAG DROP -

  • 您有一个Microsoft Power BI数据模型,其中包含三个表Sales、Product和Date。
  • Sales表有一个名为[Total Sales]的已存在的度量,它将Sales表中的总销售额相加。
  • 您需要编写一个计算(calculation ),返回所选ProductCategoryName值所代表的总销售额的百分比。计算必须尊重ProductCategoryName上的任何切片器,并且必须显示可见的总销售额的百分比。例如,如果有四个ProductCategoryName值,并且用户过滤出一个值,则显示ProductCategoryName的表和计算的总和必须为100%。

如何完成计算?要回答这个问题,请将适当的值拖到正确的目标上。每个值可以使用一次、多次,或者根本不使用。您可能需要在窗格之间拖动分隔条或滚动来查看内容。

注:每个正确的选项值一分。

Select and Place:

Question 63 ( Question Set 2 )

  • 在一个星型模式中有销售数据,该模式包含四个表sales、Customer、Date和Product。Sales表包含购买和发货日期。
  • 通常,您将使用购买日期来分析数据,但是您将根据两个日期分别分析数据和同时分析数据。
  • 您需要设计一个导入的数据集来支持分析。解决方案必须最小化模型大小和对数据源的查询数量。

应该使用哪种数据建模设计?

  • A.使用Microsoft Power BI中的自动日期/时间功能,不要导入日期表。
  • B.复制Power query中的Date查询,并在建模视图中创建Sales和两个Date表之间的活动关系。
  • C.在Date表上,使用Power query中的参考查询,并在建模视图中创建Sales和两个Date表之间的活动关系。
  • D.在Power Query中两次导入Date表,并在建模视图中创建Sales和两个Date表之间的活动关系。

Question 64 ( Question Set 2 )

  • 您有一个包含下表中所示表的销售系统。

  • Date表被标记为日期表。DateID是日期数据类型。
  • 您需要创建一个年度销售增长百分比度量。

应该使用哪种DAX表达式?

  • A. SUM(sales[sales_amount]) - CALCULATE(SUM(sales[sales_amount]), SAMEPERIODLASTYEAR('Date'[DateID])
  • B. (SUM(Sales[sales_amount]) - CALCULATE(SUM(Sales[sales_amount]), SAMEPERIODLASTYEAR(Date[DateID]))) / CALCULATE(SUM(Sales[sales_amount]), SAMEPERIODLASTYEAR(Date[DateID]))
  • C. CALCULATE(SUM(sales[sales_amount]), DATESYTD(Date[DateID]))
  • D. CALCULATE(SUM(sales[sales_amount]), SAMEPERIODLASTYEAR(Date[DateID]))

Question 65 ( Question Set 2 )

  • 在Power BI Desktop中,您正在构建一个包含两个表的销售报告。两个表都配置了行级安全(RLS)。
  • 您需要在这些表之间创建一个关系。解决方案必须确保双向交叉过滤符合RLS设置。

你应该怎么做?

  • A.在表之间创建一个活动关系,并选择假定引用完整性。
  • B.在表之间创建一个非活动关系,并选择假定引用完整性。
  • C.在两个表之间创建一个非活动关系,并选择Apply security filter in both direction。
  • D.在两个表之间创建一个活动关系,并选择Apply security filter in both direction。

 

本文:http://jiagoushi.pro/node/1593

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-61-65

【Power BI认证小测试1】Power BI (DA-100)数据分析(066-070)

Chinese, Simplified

Question 66 ( Question Set 2 )

  • 您有一个Power BI数据集,其中包含一个名为Temperature读数的表。温度读数包含下表所示的列。

  • 这个表有1200万行。分析需要所有列。
  • 您需要优化数据集以减少模型大小。解决方案不能影响数据的精度。

你应该怎么做?

  • A.将DateTime列拆分为单独的日期和时间列。
  • B.修改“DateTime”列的数据类型为“Date”。
  • C.将“Latitude”列的数据类型更改为“Fixed Decimal”。
  • D.关闭Power Query load。

 

Question 67 ( Testlet 7 )

Case Study -

热点,

  • 您需要创建一个可视化来满足销售经理的报告要求。
  • 如何创建可视化?要回答这个问题,请在回答区域中选择适当的选项。
  • 注:每个正确的选项值一分。

热点区域:

Question 68 ( Testlet 7 )

Case Study -

热点,

  • 您需要创建KPI可视化,以满足销售经理的报告要求。

如何创建可视化?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域

Question 69 ( Testlet 8 )

Case study

拖拉

  • 您需要在数据模型中创建一个DAX度量,该度量只允许用户查看适当粒度级别的预测。

你应该如何完成测量?要回答这个问题,请将适当的值拖到正确的目标上。每个值可以使用一次、多次,或者根本不使用。您可能需要在窗格之间拖动分隔条或滚动来查看内容。

注:每个正确的选项值一分。

选择和地点:

Question 70 ( Testlet 8 )

Case study

哪两种类型的可视化可以在资产负债表报告中使用以满足报告目标?每一个正确的答案都是解决方案的一部分。

注:每个正确的选项值一分。

  • A.一个折线图,显示按季度过滤到帐户类别的长期负债。
  • B.一个集群柱状图,显示余额按日期(x轴)和帐户类别(图例),没有过滤器。
  • C.一个聚集柱状图,显示按季度过滤到帐户类别的长期负债余额。
  • D.一个饼状图,显示了没有过滤器的帐户类别的余额。
  • E.一个带状图表,显示了季度余额和在图例中的帐户。

 

本文:http://jiagoushi.pro/node/1594

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-66-70

【Power BI认证小测试1】Power BI (DA-100)数据分析(071-075)

Chinese, Simplified

Question 71 ( Testlet 9 )

Case study -

您需要创建准时发货报告。报告必须包括显示延迟订单百分比的可视化。

你应该创建哪种类型的可视化?

  • A:条形图
  • B .散点图
  • C.饼图

Question 72 ( Testlet 9 )

Case study -

热点,

  • 您需要创建Top Customers报告。
  • 应该使用哪种类型的过滤器,应该在什么级别应用该过滤器?要回答这个问题,请在回答区域中选择适当的选项。

注意:每一个正确的选项值一分。

热点区域:

Question 73 ( Question Set 3 )

注意:这个问题是呈现相同场景的一系列问题中的一部分。本系列中的每个问题都包含一个可能满足既定目标的独特解决方案。一些问题集可能有不止一个正确的解决方案,而其他的可能没有一个正确的解决方案。

在此场景中,回答完一个问题后,您将无法返回到它。因此,这些问题将不会出现在回顾屏幕上。

  • 您有一个集群条形图,其中包含一个名为Salary的度量值和一个名为Employee的字段作为轴。工资在数据中以代表美元的数值形式显示。
  • 您需要创建一条参考线来显示哪些员工的工资高于中位数。

解决方案:通过使用薪资衡量方法创建一个平均线。

这符合目标吗?

  • A:是的
  • B:没有

Question 74 ( Question Set 3 )

注意:这个问题是呈现相同场景的一系列问题中的一部分。本系列中的每个问题都包含一个可能满足既定目标的独特解决方案。一些问题集可能有不止一个正确的解决方案,而其他的可能没有一个正确的解决方案。

在此场景中,回答完一个问题后,您将无法返回到它。因此,这些问题将不会出现在回顾屏幕上。

  • 您有一个集群条形图,其中包含一个名为Salary的度量值和一个名为Employee的字段作为轴。工资在数据中以代表美元的数值形式显示。
  • 您需要创建一条参考线来显示哪些员工的工资高于中位数。

解决方案:通过使用Salary度量创建一个百分比线,并将百分比设置为50%。

这符合目标吗?

  • A:是的
  • B:没有

Question 75 ( Question Set 3 )

  • 您有一个包含多个文档库的Microsoft SharePoint Online站点。
  • 其中一个文档库包含保存为Microsoft Excel文件的制造报告。所有的制造报告都有相同的数据结构。
  • 您需要使用Power BI Desktop来仅将制造报告加载到一个表中进行分析。

你应该怎么做?

  • A .从SharePoint文件夹获取数据,输入站点URL,然后选择合并和加载。
  • B.从SharePoint列表中获取数据,并输入站点URL。选择Combine & Transform,然后根据文件夹路径筛选到制造报告库。
  • C.从SharePoint文件夹中获取数据,并输入站点URL。选择Combine & Transform,然后根据文件夹路径筛选到制造报告库。
  • D.从SharePoint列表中获取数据,输入站点URL,然后选择合并和加载。

原文:http://jiagoushi.pro/node/1595

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-71-75

【Power BI认证小测试1】Power BI (DA-100)数据分析(076-080)

Chinese, Simplified

Question 76 ( Question Set 3 )

热点,

  • 您有一个报表页面,其中包含以下展示中显示的图形。

  • 使用下拉菜单选择答案选项,根据图形中显示的信息完成每个语句。

注:每个正确的选项值一分。

热点区域

Question 77 ( Question Set 3 )

  • 您有一个包含四页的报告。每个页面包含四个相同字段的切片器。
  • 用户报告说,当他们在一个页面上的切片器中选择值时,这些选择不会持久化到其他页面上。
  • 您需要推荐一种解决方案,以确保用户可以选择一次值来过滤所有页面上的结果。

实现这一目标的两个可能的建议是什么?每一个正确的答案都是一个完整的解决方案。

注:每个正确的选项值一分。

  • A.用报表级过滤器替换切片器。
  • B.在页面上同步切片器。
  • C.为每个切片器值创建一个书签。
  • D.用页面级过滤器替换切片器。
  • E.用视觉级(visual-level)过滤器替换切片机。

Question 78 ( Question Set 3 )

  • 您计划创建下图中所示的图表。

如何创建表示所示期间每日销售额的第40百分位的虚线?

  • A. Add a measure to the visual that uses the following DAX expression. Measure1 = PERCENTILEX.INC (Sales,Sales[Total Sales],0.40)
  • B. Add a new percentile line that uses Total Sales as the measure and 40% as the percentile.
  • C. Create a horizontal line that has a fixed value of 24,000.
  • D. Add a measure to the visual that uses the following DAX expression. Measure1 = PERCENTILEX.EXC (Sales,Sales[Total Sales],0.40)

Question 79 ( Question Set 3 )

  • 您有一个包含销售数据和大约1,000行数据的表。
  • 您需要识别表中的异常值。

应该使用哪种类型的可视化?

  • A.甜甜圈图 (donut chart)
  • B.饼图 ( pie chart)
  • C.面积图 ( area chart)
  • D.散点图 (scatter plot)

Question 80 ( Question Set 3 )

热点,

  • 您需要创建如下图所示的视图。

  • 总销售额的指标颜色将基于到去年的增长百分比。
  • 解决方案必须只使用现有的计算(calculations )。

你应该如何配置视觉?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域:

本文:http://jiagoushi.pro/node/1596

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-76-80

【Power BI认证小测试1】Power BI (DA-100)数据分析(081-085)

Chinese, Simplified

Question 81 ( Question Set 3 )

注意:这个问题是呈现相同场景的一系列问题中的一部分。本系列中的每个问题都包含一个可能满足既定目标的独特解决方案。一些问题集可能有不止一个正确的解决方案,而其他的可能没有一个正确的解决方案。

在此场景中,回答完一个问题后,您将无法返回到它。因此,这些问题将不会出现在回顾屏幕上。

  • 您有一个集群条形图,其中包含一个名为Salary的度量值和一个名为Employee的字段作为轴。工资在数据中以代表美元的数值形式显示。
  • 您需要创建一条参考线来显示哪些员工的工资高于中位数。

解决方案:创建一个常量行并将值设置为.5。

这符合目标吗?

  • A:是的
  • B:没有

Question 82 ( Question Set 3 )

  • 您需要创建一个可视化的工具,将收入和成本随时间的变化进行比较。

应该使用哪种类型的可视化?

  • A.堆叠面积图
  • B .甜甜圈图
  • C .折线图
  • D .瀑布图

Question 83 ( Question Set 3 )

  • 您为公司的人力资源部门收集了一组报告。
  • 您需要为人力资源部门创建一个可视化视图,显示历史员工数量和预测未来六个月的趋势。

应该使用哪种类型的可视化?

  • A.主要影响者
  • B.带图(ribbon chart)
  • C.折线图
  • D.散点图

Question 84 ( Question Set 3 )

注意:这个问题是呈现相同场景的一系列问题中的一部分。本系列中的每个问题都包含一个可能满足既定目标的独特解决方案。一些问题集可能有不止一个正确的解决方案,而其他的可能没有一个正确的解决方案。

在此场景中,回答完一个问题后,您将无法返回到它。因此,这些问题将不会出现在回顾屏幕上。

  • 您有一个集群条形图,其中包含一个名为Salary的度量值和一个名为Employee的字段作为轴。工资在数据中以代表美元的数值形式显示。
  • 您需要创建一条参考线来显示哪些员工的工资高于中位数。

解决方案:通过使用Salary度量方法创建中间线(You create a median line by using the Salary measure.)。

这符合目标吗?

  • A.是的
  • B.没有

Question 85 ( Question Set 3 )

  • 您正在开发一份包含多个页面的销售报告。每个页面将回答一个不同的业务问题。
  • 您计划有一个菜单页,其中将显示所有业务问题。
  • 您需要确保用户可以单击每个业务问题,并被引导到回答该问题的页面。解决方案必须确保菜单页在部署到任何工作区时都能正常工作。

你应该在菜单页上包含什么?

  • A.为每个业务问题创建一个文本框,并插入一个链接。
  • B.为每个业务问题创建一个按钮,并设置操作类型为Page Navigation。
  • C.创建一个包含下拉列表的Power Apps视图。下拉列表将包含业务问题。

本文:http://jiagoushi.pro/node/1597

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-81-85

【Power BI认证小测试1】Power BI (DA-100)数据分析(086-090)

Chinese, Simplified

Question 86 ( Question Set 3 )

  • 您正在开发一个报告页面。有些用户使用键盘浏览报表,有些用户使用屏幕阅读器阅读报表。
  • 您需要确保用户可以按照逻辑顺序使用报表页面上的内容。

微软Power BI Desktop应该配置什么?

  • A. the tab order
  • B. the layer order
  • C. the bookmark order
  • D. the X position

Question 87 ( Question Set 3 )

热点,

  • 下面展示了Power BI数据模型。

  • 使用下拉菜单选择答案选项,根据图形中显示的信息完成每个语句。

注:每个正确的选项值一分。

热点区域

Question 88 ( Question Set 3 )

  • 你在原始展品中看到了视觉效果。(点击原始标签。)

  • 您需要按照Modified附件中所示的方式配置该视图。(单击“修改”标签。)

你应该在视觉上添加什么?

  • A.平均线(an Average line)
  • B .预测(a forecast)
  • C.度量(a measure)
  • D.趋势线(a trendline)

Question 89 ( Question Set 3 )

  • 你有一个Microsoft Power BI仪表盘。
  • 您需要确保仪表板的使用者可以向您提供对仪表板的其他使用者可见的反馈。

你应该使用什么?

  • A.最喜欢的标记 (Mark as favorite)
  • B .反馈
  • C.评论
  • D .订阅

Question 90 ( Question Set 3 )

  • 您正在创建一个可视视图,以显示按销售收入排列的产品类别排名。
  • 您的公司的安全策略声明您不能将数据发送到您的Microsoft Power BI租户之外。

哪种方法在遵循安全策略的情况下提供最广泛的可视效果?

  • A.使用默认或认证的AppSource视觉效果。
  • B.只使用默认视觉效果。
  • C.使用默认的图片或从.pbiviz文件上传的图片。
  • D.使用默认或任何来自市场的AppSource视觉效果。

本文:http://jiagoushi.pro/node/1598

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-86-90

【Power BI认证小测试1】Power BI (DA-100)数据分析(091-095)

Chinese, Simplified

Question 91 ( Question Set 3 )

你有一个Microsoft Power BI仪表盘。用于创建仪表板的报告使用从Microsoft SQL Server数据源导入的数据集。

仪表盘显示在展览品中。(单击Exhibit选项卡。)

下午12:03:06发生了什么?

  • A.仪表盘瓷砖/瓦片缓存刷新。
  • B.一个新的事务被添加到数据源。
  • C.用户按F5。
  • D. 一个用户给一个平铺添加了一个评论。

Question 92 ( Question Set 3 )

您有一个仪表板,其中包含从单个报表固定下来的块,如原始仪表板显示的那样。(单击原始仪表板选项卡。)

您需要修改仪表板,使其显示在Modified dashboard显示中。(单击“修改的仪表板”选项卡。)

你应该怎么做?

  • A.编辑每个贴图的细节。
  • B.更改报告主题。
  • C.更改仪表板主题。
  • D.创建自定义CSS文件。

Question 93 ( Question Set 3 )

拖拽题

  • 您正在使用现有的报告来构建一个仪表板,该仪表板将在移动电话上以纵向模式频繁查看。
  • 您需要构建仪表板。

你应该依次执行哪四个动作?要回答问题,请将适当的操作从操作列表移动到答案区域,并按正确的顺序排列它们。

选择和放置:

Question 94 ( Question Set 3 )

您构建一个报告,以帮助销售团队了解其业绩和销售驱动因素。

团队需要有一个单一的可视化来确定哪些因素影响成功。

应该使用哪种类型的可视化?

  • A.直线和聚类柱状图
  • B.键有影响力的人
  • C.问答
  • D.漏斗图

Question 95 ( Question Set 3 )

热点,

  • 您有一个名为Pens的数据集,它包含以下列:

              ✑ Unit Price

              ✑ Quantity Ordered

  • 您需要创建一个显示单价和订购数量之间关系的可视化视图。解决方案必须突出显示具有类似单价和订购数量的订单。

应该使用哪种类型的可视化和哪种特性?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域:

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-91-95

【Power BI认证小测试1】Power BI (DA-100)数据分析(096-100)

Chinese, Simplified

Question 96 ( Question Set 3 )

  • 您可以使用R视觉工具生成包含50万客户的地图。在发送给可视化视图的字段中包含CustomerID、Latitude和Longitude的值。每个客户ID都是唯一的。
  • 在powerbi.com中,当用户加载视觉效果时,他们只能看到部分客户。

问题的原因是什么?

  • A .视觉效果是通过使用不同版本的R。
  • B.数据来自Microsoft SQL Server源。
  • C.重复数据删除。
  • D.太多的记录被发送到视觉。

Question 97 ( Question Set 3 )

  • 有一个折线图,显示了一个部门在一段时间内的员工数量。
  • 当您将鼠标悬停在一个数据点上时,您需要看到员工的总工资成本。

实现这个目标的两种可能的方法是什么?每一个正确的答案都是一个完整的解决方案。

注:每个正确的选项值一分。

  • A .在工具提示中添加薪水。
  • B.给视觉滤镜增加薪水。
  • C.在钻通字段中添加工资。

Question 98 ( Question Set 3 )

  • 您有一个包含条形图和柱形图的报告。该条形图显示了按客户细分的客户数量。柱状图显示每月的销售额。
  • 您需要确保当条形图中选择一个细分时,您可以看到当月总销售额的哪一部分属于客户细分。

当柱状图被选中时,如何在柱状图上设置视觉交互?

  • A:没有影响
  • B .突出(highlight)
  • C.过滤器

Question 99 ( Question Set 3 )

热点 -

  • 您有一个包含以下三列的表:

✑ 城市

✑ 总销售额

✑ 职业

  • 您需要创建一个关键影响者可视化,如图所示。 (单击“展览”选项卡。)

  • 您应该如何配置可视化? 要回答,请在回答区域中选择适当的选项。

注意:每个正确的选择都值得一分。

热点地区:

Question 100 ( Question Set 3 )

  • 您拥有以下展览中显示的数据集。

  • 您需要确保视觉对象仅显示销售利润最高的 10 个城市。

你该怎么办?

  • A. 将 Top N 过滤器添加到视觉对象。
  • B. 配置销售利润度量以使用 RANKX 函数。
  • C. 将计算列添加到使用 TOPN 函数的表中。 在视觉对象中,将 Sales Profit 替换为计算列。
  • D、如果城市在前10,则在返回城市名称的表中添加计算列,否则计算列将返回“Not in Top 10”。 在视觉对象中,将 Sales Profit 替换为计算列。

 

 

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-96-100

【Power BI认证小测试1】Power BI (DA-100)数据分析(101-105)

Chinese, Simplified

Question 101 ( Question Set 3 )

  • 你有一个 Power BI 报表。 该报告包含具有交互作用的可视化。
  • 您需要确定哪些可视化需要最长时间才能完成。

你应该用什么?

  • A. Power BI 中的查询诊断
  • B. Power BI Desktop 中的性能分析器
  • C. SQL Server Profiler
  • D. Microsoft Edge 开发工具

Question 102 ( Question Set 4 )

拖放 -

  • 您有展览中显示的折线图。 (单击“展览”选项卡。)

  • 您需要修改图表以满足以下要求:

✑ 确定订单数高于平均值的月份。

✑ 显示平均每月订单数。

  • 你应该按顺序执行哪三个动作? 要回答,将适当的动作从动作列表移动到答案区域,并按正确的顺序排列它们。

选择和放置:

Question 103 ( Question Set 4 )

拖放 -

  • 您有一个名为 Customer 的查询,它从数据湖导入 CSV 文件。 该查询包含 50,000 行,如图所示。 (单击“展览”选项卡。)

  • 每个文件都包含从每次加载到数据湖的任何新行或修改行的增量。 多个文件可以具有相同的客户 ID。
  • 您只需要为每个客户 ID 保留最后修改的行。

你应该按顺序执行哪三个动作? 要回答,将适当的动作从动作列表移动到答案区域,并按正确的顺序排列它们。

选择和放置:

Question 104 ( Question Set 4 )

热点 -

  • 您查看名为 Transactions 的查询,如下图所示。

  • 查询从文件夹中获取 CSV 文件。
  • 使用下拉菜单根据图形中显示的信息选择完成每个陈述的答案选项。

注意:每个正确的选择都值得一分。

热点地区:

Question 105 ( Question Set 4 )

  • 贵公司在 10 个州拥有员工。
  • 该公司最近决定将每个州与以下三个地区之一联系起来:东部、西部和北部。
  • 您有一个按州包含员工信息的数据模型。 该模型不包括区域信息。
  • 您有一个按州显示员工的报告。
  • 您需要尽快按地区查看员工。

你该怎么办?

  • A. 创建一个按员工汇总的新聚合。
  • B. 在州列上新建一个组,并将组类型设置为列表。
  • C. 在州列上新建一个组,并将组类型设置为 Bin。
  • D. 创建一个按状态汇总的新聚合。

 

本文:https://jiagoushi.pro/power-bi-certification-testlet-1analyzing-data-mi…

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-101-105

【Power BI认证小测试1】Power BI (DA-100)数据分析(106-110)

Chinese, Simplified

Question 106 ( Question Set 4 )

热点 -

  • 您正在创建一个 Microsoft Power BI 导入的数据模型来执行篮子分析。 分析的目标是确定哪些产品通常在同一交易中在销售区域内和销售区域内一起购买。
  • 您导入一个名为 Sales 的事实表,如图所示。 (单击“展览”选项卡。)

  • 相关的维度表被导入到模型中。
  • 销售额包含下表中显示的数据。

  • 您正在评估如何优化模型。
  • 对于以下每个陈述,如果陈述为真,请选择“是”。 否则,选择否。

注意:每个正确的选择都值得一分。

热点地区:

Question 107 ( Question Set 4 )

热点 -

  • 您正在增强具有 DAX 计算的 Power BI 模型。
  • 您需要创建一个度量来返回从上一个日历年的同一日期开始的年初至今总销售额。
  • 您应该使用哪些 DAX 函数? 要回答,请在回答区域中选择适当的选项。

注意:每个正确的选择都值得一分。

热点地区:

Question 108 ( Question Set 4 )

  • 您正在配置 Microsoft Power BI 数据模型,以使用户能够使用问答来提出自然语言问题。
  • 您有一个名为 Customer 的表,该表具有以下度量。
  • 客户数 = DISTINCTCOUNT(客户[客户 ID])
  • 用户经常将客户称为订阅者。
  • 您需要确保用户可以通过使用问答获得有用的“订阅者计数”结果。 解决方案必须最小化模型的大小。

你该怎么办?

  • A. 将 גsubscriber count的同义词添加到 Customer Count 度量
  • B. 添加一个名为 Subscriber 的计算表,它是 Customer 表的副本。
  • C. 在 Customer 表中添加 Subscriber的描述。
  • D. 将“订阅者计数”的描述添加到客户计数度量中。

Question 109 ( Question Set 4 )

  • 你有展览中展示的视觉效果。 (单击“展览”选项卡。)

  • 您需要显示总成本和总销售额之间的关系。

你该怎么办?

  • A. 为年份添加一个切片器。
  • B. 创建一个计算同比增长的 DAX 度量。
  • C. 添加一个播放轴。
  • D. 从分析窗格中,添加一条平均线。

Question 110 ( Question Set 4 )

  • 您有一个包含三页的报告。 其中一个页面包含 KPI 可视化。
  • 您需要过滤报表中除 KPI 可视化之外的所有可视化。
  • 你应该执行哪两个操作? 每个正确答案都代表了解决方案的一部分。

注意:每个正确的选择都值得一分。

  • A. 配置报告级过滤器。
  • B. 编辑 KPI 可视化的交互。
  • C. 配置页面级过滤器。
  • D. 为每个页面添加相同的切片器并配置同步切片器。
  • E. 编辑与 KPI 可视化位于同一页面上的切片器的交互。

本文:https://jiagoushi.pro/node/1778

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-106-110

【Power BI认证小测试1】Power BI (DA-100)数据分析(111-115)

Chinese, Simplified

Question 111 ( Question Set 4 )

  • 您有一个 Q&A 视觉对象,显示来自名为 Carriers 的表中的信息,如下图所示。

  • 您需要确保用户可以使用术语  航空公司或承运人提出问题。 解决方案必须尽量减少对数据模型的更改。

你该怎么办?

  • A. 添加一个名为 Airline 的重复查询。
  • B. 添加航空公司作为承运人的同义词。
  • C. 在承运人查询中将承运人列重命名为航空公司。
  • D. 将查询从承运人重命名为航空公司。

Question 112 ( Testlet 10 )

案例分析 -

【Power BI 认证小测试1】(DA-100)数据分析案例研究2:Contoso是一家生产制造型公司

热点 -

 

  • 您应该如何将报告分发给董事会? 要回答,请在回答区域中选择适当的选项。

注意:每个正确的选择都值得一分。

热点地区:

Question 113 ( Testlet 10 )

案例分析 -

【Power BI 认证小测试1】(DA-100)数据分析案例研究2:Contoso是一家生产制造型公司

热点 -

  • 您需要向业务部门分析师授予访问权限。
  • 你应该配置什么? 要回答,请在回答区域中选择适当的选项。

注意:每个正确的选择都值得一分。

热点地区:

Question 114 ( Question Set 5 )

拖放 -

  • 你有一个 Microsoft Power BI 工作区。
  • 您需要授予下表中显示的用户权限。

  • 解决方案必须使用最小权限原则。
  • 您应该为每个用户分配哪个用户角色? 要回答,请将适当的角色拖动到正确的用户。 每个角色可以使用一次、不止一次或根本不使用。 您可能需要在窗格之间拖动拆分栏或滚动查看内容。

注意:每个正确的选择都值得一分。

选择和放置:

Question 115 ( Question Set 5 )

  • 你从 Azure Blob 存储中的数十个平面文件创建一个数据集。 数据集使用增量刷新。
  • 从 powerbi.com,您将数据集和多个相关报表部署到 Microsoft Power BI Premium 容量。
  • 您发现刷新用完资源后数据集刷新失败。

问题的可能原因是什么?

  • A. 查询折叠没有发生。
  • B. 您选择了仅刷新完整期间。
  • C. 用于对数据进行分区的列的数据类型发生了变化。
  • D. 报告中缺少过滤器。

本文:https://jiagoushi.pro/power-bi-certification-testlet-1analyzing-data-mi…

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-111-115

【Power BI认证小测试1】Power BI (DA-100)数据分析(116-120)

Chinese, Simplified

Question 116 ( Question Set 5 )

注意:此问题是呈现相同场景的一系列问题的一部分。 该系列中的每个问题都包含一个可能满足既定目标的独特解决方案。 一些问题集可能有不止一个正确的解决方案,而其他问题集可能没有正确的解决方案。

在这种情况下回答问题后,您将无法返回。 因此,这些问题不会出现在复习屏幕中。

  • 您在工作区中有多个报表和仪表板。
  • 您需要授予所有组织用户对仪表板和多个报告的读取权限。
  • 解决方案:您为所有资产启用包含在应用程序中。

这是否达到目标?

  • A. 是的
  • B. 没有

Question 117 ( Question Set 5 )

  • 您将 Microsoft Power BI 数据集发布到 powerbi.com。 该数据集使用一个查询附加(appends )来自本地 Oracle 数据库和 Azure SQL 数据库的数据。
  • 您拥有工作区的管理员访问权限和使用已配置 Oracle 数据源的现有本地数据网关的权限。
  • 您需要确保每天早上更新数据。 该解决方案必须尽量减少配置工作。
  • 配置计划刷新时应执行哪两项操作? 每个正确答案都代表了解决方案的一部分。

注意:每个正确的选择都值得一分。

  • A. 将数据集配置为使用现有的本地数据网关。
  • B. 以个人模式部署本地数据网关。
  • C. 将刷新频率设置为每日。
  • D. 配置数据集以使用个人网关。

Question 118 ( Question Set 5 )

  • 您需要为用户提供将成员添加到工作区的能力。 解决方案必须使用最小权限原则。

您应该为用户分配哪个角色?

  • A.查看器
  • B. 贡献者
  • C. 会员
  • D. 管理员

Question 119 ( Question Set 5 )

注意:此问题是呈现相同场景的一系列问题的一部分。 该系列中的每个问题都包含一个可能满足既定目标的独特解决方案。 一些问题集可能有不止一个正确的解决方案,而其他问题集可能没有正确的解决方案。

在这种情况下回答问题后,您将无法返回。 因此,这些问题不会出现在复习屏幕中。

  • 您在工作区中有多个报表和仪表板。
  • 您需要授予所有组织用户对仪表板和多个报告的读取权限。
  • 解决方案:您将应用程序发布到整个组织。

这是否达到目标?

  • A. 是的
  • B. 没有

Question 120 ( Question Set 5 )

  • 您有多个仪表板。
  • 您需要确保当用户从 powerbi.com 浏览可用的仪表板时,他们可以看到哪些仪表板包含 Personally Identifiable 信息 (PII)。 该解决方案必须最大限度地减少配置工作和对仪表板设计的影响。

你应该用什么?

  • A. 评论
  • B.瓷砖
  • C. Microsoft 信息保护敏感度标签
  • D. Active Directory 组

本文:https://jiagoushi.pro/power-bi-certification-testlet-1analyzing-data-mi…

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-116-120

【Power BI认证小测试1】Power BI (DA-100)数据分析(121-125)

Chinese, Simplified

Question 121 ( Question Set 5 )

  • 你有一个 Power BI 租户。
  • 您拥有使用财务数据集并导出为 PDF 文件的报表。
  • 您需要确保报告已加密。

你应该实施什么?

  • A. 数据集认证(dataset certifications)
  • B. 行级安全性 (RLS)
  • C. 敏感性标签
  • D. Microsoft Intune 策略

Question 122 ( Question Set 5 )

  • 贵公司计划在 Microsoft Power BI 中完全分离开发和生产资产,例如数据集、报表和仪表板。
  • 您需要推荐一个应用程序生命周期策略。 该解决方案必须尽量减少对生产资产的访问,并防止最终用户查看开发资产。

你应该推荐什么?

  • A. 在使用来自开发工作区的共享数据集的单独工作区中创建生产报告。 授予最终用户对生产工作区的访问权限。
  • B. 为开发创建一个工作空间。 在新工作区中,发布一个用于生产的应用程序。
  • C. 创建开发工作区和生产工作区。 从生产工作区发布应用程序。
  • D. 在一个工作区中,创建资产的单独副本并将 DEV 附加到所复制资产的名称中。 授予最终用户访问工作区的权限。

Question 123 ( Question Set 5 )

  • 您拥有公司人力资源部门的一组报告。 数据集使用行级安全性 (RLS)。 该公司有多个销售区域,每个区域都有一名人力资源经理。
  • 您需要确保 HR 经理只能与他们所在地区的数据进行交互。 必须防止人力资源经理更改报告的布局。

您应该如何为 HR 经理提供对报告的访问权限?

  • A. 将报告发布到不同于托管数据集的工作区。
  • B. 在应用程序中发布报告并授予人力资源经理访问权限。
  • C. 将 HR 经理添加为托管报告和数据集的现有工作区的成员。
  • D. 创建一个新的工作区,复制数据集和报告,并将 HR 经理添加为工作区的成员。

Question 124 ( Question Set 5 )

  • 您可以使用 Microsoft Power BI Desktop 创建报表。
  • 该报告使用来自您公司内部网络上的 Microsoft SQL Server Analysis Services (SSAS) 多维数据集的数据。
  • 你计划将报表发布到 Power BI 服务。

您应该实施什么来确保使用 Power BI 服务中的报表的用户拥有来自多维数据集的最新数据?

  • A. 订阅
  • B. 数据集的计划刷新
  • C. OData 提要
  • D. 本地数据网关

Question 125 ( Question Set 5 )

注意:此问题是呈现相同场景的一系列问题的一部分。 该系列中的每个问题都包含一个可能满足既定目标的独特解决方案。 一些问题集可能有不止一个正确的解决方案,而其他问题集可能没有正确的解决方案。

在这种情况下回答问题后,您将无法返回。 因此,这些问题不会出现在复习屏幕中。

  • 您在工作区中有多个报表和仪表板。
  • 您需要授予所有组织用户对仪表板和多个报告的读取权限。

解决方案:创建一个包含所有用户的 Azure Active Directory 组。 您将每个报告和仪表板共享给该组。

这是否达到目标?

  • A. 是的
  • B. 没有

本文:https://jiagoushi.pro/power-bi-certification-testlet-1analyzing-data-mi…

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-121-125

【Power BI认证小测试1】Power BI (DA-100)数据分析(126-130)

Chinese, Simplified

Question 126 ( Question Set 5 )

注意:此问题是呈现相同场景的一系列问题的一部分。 该系列中的每个问题都包含一个可能满足既定目标的独特解决方案。 一些问题集可能有不止一个正确的解决方案,而其他问题集可能没有正确的解决方案。

在这种情况下回答问题后,您将无法返回。 因此,这些问题不会出现在复习屏幕中。

  • 您在工作区中有多个报表和仪表板。
  • 您需要授予所有组织用户对仪表板和多个报告的读取权限。

解决方案:您将查看者角色分配给工作区的所有用户。

这是否达到目标?

  • A. 是的
  • B. 没有

Question 127 ( Question Set 5 )

  • 你正在构建一个 Power BI 报表来分析客户群。
  • 您需要根据来源、地理和人口统计等维度的跳出率动态识别客户群。 解决方案必须尽量减少分析工作。

您应该使用哪种类型的可视化?

  • A. 漏斗图
  • B. 关键影响者
  • 三、问答
  • D.分解树

 

本文:

SEO Title
power-bi-certification-testlet-1analyzing-data-microsoft-power-bi-v10-da-100-126-130

【Power BI】(DA-100)数据分析(1-5)

Chinese, Simplified

Question 1

你们有四个销售区域。每个地区都有多个销售经理。

在数据模型中实现行级安全性(RLS)。将相关的启用邮件的安全组分配给每个角色。

您有可以按区域进行分析的销售报告。销售经理可以查看所在区域的销售记录。销售经理被禁止查看其他地区的记录。

一名销售经理调到不同的地区。

您需要确保销售经理能够看到正确的销售数据。

你应该怎么做?

  • A:修改销售经理的Microsoft Power BI license类型。
  • B:从Microsoft Power BI Desktop,编辑报表的行级别安全设置。
  • C:请求将销售经理添加到正确的Azure Active Directory组中。
  • D:管理底层数据集的权限。

Question 2

您有一个Microsoft Power BI数据模型,其中包含三个表Sales、Product和Date。

Sales表有一个名为[Total Sales]的现有的度量,它将Sales表中的总销售额相加。

您需要编写一个计算,返回所选ProductCategoryName值所代表的总销售额的百分比。计算必须尊重ProductCategoryName上的任何切片器,并且必须显示可见的总销售额的百分比。例如,如果有四个ProductCategoryName值,并且用户过滤出一个值,则显示ProductCategoryName的表和计算的总和必须为100%。

如何完成计算?要回答这个问题,请将适当的值拖到正确的目标上。每个值可以使用一次、多次,或者根本不使用。您可能需要在窗格之间拖动分隔条或滚动来查看内容。

注:每个正确的选项值一分。

选择和放置

Question 3

在一个星型模式中有销售数据,该模式包含四个表sales、Customer、Date和Product。Sales表包含购买和发货日期。

通常,您将使用购买日期来分析数据,但是您将根据两个日期分别分析数据和同时分析数据。

您需要设计一个导入的数据集来支持分析。解决方案必须最小化模型大小和对数据源的查询数量。

应该使用哪种数据建模设计?

  • A.使用Microsoft Power BI中的自动日期/时间功能,不要导入日期表。
  • B:复制Power query中的Date查询,并在建模视图中创建Sales和两个Date表之间的活动关系。
  • C.在Date表上,使用Power query中的参考查询,并在建模视图中创建Sales和两个Date表之间的活动关系。
  • D.在Power Query中两次导入Date表,并在建模视图中创建Sales和两个Date表之间的活动关系。

Question 4

您有一个包含下表中所示表的销售系统。

Date表被标记为日期表。DateID是日期数据类型。

您需要创建一个年度销售增长百分比度量。

应该使用哪种DAX表达式?

  • A. SUM(sales[sales_amount]) - CALCULATE(SUM(sales[sales_amount]), SAMEPERIODLASTYEAR('Date'[DateID])
  • B. (SUM(ג€˜Salesג€™[sales_amount]) - CALCULATE(SUM(ג€˜Salesג€™[sales_amount]), SAMEPERIODLASTYEAR(ג€˜Dateג€™[DateID]))) / CALCULATE(SUM(ג€˜Salesג€™[sales_amount]), SAMEPERIODLASTYEAR(ג€˜Dateג€™[DateID]))
  • C. CALCULATE(SUM(sales[sales_amount]), DATESYTD(ג€˜Dateג€™[DateID]))
  • D. CALCULATE(SUM(sales[sales_amount]), SAMEPERIODLASTYEAR(ג€˜Dateג€™[DateID]))

Question 5

在Power BI Desktop中,您正在构建一个包含两个表的销售报告。两个表都配置了行级安全(RLS)。

您需要在这些表之间创建一个关系。解决方案必须确保双向交叉过滤符合RLS设置。

你应该怎么做?

  • A.在表之间创建一个活动关系,并选择假定引用完整性。
  • B.在表之间创建一个非活动关系,并选择假定引用完整性。
  • C.在两个表之间创建一个非活动关系,并选择Apply security filter in both direction。
  • D.在两个表之间创建一个活动关系,并选择Apply security filter in both direction。

 

 

SEO Title
Analyzing Data with Microsoft Power BI v1.0 (DA-100) (1-5)

【Power BI】(DA-100)数据分析(6-10)

Chinese, Simplified

Question 6

您有一个Power BI数据集,其中包含一个名为Temperature读数的表。温度读数包含下表所示的列。

这个表有1200万行。分析需要所有列。

您需要优化数据集以减少模型大小。解决方案不能影响数据的精度。

你应该怎么做?

  • A.将DateTime列拆分为单独的日期和时间列。
  • B.修改“DateTime”列的数据类型为“Date”。
  • C.将“Latitude”列的数据类型更改为“Fixed Decimal”。
  • D.关闭 Power Query 负载。

Question 7

案例研究-

这是一个案例研究。案例研究不是单独计时的。你可以使用尽可能多的考试时间,你想完成每个案例。然而,在这个考试中可能会有额外的案例研究和部分。您必须管理您的时间,以确保您能够在规定的时间内完成考试中包含的所有问题。

要回答案例研究中包含的问题,您需要参考案例研究中提供的信息。案例研究可能包含提供关于案例研究中描述的场景的更多信息的展览和其他资源。在这个案例研究中,每个问题都是独立于其他问题的。

在这个案例研究的最后,将出现一个回顾屏幕。这个屏幕允许你回顾你的答案,并在你进入考试的下一个部分之前做出修改。开始一个新的部分后,您不能返回到这个部分。

开始案例研究

要显示此案例研究的第一个问题,请单击Next按钮。在回答问题之前,使用左窗格中的按钮来探索案例研究的内容。单击这些按钮将显示诸如业务需求、现有环境和问题声明等信息。如果案例研究有一个All Information选项卡,请注意显示的信息与后续选项卡上显示的信息相同。准备回答问题时,单击“问题”按钮返回问题。

概述- - - - - -

Litware, Inc.是一家使用微软Power BI仪表盘和报告的在线零售商。

该公司计划利用来自Microsoft SQL Server数据库、Microsoft Excel文件、文本文件和其他几个数据源的数据。

Litware使用Azure Active Directory (Azure AD)对用户进行认证。

现有环境,

销售数据,

Litware的在线销售数据具有如下表所示的SQL模式。

在Date表中,date_id列的格式为yyyymmdd, month列的格式为yyyymm。

Date表中的week列和Weekly_Returns表中的week_id列的格式是yyyyww。

Sales表中的sales_id列表示一个惟一的事务。

region_id列只能由一个销售经理管理。

数据问题

你们关心的是销售数据的质量和完整性。您计划验证销售数据是否为负的销售额。

报告要求,

Litware确定了以下技术要求:

  • 主管们需要一个显示区域销售情况的视觉效果。
  • 区域经理需要视觉分析每周的销售和收益。
  • 销售经理必须能够看到他们各自区域的销售数据。
  • 销售经理需要一个可视化工具来分析销售业绩和销售目标。
  • 销售部门需要包含销售交易数量的报告。
  • 用户必须能够在报表中看到月份,示例如下:Feb 2020。
  • 客户服务部门需要一个可以分别根据销售月份发货月份进行筛选的视觉效果。

热点,

您需要创建一个可视化来满足销售经理的报告要求。

如何创建可视化?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域:

Question 8

案例研究-

这是一个案例研究。案例研究不是单独计时的。你可以使用尽可能多的考试时间,你想完成每个案例。然而,在这个考试中可能会有额外的案例研究和部分。您必须管理您的时间,以确保您能够在规定的时间内完成考试中包含的所有问题。

要回答案例研究中包含的问题,您需要参考案例研究中提供的信息。案例研究可能包含提供关于案例研究中描述的场景的更多信息的展览和其他资源。在这个案例研究中,每个问题都是独立于其他问题的。

在这个案例研究的最后,将出现一个回顾屏幕。这个屏幕允许你回顾你的答案,并在你进入考试的下一个部分之前做出修改。开始一个新的部分后,您不能返回到这个部分。

开始案例研究

要显示此案例研究的第一个问题,请单击Next按钮。在回答问题之前,使用左窗格中的按钮来探索案例研究的内容。单击这些按钮将显示诸如业务需求、现有环境和问题声明等信息。如果案例研究有一个All Information选项卡,请注意显示的信息与后续选项卡上显示的信息相同。准备回答问题时,单击“问题”按钮返回问题。

概述- - - - - -

Litware, Inc.是一家使用微软Power BI仪表盘和报告的在线零售商。

该公司计划利用来自Microsoft SQL Server数据库、Microsoft Excel文件、文本文件和其他几个数据源的数据。

Litware使用Azure Active Directory (Azure AD)对用户进行认证。

现有环境,

销售数据,

Litware的在线销售数据具有如下表所示的SQL模式。

  • 在Date表中,date_id列的格式为yyyymmdd, month列的格式为yyyymm。
  • Date表中的week列和Weekly_Returns表中的week_id列的格式是yyyyww。
  • Sales表中的sales_id列表示一个惟一的事务。
  • region_id列只能由一个销售经理管理。

数据问题

你们关心的是销售数据的质量和完整性。您计划验证销售数据是否为负的销售额。

报告要求,

  • Litware确定了以下技术要求:
  • 主管们需要一个显示区域销售情况的视觉效果。
  • 区域经理需要视觉分析每周的销售和收益。
  • 销售经理必须能够看到他们各自区域的销售数据。
  • 销售经理需要一个可视化工具来分析销售业绩和销售目标。
  • 销售部门需要包含销售交易数量的报告。
  • 用户必须能够在报表中看到月份,示例如下:Feb 2020。
  • 客户服务部门需要一个可以分别根据销售月份和发货月份进行筛选的视觉效果。

热点,

您需要创建KPI可视化,以满足销售经理的报告要求。

如何创建可视化?要回答这个问题,请在回答区域中选择适当的选项。

注:每个正确的选项值一分。

热点区域:

Question 9

案例研究-

这是一个案例研究。案例研究不是单独计时的。你可以使用尽可能多的考试时间,你想完成每个案例。然而,在这个考试中可能会有额外的案例研究和部分。您必须管理您的时间,以确保您能够在规定的时间内完成考试中包含的所有问题。

要回答案例研究中包含的问题,您需要参考案例研究中提供的信息。案例研究可能包含提供关于案例研究中描述的场景的更多信息的展览和其他资源。在这个案例研究中,每个问题都是独立于其他问题的。

在这个案例研究的最后,将出现一个回顾屏幕。这个屏幕允许你回顾你的答案,并在你进入考试的下一个部分之前做出修改。开始一个新的部分后,您不能返回到这个部分。

开始案例研究

要显示此案例研究的第一个问题,请单击Next按钮。在回答问题之前,使用左窗格中的按钮来探索案例研究的内容。单击这些按钮将显示诸如业务需求、现有环境和问题声明等信息。如果案例研究有一个All Information选项卡,请注意显示的信息与后续选项卡上显示的信息相同。准备回答问题时,单击“问题”按钮返回问题。

概述- - - - - -

Contoso, Ltd.是一家生产户外设备的制造公司。Contoso每季度都会召开董事会会议,由财务分析师手工准备

微软的Excel报告,包括公司四个业务部门的损益表、公司资产负债表下一季度的净收入预测

现有环境,

资料及来源

报告的数据来自三个来源。详细的收入成本和费用数据来自Azure SQL数据库。资产负债表汇总数据来自微软Dynamics 365商业中心。资产负债表数据与损益结果无关,但两者都与日期有关。

下个季度的月度收入和支出预测来自微软的SharePoint在线列表。季度预测通过使用以下共享维度:日期、业务单元、部门和产品类别与损益结果相关

净收益预测数据-

净收益预测数据存储在SharePoint在线列表中,名为“预测”,格式如下表所示。

收入预测是按月进行的,并将其相加以显示本季度的预测。

资产负债表数据-

资产负债表数据与每个帐户每月的最终余额一起导入,格式如下表所示。

在资产负债表数据中,每个账户每月总有一行。

Dynamics 365商业中心数据

Business Central包含一个产品目录,该目录显示产品如何上卷到产品类别产品类别上卷到业务单元

收入数据日期和产品级别提供。费用数据以日期和部门级别提供。

业务问题,

从历史上看,两名分析师每周都要为每季度的董事会会议准备报告。此外,通常每个季度至少会出现一个问题,由于Excel公式中的单元格引用错误,导致报告中的值出现错误。有时,报告中会出现冲突的结果,因为上卷到每个业务单元的产品和部门的定义不一致。

需求- - - - - -

计划变更,

  • Contoso计划通过使用Microsoft Power BI实现季度报告流程的自动化和标准化。该公司希望在不到两天的时间内完成报告。公司希望为业务单位、产品和部门创建通用逻辑,用于所有报告,包括但不限于董事会的季度报告。

技术要求,

  • Contoso希望用最少的手工工作来刷新报告和数据集。
  • 该公司希望向董事会提供单个报告包,其中包含自定义导航和到补充信息的链接。
  • 维护,包括手动更新数据和访问,必须尽可能地减少。

安全需求,

  • 这些报告必须从powerbi.com网站上提供给董事会。Azure Active Directory组将用于与董事会共享信息。
  • 负责每个业务单元的分析师必须看到董事会看到的所有数据,除了盈亏数据,这必须仅限于他们的业务单元的数据。分析师必须能够从包含盈亏数据的数据集构建新的报告,但分析师构建的任何报告都不能包含在董事会的季度报告中。分析师不能与任何人分享季度报告。

报告要求,

  • 您计划将资产负债表与Power BI中的标准日期表以多对一的关系(基于每月的最后一天)关联起来。在季度报告包中,至少有一份资产负债表报告必须显示本季度以及上一季度的期末余额
  • 预测必须包含一个名为RevenueProjection的列,该列包含收入预测金额。必须从预测到包含下表中显示的列的名为Date的表创建关系。

  • 产品、部门和业务单元的定义和属性必须在所有报表中保持一致。
  • 董事会必须能够从季度报告中获得以下信息:
    • 长期收益趋势
    • 每个帐户的期末余额
    • 按季度支出与预测的比较
    • 长期负债与上一季度相比的变化情况
    • 季度收入与上年同期的比较

DRAG DROP -

您需要在数据模型中创建一个DAX度量,该度量只允许用户查看适当粒度级别的预测

你应该如何完成测量?要回答这个问题,请将适当的值拖到正确的目标上。每个值可以使用一次、多次,或者根本不使用。您可能需要在窗格之间拖动分隔条或滚动来查看内容。

注:每个正确的选项值一分。

选择和放置:

Question 10

案例研究-

这是一个案例研究。案例研究不是单独计时的。你可以使用尽可能多的考试时间,你想完成每个案例。然而,在这个考试中可能会有额外的案例研究和部分。您必须管理您的时间,以确保您能够在规定的时间内完成考试中包含的所有问题。

要回答案例研究中包含的问题,您需要参考案例研究中提供的信息。案例研究可能包含提供关于案例研究中描述的场景的更多信息的展览和其他资源。在这个案例研究中,每个问题都是独立于其他问题的。

在这个案例研究的最后,将出现一个回顾屏幕。这个屏幕允许你回顾你的答案,并在你进入考试的下一个部分之前做出修改。开始一个新的部分后,您不能返回到这个部分。

开始案例研究

要显示此案例研究的第一个问题,请单击Next按钮。在回答问题之前,使用左窗格中的按钮来探索案例研究的内容。单击这些按钮将显示诸如业务需求、现有环境和问题声明等信息。如果案例研究有一个All Information选项卡,请注意显示的信息与后续选项卡上显示的信息相同。准备回答问题时,单击“问题”按钮返回问题。

概述- - - - - -

Contoso, Ltd.是一家生产户外设备的制造公司。Contoso每季度都会召开董事会会议,由财务分析师手工准备

微软的Excel报告,包括公司四个业务部门的损益表、公司资产负债表和下一季度的净收入预测。

现有环境,

资料及来源

报告的数据来自三个来源。详细的收入、成本和费用数据来自Azure SQL数据库。资产负债表汇总数据来自微软Dynamics 365商业中心。资产负债表数据与损益结果无关,但两者都与日期有关。

下个季度的月度收入和支出预测来自微软的SharePoint在线列表。季度预测通过使用以下共享维度:日期、业务单元、部门和产品类别与损益结果相关。

净收益预测数据-

净收益预测数据存储在SharePoint在线列表中,名为“预测”,格式如下表所示。

收入预测是按月进行的,并将其相加以显示本季度的预测。

资产负债表数据-

资产负债表数据与每个帐户每月的最终余额一起导入,格式如下表所示。

在资产负债表数据中,每个账户每月总有一行。

Dynamics 365商业中心数据

Business Central包含一个产品目录,该目录显示产品如何上卷到产品类别,产品类别上卷到业务单元。

收入数据以日期和产品级别提供。费用数据以日期和部门级别提供。

业务问题,

从历史上看,两名分析师每周都要为每季度的董事会会议准备报告。此外,通常每个季度至少会出现一个问题,由于Excel公式中的单元格引用错误,导致报告中的值出现错误。有时,报告中会出现冲突的结果,因为上卷到每个业务单元的产品和部门的定义不一致。

需求- - - - - -

计划变更,

  • Contoso计划通过使用Microsoft Power BI实现季度报告流程的自动化和标准化。该公司希望在不到两天的时间内完成报告。公司希望为业务单位、产品和部门创建通用逻辑,用于所有报告,包括但不限于董事会的季度报告。

技术要求,

  • Contoso希望用最少的手工工作来刷新报告和数据集。
  • 该公司希望向董事会提供单个报告包,其中包含自定义导航和到补充信息的链接。
  • 维护,包括手动更新数据和访问,必须尽可能地减少。

安全需求,

  • 这些报告必须从powerbi.com网站上提供给董事会。Azure Active Directory组将用于与董事会共享信息。
  • 负责每个业务单元的分析师必须看到董事会看到的所有数据,除了盈亏数据,这必须仅限于他们的业务单元的数据。分析师必须能够从包含盈亏数据的数据集构建新的报告,但分析师构建的任何报告都不能包含在董事会的季度报告中。分析师不能与任何人分享季度报告。

报告要求,

  • 您计划将资产负债表与Power BI中的标准日期表以多对一的关系(基于每月的最后一天)关联起来。在季度报告包中,至少有一份资产负债表报告必须显示本季度以及上一季度的期末余额。
  • 预测必须包含一个名为RevenueProjection的列,该列包含收入预测金额。必须从预测到包含下表中显示的列的名为Date的表创建关系。

  • 产品、部门和业务单元的定义和属性必须在所有报表中保持一致。
  • 董事会必须能够从季度报告中获得以下信息:
    • 长期收益趋势
    • 每个帐户的期末余额
    • 按季度支出与预测的比较
    • 长期负债与上一季度相比的变化情况
    • 季度收入与上年同期的比较

哪两种类型的可视化可以在资产负债表报告中使用以满足报告目标?每一个正确的答案都是解决方案的一部分。

注:每个正确的选项值一分。

  • A .一个折线图,显示按季度过滤到帐户类别的长期负债。
  • B一个集群柱状图,显示余额按日期(x轴)和帐户类别(图例),没有过滤器。
  • C一个聚集柱状图,显示按季度过滤到帐户类别的长期负债余额。
  • D一个饼状图,显示了没有过滤器的帐户类别的余额。
  • E一个带状图表,显示了季度余额和在图例中的帐户。

本文:http://jiagoushi.pro/node/1576

SEO Title
analyzing-data-microsoft-power-bi-v10-da-100-6-10

数据分析

视频号

微信公众号

知识星球

Chinese, Simplified
本文地址
https://architect.pub/node/243
SEO Title
data analytics

【假设分析】Apromore的业务流程模拟与假设分析

视频号

微信公众号

知识星球

Chinese, Simplified

什么是我的流程的最佳设计!?如果我收到两倍的订单,会发生什么?如果我再雇佣两名专家会怎么样?

现代业务流程挖掘(BPM)工具能够生成业务流程的副本(也称为数字孪生),运行模拟并分析如果条件发生变化会发生什么(假设分析)。本文是如何在Apromore(可用的最高级BPM工具之一)中执行此操作的逐步示例。

大纲:

  1. 创建流程模型,
  2. 定义模拟参数(任务需要多长时间以及有多少资源可用),
  3. 通过添加/删除资源、更改流程任务的持续时间或修改流程设计来创建模型的替代版本。
  4. 运行模拟并比较结果。

创建流程模型

让我们首先在Apromore的BPMN(业务流程模型和符号)编辑器中创建一个模型。顾名思义,您可以通过创建任务、网关并连接它们来构建传统的BPMN风格的流程。

为了这个演示的目的,我将对技术演示过程进行建模。这是我们部门的流程之一,旨在发现新的数字技术并向我们的业务部门演示。该过程包括以下步骤:

  1. 技术研究,
  2. 将技术添加到评估列表中,
  3. 验证技术,
  4. 根据评估结果,将技术标记为“测试”或“保持”,
  5. 选择要演示的技术,
  6. 找到一个用于演示的用例,
  7. 进行概念验证,
  8. 证明

下图显示了我们如何构建和连接流程的最初两个任务。

Figure 1: Building a process model with Apromore’s BPMN Editor (image by Author — screenshots from Apromore)

我们继续添加任务、网关和连接器,直到模型完成。是的,我知道这是老的无聊BPMN的东西,但我保证事情很快就会变得更有趣:)!

Figure 2: Fully built process model in Apromore’s BPMN Editor (image by Author — screenshots from Apromore)

定义模拟参数

Apromore的BPMN编辑器通过“模拟参数”定义流程元素的动力学,使我们的静态模型栩栩如生。下图显示了可以设置的不同类型的模拟参数:

  • 一般——我们多久会有一个新的案例出现,正在模拟的流程实例(案例)的总数以及模拟的开始日期。
  • 任务——设置所有流程任务的持续时间分布(即:执行任务需要多长时间)。
  • 时间表——定义人员和机器的工作时间表(例如,专家从上午9点到下午17点工作)。
  • 资源——定义可用资源(人员和机器)的类型和数量。
  • 网关——定义网关的转换概率(例如,通过评估的案例比例是多少)。

Figure 3: Different types of simulation parameters in Apromore (image by Author — screenshots from Apromore)

注意:注意,该工具可以将持续时间设置为概率分布。换言之,我们可以说,平均而言,新病例每两周出现一次,但有时需要5天甚至10天的时间,有时新病例在最后一例病例出现几天后才出现。这种概率性在模拟中非常重要,因为使用静态值,我们将无法看到边缘情况(例如,可能发生的最坏情况是什么)。

运行模拟

定义所有任务的模拟参数后,我们可以通过选择模型并使用“模拟模型”功能(1)来运行模拟。这产生了一个模拟的业务日志(2),我们可以打开并分析它。

Figure 4: Generating the simulated process log in Apromore (image by Author — screenshots from Apromore)

假设分析

假设分析是关于更改模拟参数(例如添加或删除资源)并重新运行模拟。这些步骤包括:

  1. 在BPMN编辑器中更改一些模拟参数。
  2. 运行模拟以创建替代过程日志。
  3. 分析模拟日志以查看更改。

下图显示了如果我添加一个额外的开发团队会怎样的结果。在商业模式的第一个版本中,我将开发团队的数量设置为2个,在第二个版本中我将团队的数量增加到3个。在这两个版本中,都创建了一个模拟流程日志(img 1)。接下来,我比较了流程日志的统计数据,看看添加开发团队(img 2和img 3)的确切效果如何。

我们的假设分析显示,对于2个开发团队(img 2),执行20个技术到演示流程实例大约需要1年零1个月的时间。对于3个团队(img 3),相同数量的流程实例大约需要11个月。因此,基于假设分析,我们可以得出结论,拥有一个额外的开发团队将使我们获得2个月的时间。

Figure 5: Analyzing the effect of adding an additional development team (img 2 has 2 dev teams and img 3 has 3 dev teams) by comparing two simulated process logs (image by Author — screenshots from Apromore)

总结

新颖的过程挖掘工具能够创建动态过程模型,用于模拟各种条件下的过程。假设分析就是模拟一个过程的几个不同版本并比较结果。在设计新的业务流程时,这是一个有用的功能——可以利用不同的流程设计,修改资源数量以找到最佳设置。此外,假设分析对现有流程很有用,因为它可以a)分析添加/删除资源的效果,b)通过增加传入工作来测试流程的限制,c)在安全(模拟)环境中看到重新设计的效果。总之,模拟和假设分析的结合有很大的潜力将流程管理带入一个新时代。

本文地址
https://architect.pub/business-process-simulation-and-what-if-analysis-apromore
SEO Title
Business Process Simulation and What-if Analysis with Apromore

【图型计算架构】GraphTech生态系统2019-第2部分:图形分析

Chinese, Simplified

这篇文章是关于GraphTech生态系统系列文章的一部分。这是第二部分。它涵盖了图形分析领域。第一部分是关于图形数据库,第三部分将列出现有的图形可视化工具。

Image for postActors of the graph analytics landscape in 2019

第二层是另一个后端层:图形分析或计算框架。它们由一组工具和方法组成,这些工具和方法是为了从以图形形式建模的数据中提取知识。它们对于许多应用程序都至关重要,因为处理复杂连接数据的大数据集在计算上具有挑战性。

对大规模分析的需求

图论领域已经产生了多种算法,分析人员可以依赖这些算法来发现隐藏在图表数据中的见解。从Google著名的PageRank算法到遍历和路径查找算法或社区检测算法,都有大量的计算可以从图表中获得见解。

我们在上一篇文章中提到的图形数据库存储系统擅长将数据存储为图形,或者管理诸如数据检索、编写实时查询或本地分析之类的操作。但是,他们可能在规模化的图形分析处理方面存在不足。这就是图形分析框架介入的地方。与常见的图形算法、处理引擎,有时还有查询语言一起,它们处理在线分析处理,并将结果保存回数据库。

图形处理引擎

图形处理生态系统提供了各种方法来应对图形分析的挑战,历史玩家占据了市场的很大一部分。

Image for post

Main graph engine processing and framework vendors

2010年,Google率先发布了Pregel,一个“大规模图形处理”框架。几个解决方案,如Apache GIRAPH,一个开放源码的图形处理系统在2012由Apache基金会开发。它利用MapReduce实现来处理图形,是Facebook用来遍历其社交图的系统。其他开源系统迭代了Google的,比如Mizan或GPS。

其他系统,比如GraphChi或PowerGraph Create,都是在GraphLab于2009年发布之后推出的。这个系统最初是卡内基梅隆大学的一个开源项目,现在被称为Turi。

oraclelab开发了PGX(Parallel Graph AnalytiX),这是一个图形分析框架,包括一个支持Oracle大数据空间和图形的分析处理引擎。

微软于2013年推出的分布式开源图形引擎Trinity现在被称为微软图形引擎。GraphX于2014年推出,是在apachespark之上构建的用于并行计算的嵌入式图形处理框架。后来又引入了一些其他系统,例如信号/采集。

图形分析库和工具箱

在图形分析领域,也有专门用于图形分析的单用户系统。图分析库和工具箱提供图论算法的实现。

Image for post

Some libraries and toolkits offering graph analytics capabilities

有独立的库,如NetworkX和NetworKit,用于大规模图形分析的python库,或iGraph,一个用C编写并以python和R包提供的图形库,以及由图形数据库供应商Neo4j及其图形算法库提供的库。

其他技术供应商为高性能图形分析提供图形分析库。这是GPU技术提供商NVIDIA及其NVGraph库的例子。地理信息软件QGIS也建立了自己的网络分析库。

其中一些库还提出了图形可视化工具来帮助用户构建图形数据探索接口,但这是本系列第三篇文章的主题。

图形查询语言

最后,还没有提到的一个重要的分析框架:图形查询语言。

对于任何存储系统,查询语言是图形数据库的基本元素。这些语言使得将数据建模为图形成为可能,并且它们的逻辑非常接近于图形数据模型。除了数据建模过程外,还使用图形查询语言对数据进行查询。根据它们的性质,它们可以用于数据库系统,也可以作为领域特定的分析语言。大多数高级计算引擎允许用户使用这些查询语言进行编写。

Image for post

Some of the existing graph query languages and similar projects

Cypher是Neo4j在2011年创建的,用于他们自己的数据库。它在2015年作为一个名为OpenCypher的独立项目被开源。其他值得注意的图形查询语言还有:Gremlin(2009年创建的apachetinkerpop查询语言的图形遍历语言)或SPARQL(W3C在2008年创建的查询RDF图的类SQL语言)。最近,TigerGraph开发了自己的图形查询语言GSQL,Oracle创建了PGQL,这两种都是类似SQL的图形查询语言。G-Core是由链接数据基准委员会(LDBC)于2018年提出的,作为连接学术界和工业界的语言。其他供应商,如OrientDB,则使用关系查询语言SQL。

去年,Neo4j发起了一项计划,将Cypher、PGQL和G-Core统一到一种标准图形查询语言GQL(graph query language)下。该计划将在2019年3月的W3C研讨会上讨论。其他一些查询语言特别专用于图形分析,如SocialSocial。

Facebook的GraphQL本来不是一种图形查询语言,但值得一提。这个API语言已经被图形数据库供应商扩展为一种图形查询语言。Dgraph使用itnativelyas作为查询语言,Prisma正计划将其扩展到各种图形数据库,Neo4j已经将其推进到GRANDstack及其查询执行层Neo4j中-图形ql.js.

原文:https://medium.com/@Elise_Deux/the-graphtech-ecosystem-2019-part-2-graph-analytics-8ca5af4f83a9

本文:http://jiagoushi.pro/node/1093

讨论:请加入知识星球【首席架构师圈】或者微信小号【jiagoushi_pro】

SEO Title
The GraphTech Ecosystem 2019 — Part 2: Graph Analytics

【数据分析】KPI仪表板:它们是什么以及如何构建

视频号

微信公众号

知识星球

Chinese, Simplified

创建关键绩效指标(KPI)是一回事。了解如何阅读这些KPI并有效跟踪完成进度是另一回事。

在一个仪表板上显示所有KPI有助于创建一个连贯的数据故事,帮助团队实现并超越目标。如果没有仪表板,通常很难看到森林中的树木,也很难自信地完成所有目标。

准备好了解更多有关KPI仪表板的信息并探索如何为自己构建一个仪表板了吗?然后,让我们深入了解。

关键要点

  • KPI仪表板将来自各种来源的数据组合在一起,并使用图表和图形等视觉元素显示关键见解。
  • 有效的KPI仪表板以目标为中心,只包括最终用户回答KPI特定业务查询所需的数据
  • KPI仪表盘的一些关键好处包括促进高管决策,识别机会和表现不佳,提高团队协作和透明度,以及促进大规模实时数据分析。
  • 要创建KPI仪表板,请首先选择要跟踪的KPI和指标。然后选择相关的数据源。一旦你确定了这些,就可以使用相关的图表来可视化数据。最后,共享仪表板。
  • 遵循最佳实践构建每个人都信任的KPI仪表板。只包括与目标相关的数据,有效地使用文本和交互式元素,在视觉上保持一致,保持简单,并使用高质量的数据
  • Improvado等分析工具可以自动同步来自不同来源的所有数据,确保所有数据都具有令人满意的质量,并为您提供KPI仪表板,作为团队的单一真相来源。

什么是KPI仪表板?

Improvado’s KPI dashboard template

KPI或关键绩效指标是跟踪公司、部门、团队或个人在实现目标方面进展情况的衡量标准。换句话说,它们是根据不同来源的数据计算的成功指标。

KPI仪表板以直观、易于理解的格式显示KPI的进度,以帮助为业务决策提供信息。实时仪表板自动化了任何手动数据争论过程,使团队能够专注于揭示对其目标进展的见解。

KPI仪表盘是希望加入数据驱动方的团队和公司的必要基础。然而,确保您使用高质量的数据来避免错误的见解是至关重要的。

KPI仪表板包括什么?

KPI仪表板包括最终用户为实现最终目标做出数据驱动决策所需的所有相关数据,并随时调整其战略。

包含的指标取决于仪表板的受众。他们的目标是什么?他们想回答什么问题?哪些KPI对受众衡量绩效很重要?哪些数据最能帮助他们获得可操作的业务见解?

一旦确定了这些变量,请选择需要包含在仪表板中的所有相关数据。使用各种可视化技术,如随时间变化的趋势分析、比较和基准,以提供更多的上下文。

此外,在视觉效果中添加注释,以帮助向最终用户描述数据。

Improvado’s cross-channel KPI dashboard

KPI仪表板的主要业务优势

只有当你能理解数据时,数据才有用。然而,随着你收集的数据数量的增加,理解数据变得越来越复杂。这就是KPI仪表板可以帮助您做到的。让我们回顾一下这究竟是如何实现的。

促进有效的行政决策

有了KPI仪表板,高管们不必等待不同部门报告他们的活动和绩效。所有这些信息都存储在公司KPI的单一真实来源中。

高管们可以实时查看每个团队的绩效以及对组织底线的贡献。这意味着他们可以看到要专注于哪些单元和流程,以更快地实现业务目标。

提高运营效率和有效性

KPI仪表板简化了组织工作流程,使员工能够轻松高效地工作。

比方说,营销团队需要销售团队的客户转化率数据或客户支持团队的客户满意度指数得分。在这些情况下,他们可以从KPI仪表板中获取这些信息,而无需等待有人将数据交给他们,从而停止了各方之间耗时的来回交流。

提高团队之间的协作和透明度

有了实时数据的共享KPI仪表板,团队可以轻松地做出决策,而无需等待其他人的输入。

这使数据民主化,促进协作和加速沟通,最终实现更好的团队协作和更快乐的员工。

方便大规模的实时数据分析

KPI仪表盘的实时交付使高管能够在业务运营发生时深入了解业务运营。

使用仪表板的交互式元素,他们可以深入了解每个特定的KPI,而无需浏览许多电子表格或浏览不同的程序。

为预测业务增长提供有价值的数据

KPI告诉你如何朝着目标前进。有了KPI仪表板,您就有了一个工具,可以帮助您评估业务的发展方向。

您可以更好地了解模式和预测业务增长,并据此决定下一步将使您能够有效地实现业务目标。

提供关于优先事项的见解

数据淹没对许多决策者来说是一个巨大的问题。拥有相关KPI的仪表盘——由高质量的数据推动——意味着您可以更好地分析业务运营,而不会不知所措。

由于仪表板能够正确地组织和可视化关键信息,因此您可以快速确定要关注的内容和优先级。

创建KPI仪表板的步骤

开发KPI仪表板是一项复杂而耗时的活动。但是,不适合那些知道正确步骤并使用正确工具来可视化KPI的人。

选择要跟踪的KPI和指标

最终用户希望回答哪些问题,他们需要什么信息?在创建KPI仪表板时请考虑这一点,这样您就不会以虚荣指标为特色。

只关注受监控活动的最关键指标。例如,如果你正在构建一个销售渠道仪表板,你肯定不需要包括CLTV或CPA,因为销售人员几乎与这些指标无关。

大多数KPI仪表板使用MAD框架,这是一种创建仪表板的三级方法。它包括年度经常性收入或相对市场份额等高级KPI的监控级别,用于分析各个部门的KPI的分析级别,以及用于深入分析的详细KPI的演练级别。

选择相关数据源

评估所有可用的数据源,并决定哪些数据源是相关的。这并不总是那么简单,尤其是现在企业使用的许多工具。

明智地选择数据源,因为每一个新的数据源都会带来工程和维护方面的麻烦。你必须将每个源连接到你的仪表板工具,获取正确的数据,将其转换为易于理解的形式,并想出新的图表来可视化它。更不用说数据源带有独特的API,需要在后端频繁更新。

更好的选择是将所有所需的数据源与自动化分析平台连接起来。例如,Improvado集成了500多种不同的营销和销售数据源,可以快速提取数据,并将其简化为适合用户目标的仪表板。使用Improvado的即插即用方法,您可以通过添加库中的数据源来启动分析并在进行分析时进行扩展。

创建合适的图表

KPI dashboard for paid ads by Improvado

数据可视化的重要性不亚于数据收集。你的主要挑战是想出正确的方式用图表和图表讲述你的故事。

例如,如果要比较值,请使用条形图和散点图。对于分析趋势,折线图和柱状图是理想的。您可以使用Mekko/Marimekko等图表来了解数据分布。

再说一遍,从头开始构建可视化需要商业智能工具的分析专业知识和经验。

但你可以走轻松的路。Improvado为您的营销和销售数据提供了各种仪表板模板。您不必创建任何图表。只需连接数据源,选择模板,然后根据需要修改图表。这就是如何在拥有商业智能工具提供的相同灵活性的同时节省仪表板开发时间的方法。

共享仪表板

向所有需要查看KPI面板的人授予访问权限(具有适当的权限)。您还可以将其导出为PDF文档,以便通过电子邮件、会议或演示文稿进行共享。

构建KPI仪表板的最佳实践

当您遵循一些最佳实践时,创建有效的KPI仪表板会变得更容易。

仅包括与目标相关的KPI

始终了解受众,以及他们为什么需要KPI仪表板。

他们想知道什么?他们需要比较和对比哪些KPI?在考虑受众的情况下构建仪表板将揭示应该包含哪些信息。

有效使用文本

你的数据说明了一个故事。尽管图表和图表说明了这一点,但用于标记和描述的语言也是如此。

使用经过深思熟虑的注释原则,明确您想要理解的见解。

清楚地标记交互式元素,并明确它们是可点击或可钻取的。

以视觉一致性为目标

拥有好看的KPI仪表板是有效仪表板的关键要素。您的最终目标是显示组织中的关键人员可以快速深入了解的数据。

做到这一点的一种方法是坚持一致的颜色和风格,并应用视觉设计原则。

保持简单

你很容易对所有数据中的各种图表感到兴奋,但混乱会破坏KPI仪表盘。

让它们尽可能简单。过度使用无关数据——无论多么有趣——只会分散你试图传达的叙事的注意力。

确保使用干净的数据

KPI仪表板使数据易于理解。但是,如果这些数据来自质量较差的来源,那就没有用了。在创建仪表板之前,请确保数据的完整性和准确性是可靠的。

如何使用Improvado创建KPI仪表板

创建KPI仪表板是一项耗时的工作,尽管这是一项非常宝贵的时间。如果你做得很好,从数据收集到图表造型,你的任何商业活动都会有一个单一的真相来源。

营销分析平台使流程简化了10倍。您只需插入所需的数据源,选择要跟踪的指标,然后选择适合您的仪表板模板。

使用Improvado和自己构建仪表板的主要区别在于,我们已经为您完成了所有工作。你只需要选择你想在仪表板上看到什么以及你想如何看到它。

本文地址
https://architect.pub/kpi-dashboards-what-they-are-and-how-build-one
SEO Title
KPI Dashboards: What They Are and How to Build One

【数据分析】Web服务度量的时间序列分析与预测

Chinese, Simplified

讨论用于分析和预测Web服务度量及其应用的各种机器学习技术。

概述

在本文中,我们将讨论各种用于分析和预测web服务度量及其应用的机器学习技术。自动伸缩是这方面的一个很好的应用,其中可以应用预测技术来估计web服务的请求速率。类似地,可以将预测技术应用于服务度量,以预测警报和异常。

在本文中,我将首先讨论时间序列数据及其在预测技术中的作用。稍后,我将演示一个用于预测web服务请求率的预测模型。本文提供了对时间序列预测技术的基本理解,这些技术可以应用于服务度量或任何时间序列数据。

开始…

什么是时间序列?

时间序列是以固定时间间隔收集的数据点的集合。时间序列数据的示例可以从应用程序指标(如以RPM为单位的请求速率)到系统指标(如以固定时间间隔获取的空闲CPU%)不等。

为了利用机器学习技术解决预测问题,需要将数据转换为时间序列格式。时间序列数据具有自然的时间顺序。时间序列分析可以应用于实值、连续数据、离散数值数据或离散符号数据。

为了便于说明,我使用了Python。Numpy、Pandas、Matpoltlib模块将用于转换和分析,Statsmodel将用于预测模型。

 

import pandas as pd

dateparse = lambda dates: pd.to_datetime(dates, unit = 's')
df = pd.read_csv('ServiceEndpointRpm.csv', parse_dates =

['epoch'], index_col = 'epoch', date_parser = dateparse)

 

df.describe()

Statistics of Request Rate data

df.tail()

Few data points of time series

import matplotlib.pylab as plt

ts = df["rpm"]

plt.title(label="Service Requests per Minute Graph", 
fontsize=32)
plt.plot(ts)
plt.xlabel("Time", fontsize=20)
plt.ylabel("Requests per Minute", fontsize=20)

Time series graph representing request rates (in RPM) for a web service taken at every minute of interval.

数据预处理

 

请看上面RPM中的请求率图表,您是否看到数据存在任何挑战?

在上图中,您可以看到有太多的数据点和尖峰需要处理。

如何处理?

*重采样:每隔一分钟采集所有数据点。将数据重新采样为每小时、
每天或每周有助于减少需要处理的数据点的数量。在本例中,
我们将使用平均每日重采样值。

*变换:可以应用对数、平方根或立方根等变换来处理图形中的峰值。
在本例中,我们将对时间序列执行日志转换。

 

ts_1d = ts.resample('D', closed='right', label='left').mean()

plt.title(label="Service Requests per Minute Graph", fontsize=32)
plt.plot(ts_1d)
plt.xlabel("Time", fontsize=20)
plt.ylabel("Requests per Minute", fontsize=20)

Observe that large number of data points have reduced and the graph looks smoother as a result of daily resampling.

import numpy as np

ts_1d_log = np.log(ts_1d)

plt.title("Log Transformed RPM Data for Service", 
fontsize=32)
plt.xlabel("Time (in Days)", fontsize=20)
plt.ylabel("Logarithm of RPM", fontsize=20)
plt.plot(ts_1d_log)

Observe the values on the y-axis as a result of log transformation

时间序列基础

单变量与多变量时间序列

单变量时间序列数据仅由一个变量组成。单变量分析是数据分析的最简单形式,所分析的数据只包含一个变量。因为它是一个单一变量,所以它不处理原因或关系。这种单变量时间序列的一个例子是请求速率度量。

当时间序列由两个变量组成时,它被称为二元时间序列。对这类数据的分析涉及原因和关系,分析的目的是找出这两个变量之间的关系。例如,web服务的CPU使用率为%,这取决于请求速率。这些变量通常绘制在图形的X轴和Y轴上,以便更好地理解数据,其中一个变量是独立的,而另一个是相关的。

多元时间序列由三个或更多变量组成。多变量时间序列的例子可以是依赖于多个变量的股票价格。

时间序列的组成部分

为了找到一个合适的时间序列预测模型,了解时间序列数据的组成部分非常重要。时间序列数据主要由以下部分组成:

趋势

趋势显示数据在长时间内增加或减少的总体趋势。趋势是一种平稳的、普遍的、长期的、平均的趋势。在给定的时间段内,增加或减少的方向并不总是相同的。web服务的请求率可能在很长一段时间内表现出某种移动趋势。

季节性

这些是由于季节性因素而在数据中出现的短期变动。短期通常被认为是一个时间序列发生变化的时期。电子商务网络服务在某些月份可能会收到更多的流量。

周期

这些是发生在时间序列中的长期振荡。

错误

这些是时间序列中的随机或不规则运动。这些是时间序列中发生的不太可能重复的突然变化。

加法与乘法模型

简单分解模型可以是:

加性模型:Y[t]=t[t]+S[t]+e[t]

乘法模型:Y[t]=t[t]*S[t]*e[t]

其中,Y[t]是时间't'的预测值,t[t],S[t]和e[t]分别
是时间't'的趋势分量、季节分量和误差。

from statsmodels.tsa.seasonal import seasonal_decompose

def seasonal_decompose_analysis(timeseries, model, periods):
    decomposition = seasonal_decompose(timeseries, 
model = model, freq = periods)

    trend = decomposition.trend
    seasonal = decomposition.seasonal
    residual = decomposition.resid

    plt.subplot(411)
    plt.title('Original', fontsize=20)
    plt.plot(timeseries, label='Original')
    plt.subplot(412)
    plt.title('Trend', fontsize=20)
    plt.plot(trend, label='Trend')
    plt.subplot(413)
    plt.title('Seasonality', fontsize=20)
    plt.plot(seasonal,label='Seasonality')
    plt.subplot(414)
    plt.title('Residuals', fontsize=20)
    plt.plot(residual, label='Residuals')
    plt.tight_layout()
    
    return decomposition
    
seasonal_decompose_analysis(ts_1d, 'additive', 365)

Additive Decomposition Model for time series

seasonal_decompose_analysis(ts_1d, 'multiplicative', 365)

Multiplicative Decomposition Model for time series

平稳序列

如果时间序列在一段时间内具有恒定的统计特性,则称其为平稳的,即:

  • 常均值
  • 恒定方差
  • 不依赖于时间的自协方差。

大多数时间序列模型要求时间序列是平稳的。

如何检查时间序列的平稳性?

以下是检查时间序列平稳性的一些方法:

滚动统计

我们可以绘制移动平均值或移动方差来检查随时间的变化。例如,7天内每分钟请求的滚动平均值。这是一种视觉技术。

富勒检验(Dickey-Fuller Test)

这是检查平稳性的统计测试之一。这是一种单位根测试。测试结果包括一个测试统计量和一些不同置信水平的临界值。如果“检验统计量”小于“临界值”,我们可以拒绝零假设,并说序列是平稳的。这里的零假设是时间序列是非平稳的。

from statsmodels.tsa.stattools import adfuller

def stationarity_test(timeseries, rolling_window):
    rolling_mean = pd.rolling_mean(timeseries, 
window=rolling_window)
    rolling_std = pd.rolling_std(timeseries, 
window=rolling_window)

    orig = plt.plot(timeseries, color='blue', 
label= 'Original')
    mean = plt.plot(rolling_mean, color='red', 
label= 'Rolling Mean')
    std = plt.plot(rolling_std, color='black', 
label = 'Rolling Std')
    plt.title('Rolling Mean & Standard Deviation')
    plt.show()
    
    # Dickey-Fuller test
    print('Results of Dickey-Fuller Test')
    test = adfuller(timeseries, autolag='AIC')
    output = pd.Series(test[0:4], index=['Test 
Statistic','p-value',
'#Lags Used','Number of Observations Used'])
    for key,value in test[4].items():
        output['Critical Value (%s)'%key] = value
    print(output)
    
  stationarity_test(timeseries = ts_1d, 
rolling_window = 365)

Rolling Stats Plot and AD Fuller Test results for original time series

如何使时间序列保持平稳?

有多种方法可以使时间序列保持平稳。其中有些是差分、去趋势化、变换等。

stationarity_test(timeseries = ts_1d_log_diff_1.dropna(), 
rolling_window = 365)

Rolling Stats Plot and AD Fuller Test results for log transformed and differenced time series.

模型拟合与评价

我将广泛讨论两种预测模型,数学模型和人工神经网络。

Predictive Models

数学模型

下面将介绍一些经典的时间序列预测模型。我将为我们的场景演示SARIMA模型。

AR、MA、ARMA、ARIMA等模型都是SARIMA模型的简单例子。VAR、VARMA、VARMAX与前面提到的模型类似,它们适用于向量数据而不是单变量时间序列。

在某些情况下,霍尔特-温特模型可用于预测存在季节性成分的时间序列。

萨里玛模型(SARIMA Model)

当时间序列中存在趋势和季节性时,非常流行的方法是使用季节性自回归综合移动平均(SARIMA)模型,该模型是ARMA模型的推广。

SARIMA模型由SARIMA(p,d,q)(p,d,q)[S]表示,其中

  • p、 q指ARMA模型的自回归和移动平均项
  • d是差异程度(减去数据过去值的次数)
  • P、 D和Q是指ARIMA模型季节部分的自回归、差分和移动平均项。
  • S指每个季节的时段数

模型参数估计

*对于SARIMA(p,d,q)(p,d,q)[S]模型,我们需要估计7个参数。

*从季节分解可以看出,时间序列数据具有季节性。因此,S=365,
表示季节变化滞后365天。

*对于p、q、p&q参数,我们可以绘制ACF(自相关函数)和PACF(偏自相关函数),
对于参数d&d,我们可以尝试绘制相同的曲线图,但时间序列不同。

ACF Plot suggests a possibility of P = 0 and D = 0

ACF Plot suggests a possibility of p ~ 43 and d = 0

 

 

PACF Plot suggests a possibility of Q = 0 and D = 0

PACF Plot suggests a possibility of q ~ 7 and d = 0

*估计参数的另一种方法是尝试多组值,以找到AIC(Akaike信息标准)值相对较小的模型。

*该模型的估计参数为:SARIMA(2,1,4)(0,1,0)[365]

训练和测试数据集分割

与其他机器学习模型一样,为了评估模型的准确性,我们将数据集分为训练数据集和测试数据集。这一比率可能在60%到90%之间变化。在我们的例子中,由于数据点的数量较少,我将保持95%的比率。保持比率为95%的另一个原因是,为了使SARIMA模型能够准确预测,训练数据集应该有足够的两个季节的数据点。

t_ratio = 0.95
t_size = int(len(ts_1d_log) * t_ratio)

train_1d_log, test_1d_log = ts_1d_log[:t_size].asfreq('D'), 
ts_1d_log[t_size:].asfreq('D')

print("Original Data Length =", len(ts_1d_log))
print("Training Data Length =", len(train_1d_log))
print("Test Data Length     =", len(test_1d_log))

# Original Data Length = 763
# Training Data Length = 724
# Test Data Length     = 39

Model will be trained with 2 years data and tested with 39 days data.

模型拟合

拟合的数据是每日平均重采样和对数转换的时间序列。为模型调用估计参数(2,1,4)(0,1,0)[365]。观察此型号的AIC值为-296.90。

import statsmodels.api as sm

sarima_model = sm.tsa.statespace.SARIMAX(train_1d_log,
                            order=(2, 1, 4),
                            seasonal_order=(0, 1, 0, 365),
                            enforce_invertibility=False,
                            enforce_stationarity=False)

result_sarima = sarima_model.fit()

print('SARIMA - AIC : {}'.format(result_sarima.aic))

# SARIMA - AIC : -296.90534927970805

预测

既然模型经过训练,我们就可以进行预测了。为此,我们可以提供要预测的步数作为参数。

pred_sarima = result_sarima.predict(start=0, end=800)

plt.title('Model Fitting and Forecasting', fontsize=32)
plt.xlabel('Future Time (in Days)', fontsize=20)
plt.ylabel('Predicted Avg. Daily RPM', fontsize=20)

plt.plot(train_1d_log, label='Training')
plt.legend(loc='best')
           
plt.plot(test_1d_log, label='Test')
plt.legend(loc='best')

plt.plot(pred_sarima['2018-12-26':'2019-02-02'], label='Predicted')
plt.legend(loc='best')

Graph showing Training, Test and Predicted values for Average Daily and Log Transformed RPM values for the service.

注:观察本文开头原始图表和上述预测图表中y轴上的值。web服务的RPM值约为300,预测值约为5,这是因为预测值经过转换。我们需要应用逆变换来获得原始尺度上的值。根据我们应用的变换,你能猜出哪个逆变换是合适的吗?

基于应用的对数变换,我们需要应用指数变换进行反演。在评估预测之前需要这样做,因为我们需要知道原始尺度上预测值的准确性。

验证预测

现在,我们已经将预测值反变换回原始比例,我们可以评估预测模型的准确性。

为此,我们需要找到原始测试值和预测测试值之间的误差,以计算:

  • *均方误差(MSE)
  • *均方根误差(RMSE)
  • *变异系数
  • *四分位分散系数等

由于我们的数据集只有39个数据点,我们将能够评估39天的预测。让我们对模型进行39天和20天的评估,以比较结果。

39天预测

Actual and Predicted RPM for 39 days

mse_38d = mean_squared_error(np.exp(test_1d_log), 
np.exp(pred_sarima_214_010_365_1d_log['2018-12-26':'2019-02-02']))
rmse_38d = np.sqrt(mse_38d)
cov_38d = rmse_38d / (np.exp(test_1d_log)).mean() * 100

print ("Mean Squared Error (MSE) =", mse_38d)
print ("Root Mean Squared Error (RMSE) =", rmse_38d)
print ("Coefficient of Variation =", cov_38d, "%")

# Mean Squared Error (MSE) = 2071.720645305662
# Root Mean Squared Error (RMSE) = 45.51615806837899
# Coefficient of Variation = 11.645373540724746 %

注:变异系数为11.645,这意味着该模型能够预测未来39天服务的日平均RPM,准确率为88%。

20天预测

Actual and Predicted RPM for 20 days

mse_20d = mean_squared_error(np.exp(test_1d_log[0:20]), 
np.exp(pred_sarima_214_010_365_1d_log['2018-12-26':'2019-01-14']))
rmse_20d = np.sqrt(mse_20d)
cov_20d = rmse_20d / (np.exp(test_1d_log[0:20])).mean() * 100

print ("Mean Squared Error (MSE) =", mse_20d)
print ("Root Mean Squared Error (RMSE) =", rmse_20d)
print ("Coefficient of Variation =", cov_20d, "%")

# Mean Squared Error (MSE) = 533.8336605253844
# Root Mean Squared Error (RMSE) = 23.10484062973351
# Coefficient of Variation = 5.552258462827946 %

注:变异系数为5.55,这意味着该模型能够预测未来20天服务的日平均RPM,精确度为94%。

神经网络

基于预测的问题的神经网络模型与数学模型的工作方式不同。递归神经网络(RNN)是一类具有时间动态特性的人工神经网络。

LSTM(长-短期记忆)是最合适的RNN之一。为了发展LSTM模型,必须将时间序列预测问题重新定义为监督学习问题。

结论

  • 为了预测某些指标,如web服务的响应时间,需要非常有效的模型来预测实时时间序列数据。
  • 每个度量都有与其相关联的时间步长的适当粒度。对于预测响应时间,合适的时间步长粒度为秒或分钟。而对于自动缩放,预测每日RPM就足够了。
  • 在预测涉及多变量时间序列(如CPU使用率%或磁盘交换)的复杂指标时,应选择适当的模型,因为它可能不是单变量时间序列,且多个变量必须影响其值。
  • 为预测一个指标而开发的预测模型可能不适用于另一个指标。
  • 通过使用更大的数据集对模型进行训练并微调模型参数,可以提高模型的精度。

进一步阅读

  • 要了解本文中提到的其他时间序列预测模型的更多信息,您可以阅读Winter Holt和LSTM。
  • 要了解多变量时间序列的时间序列分析,请阅读Granger因果关系检验。
  • 对于ACF和PACF图,请参考自相关和偏自相关。

原文:https://towardsdatascience.com/time-series-analysis-and-forecasting-of-…

本文:https://jiagoushi.pro/node/1790

SEO Title
Time Series Analysis and Forecasting of Web Service Metrics

【数据分析】什么是描述性分析?

视频号

微信公众号

知识星球

Chinese, Simplified

描述性分析是一种统计解释,用于分析历史数据,以确定模式和关系描述性分析试图描述一个事件、现象或结果。它有助于了解过去发生的事情,并为企业跟踪趋势提供完美的基础

Descriptive Analytics Diagram

描述性分析就是在数据中寻找意义。数据需要上下文:分析提供了在何时何地将数据转化为可衡量的模式。

作为数据分析的一种形式,描述性分析是数据分析的四种关键类型之一。其他是诊断分析、预测分析和规定分析。

四种类型的分析如何协同工作

从一般意义上讲,分析就是发现数据中的模式,并将这些趋势传达给各个利益相关者。在处理丰富的记录数据时,分析使用统计、编程和运营研究来验证数据性能。分析有四种基本类型——描述性、诊断性、预测性和规定性。

组织通常将描述性分析和其他形式结合起来,以更全面地了解公司的业绩。描述性分析总结和解释历史数据,而其他分析论文则研究趋势和未来结果背后的原因。除了人类驱动的分析之外,这个过程还可能利用机器学习自动发现数据中的模式和连接。

诊断分析检查事情为什么会以这种方式发生,诊断问题或根本原因。它试图确定描述性分析之前可能发现的趋势和异常的原因。诊断分析可以通过数据挖掘和关联等方法来实现这一点。

顾名思义,预测分析使用历史数据进行预测。它提供了对特定未来结果的概率和可能影响的预测。这使组织的管理层能够以积极主动、数据支持的方式进行决策。公司还可以利用预测分析来了解问题可能产生的影响。

最后,规定性分析利用描述性、诊断性和预测性分析的结果,为企业提供建议,以确保良好的潜在结果。

描述性分析提供了什么信息?

描述性分析可以应用于企业的各种日常运营活动。库存报告、各种工作流程、销售数据和收入统计数据都基于描述性分析。这些报告共同为一家公司提供了其运营的历史概览。可以收集此类语句中的数据,作为创建各种业务相关函数的特定快照的基础。

社会分析是创建此类快照的描述性分析的一个例子。对于社交媒体上发布的每一篇帖子,都可以对页面的关注者、帖子获得的点赞、互动评论、页面浏览量和可用响应时间进行分析。所有这些因素都确定了页面对目标受众的影响,并且在汇总时,将重点关注任何差距或需要改进的领域。它有助于更好地理解消费者的态度。

然而,必须理解的是,描述性分析只确定模式,而不会超越表面数据分析。他们不会做出推论或做出预测。虽然年度收入销售报告可能显示企业今年盈利,但管理层需要其他方法将其与前几年的账目进行比较,以了解该利润是高于还是低于前几年。这样的比较将有助于组织得出一个趋势。

描述性分析是如何工作的?

为了使描述性分析发挥作用,组织首先需要创建一组衡量业务绩效和业务目标的指标。例如,制造业企业可能会出现原材料价格同比变化或月度收入增长指标。科技公司可能会检查他们每月增加了多少用户,或者他们创建了多少技术升级。有了必要的衡量标准,就必须收集相关数据。然后必须对其进行管理、清理,并为下一步数据分析做好准备。

描述性分析的历史数据收集使用两种主要技术——数据聚合和数据挖掘。公司通过数据聚合将数据收集并组织到可管理的数据集中。收集的数据使用各种工具和方法进行分析,如汇总统计或模式跟踪。分析师利用这些数据来研究数据,发现模式,进而发现性能。

公司如何使用描述性分析的示例:

  • 描述性分析的一些结果包括创建与销售、收入和工作流程相关的广泛报告,包括库存报告
  • 基于多种指标,从各种平台深入了解社交媒体的使用及其参与度
  • 已结束的事件摘要,如营销活动、运营数据、与销售相关的可衡量指标
  • 调查结果整理
  • 关于总体趋势报告

这种形式的分析对于评估学习者的数据以从培训计划中创造更好的结果非常宝贵。

例如,当多国董事会举行数字会议时,描述性分析可以确定有多少成员是讨论的积极参与者、互动水平以及有多少成员被发布在讨论论坛上。另一个例子是报告财务指标,如定价的同比变化、月度销售额增长(或下降)数字和订户收入。这些数据基于固定业务期间内发生的情况。

如何将描述性分析应用于组织

理解描述性分析的基本原理似乎很简单,但在现实生活中应用它可能很有挑战性。组织需要遵循以下几个步骤才能将描述性分析应用于其业务。

确定相关指标

首先,组织需要知道要创建的度量。这些指标应该反映公司或组织每个部门的主要业务目标。管理层可能希望从季度角度看待增长,或者可能需要跟踪未付款项以了解延迟情况。识别各种数据度量是第一步。

如果这一步骤没有经过一些考虑就完成了,那么结果将毫无帮助。组织需要了解什么是可衡量的,如何收集适当的数据,以及它是否适用。

营销和销售部门就是一个例子;销售代表将跟踪每月的销售收入。会计会想检查财务指标,如毛利率。

确定支持这些指标的数据

下一步是找到支持所需指标所需的数据。这些数据可以在一些组织的多个siloe和文件中找到。如果一个组织已经使用企业资源规划(ERP)系统,那么所需的大部分数据可能已经在公司内部。确定所需的任何外部来源,特别是与行业基准、非公司数据库、电子商务网站和许多社交媒体网站相关的来源。

数据提取和准备

如果一个组织跨多个数据源工作,则需要提取数据、合并数据,并为分析做好准备,以确保一致性。这是一个旷日持久的过程,但对准确性至关重要。数据清理是去除冗余和错误,并以适合分析的格式创建数据的一部分。

数据分析

有几种工具可用于提供描述性分析。这些可以从基本的电子表格到各种更复杂的商业智能(BI)软件。这些可以是基于云的、现场的。这些程序使用各种算法来创建对所提供数据的准确摘要和见解。

数据展示

描述性分析的最后一个方面是呈现数据。这通常是使用可视化技术来完成的,通过引人注目和令人兴奋的演示形式,让用户可以访问数据以理解。条形图、饼图和折线图等选项显示信息。虽然这样一个视觉上吸引人的演示是一些部门喜欢他们的知识的方式,但金融专业人士可能会选择表格和数字中的数据。应为最终用户提供便利。

描述性分析的好处

描述性分析有几个好处。

简单分析

描述性分析不需要统计学方法或分析方面的专业知识或经验。

许多可用工具

许多应用程序将此功能作为一种即插即用的分析形式。

它回答了最常见的业务绩效问题

大多数利益相关者和销售人员都希望简单回答基本问题,如“我们过得怎么样?”或“为什么销售额下降?”描述性分析提供了有效回答这些问题的数据。

描述性分析面临的挑战

与任何其他工具一样,描述性分析也并非没有问题。对于想要使用描述性分析的组织来说,有三个重大挑战。

它是一个没有洞察力的生硬工具

描述性分析考察了少数变量之间的关系,仅此而已。它简单地描述了正在发生的事情。组织必须确保用户了解描述性分析将提供什么。

它告诉一个组织什么,而不是为什么

描述性分析报告事件发生的情况,而不是事件发生的原因或接下来可能发生的事情。组织将需要完全运行完整的分析套件来掌握情况。

可以测量错误的东西

如果使用了不正确的度量,则分析是无用的。组织必须分析他们想要衡量的内容以及原因。必须将思想融入这一过程,并与当前数据所能提供的结果相匹配。

数据质量差

虽然可以收集大量的数据,但如果没有帮助或充满错误,就不会产生准确的结果。在组织决定了所需的指标后,必须对数据进行检查,以确保它能够提供这些信息。一旦确定它将提供相关信息,就必须彻底清理数据。必须解决错误数据、重复数据和丢失的数据字段。

未来数据分析中的描述性分析

从销售和财务到改善供应链,企业越来越成为数据驱动型企业,使用描述性分析的结果进行优化或商业实践。未来的预测是,数据分析将脱离预测分析,转向规范分析。

数据分析的理想用途是描述已经发生的事情,并准确预测未来。以GPS导航系统为例。描述性分析评估以前的交付路线、所用时间和燃料使用情况。然而,它没有预测未来最快的路线、提高速度的方法或如何减少燃料使用。

为此,组织需要使用预测分析。比简单的描述性分析更进一步,将为组织提供最佳的交付方向。使用规范性分析可以帮助比较多条旅行路线,并为驾驶员、道路或一天中的时间提出最佳路线。

描述性分析是企业用来理解其收集的大量历史数据含义的基本技术。这是一种有助于监控趋势和性能的技术,同时跟踪关键性能指标和您缩小范围的任何其他指标。然而,这是一个简单的工具,应该被视为过程中的一个步骤,而不是最终目标。为了获得最佳结果,组织必须在预测、诊断和规定分析的同时使用描述性分析,以获得更深刻的见解、准确的预测,以及如何改进结果。

本文地址
https://architect.pub
SEO Title
What is Descriptive Analytics?

【数据分析】什么是描述性分析?5个示例

视频号

微信公众号

知识星球

Chinese, Simplified

对于旨在增加收入、改进产品和留住客户的企业来说,数据分析是一种有价值的工具。根据全球管理咨询公司麦肯锡公司的研究,使用数据分析的公司在获得新客户方面比非数据驱动的公司更有可能超越竞争对手23倍。在客户忠诚度方面,他们超过他们的可能性是他们的9倍,实现高于平均水平盈利的可能性是其他公司的19倍。

数据分析可分为四种关键类型:

  • 描述性,回答问题“发生了什么?”
  • 诊断,它回答了一个问题,“为什么会发生这种情况?”
  • 预测,它回答了“未来可能发生什么?”
  • 规定性的,它回答了“我们下一步应该做什么?”

每种类型的数据分析都可以帮助您实现特定目标,并协同使用来创建数据的全貌,为您的组织的战略制定和决策提供信息。

描述性分析可以单独使用,也可以作为其他三种分析类型的基础。如果你是商业分析领域的新手,那么描述性分析是一个容易上手且值得入手的地方。

什么是描述性分析?

描述性分析是使用当前和历史数据来确定趋势和关系的过程。它有时被称为最简单的数据分析形式,因为它描述了趋势和关系,但没有深入挖掘。

描述性分析是相对可访问的,很可能是您的组织每天使用的东西。基本的统计软件,如Microsoft Excel或数据可视化工具,如Google Charts和Tableau,可以帮助解析数据,识别趋势和变量之间的关系,并直观地显示信息。

描述性分析对于传达随着时间的变化尤其有用,并将趋势作为进一步分析的跳板来推动决策。

以下是五个描述性分析的例子,可用于您的组织。

相关:专业人士的5项商业分析技能

描述性分析的5个例子

1.交通和参与报告

描述性分析的一个例子是报告。如果你的组织以社交媒体分析或网络流量的形式跟踪参与度,那么你已经在使用描述性分析了。

这些报告是通过获取用户与您的网站、广告或社交媒体内容交互时生成的原始数据来创建的,并使用这些数据将当前指标与历史指标进行比较并可视化趋势。

例如,您可能负责报告哪些媒体渠道为您公司网站的产品页面带来了最大的流量。使用描述性分析,您可以分析页面的流量数据,以确定每个来源的用户数量。您可以决定更进一步,将流量源数据与来自相同来源的历史数据进行比较。这可以让你更新你的团队的动态;例如,强调付费广告的流量同比增长了20%。

然后,可以使用其他三种分析类型来确定每个来源的流量随着时间的推移而增加或减少的原因,预测趋势是否会继续,以及团队的最佳行动方案是什么。

2.财务报表分析

你可能熟悉的描述性分析的另一个例子是财务报表分析。财务报表是一种定期报告,详细说明企业的财务信息,并综合反映公司的财务健康状况。

财务报表有几种类型,包括资产负债表、利润表、现金流量表和股东权益表。每一个都迎合了特定的受众,并传达了关于公司财务的不同信息。

财务报表分析可以通过三种主要方式进行:纵向、横向和比率。

垂直分析包括从上到下阅读一份声明,并将每个项目与上面和下面的项目进行比较。这有助于确定变量之间的关系。例如,如果每个行项目都占总数的一个百分比,那么比较它们可以深入了解哪些项目占总数的百分比越来越大。

横向分析包括从左到右阅读一份声明,并将每一项与前一时期的内容进行比较。这种类型的分析决定了随时间的变化。

最后,比率分析包括根据报告的一个部分与整体的关系将其与另一部分进行比较。这可以直接比较不同时期的项目,以及您公司与行业的比率,以衡量您公司的表现是过度还是表现不佳。

这些财务报表分析方法都是描述性分析的例子,因为它们提供了基于当前和历史数据的趋势和变量之间关系的信息。

3.需求趋势

描述性分析也可用于识别客户偏好和行为的趋势,并对特定产品或服务的需求做出假设。

流媒体提供商Netflix的趋势识别为描述性分析提供了一个极好的用例。Netflix的团队有着高度数据驱动的记录,他们收集用户在平台内行为的数据。他们分析这些数据,以确定哪些电视剧和电影在任何给定时间都在流行,并在平台主屏幕的一部分列出流行标题。

这些数据不仅让Netflix用户能够看到什么是受欢迎的,因此,他们可能喜欢看什么,而且让Netflix团队知道在某个时间段,哪些类型的媒体、主题和演员特别受欢迎。这可以推动有关未来原创内容创作、与现有制作公司签订合同、营销和重新定位活动的决策。

4.汇总调查结果

描述性分析在市场研究中也很有用。当需要从调查和焦点小组数据中收集见解时,描述性分析可以帮助识别变量和趋势之间的关系。

例如,你可以进行一项调查,发现随着受访者年龄的增长,他们购买你产品的可能性也会增加。如果你在几年内多次进行这项调查,描述性分析可以告诉你这种年龄购买相关性是否一直存在,或者是今年才发生的事情。

像这样的见解可以为诊断分析铺平道路,解释为什么某些因素是相关的。然后,您可以利用预测性和规范性分析,根据这些趋势规划未来的产品改进或营销活动。

5.实现目标的进展

最后,可以应用描述性分析来跟踪实现目标的进度。报告关键绩效指标(KPI)的进展情况可以帮助您的团队了解工作是否正在进行或是否需要进行调整。

例如,如果你的组织的目标是达到每月500000次的独特页面浏览量,你可以使用流量数据来沟通你是如何跟踪的。也许在这个月的一半,你的独特页面访问量达到了200000次。这将表现不佳,因为你希望在这一点上达到目标的一半——25万次独特的页面浏览量。这种对团队进度的描述性分析可以进行进一步的分析,以检查可以采取哪些不同的措施来提高流量,并回到实现KPI的轨道上。

利用数据识别关系和趋势

哈佛商学院教授Jan Hammond在在线课程《商业分析》中表示:“以前从未有过每天每秒都会收集和存储这么多不同事物的数据。”。“在这个大数据的世界里,数据素养——分析、解释甚至质疑数据的能力——是一项越来越有价值的技能。”

利用描述性分析来传达基于当前和历史数据的变化,并作为诊断、预测和规定分析的基础,有可能让您和您的组织走得更远。

本文地址
https://architect.pub/what-descriptive-analytics-5-examples
SEO Title
WHAT IS DESCRIPTIVE ANALYTICS? 5 EXAMPLES

【数据分析】什么是数据挖掘?它的工作原理、优点、技术和示例

视频号

微信公众号

知识星球

Chinese, Simplified

什么是数据挖掘?

数据挖掘是搜索和分析大量原始数据以识别模式并提取有用信息的过程。

公司使用数据挖掘软件来了解更多关于客户的信息。它可以帮助他们制定更有效的营销策略,增加销售额,降低成本。数据挖掘依赖于有效的数据收集、仓储和计算机处理。

关键要点

  • 数据挖掘是分析大量信息以辨别趋势和模式的过程。
  • 从了解客户对什么感兴趣或想买什么到欺诈检测和垃圾邮件过滤,公司都可以使用数据挖掘。
  • 数据挖掘程序根据用户请求或提供的信息来分解数据中的模式和连接。
  • 社交媒体公司使用数据挖掘技术将用户商品化,以产生利润。
  • 这种数据挖掘的使用最近受到了批评,因为用户往往不知道他们的个人信息中发生的数据挖掘,尤其是当它被用来影响偏好时。

数据挖掘的工作原理

数据挖掘包括探索和分析大块信息,以收集有意义的模式和趋势。它用于信用风险管理、欺诈检测和垃圾邮件过滤。它也是一种市场研究工具,有助于揭示特定人群的情绪或意见。数据挖掘过程分为四个步骤:

  • 数据在现场或云服务上收集并加载到数据仓库中。
  • 业务分析师、管理团队和信息技术专业人员可以访问数据,并决定如何组织数据。
  • 自定义应用程序软件对数据进行排序和组织。
  • 最终用户以易于共享的格式显示数据,例如图形或表格。

数据仓库和挖掘软件

数据挖掘程序根据用户请求分析数据中的关系和模式。它将信息组织到类中。

例如,一家餐厅可能想使用数据挖掘来确定它应该提供哪些特色菜以及在什么日子提供。数据可以根据客户访问的时间和他们订购的内容组织成类。

在其他情况下,数据挖掘者根据逻辑关系找到信息集群,或者查看关联和顺序模式,以得出有关消费者行为趋势的结论。

仓储是数据挖掘的一个重要方面。仓储是将组织的数据集中到一个数据库或程序中。它允许组织剥离数据片段,供特定用户根据其需求进行分析和使用。

云数据仓库解决方案利用云提供商的空间和能力来存储数据。这使较小的公司能够利用数字解决方案进行存储、安全和分析。

数据挖掘技术

数据挖掘使用算法和各种其他技术将大量数据集合转换为有用的输出。最流行的数据挖掘技术类型包括:

  • 关联规则,也称为市场篮子分析,搜索变量之间的关系。这种关系本身在数据集中创建附加值,因为它努力链接数据片段。例如,关联规则将搜索一家公司的销售历史,以查看哪些产品最常一起购买;有了这些信息,商店可以进行计划、促销和预测。
  • 分类:使用预定义的类来指定给对象。这些类描述项目的特征,或者表示数据点与每个数据点的共同点。这种数据挖掘技术允许对基础数据进行更巧妙的分类,并在类似的功能或产品线中进行总结。
  • 聚类:类似于分类。然而,集群识别对象之间的相似性,然后根据它们与其他项目的不同对这些项目进行分组。虽然分类可能会产生“洗发水”、“护发素”、“肥皂”和“牙膏”等组,但聚类可能会识别出“头发护理”和“牙齿健康”等组
  • 决策树:用于根据一组标准或决策列表对结果进行分类或预测。决策树用于要求输入一系列级联问题,这些问题根据给出的回答对数据集进行排序。决策树有时被描述为类似树的可视化,当深入数据时,决策树允许特定的方向和用户输入。
  • K-最近邻(KNN)是一种根据数据与其他数据的接近程度对数据进行分类的算法。KNN的基础植根于这样一种假设,即彼此接近的数据点比其他数据位更相似。这种非参数监督技术用于基于单个数据点预测组的特征。
  • 神经网络:通过使用节点来处理数据。这些节点由输入、权重和输出组成。数据是通过监督学习绘制的,类似于人脑互联的方式。该模型可以被编程以给出阈值来确定模型的准确性。
  • 预测分析:努力利用历史信息建立图形或数学模型来预测未来的结果。该技术与回归分析相重叠,旨在根据现有数据支持未来的未知数字。

数据挖掘过程

为了最有效,数据分析师通常在数据挖掘过程中遵循一定的任务流。如果没有这种结构,分析师可能会在分析过程中遇到一个问题,如果他们更早做好准备,这个问题本可以很容易地避免。数据挖掘过程通常分为以下几个步骤。

第一步:了解业务

在接触、提取、清理或分析任何数据之前,了解底层实体和手头的项目是很重要的。该公司试图通过挖掘数据来实现哪些目标?他们目前的业务状况如何?SWOT分析的结果是什么?在查看任何数据之前,挖掘过程首先要了解在过程结束时成功的定义。

第2步:了解数据

一旦明确定义了业务问题,就应该开始考虑数据了。这包括可用的来源,如何保护和存储这些来源,如何收集信息,以及最终结果或分析可能是什么样子。此步骤还包括确定数据、存储、安全性和收集的限制,并评估这些限制将如何影响数据挖掘过程。

步骤3:准备数据

收集、上传、提取或计算数据。然后对其进行清理、标准化、清除异常值、评估错误并检查合理性。在数据挖掘的这个阶段,还可以检查数据的大小,因为过大的信息集合可能会不必要地减慢计算和分析。

步骤4:建立模型

有了我们干净的数据集,是时候处理数字了。数据科学家使用上述类型的数据挖掘来搜索关系、趋势、关联或顺序模式。数据还可以被馈送到预测模型中,以评估先前的信息比特如何转化为未来的结果。

第5步:评估结果

数据挖掘以数据为中心的方面通过评估一个或多个数据模型的发现来结束。分析的结果可能会被汇总、解释并呈现给决策者,而到目前为止,决策者在很大程度上被排除在数据挖掘过程之外。在这一步骤中,组织可以选择根据调查结果做出决策。

步骤6:实施变更和监控

数据挖掘过程以管理层根据分析结果采取措施结束。公司可能会认为信息不够有力,或者调查结果不相关,或者公司可能会根据调查结果进行战略调整。在任何一种情况下,管理层都会审查业务的最终影响,并通过识别新的业务问题或机会来重新创建未来的数据挖掘循环。

不同的数据挖掘处理模型将有不同的步骤,尽管一般过程通常非常相似。例如,知识发现数据库模型有九个步骤,CRISP-DM模型有六个步骤,SEMMA过程模型有五个步骤。1

数据挖掘的应用

在当今的信息时代,几乎任何部门、行业、部门或公司都可以利用数据挖掘。

销售额

数据挖掘鼓励更智能、更高效地利用资本来推动收入增长。考虑一下你最喜欢的当地咖啡店的销售点登记。每次销售,咖啡馆都会收集购买的时间和销售的产品。利用这些信息,商店可以战略性地设计其产品线。

市场营销

一旦上面的咖啡馆知道了它的理想阵容,是时候实施这些改变了。然而,为了使营销工作更加有效,该店可以使用数据挖掘来了解客户在哪里看到广告,目标人群是什么,在哪里投放数字广告,以及哪些营销策略最能引起客户的共鸣。这包括根据数据挖掘结果调整营销活动、促销优惠、交叉销售优惠和计划。

制造业

对于生产自己商品的公司来说,数据挖掘在分析每种原材料的成本、最有效地使用哪些材料、在制造过程中花费的时间以及对过程产生负面影响的瓶颈方面发挥着不可或缺的作用。数据挖掘有助于确保货物的流动不受干扰。

欺诈检测

数据挖掘的核心是找到将数据点连接在一起的模式、趋势和相关性。因此,公司可以使用数据挖掘来识别不应该存在的异常值或相关性。例如,一家公司可能会分析其现金流,并发现一个未知账户的重复交易。如果这是出乎意料的,该公司可能希望调查资金是否管理不善。

人力资源

人力资源部门通常有广泛的数据可供处理,包括关于留用、晋升、工资范围、公司福利、这些福利的使用以及员工满意度调查的数据。数据挖掘可以将这些数据关联起来,以更好地了解员工离职的原因以及吸引新员工的因素。

客户服务

客户满意度的产生(或破坏)可能有多种原因。想象一下,一家运输货物的公司。客户可能对运输时间、运输质量或通信不满意。同一位客户可能会因电话等待时间过长或电子邮件回复缓慢而感到沮丧。数据挖掘收集有关客户互动的运营信息,并总结调查结果,以找出薄弱环节,突出公司的正确做法。

数据挖掘的好处

数据挖掘可以确保公司收集和分析可靠的数据。它通常是一个更严格、结构化的过程,正式识别问题,收集与问题相关的数据,并努力制定解决方案。因此,数据挖掘有助于企业变得更有利可图、更高效或运营更强大。

数据挖掘在不同的应用程序中看起来可能非常不同,但整个过程几乎可以用于任何新的或遗留的应用程序。从本质上讲,任何类型的数据都可以收集和分析,几乎每一个依赖于合格证据的业务问题都可以使用数据挖掘来解决。

数据挖掘的最终目标是获取原始信息,并确定数据之间是否存在内聚性或相关性。数据挖掘的这一好处使公司能够利用手头的信息创造价值,否则这些信息不会过于明显。尽管数据模型可能很复杂,但它们也可以产生令人着迷的结果,挖掘隐藏的趋势,并提出独特的策略。

数据挖掘的局限性

数据挖掘的复杂性是其最大的缺点之一。数据分析通常需要技术技能和某些软件工具。规模较小的公司可能会发现这是一个难以克服的进入壁垒。

数据挖掘并不总是能保证结果。一家公司可能会进行统计分析,根据强有力的数据得出结论,实施变革,但不会获得任何好处。通过不准确的发现、市场变化、模型错误或不适当的数据群体,数据挖掘只能指导决策,而不能确保结果。

数据挖掘还有一个成本组成部分。数据工具可能需要昂贵的订阅,并且某些数据位的获取成本可能很高。安全和隐私问题可以得到缓解,尽管额外的IT基础设施也可能成本高昂。当使用庞大的数据集时,数据挖掘可能也是最有效的;然而,这些数据集必须被存储,并且需要大量的计算能力来进行分析。

即使是大公司或政府机构也面临数据挖掘方面的挑战。以美国食品药品监督管理局关于数据挖掘的白皮书为例,该白皮书概述了不良信息、重复数据、少报或多报的挑战。2

数据挖掘与社交媒体

数据挖掘最有利可图的应用之一是由社交媒体公司进行的。Facebook、TikTok、Instagram和Twitter等平台根据用户的在线活动收集了大量用户数据。

这些数据可以用来推断他们的偏好。广告商可以将他们的信息瞄准那些看起来最有可能做出积极回应的人。

社交媒体上的数据挖掘已成为争论的焦点,几份调查报告和曝光显示,挖掘用户的数据可能具有多大的侵入性。问题的核心是,用户可能会同意网站的条款和条件,但没有意识到他们的个人信息是如何被收集的,也没有意识到信息被卖给了谁。

数据挖掘示例

数据挖掘可以被用来做好事,也可以被非法使用。以下是两者的一个例子。

易趣和电子商务

易趣每天都从卖家和买家那里收集无数的信息。该公司使用数据挖掘来确定产品之间的关系,评估所需的价格范围,分析先前的购买模式,并形成产品类别。3

易趣将推荐流程概括为:

  • 原始项目元数据和用户历史数据被聚合。
  • Scripps在经过训练的模型上运行,以生成和预测项目和用户。
  • 执行KNN搜索。
  • 结果被写入数据库。
  • 实时推荐获取用户ID,调用数据库结果,并将其显示给用户。3

Facebook剑桥分析丑闻

数据挖掘的另一个警示性例子是Facebook剑桥分析公司的数据丑闻。2010年代,英国咨询公司剑桥分析有限公司收集了数百万Facebook用户的个人数据。这些信息后来被分析用于2016年特德·克鲁兹和唐纳德·特朗普的总统竞选。有人怀疑剑桥分析公司干扰了英国脱欧公投等其他著名事件。4

鉴于这种不恰当的数据挖掘和用户数据的滥用,脸书同意支付1亿美元,因为它在使用消费者数据方面误导了投资者。美国证券交易委员会(Securities and Exchange Commission)声称,脸书在2015年发现了这种滥用行为,但在两年多的时间里没有纠正其披露的信息。5

常见问题

数据挖掘的类型是什么?

数据挖掘主要有两种类型:预测数据挖掘和描述性数据挖掘。预测数据挖掘提取可能有助于确定结果的数据。描述数据挖掘通知用户给定的结果。

数据挖掘是如何完成的?

数据挖掘依赖于大数据和先进的计算过程,包括机器学习和其他形式的人工智能。目标是从大型和非结构化数据集中找到能够导致推断或预测的模式。

数据挖掘的另一个术语是什么?

数据挖掘也使用较少使用的术语“数据中的知识发现”或KDD。

数据挖掘在哪里使用?

数据挖掘应用程序的设计几乎可以承担任何依赖大数据的工作。金融行业的公司在市场中寻找模式。各国政府试图识别潜在的安全威胁。公司,尤其是在线和社交媒体公司,利用数据挖掘来创建针对特定用户群体的盈利广告和营销活动。

底线

现代企业有能力收集有关客户、产品、生产线、员工和店面的信息。这些随机的信息片段可能无法讲述故事,但数据挖掘技术、应用程序和工具的使用有助于将信息拼凑在一起。

数据挖掘过程的最终目标是汇编数据,分析结果,并根据数据挖掘结果执行操作策略。

本文地址
https://architect.pub
SEO Title
What Is Data Mining? How It Works, Benefits, Techniques, and Examples

【数据分析】实时分析带来了解锁优势的挑战

视频号

微信公众号

知识星球

Chinese, Simplified

实时分析使组织能够更快地做出决策。然而,糟糕的数据,或者没有准备好进行实时分析的文化,可能会破坏这些好处。

实时分析工具有望提供更快的洞察力和改进的业务流程,但它们也给采用它们的组织带来了挑战

随着2023年实时分析的使用增加,实施错误会耗费时间和金钱,导致糟糕的商业决策,并导致员工对技术的潜力失去信心。

人工智能、数据和分析网络2022年11月发布的一项全球调查显示,高级分析的首要投资领域是复杂的事件处理,52%的公司已经在投资。复杂事件处理是一组可以实时分析运动中的大量数据流的技术。另有37%的受访者表示他们正在使用流媒体分析。

增加对分析技术的投资并不能保证成功。如果每个人都不认同实时分析的含义,组织就有失去时间、金钱和士气的风险。糟糕的实施也可能导致糟糕的数据导致糟糕的决策。即使是好的数据分析实现也具有挑战性,因为实时信息可以而且应该改变业务规范。

预期不一致造成的时间和金钱损失

如果管理层和员工对实时意味着什么有不同的想法,就会发生代价高昂的错误。

实时分析软件公司Rockset的首席执行官Venkat Venkataramani表示,当有可能失去销售额或失去大客户时,必须充分理解实时分析的定义。

Venkataramani提供了一个实时分析推出出错的例子。一家先买后付的提供商遇到了问题,因为管理层认为实时意味着最新的一分钟,而实施分析项目的团队认为延迟六个小时就足够实时了。

Venkataramani说,数据团队从一个数据仓库开始。“随着规模的扩大,在这六个小时的窗口期内可能发生的潜在损失越来越大。他们已经损失了很多付款和很多利润增长。”

项目中的利益相关者没有就需求达成一致,因此没有选择正确的平台来实现。

Venkataramani说:“使用非实时构建的错误工具,要么会给你带来延迟很大的数据,比如落后六小时的旧数据,要么只会给你一个非常昂贵的解决方案,你无法获得投资回报。”。

这不是一个罕见的错误。事实上,人工智能、数据与分析网络的调查显示,44%的组织仍然缺乏企业范围的数据战略。

糟糕的商业决策源于糟糕的数据

垃圾进,垃圾出一直是计算机领域的真理。

当流程进展缓慢时,有时间发现错误并在成本过高之前进行修复。通过实时分析,纠正问题的机会窗口几乎缩小到零。

公司必须从一开始就确保数据是干净的,这并不容易。数据管道管理工具提供商远大前程2022年5月的一项调查显示,在500名IT和数据专业人士中,91%的人表示这会影响公司的业绩。

Gartner估计,一家普通公司每年的不良数据成本为1290万美元。在实时环境中,潜在的损失会加剧。

专业服务公司简柏特的首席数字官Sanjay Srivastava说:“如果你不能正确处理噪音,而且行动太快,你最终可能会做出糟糕的决定。”。

实时修复数据问题也不容易。事实上,有时数据的来源是不正确的。例如,简柏特跟踪重型机械发动机的许多物联网参数,并使用这些数据来预测维护需求。这些数据令人不安。来自物理传感器的数据可能不均匀或不稳定。只是背景噪声的随机波动随着时间的推移而平均化,以提供有意义的信息。

但在现实中,没有机会。

斯里瓦斯塔瓦说:“如果你一点一点地看,它可能会给你不一致的结果,告诉你什么时候需要修复。”。他补充道,组织必须考虑数据是什么,结论是什么,以及它对你使用它的环境是否有意义。

Gartner杰出副总裁分析师Roy Schulte表示,传统的数据质量程序和工具并不总是有效的。“你没有时间,”他说。

有一些新的工具可以帮助公司处理实时数据问题,包括其他软件解决方案和开源选项,如Apache Flink,可以在短时间内多次计算答案。例如,有人可能想知道一台特定的机器目前的性能如何。

舒尔特说:“使用Flink,你可以计算两次答案。”。“你现在就可以计算出答案,五分钟后你可以回来重新计算同一时间段。”他说,通过考虑延迟到达的数据,最终结果更准确。

失去信心、士气低落和部门间冲突

转向实时分析可能会颠覆企业的运营方式,给员工和业务部门带来压力。

根据NewVantage Partners于2023年1月发布的一项调查,94%的组织计划在2023年增加数据投资。约80%的人表示,组织的可接受性和一致性、流程的变化以及人员和技能是他们从数据中获得价值的最大障碍。

推出实时分析时要克服的第一个挑战并不总是关于数据或工具。数据集成软件提供商CData Software的高级技术宣传员Jerod Johnson表示,这关乎组织的心态。

他说:“每个人都熟悉从数周、数月甚至数年的数据中分析和寻找意义的做法。”。“如果你的组织正在实时分析数据,那么如果你所做的工作被证明是无效的,你需要有适当的流程来快速改变方向。”

这包括采用新技术并教育员工如何使用这些技术。在推出实时分析时,公司需要遵循变革管理的最佳实践,包括定期沟通,建立一个强有力的变革案例,让员工参与其中,为员工提供培训和支持,以及如何管理阻力的计划,并庆祝成功。但实时分析也需要注意行动过快的风险,包括任何潜在错误的影响。

约翰逊说:“你需要有一种接受偶尔错误分析的氛围。”。“当学会快速做出决策时,组织需要适应早期失败和快速恢复的概念。”

本文地址
https://architect.pub
SEO Title
Real-time analytics presents challenges to unlock benefits

【数据分析】我们如何削减约95%的分析报告成本以及我们学到了什么

视频号

微信公众号

知识星球

Chinese, Simplified

GovTech Edu的重点之一是为教育、文化、研究和技术部(MoECRT)开发数字产品(称为:应用程序),例如为教师提供的Merdeka Mengahal平台(PMM)和为大学利益相关者(学生、讲师、行业合作伙伴和从业者)提供的Kampus Merdeka平台。这些应用程序生成了大量数据,我们可以进一步利用这些数据进行分析和建模,以帮助MoECRT采取行动,改进数字产品和程序本身。鉴于生成数据的重要作用,我们可能会将应用程序生成的数据视为其本身的产品。为了优化下游的数据利用率,我们构建了简化的数据管道,就像您的普通管道一样。

Figure 1. Data Pipeline in General

我们使用Google BigQuery来存储数据,dbt用于我们的数据处理平台,Google Looker Studio作为我们的数据可视化平台。

为了支持我们提供仪表盘和每日报告的渠道——让我们从现在开始使用“报告”一词——我们监控数据质量和处理数据的基础设施成本。我们还为查询处理设置了每日配额限制。我们将这种成本监控和限制视为高度优先事项,因为我们必须尽可能深思熟虑,在不影响总成本的情况下为我们的数据获得最佳价值。

我们如何诊断和分析我们的成本?

随着用户对我们平台的采用呈指数级增长,我们的数据处理成本在前3个月持续增长了4倍以上(图2)。这导致每日配额限制受到更频繁的打击。一些ETL(或ELT)已停止运行,并且报告中未显示数字(或业务指标)。由于产品经理、部门负责人甚至部委的利益相关者等内部和外部利益相关者都需要这些报告,我们的数据分析师和科学家通过手动重新运行来帮助我们。然而,这种手动工作是不可扩展的,也没有给我们的人才带来任何最佳价值。

Figure 2. BigQuery Cost Growth in 3 Months

为了应对这些挑战,我们根据BigQuery审核日志-数据访问中的目标表评估了成本最高的BigQuery作业。我们通过以下3个步骤创建了一个成本监控面板:

  1. 通过观察模式对工作进行分类;执行者的电子邮件、作业名称、来源、目的地表等。其中一些类别包括dbt作业(ELT)、BigQuery控制台、Python和谷歌电子表格
  2. 创建dbt作业以每天计算BigQuery作业的成本,并将其存储在表中
  3. 使用此表作为源,我们制作了一个仪表板,其中包括要分析的多个可视化

我们发现dbt作业是成本最高的类别之一。

然后,从这些dbt作业中,我们根据以下标准连续选择需要处理的作业:

  1. 在这段时间内成本最高的人
  2. 使用简单的折线图查看成本趋势倾斜趋势中的工作排名会更高,下降趋势中的职位排名会更低
  3. 每个作业平均运行成本最高的作业,因为一旦这些作业需要更频繁地运行,成本就会显著上升
  4. 那些拥有最多工作的人

成本效率低下及其解决方案

在分析了有问题的dbt作业、更新其查询和验证结果(数字保持不变+成本降低)后,我们了解到在BigQuery中处理数据时可能会发现这些效率低下的问题。

处理可以每天更新的所有时间数据

想象一下,你在一个电子商务应用程序工作,你的工作是提供交易和收入的每日摘要。您可以通过查询原始订单表并将结果存储在汇总表中来实现这一点。相当简单。然后创建每天运行的查询。

SELECT
  order_date,
  SUM(1) AS transactions,
  SUM(total_amount) AS revenue
FROM
  `raw.order`
GROUP BY
  order_date
ORDER BY
  order_date

通常,ELT是在D-1数据上运行的,这意味着你要等到第二天才能完全收集第一天的数据,然后再进行处理。因此,在第二天运行时,这就是你的结果。

╔════════════╦══════════════╦═══════════╗
║ order_date ║ transactions ║ revenue ║
╠════════════╬══════════════╬═══════════╣
║ 2022-01-01 ║ 1,124 ║ 3,567,300 ║
╚════════════╩══════════════╩═══════════╝

假设1行表示1个事务。这意味着您将在2022年1月1日处理1124行数据。

继续到第二天。

╔════════════╦══════════════╦═══════════╗
║ order_date ║ transactions ║ revenue ║
╠════════════╬══════════════╬═══════════╣
║ 2022-01-01 ║ 1,124 ║ 3,567,300 ║
║ 2022-01-02 ║ 1,549 ║ 4,938,100 ║
╚════════════╩══════════════╩═══════════╝

2022年1月3日,您总共处理了2673行。这就是它变得有趣的地方。如果你再看一次,你已经运行了两次1月1日的数据。然而,“交易”和“收入”的结果分别为1124和3567300。这意味着您正在重新计算1124行数据,以获得相同的结果。听起来有点浪费,是吗?

想象一下,这个过程一直持续到2022年1月6日。

╔════════════╦══════════════╦═══════════╗
║ order_date ║ transactions ║ revenue ║
╠════════════╬══════════════╬═══════════╣
║ 2022-01-01 ║ 1,124 ║ 3,567,300 ║
║ 2022-01-02 ║ 1,549 ║ 4,938,100 ║
║ 2022-01-03 ║ 1,374 ║ 4,538,900 ║
║ 2022-01-04 ║ 862 ║ 2,551,600 ║
║ 2022-01-05 ║ 938 ║ 3,498,500 ║
╚════════════╩══════════════╩═══════════╝

现在,您正在处理5847行,并且已经重新计算

  1. 1月1日数据的4倍,
  2. 1月2日数据的3倍,
  3. 1月3日数据的2倍,以及
  4. 1次1月4日的数据。

随着时间的推移,这个数字将不断增加。这就是处理后的数据的样子,与此相一致的是成本。

那么我们该如何解决这个问题呢?解决方案是只对新数据(以前没有计算过的数据)运行查询,并将结果附加到结果表中,而不是完全重写。换句话说:

  1. 在日期2,只运行1月1日的数据,然后将结果追加到汇总表中
  2. 在第3天,只运行1月2日的数据,然后像第1点一样追加结果
  3. 等等

处理后的数据将如下所示。它要小得多——这会导致更快的流程——而且效率更高,不是吗?

 

我们可以通过对日常数据而不是所有时间进行计算来降低成本。我们的日常数据越大,这种方法就越能为我们省钱。

在BigQuery中,这个称为分区的概念根据表的字段将表拆分为“迷你表”。在查询中,我们可以检索这些分区,而不是一个完整的表,然后将结果存储为目标表中的新分区(或覆盖)。因此,为了充分利用分区,源和目的地都需要启用这个概念。

  1. 主要针对源表,因为它决定了BigQuery中查询的成本,以及
  2. 因为它可能会成为其他查询的源表。

我们修改查询以检索源的分区,并将其存储为分区。以下是我们用来配置目标分区的dbt脚本片段。

{{ config(
     materialized = 'incremental',
     partition_by = {
       "field": "event_date_gmt7",
       "data_type": "date",
       "granularity": "day"
     }
)}}

通常,此片段告诉dbt按`event_date_gmt7`字段对目标表进行分区。

同时,这是我们源代码的片段。

FROM
  {{ ref('<fact_table_name>') }}
WHERE
  event_date_gmt7 > '<latest_date_partition_of_destination_table>'
  AND event_date_gmt7 <= DATE_SUB(CURRENT_DATE('+07:00'), INTERVAL 1 DAY)

通过在WHERE子句中使用“event_date_gmt7”,也就是这个源表的分区字段,我们已经告诉dbt只检索源表的一部分,而不是整个表。非常简单明了!

BigQuery还有另一个拆分表的概念,称为集群。简而言之,集群就像一个分区,但它不是基于一个字段,而是基于字段的组合。因此,在查询时,BigQuery将在扫描表源之前筛选分区字段和集群字段。下面是一个在表中启用集群的示例片段。

 

{{ config(
     materialized = 'incremental',
     partition_by = {
       "field": "event_date_gmt7",
       "data_type": "date",
       "granularity": "day"
     },
   cluster_by = [
      'user_interface',
      '<column_b>',
      '<column_c>',
      '…'
   ]
)}}

这是使用它的片段。

FROM
  {{ ref('<fact_table_name>') }}
WHERE
  event_date_gmt7 > '<latest_date_partition_of_destination_table>'
  AND event_date_gmt7 <= DATE_SUB(CURRENT_DATE('+07:00'), INTERVAL 1 DAY)
  AND user_interface = 'Android'

是的,这和使用分区是一样的。您只需要在WHERE子句中声明筛选器。再说一遍,非常简单明了!

实际上,您可以在不使用分区的情况下使用集群。但如果你将两者结合起来,你可以进一步优化你的成本。您可以在谷歌提供的这个简短的实验室中学习分区和集群。

扫描整张表以获取最新分区

查看源分区的前一个代码片段,我们检索最新目的地的日期分区。其目的是只运行源表中未处理的数据。那么我们该怎么做呢?

在大多数情况下,我们将使用此查询。

SELECT
  MAX(<partition_field>)
FROM
  `<source_table>`

然而,如果源表包含数百万行,我们将遍历所有这些行,并产生更多的成本。想象一下,一个表有100个分区,每个分区包含1000000行。通过使用实际的表,我们查询了100 x 1000000=100000000行。有没有更好的方法来获取最新的分区?

是的,当然,通过使用元数据表。在BigQuery中,元数据存储在INFORMATION_SCHEMA视图中,其中包含有关BigQuery对象的所有信息,包括存储在partitions视图中的表中的分区列表。此视图中的一行包含有关一个分区的信息,例如其表数据集/架构、表名称、分区ID、总行数和上次更新时间。以下是用于查询元数据的SQL代码段。

SELECT
  MAX(SAFE.PARSE_DATE('%Y%m%d', partition_id))
FROM
  `<project_name>.<dataset_name>.INFORMATION_SCHEMA.PARTITIONS`
WHERE
  table_name = '<table_name>'

因此,通过使用前面的示例,我们只使用元数据查询100行,而不是100000000行。更快、更便宜。

在dbt中,我们将这个查询放在宏中,这样我们就可以在ELT中重用它。宏代码将如下所示

{% macro get_latest_part_date(column_name, relation) %}

{% set relation_query %}
  ## Get latest date from metadata
  ## If 'column_name' is null, return D-1
  SELECT
    MAX(SAFE.PARSE_DATE('%Y%m%d', partition_id))
  FROM
    {{ relation.database }}.{{ relation.schema }}.INFORMATION_SCHEMA.PARTITIONS
  WHERE
    table_name = '{{ relation.identifier }}'
{% endset %}

{% set results = run_query(relation_query) %}

{% if execute %}
  {% if results.columns[0][0] != None %}
  ## Latest partition not null (found)
  {% set results_list = results.columns[0][0] %}
  {% else %}
  ## Default value
  {% set results_list = '2021–01–01' %}
{% endif %}

{{ return(results_list) }}

{% endmacro %}

查询将如下所示。

FROM
{{ ref('<fact_table_name>') }}
WHERE
event_date_gmt7 > '{{ get_latest_part_date('event_date_gmt7', this) }}'
AND event_date_gmt7 <= DATE_SUB(CURRENT_DATE('+07:00'), INTERVAL 1 DAY)

多次查询最新分区

另一点与之前关于不使用元数据表的学习有关,这一点与之并行。我们在ELT中经常使用多个源表来生成一个新的结果表。这最初使我们为每个源调用宏。

然而,几天后,我们意识到我们的成本又上升到了最初的水平。我们发现,每次调用宏时,它都会向BigQuery发送一个查询作业来检索结果。因此,如果我们得到10个使用该宏的源表,那么BigQuery将有10个查询作业返回相同的结果。考虑到当时我们仍然使用实际的表,想象一下有10个查询扫描包含数千万行的整个表。

我们只调用这个宏一次,将其作为CTE(WITH子句中的表),然后在每个源表的FROM子句中连接该表,从而解决了这个问题。

WITH
vars AS (
  -- Get latest partition of this table
  SELECT
    DATE("{{ get_latest_part_date('event_date_gmt7', this) }}") AS latest_partition
)
, t1 AS (
  SELECT
    f.*
  FROM
    {{ ref('<fact_table_name_1>') }} f,
    vars
  WHERE
    event_date_gmt7 > latest_partition
    AND event_date_gmt7 <= '<yesterday_date>'
)
, t2 AS (
  SELECT
    g.*
  FROM
    {{ ref('<fact_table_name_1>') }} g,
    vars
  WHERE
    event_date_gmt7 > latest_partition
    AND event_date_gmt7 <= '<yesterday_date>'
)
...

后果

结合这些经验来更新我们一些成本最高的dbt工作,我们将成本降低了约95.91%。我们还调整了Looker Studio数据源,将成本降低约98.97%。

结论

  1. 利用分区和集群的优势。或者数据库中提供的任何分块机制。
  2. 要获取最新的分区,请使用元数据而不是实际的表。只是你的表没有分区。
  3. 您可能使用宏不仅是为了运行查询以获取最新的分区,而且由于它会为每个调用的宏触发一个作业,请注意并将其设为“参数”。
  4. 请毫不犹豫地查看文档(例如,像dbt这样的ETL/ELT平台)。一开始这可能看起来很吓人,但我相信我们会了解到关于平台的一两件事(无论是什么),这可能对我们的问题有用,或者甚至在问题出现之前优化我们当前的脚本。你也可以从YouTube上学习教程或会议。
  5. 循序渐进地改进是可以的。这些知识,我也是一周又一周地发现的,不是一次全部发现的。追求进步而不是完美
  6. 最后但同样重要的是,如果您正在迁移/更改表,而不是创建一个新表,请确保您的表具有与以前的模型相同的结果,以便进行无缝更改。我们不想仅仅为了成本效益而损害我们报告的准确性。
本文地址
https://architect.pub
SEO Title
How we cut ~95% cost for analytics reporting and what we have learned

【数据分析】描述性、预测性和规范性:三种类型的业务分析

视频号

微信公众号

知识星球

Chinese, Simplified

如今,你很难找到一家不以某种形式或形式使用分析来为商业决策提供信息和衡量业绩的企业。

预计到2022年,全球在大数据分析解决方案上的支出将超过2743亿美元,这不仅仅是大公司的投资。研究表明,近70%的小企业每年在分析上花费超过1万美元,以帮助他们更好地了解客户、市场和业务流程。

绝大多数高管表示,他们的组织已经通过大数据和人工智能取得了成功。数据也会对你的底线产生重大影响,利用大数据的企业平均利润会增加8-10%。据报道,Netflix每年通过使用数据分析来改进其客户保留策略,节省了10亿美元。

那么,企业使用哪些数据分析方法来产生这些令人印象深刻的结果呢?

描述性、预测性和规范性分析

商业分析是企业使用统计方法和技术分析数据以获得见解和改进战略决策的过程。

企业可以使用三种类型的分析来推动决策;描述性分析,告诉我们已经发生了什么预测分析,它向我们展示了可能发生的事情,最后是规定分析,它告诉我们未来应该发生什么。

虽然这些方法中的每一种在单独使用时都很有用,但当它们一起使用时会变得特别强大。

描述性分析

描述性分析是使用两种关键方法——数据聚合和数据挖掘——对历史数据进行分析,这两种方法用于揭示趋势和模式。描述性分析不用于从其发现中推断或预测未来;相反,它关注的是代表过去发生的事情。

描述性分析通常使用线图、条形图和饼图等可视化数据表示来显示,尽管它们本身提供了有用的见解,但通常是未来分析的基础。由于描述性分析使用了相当简单的分析技术,因此任何发现都应该易于更广泛的业务受众理解。

因此,描述性分析构成了许多企业日常报告的核心年度收入报告是描述性分析的经典例子,还有库存、仓储和销售数据等其他报告,这些报告可以轻松汇总,并提供公司运营的清晰快照。另一个广泛使用的例子是社交媒体和谷歌分析工具,它们根据点击和点赞等事件的简单计数来总结某些分组。

虽然描述性数据有助于快速发现趋势和模式,但分析有其局限性。孤立地看,描述性分析可能无法给出全貌。为了获得更多的见解,你需要更深入地研究。

预测分析

预测分析是一种更先进的数据分析方法,它使用概率来评估未来可能发生的事情。与描述性分析一样,预测分析使用数据挖掘,但它也使用统计建模和机器学习技术,根据历史数据确定未来结果的可能性。为了进行预测,机器学习算法利用现有数据,并试图用尽可能好的猜测来填补缺失的数据。

这些预测可以用来解决问题和确定增长机会。例如,组织正在使用预测分析来防止欺诈,方法是寻找犯罪行为模式,通过发现交叉销售机会来优化营销活动,并通过使用过去的行为来预测哪些客户最有可能拖欠付款来降低风险。

预测分析的另一个分支是深度学习,它模仿人类的决策过程,做出更复杂的预测。例如,通过使用多个级别的社会和环境分析,深度学习被用于更准确地预测信用评分,在医学领域,它被用于对MRI扫描和X射线等数字医学图像进行排序,为医生诊断患者提供自动预测。

规定性分析

虽然预测分析向公司展示了其潜在行动的原始结果,但规定分析向公司显示了哪种选择是最好的

规定分析领域大量借鉴了数学和计算机科学,使用了各种统计方法。

尽管与描述性和预测性分析密切相关,但规定性分析强调可操作的见解,而不是数据监控。这是通过从一系列描述性和预测性来源收集数据并将其应用于决策过程来实现的。然后,算法创建并重新创建可能的决策模式,这些模式可能以不同的方式影响组织。

规范性分析之所以特别有价值,是因为它们能够根据不同的未来情景来衡量决策的影响,然后建议实现公司目标的最佳行动方案。

使用规范分析的商业效益是巨大的。它使团队能够在做出决策之前查看最佳行动方案,从而在实现最佳结果的同时节省时间和金钱。

能够利用规范性分析的力量的企业正在以各种方式使用它们。例如,规定性分析允许医疗保健决策者通过为患者和提供者推荐最佳行动方案来优化业务结果。它们还使金融公司知道如何降低产品成本,以吸引新客户,同时保持高利润。

以数据为导向的未来

尽管在决策中使用数据分析有明显的好处,但许多组织仍然缺乏优化数据分析所需的技能。

数据分析是一门复杂的学科。目前,不到四分之一的企业将自己描述为数据驱动型企业,《福布斯》报告称,几乎所有企业都认为管理非结构化数据的需求是其组织的一个问题。

能够操纵和解释数据的商业专业人员的技能差距越来越大。

ThoughtSpot首席执行官苏迪什·奈尔(Sudhesh Nair)表示:“2021及以后的企业最理想的人选将是一个既能理解数据又能说数据的人,因为在短短几年内,数据素养将成为雇主的需求和期望。那些想取得成功的人现在正在获得这些人才。”。

 

本文地址
https://architect.pub/descriptive-predictive-and-prescriptive-three-types-business-analytics
SEO Title
Descriptive, predictive and prescriptive: three types of business analytics

【数据分析】描述性分析:它们是什么以及相关术语

视频号

微信公众号

知识星球

Chinese, Simplified

什么是描述性分析?

描述性分析是指对历史数据的解释,以更好地了解企业中发生的变化。描述性分析描述了使用一系列历史数据与同一公司的其他报告期(即季度或年度)或同一行业内的其他公司进行比较。最常见的财务指标是描述性分析的产物,如同比(YOY)定价变化、环比销售额增长、用户数量或每个订户的总收入。这些衡量标准都描述了企业在一段时间内发生的事情。

关键要点

  • 描述性分析是分析历史数据以更好地了解企业中发生的变化的过程。
  • 通过使用一系列历史数据和基准测试,决策者可以获得绩效和趋势的整体视图,从而制定商业战略。
  • 描述性分析可以帮助识别组织中的优势和劣势领域。
  • 描述性分析中使用的指标示例包括同比定价变化、环比销售额增长、用户数量或每个订户的总收入。
  • 描述性分析与较新的分析结合使用,如预测性和规定性分析。

描述性分析的工作原理

描述性分析采用全方位的原始数据,并对其进行分析,得出管理者、投资者和其他利益相关者可能认为有用且可理解的结论。这些数据提供了过去业绩的准确情况,以及与其他可比时期的差异。它还可以用来与同行业的其他公司进行性能比较。这些绩效指标可用于标记优势和劣势领域,为管理策略提供信息。

例如,一份显示销售额为100万美元的报告听起来可能令人印象深刻,但缺乏背景。如果这个数字意味着环比下降20%,那就有理由担心。如果同比增长40%,那么这表明销售或营销策略出现了问题。然而,需要更大的背景,包括目标增长,以获得对公司销售业绩的知情看法。

描述性分析是公司使用的商业智能中最基本的部分之一。它通常可以是特定行业的(想想发货完成时间的季节性变化),但在整个金融行业都有广泛接受的通用衡量标准。

描述性分析是绩效分析的重要组成部分,因此管理者可以根据历史数据做出明智的战略商业决策。

描述性分析告诉你什么?

公司可以使用描述性分析来获得对其表现的宝贵见解。因为它通常是一种特定于行业的工具,一家公司可以通过查看其过去的业绩,如收入和销售额的增长,来将其业绩和市场地位与竞争对手进行比较。确定当前的财务趋势也很有用,包括公司内部个人的目标。

如何使用描述性分析?

描述性分析是一种非常重要的工具,可以用于任何业务的不同部分。这是因为它让公司了解它的表现有多好,以及哪里可能存在效率低下的问题。因此,公司管理层可以确定需要改进的领域,并利用它来激励不同的团队实施变革,以持续取得成功。

有两种主要方法用于收集数据进行描述性分析。这些是数据聚合和数据挖掘。在理解数据之前,必须先收集数据,然后将其解析为可管理的信息。然后,管理层可以有意义地使用这些信息来理解业务的现状。

例如,投资资本回报率(ROIC)是一种描述性分析形式,通过获取三个数据点——净收入、股息和总资本——并将这些数据点转化为易于理解的百分比,用于将一家公司的业绩与其他公司的业绩进行比较。

描述性分析提供了有关公司运营的“发生了什么?”信息,整体诊断分析提供了“为什么会发生?”信息;预测性分析提供了关于“未来可能发生什么?”

描述性分析步骤

公司可以采取一些步骤来成功地将描述性分析纳入其商业战略。下面的列表突出显示了这些步骤以及每个步骤的描述。

  • 确定要分析的指标。在开始之前,重要的是要决定公司想要制定哪些指标以及每个指标的时间框架,例如季度收入或年度营业利润。
  • 识别和定位数据。此步骤需要查找生成结果所需的所有数据。这意味着要查看所有内部和外部来源,包括数据库。
  • 编译数据。一旦识别并定位了所有数据,下一步就是一起准备和编译。这里的部分过程是确保它是准确的,并将所有内容格式化为单一格式。
  • 数据分析。分析数据集和数字意味着使用不同的工具

一旦完成了所有这些步骤,就必须将所有数据提交给适当的利益相关者。使用适当的视觉辅助工具,如图表、图形、视频和其他工具,可以为分析师、投资者、管理层和其他人提供他们对公司方向所需的见解。

一家公司越大、越复杂,通常用来衡量其业绩的描述性分析就越多。

描述性分析的优点和缺点

优点

在公司工作流程中使用描述性分析的主要好处之一是,它以简单的方式传播信息,并为所有主要利益相关者提供理解复杂想法的方法。这通常是通过图表等易于理解的视觉效果来完成的。将该公司以前的状况与现在的状况进行并排比较并不罕见。

主要利益相关者可以看到一家公司与同行业的竞争对手相比如何。这是因为变量往往是相同的,比如生产成本、收入流和产品供应。这让一家公司能够看到自己的商业计划和模式是否有任何需要改进的地方。

缺点

虽然描述性分析有助于了解过去发生的事情,但它并不一定能为未来的预期打开一扇窗户。因此,公司不能指望它来确定市场力量、供需变化、经济波动和其他变量在未来会如何影响它们。

利益相关者可能会发现字里行间的解读很有挑战性,尤其是当显性或隐性偏见发挥作用时。例如,利益相关者可能会选择有利的指标进行分析,而忽略其他指标。这样做可能会让其他人觉得一家公司是盈利的,没有什么领域需要改变。

优点

  • 分解信息,使其易于理解
  • 使公司能够了解与竞争对手相比的表现

缺点

  • 无法用于确定未来性能
  • 利益相关者可以选择(有利的)指标进行分析

描述性分析与预测性分析、处方性分析和诊断性分析

描述性分析以易于掌握的格式提供重要信息。因此,总是需要这种类型的分析。但可能会更加强调新的分析领域,包括预测、规范和诊断分析。

这些分析使用描述性分析,并整合来自不同来源的额外数据,以对近期可能的结果进行建模。这些前瞻性分析不仅仅是提供信息,还有助于决策。这些类型的分析还可以提出行动方案,最大限度地提高积极成果,最大限度减少消极成果。

预测分析

顾名思义,预测分析试图预测未来的表现。这是通过使用统计和建模来实现的。使用当前和过去的数据来确定类似的结果在未来是否可能再次发生。

采用预测分析的公司可以通过识别和解决效率低下的问题而受益。他们还可以利用它找到更好、更有效的方式来投入他们的资源(如用品、劳动力和设备)。

处方分析

规定性分析允许公司使用技术分析重要数据,以确定他们需要做什么来实现特定结果。它考虑了某些情况和可用资源,以及过去和当前的表现,为未来制定建议。

使用规范性分析的利益相关者可能更有能力在任何时间内做出重要决策,包括他们是否需要在研发方面投入更多资金,是否应该继续提供特定的产品,或者是否需要进入新市场。

诊断分析

诊断分析涉及使用数据来理解变量之间的关系以及为什么存在某些趋势。简单地说,这是确定事情发生原因的另一种方法。这种类型的分析可以手动进行,也可以在计算机软件的帮助下进行。

与其他类型的分析不同,诊断分析并不试图了解公司的历史业绩,也不试图预测公司未来的预期。相反,它通常被关键利益相关者用来找出事件的根本原因,并在未来做出改变。

公司如何从描述性分析中获益?

描述性分析是一种试图回答“发生了什么?”问题的分析形式,因此,它需要历史数据来了解已经发生的变化。这允许公司与其他报告期或类似公司进行比较。通过采用描述性分析,公司能够更好地识别运营中的低效率,并为未来做出改变。

描述性分析和预测性分析之间的关系是什么?

描述性分析试图回答“发生了什么?”问题,而预测性分析则试图回答“会发生什么?”的问题。这意味着描述性分析使用历史数据和过去的表现来找出可以改进的地方。预测分析可以帮助公司了解这些变化将如何影响未来的业绩。因此,这两种类型的分析可以一起使用以协同工作。

什么是描述性分析的例子?

公司可以使用描述性分析来分析特定报告期内的各种指标,以帮助他们取得成功。这些可以是金融的,也可以是非金融的。一些公司选择通过社交媒体来衡量与受众的互动程度,因为它可以告诉他们某个广告活动或产品发布的效果如何。这可以通过分析点击和点赞如何导致网站流量增加,从而增加销售额和推荐来衡量。

底线

描述性分析是公司开始分析其绩效指标的一种很好的方式。这是因为它是最简单的数据分析形式之一。这是一种直接的方法,可以为管理层、投资者和分析师提供与类似指标的直接比较,例如季度收入。利用过去的表现可以帮助关键利益相关者更好地了解发生了什么,从而为未来做出更好、更明智的决策。

本文地址
https://architect.pub/descriptive-analytics-what-they-are-and-related-terms
SEO Title
Descriptive Analytics: What They Are and Related Terms

【数据分析】揭开数据分析的黑暗科学神秘面纱

视频号

微信公众号

知识星球

Chinese, Simplified

知识和规划将数据分析从“黑科学”转变为主流商业工具。

尽管很少有人会公开承认,但对于许多 IT 领导者来说,数据分析仍然是一门黑暗科学,充满了神秘的方法和看似高深莫测的实践。 然而,尽管它的名声有些神秘,但分析一再证明它是一门经过验证的科学,是一种强大的工具,通常可以显着提高生产力、效率、销售额、利润和其他关键业务指标和目标。

田纳西大学商业分析助理教授 Michel Ballings 观察到,今天的分析革命让许多高级 IT 领导措手不及。 “直到最近,计算才变得强大到足以执行高级数据分析,”他说。 “[大多数] 高级 IT 领导者在数据分析革命之前就毕业了。”

技术咨询公司 ThoughtWorks 的首席数据科学家 David Johnston 指出,高级分析本质上是一种研究技能,大多数 IT 领导者和高管从来都不是专业研究人员。 “这些技能在学术界最为普遍,因此,大多数成功的数据科学家和分析经理都曾是学者。” 因此,许多老派的 IT 领导者对新兴的分析计划感到困惑和恐惧。

拥抱未知



企业 IT 领导者需要认识到,分析将对其稳定且结构良好的部门提出挑战。 埃森哲数字技术咨询服务董事总经理贾斯汀霍纳曼说:“大型组织内部需要的技能组合正在发生转变,以推动数据和分析支持的解决方案。” “许多传统的 IT 技能组合无法与市场上快速发展的新分析引擎、代码库和数据管理结构配合使用,这推动了对新人才的需求。”

直销公司 HackerAgency 的营销科学执行总监 Seth Garske 指出,许多 IT 主管可能发现自己不确定处理分析的最佳方式,尤其是考虑到分析与其他部门的重叠。 “虽然分析在本质上往往是技术性的,但它实际上更像是一种业务功能,类似于财务或会计,”他解释道。 “这种误解在一些组织中造成了一些非常丑陋的地盘争夺战。”

商业和技术咨询公司 West Monroe Partners 的高级分析高级经理 Dan Magestro 认为,如果 IT 领导者投入更多时间学习分析的工作原理,以及分析过程可用于帮助其组织的方式,那么 增加采用率并化解内部对角色和责任的争论。

更深入的分析知识还可以帮助 IT 领导者理解为什么这种方法常常看起来如此神秘。 “最佳形式的数据科学是一项极具创造性的努力,”约翰斯顿说。 “管理人员不一定需要了解每个分析的内部结构,就像软件项目的所有者不需要了解底层技术内部结构一样。” 约翰斯顿说,最重要的是看到创造的价值。

与解决方案通常显而易见并被全球企业广泛采用的 IT 不同,分析流程通常是独特且个性化的。 “选择最好的分析方法有时很简单,有时很艺术,”Magestro 说。 “例如,在数据中寻找因果关系通常意味着某种回归,而在大型客户数据集中寻找相似特征可能涉及聚类算法。” 在优化营销预算时,分析专家可以从无数可以达到目的的方法中进行选择。 “在这种情况下,正确使用一种方法并根据良好的假设通常比它是否是‘最佳’方法更为重要,”Magestro 说。

设定方向



对于企业分析计划是否应该集中在 IT 或独立的分析部门内,或者分散在各个业务部门,专家们意见不一。 许多人认为,IT 最适合充当分析倡导者和技术支持者,而不是作为所有企业分析计划的基础。 “没有理由将数据分析孤立在一个部门内,”约翰斯顿说。 “相反,这是一套应该鼓励在整个企业中发展的技能。”

Johnston 声称,由于数据科学是一个快速发展的领域,因此让多个团队相互协作和相互学习具有相当大的优势,即使他们之间存在一些友好的竞争。 “不同的团队会以不同的方式做事,从而更快地探索整个领域,以便更好地发现最适合自己业务环境的方法,”他指出。 “通过让人们进出不同的团队,可以进一步鼓励这种思想的交叉授粉。”

Honaman 指出,分析卓越中心 (COE) 模型——一个领导和协调整个企业分析计划的小组或团队——已被讨论多年,但与在业务部门内嵌入分析人才相比,几乎没有得到支持。 “在传统 IT 中,通常有一个集中式模型用于整合和管理运营数据,同时为企业内的分析资源提供对该数据的访问。” 然而,除了少数例外,这种方法并不能很好地满足各个业务部门独特而专业的分析需求。

Magestro 表示,集中分析的案例在两种情况下最为有力:当数据或技能协同作用广泛分布于不同的业务职能时,或者当不太成熟的业务职能可以从中央团队提供的专业知识中受益时。 “我们看到一些案例,中央分析团队可以成为功能分析增长的临时催化剂,在这种情况下,中央团队可能最适合高度专业化的需求,例如机器学习或人工智能,”他说。

发挥领导作用



无论它们在企业中的起源方式或来源如何,所有分析项目都需要强大且知识渊博的领导。 “关键是要有一位优秀的船长掌舵,”俄亥俄大学公共管理在线硕士项目领导力和公共事务教授阿尼鲁德·鲁希尔 (Anirudh Ruhil) 说。 “你还希望团队领导者拥有丰富的可靠经验,因为这最终是衡量一名优秀分析师的标准。”

究竟由谁来领导分析项目取决于企业的分析成熟度、行业和传统、领导力以及推动其战略和增长的特定业务领域,Magestro 说。 “在一些销售驱动的企业中,营销分析的高级领导者可能比任何其他领域做出更多数据驱动的决策,”他指出。 “在具有强大中央数据管理功能的公司中,IT 领导者可能最适合提升分析能力。”

对分析人才的竞争非常激烈。 “大多数公司明智地放弃了聘请拥有三位博士学位的热门数据科学家来施展魔法的想法,而是建立了由更多初级但有能力的人组成的团队,”约翰斯顿说。 他认为,如果遵循某些原则,这种战略几乎可以在任何地方取得成功。 “你必须赋予他们成功的权力,”约翰斯顿说。 “为他们提供数据、云计算和他们需要的任何工具。”

约翰斯顿还建议管理层应该对分析团队保持宽松的控制。 “一个以高效率交付的有效团队不需要一小群人对任何其他人行使权威,”他说。 “自然地,任职时间越长的人会承担稍微高一点的责任,这仅仅是因为他们更有经验,并且可能更了解如何完成手头的任务。”

管理咨询公司 Navigate 的经理 Phil Schmoyer 表示,业务部门代表应该从一开始就参与分析项目规划,从确定要跟踪的指标到审查数据可视化仪表板。 另一方面,培训业务经理和员工解释数据不应该是一个主要问题。 “如果一个分析团队表现最佳,就不需要培训人员来解释结果,”他说。 “[工具] 的设计应该让业务部门能够直观地消化信息。”

解开谜团



Honaman 建议 IT 领导者抛开他们对分析的恐惧和怀疑,转而专注于手头的挑战:让决策者掌握可操作的见解。 “营销人员、供应链从业者、财务负责人和运营主管都对分析有兴趣和投资,这在与空间相关时创造了新的复杂性和政治,”他说。 IT 的作用是以任何可能的方式帮助创建干净、可用的数据和洞察力,以推动和推动业务决策。

IT 领导者不应将分析视为难以理解的谜团,而应努力帮助数据专家获得成功所需的数据和工具。 Johnston 说:“我们经常看到,由于强加给数据科学团队的官僚限制而不是缺乏人才,导致缺乏成功。” 他指出,例如,看到组织使数据访问过于痛苦以至于不值得追求并对可用工具施加严格限制的情况并不少见。 “这些限制很容易将生产率降低三倍或更多,”约翰斯顿说。 “你想要留住的那种雄心勃勃的人不会在这样的环境中待太久,自然选择会给你留下一个由温顺和缺乏创造力的人组成的分析团队,这些人不会提供他们所期望的价值。”

本文地址
https://architect.pub
SEO Title
Demystifying the dark science of data analytics

【数据分析】数据分析:它是什么,如何使用,以及4种基本技术

视频号

微信公众号

知识星球

Chinese, Simplified

什么是数据分析?

数据分析是分析原始数据以得出信息结论的科学。数据分析的许多技术和过程已经自动化为机械过程和算法,用于处理人类消费的原始数据。

关键要点

  • 数据分析是分析原始数据以得出有关信息的结论的科学。
  • 数据分析有助于企业优化绩效、提高效率、实现利润最大化,或做出更具战略指导意义的决策。
  • 数据分析的技术和过程已经自动化为机械过程和算法,用于处理人类消费的原始数据。
  • 数据分析的各种方法包括观察发生了什么(描述性分析)、为什么会发生什么(诊断性分析)、将要发生什么(预测性分析)或下一步应该做什么(规定性分析)。
  • 数据分析依赖于各种软件工具,包括电子表格、数据可视化、报告工具、数据挖掘程序和开源语言,以实现最大的数据操作。

了解数据分析

数据分析是一个宽泛的术语,包括许多不同类型的数据分析。任何类型的信息都可以通过数据分析技术来获得可用于改进的见解。数据分析技术可以揭示趋势和指标,否则这些趋势和指标将在大量信息中丢失。然后,这些信息可以用于优化流程,以提高业务或系统的整体效率。

例如,制造公司经常记录各种机器的运行时间、停机时间和工作队列,然后分析数据,以更好地规划工作负载,使机器运行接近峰值容量。

数据分析可以做的远不止指出生产中的瓶颈。游戏公司使用数据分析为玩家设置奖励计划,使大多数玩家在游戏中保持活跃。内容公司使用许多相同的数据分析来让你点击、观看或重新组织内容,以获得另一个视图或另一次点击。

数据分析很重要,因为它可以帮助企业优化绩效。将其纳入商业模式意味着公司可以通过确定更有效的业务方式和存储大量数据来帮助降低成本。

公司还可以使用数据分析来做出更好的商业决策,并帮助分析客户趋势和满意度,这可以带来新的更好的产品和服务。

数据分析步骤

数据分析过程包括几个步骤:

  1. 第一步是确定数据需求或如何对数据进行分组。数据可以按年龄、人口、收入或性别进行区分。数据值可以是数字或按类别划分。
  2. 数据分析的第二步是收集数据的过程。这可以通过各种来源完成,如计算机、在线来源、相机、环境来源或人员。
  3. 数据收集后必须进行组织,以便进行分析。这可以在电子表格或其他形式的可以获取统计数据的软件上进行。
  4. 然后在分析之前对数据进行清理。它被擦除和检查,以确保没有重复或错误,并且它不是不完整的。这一步骤有助于在将错误提交给数据分析师进行分析之前更正任何错误。

数据分析的类型

数据分析分为四种基本类型:

  • 描述性分析:描述一段时间内发生的事情。浏览量增加了吗?这个月的销售额比上个月强吗?
  • 诊断分析:这更侧重于为什么会发生一些事情。它涉及更多样化的数据输入和一些假设。天气影响了啤酒销售吗?最近的营销活动影响了销售吗?
  • 预测分析:这涉及到近期可能发生的事情。上一次我们度过了一个炎热的夏天,销售情况如何?有多少天气模型预测今年夏天会很热?
  • 规定性分析:这表明了一个行动方案。如果用这五个天气模型的平均值来衡量炎热夏季的可能性,并且平均值超过58%,我们应该在啤酒厂增加一个夜班,并租用一个额外的储罐来增加产量,

数据分析是金融界许多质量控制系统的基础,包括一直流行的六西格玛计划。如果你没有正确地测量某个东西,无论是你的体重还是生产线上每百万个缺陷的数量,都几乎不可能优化它。

采用数据分析的行业包括旅游和酒店业,这些行业的扭亏为盈可能很快。这个行业可以收集客户数据,找出问题所在(如果有的话)以及如何解决这些问题。

医疗保健结合了大量结构化和非结构化数据的使用,并使用数据分析快速做出决策。同样,零售业使用大量数据来满足购物者不断变化的需求。零售商收集和分析的信息可以帮助他们识别趋势、推荐产品并增加利润。

 

数据分析技术

数据分析师可以使用多种分析方法和技术来处理数据和提取信息。一些最流行的方法包括:

  • 回归分析。需要分析因变量之间的关系,以确定一个变量的变化如何影响另一个变量。
  • 因子分析。需要取一个大的数据集,并将其缩小为一个较小的数据集。这种策略的目的是试图发现隐藏的趋势,否则这些趋势将更难看到。
  • 队列分析。是将数据集分解为相似数据组的过程,通常是将其分解为客户人口统计。这允许数据分析师和数据分析的其他用户进一步深入研究与特定数据子集相关的数字。
  • 蒙特卡罗模拟。模拟不同结果发生的概率。它们通常用于降低风险和预防损失。这些模拟包含多个值和变量,通常比其他数据分析方法具有更大的预测能力。
  • 时间序列分析。跟踪一段时间内的数据,并巩固数据点的值和数据点的出现之间的关系。这种数据分析技术通常用于发现周期性趋势或预测财务状况。

数据分析工具

除了广泛的数学和统计方法来处理数字外,数据分析的技术能力也在迅速发展。数据分析师拥有广泛的软件工具来帮助获取数据、存储信息、处理数据和报告发现。

数据分析一直与电子表格和Microsoft Excel有着松散的联系。数据分析师还经常与原始编程语言交互,以转换和操作数据库。

数据分析师在报告或交流调查结果时也有帮助。Tableau和Power BI都是数据可视化和分析工具,用于编译信息、执行数据分析,并通过仪表板和报告分发结果。

其他工具也在出现,以帮助数据分析师。SAS是一个可以帮助数据挖掘的分析平台。Apache Spark是一个用于处理大型数据集的开源平台。数据分析师拥有广泛的技术能力,可以进一步提高他们为公司带来的价值。

数据分析的作用

数据分析可以通过关注模式来提高许多行业的运营、效率和绩效。实施这些技术可以给公司和企业带来竞争优势。该过程包括四个基本的分析步骤。

数据挖掘

顾名思义,这一步骤涉及从广泛的来源“挖掘”或收集数据和信息。然后将各种形式的信息重新创建为相同的格式,以便最终进行分析。这个过程可能需要相当长的时间,比任何其他步骤都要长。

数据管理

数据需要一个数据库来包含、管理并提供对通过挖掘收集的信息的访问。因此,数据分析的下一步是创建这样一个数据库来管理信息。SQL是数据分析早期用于此目的的常用工具,到2023年仍在广泛使用。这种计算语言创建于1979年,允许查询关系数据库,并更容易地分析生成的数据集。

统计分析

第三步是统计分析。它涉及将收集和存储的数据解释为模型,有望揭示可用于解释未来数据的趋势。这是通过Python等开源编程语言实现的。更具体的数据分析工具,如R,可以用于统计分析或图形建模。

数据展示

数据分析过程的结果是要共享的。最后一步是格式化数据,以便其他人可以访问和理解,尤其是公司中负责增长、分析、效率和运营的个人。拥有访问权限对股东也有好处。

数据分析的重要性和用途

数据分析是企业成功概率的重要组成部分。收集、整理、分析和呈现信息可以显著增强和造福社会,尤其是在医疗保健和犯罪预防等领域。但是,数据分析的使用对那些希望在隔壁业务中占据优势的小企业和初创公司同样有利,尽管规模较小,

为什么数据分析很重要?

在商业模式中实施数据分析意味着公司可以通过确定更有效的经营方式来帮助降低成本。公司还可以使用数据分析来做出更好的商业决策。

什么是四种类型的数据分析?

数据分析分为四种基本类型。描述性分析描述了一段时期内发生的事情。诊断分析更多地关注事情发生的原因。预测分析转向了近期可能发生的事情。最后,规范性分析提出了一个行动方案。

谁在使用数据分析?

数据分析已经被几个可以快速扭转局面的行业所采用,例如旅游和酒店业。医疗保健是另一个结合了大量结构化和非结构化数据使用的行业,数据分析可以帮助快速做出决策。零售业还使用大量数据来满足购物者不断变化的需求。

底线

在一个越来越依赖信息和收集统计数据的世界里,数据分析有助于个人和组织确保他们的数据。一组原始数字可以使用各种工具和技术进行转换,从而产生信息丰富、富有教育意义的见解,从而推动决策和深思熟虑的管理。

本文地址
https://architect.pub/data-analytics-what-it-how-its-used-and-4-basic-techniques
SEO Title
Data Analytics: What It Is, How It's Used, and 4 Basic Techniques

【数据分析】用于洞察和可视化的数据和分析

Chinese, Simplified

构建从任何类型的源(包括Web和社交源)收集数据的解决方案。 借助这些解决方案,您可以使用分析引擎来存储,分析和报告数据,从而推动可操作的洞察和可视化。

数据是基础



管理数据如此具有挑战性和复杂性的原因在于,数据本身并不起作用。 数据是惰性的; 它不是自我组织甚至是自我理解。 在DIKW金字塔中,数据是感知有用性最少的基础。 信息的价值高于数据,知识的价值高于信息,智慧的价值最高。 数据需要其他东西 - 程序,机器,甚至是人 - 来提升价值链并成为信息。

IBM AI Ladder也从数据开始。当您在数据之上执行分析,机器学习或人工智能等业务辅助功能时,您将获得更高的业务价值。正如IBM总经理Rob Thomas在他的博客“数据科学更快”中所说,“没有IA(信息架构)就没有AI。”

 

 数据本身是惰性的。数据需要软件(或人员)使数据显示为活动(或可操作)并产生积极,中立或消极的影响。

Neal Fishman,SOA中的病毒数据:企业大流行,IBM出版社



收集,组织和分析数据



今天,我们的用户可能可以访问太字节,千兆字节甚至数十亿字节的数据。但是,如果不收集,组织,管理,控制,丰富,管理,衡量和分析数据,那么这些数据不仅无用 - 它可能成为一种负担。

这些活动构成了数据和分析平台的焦点,如IBM Analytics产品的三大支柱所示:

  1. 混合数据管理
  2. 统一治理与整合
  3. 数据科学业务分析

Three pillars of IBM Analytics

数据作为差异化因素



您的数据需要成为公司资产。数据有能力改变您的组织,增加货币价值,并使您的员工能够完成非凡的事情。数据驱动的文化可以实现更高的业务回报。

你可以在没有太多计划的情况下建造一座狗屋,但你不能用同样的方法建造一座现代化的摩天大楼。复杂混合云拓扑中保留数据的规模需要规范,即使对于采用敏捷和适应性理念的组织也是如此。

数据可以而且应该用于推动分析见解。但是,需要哪些考虑因素和计划活动才能产生洞察力,采取行动的能力以及做出决策的勇气?尽管最大限度地提高数据实用性的规划和实施活动可能需要深入思考,但您的组织可以在短时间内以数据为中心和数据驱动。

企业需要迅速行动。您的组织必须尽快响应不断变化的需求,否则就有可能变得无关紧要。这适用于私人或公共组织,无论大小。

数据和相关分析是区分的关键,但传统方法通常是临时的,天真的,复杂的,困难的和脆弱的。这可能导致延迟,业务挑战,机会丧失以及未授权项目的增加。

使数据启用并激活



启用和激活数据有五个关键原则:

  1. 制定数据战略
  2. 开发数据架构
  3. 为分析开发数据拓扑
  4. 制定统一治理方法
  5. 开发一种最大化数据消费可访问性的方法

如果数据是推动者,则可以将分析视为正在启用的核心功能之一。

分析可以是一个复杂且涉及的学科,包含广泛而多样的工具,方法和技术。 IBM AI Ladder的一端是通过静态格式的数据启用的,例如预建报告;另一端是通过深度学习和先进的人工智能实现的。在这两端之间,启用方法包括诊断分析,机器学习,统计,定性分析,认知分析等。机器人,软件界面或人类可能需要在单个任务中应用多种技术,或者跨越他们在驱动洞察力,采取行动,监控和制定决策时所执行的角色。

管理开发生命周期



大多数组织需要管理软件生命周期。 上面列出的关键原则意味着需要一个单独的数据生命周期,因为任何关键原则的结果或可交付成果都不应被视为静态和不可变的。 与数据一样,您可以将分析视为具有独立于软件生命周期和数据生命周期的自己的生命周期,尽管它们都是互补的。

为了帮助实现数字化转型,您的组织应采用三个开发生命周期:

  1. 软件应用
  2. Analytics(分析)
  3. 数据

Purpose-driven development lifecycles

每个开发生命周期都代表了一个迭代工作流,敏捷开发团队可以使用它来制定更高价值的业务成果。生命周期通常是时间盒迭代,可以遵循快速失败的范例来实现有形资产。速度在业务中很重要;大多数企业都在努力快速满足新的需求。每个生命周期迭代的目标是在最大化业务价值的同时高效,熟练地解决业务速度问题。

软件/应用程序开发生命周期(SDLC)是众所周知的,它支持传统和敏捷开发。 SDLC重复整合业务需求。

分析开发生命周期(ADLC)支持IBM AI Ladder中的全部分析工作。此生命周期包含模型开发和修复,以避免漂移。由于分析的目的之一是实现行动或决策,因此ADLC依靠反馈机制来帮助增强机器模型和整体分析环境。反馈机制的一个示例是捕获关于行动或决策的积极或消极影响或结果的数据点。 ADLC迭代数据。

数据开发生命周期(DDLC)将数据管理理念置于一个有机且不断发展的循环中,更适合于不断变化的业务需求。 DDLC受SDLC和ADLC的影响。它迭代了业务需求的整合和数据的表现。

虽然这三个生命周期是独立的,但您可以将它们结合使用并建立依赖关系以帮助推动业务成果。每个生命周期都应该是敏捷的,并且应该合并到DevOps流程中以进行开发和部署。

 

Value-driven development lifecycles

三个生命周期的交叉点突出了统一治理的必要性。软件/应用程序和数据之间的交集突出了信息的集成和访问路径。数据和分析之间的交集突出了集成和底层数据存储。分析和软件/应用程序之间的交集突出了集成以及API或其他数据交换技术的使用,以帮助解决复杂的算法或访问要求。

使用DataFirst进行云的Garage方法



组织中的每个部门对数据和分析都有不同的需求。您如何开始数据驱动的旅程?使用DataFirst实现云的Garage方法可提供策略和专业知识,帮助您从数据中获取最大价值。此方法从利用数据和分析而非技术的业务成果开始。以协作方式定义焦点是获得早期结果的关键。您的路线图和行动计划将根据经验教训不断更新。这是一种迭代且敏捷的方法,可帮助您定义,设计和证明针对特定业务问题的解决方案。

continuous innovation cycle of the DataFirst

下一步是什么?



现在您已了解数据和分析的概念和价值,了解如何在数据和分析参考架构中设计数据和分析应用程序。

原文:https://www.ibm.com/cloud/garage/architectures/dataAnalyticsArchitecture

本文:http://pub.intelligentx.net/data-and-analytics-insights-and-visualization

讨论:请加入知识星球或者小红圈【首席架构师圈】

SEO Title
Data and analytics for insights and visualization

【数据分析】预测建模:历史、类型、应用

视频号

微信公众号

知识星球

Chinese, Simplified

什么是预测建模?

预测建模使用已知结果来创建、处理和验证可用于预测未来结果的模型。它是一种用于预测分析的工具,这是一种数据挖掘技术,试图回答“未来会发生什么?”

关键要点

  • 预测建模使用已知结果来创建、处理和验证可用于进行未来预测的模型。
  • 回归和神经网络是两种应用最广泛的预测建模技术。
  • 公司可以使用预测建模来预测事件、客户行为以及金融、经济和市场风险。

了解预测建模

通过分析历史事件,公司可以使用预测建模来增加预测事件、客户行为以及金融、经济和市场风险的概率。

快速的数字产品迁移为企业创造了大量现成的数据。公司利用大数据来改善客户与企业关系的动态。这些海量的实时数据来自社交媒体、互联网浏览历史、手机数据和云计算平台。

然而,数据通常是非结构化的,而且过于复杂,人类无法快速分析。由于数据量巨大,公司通常通过计算机软件程序使用预测建模工具。这些程序处理大量的历史数据,以评估和识别其中的模式。从那里,该模型可以提供历史记录,并评估哪些行为或事件可能再次发生或在未来发生。

财务分析师可以使用预测建模,根据建模财务数据的量化特征来估计投资结果。

预测建模的历史

只要人们有信息、数据和使用它来查看可能结果的方法,预测建模就很可能被使用。现代预测建模据说始于20世纪40年代,当时政府使用早期的计算机来分析天气数据。在接下来的几十年里,随着软件和硬件功能的增强,大量数据变得可存储,更容易访问以进行分析。

互联网及其连接允许任何有权访问的人收集、共享和分析大量数据。因此,建模已经发展到几乎涵盖商业和金融的所有方面。例如,公司在创建营销活动时使用预测模型来衡量客户的反应,财务分析师则使用它来估计股市的趋势和事件。

预测建模的类型

几种不同类型的预测建模可用于分析大多数数据集,以揭示对未来事件的见解。

分类模型

分类模型使用机器学习根据用户设置的标准将数据放入类别或类中。有几种类型的分类算法,其中一些是:

  • 逻辑回归:对事件发生的估计,通常是二元分类,如是或否。
  • 决策树:将一系列的是/否、如果/其他或其他二进制结果放入称为决策树的可视化中。
  • 随机森林:一种使用分类和回归结合不相关决策树的算法。
  • 神经网络:机器学习模型,用于审查大量数据,以寻找只有在审查了数百万个数据点后才会出现的相关性。
  • 朴素贝叶斯:一个基于贝叶斯定理的建模系统,用于确定条件概率。

聚类模型

聚类是一种对数据点进行分组的技术。分析人士认为,相似组中的数据应该具有相同的特征,而不同组中的资料应该具有非常不同的性质。一些流行的聚类算法包括:

  • K-Means:K-Means是一种建模技术,使用组来识别不同数据组的中心趋势。
  • 均值偏移:在均值偏移建模中,算法会偏移一组的均值,从而识别“气泡”或密度函数的最大值。当在图形上绘制点时,数据似乎是围绕称为质心的中心点分组的。
  • 基于密度的带噪声空间聚类(DBSCAN):DBSCAN是一种基于数据点之间建立的距离将数据点分组在一起的算法。该模型建立不同组之间的关系并识别异常值。

异常值模型

数据集总是有异常值(正常值之外的值)。例如,如果你有数字21、32、46、28、37和299,你可以看到前五个数字有些相似,但299与其他数字相差太远。因此,它被认为是一个异常值。用于识别异常值的一些算法包括:

  • 隔离林:一种检测样本中少数不同数据点的算法。
  • 最小协方差行列式(MCD):协方差是两个变量之间变化的关系。MCD测量数据集的平均值和协方差,以最大限度地减少异常值对数据的影响。
  • 局部异常值因子(LOF):一种识别最近相邻数据点并分配分数的算法,允许将距离最远的数据点识别为异常值。

时间序列模型

在其他类型的建模之前,时间序列建模通常使用历史数据来预测事件。一些常见的时间序列模型包括:

  • ARIMA:自回归综合移动平均模型使用自回归、积分(观测值之间的差异)和移动平均值来预测趋势或结果。
  • 移动平均线:移动平均线使用特定时期的平均值,如50或200天,可以消除波动。

预测建模的应用

预测分析使用预测因子或已知特征来创建模型以获得输出。预测建模的使用方式有数百种,甚至数千种。例如,投资者使用它来识别股市或个股的趋势,这些趋势可能表明投资机会或决策点。

投资者使用的最常见的模型之一是投资的移动平均线,它可以平滑价格波动,帮助他们识别特定时期的趋势。此外,自回归用于将投资或指数的过去值与其未来值相关联。

预测建模还帮助投资者识别不同情景的可能结果,从而帮助他们管理风险。例如,可以操纵数据来预测如果基本情况发生变化可能发生的情况。投资者可以通过识别可能的结果来制定应对不断变化的市场的策略。

预测建模工具

预测模型也用于人工智能(AI)领域的机器学习和深度学习等神经网络。神经网络的灵感来源于人类大脑,由分层的互连节点组成,代表着人工智能的基础。神经网络的力量在于它们处理非线性数据关系的能力。他们能够在变量之间创建关系和模式,这对人类分析师来说是不可能的,或者太耗时了。

金融公司使用的其他预测建模技术包括决策树、时间序列数据挖掘和贝叶斯分析。通过预测建模措施利用大数据的公司可以更好地了解其客户如何参与其产品,并可以识别公司的潜在风险和机遇。

预测建模的优点和缺点

预测建模的优点和缺点

优点

  • 易于生成可操作的见解
  • 可以测试不同的场景
  • 提高决策速度

缺点

  • 计算可能无法解释
  • 人为输入造成的偏差
  • 高学习曲线

优势说明

  • 易于生成可操作的见解:预测建模使您能够查看有关数据的信息,而这些信息在其他情况下可能看不到,使您能够做出更明智的决策。
  • 可以测试不同的场景:可以操纵或更改数据来测试各种场景,以评估更改可能对数据和模型产生的影响。
  • 提高决策速度:决策可以更快地做出,因为数百万个数据点可以更快地分析,未来的趋势或情况可以在几分钟或几小时内理论化。

缺点说明

  • 计算可能是不可解释的:一旦你创建了一个预测模型,你可能就无法解释结果。
  • 人为输入造成的偏差:建模中引入偏差是因为人类参与设置参数和标准。
  • 高学习曲线:学习创建预测模型和/或解释结果可能是一个漫长的过程,因为你必须理解统计数据,学习术语,甚至可能学习用Python或R编写代码。

什么是预测建模算法?

算法是一组用于操作数据或执行计算的指令。预测建模算法是执行预测建模任务的指令集。

预测建模中最大的假设是什么?

预测建模中最重要的假设是,未来的数据和趋势将遵循过去的情况。

什么是医疗保健中的预测建模示例?

预测建模可以用于许多目的,尤其是在医疗保险中。例如,它可以帮助保险公司根据特定客户的健康、生活方式、年龄和其他情况计算他们的成本。

底线

预测建模是由计算机和软件根据操作员的输入对数据进行的统计分析。它用于为从中收集数据的实体生成未来可能的场景。

它可以用于收集数据的任何行业、企业或努力。重要的是要理解预测建模是基于历史数据的估计。这意味着它不是万无一失的,也不是对给定结果的保证——它最好用于权衡选择和做出决定。

本文地址
https://architect.pub/predictive-modeling-history-types-applications
SEO Title
Predictive Modeling: History, Types, Applications

【数据分析模型】描述性 vs 预测性 vs 规范性 vs 诊断分析

Chinese, Simplified

我们生活在一个以数字内容为主的时代。 现代企业必须定期处理、解释和重新配置的数据量非常庞大。 为了处理大量涌入的信息,许多企业正在转向商业智能工具,例如诊断、描述性、预测性和规范性分析。 本文将深入探讨它们之间的差异,并解释每种方法何时有用,以及如何为您的业务选择正确的分析解决方案。

Four Types of Analytics

分析目标



随着移动设备和物联网 (IoT) 越来越流行,数据量正在迅速增加——我们每天产生大约 2.5 万亿字节,而且这个数字还在上升。在供应链系统方面尤其如此。

研究表明,高达 73% 的企业数据从未用于分析目的。这是对资源的巨大浪费,可能会直接提高您的投资回报率、减少客户损失、提高效率或您通过收集数据尝试做的任何其他事情。如果您希望您的企业对市场及其在其中的位置有一个整体的看法,那么无懈可击的分析设置是必不可少的。它可以帮助企业降低运营成本、增加销售额、扩大产品范围并拉近与客户的距离。

当您以这种方式看待分析时,就会更容易理解为什么它们在作为一个统一系统实施时最有价值。当孤立时,叙述是不完整的——数字是有用的,但不如当它们以直观的可视化形式呈现时有用,并带有关于如何应用它们的预测或建议。您错过了改进决策所需的洞察力。

在下一节中,我们将更多地讨论分析类型之间的区别以及它们为何如此重要。分析工具不只是提出自己的问题;他们使用不同的数据提取技术来寻找答案。

什么是诊断分析?



诊断分析是高级分析的一种形式,专注于基于数据分析来解释发生某事的原因。就像医生调查患者的症状一样,他们旨在了解潜在问题并确定问题发生的原因。

它的功能允许用户通过突出显示可能需要进一步研究的领域来识别异常,当趋势或数据点提出无法轻松回答或不深入挖掘的问题时,这些领域就会被精确定位。诊断分析必须解决的一些问题包括:

  • 为什么这次营销活动失败了?
  • 为什么在某个地区没有增加营销关注度的情况下销售额增加了?
  • 为什么本月员工绩效下降?
  • 以及其他单一数据源没有明显答案的问题。

诊断分析提供数据发现、向下钻取、数据挖掘和数据关联。深入研究数据允许用户识别第一步中发现的异常的潜在来源。分析师可以使用这些功能来检查数据内部和外部的模式,以得出明智的结论。概率论、过滤、回归分析和时间序列数据分析都是与诊断分析相关的有用工具,可促进这一过程。

什么是描述性分析?



当涉及到描述性分析时,线索就在名称中:它们描述了您的业务状态。这些解决方案处理大量数据并将其重新配置为易于解释的形式,例如表格、图表或图形。该信息可以由您过去制造过程中的任何统计数据、事件、趋势或特定时间范围组成。

这些类型的分析的目的是从过去中学习。一个常见的例子是分析季节性购买趋势以确定推出新产品的最佳时间。由于消费者是习惯性动物,因此查看历史数据是预测他们的反应的有效方法。

描述性分析或统计数据可以展示从总库存到几年内销售数据进展的所有内容。他们可以显示客户花费的典型金额以及该金额是否可能在某些时候增加。如果诊断分析是关于原因的,那么描述性分析可以解释是什么。

什么是预测分析?



预测性分析和描述性分析具有对立的目标,但它们密切相关。这是因为您需要有关过去的准确信息来预测未来。预测工具试图填补可用数据中的空白。如果描述性分析回答了“过去发生了什么”这个问题,那么预测分析回答了“未来会发生什么?”这个问题。

预测分析从 CRM、POS、HR 和 ERP 系统中获取历史数据,并使用它来突出显示模式。然后,使用算法、统计模型和机器学习来捕捉目标数据集之间的相关性。

最常见的商业示例是信用评分。银行使用历史信息来预测候选人是否可能跟上付款。它对制造商的工作方式大致相同,只是他们通常试图找出产品是否会销售。预测分析专注于业务的未来。

有关更多信息,请参阅我们对预测分析的更深入细分。

什么是规范性分析?



在诊断性、预测性、描述性和规范性分析中,后者是商业智能领域的最新成员。这些工具使公司能够查看潜在的决策,并根据当前和历史数据,跟踪它们以获得可能的结果。

与预测分析一样,规范分析也不会 100% 正确,因为它们与估计一起工作。但是,它们提供了“展望未来”并在做出决策之前确定决策可行性的最佳方式。

两者之间的区别在于,规范性分析提供了关于为什么可能出现特定结果的意见。然后,他们可以根据这些信息提供建议。为此,他们使用算法、机器学习和计算建模。

如果预测分析回答,“会发生什么?”然后规范性分析回答:“我们必须做些什么来实现它?”或“这一行动将如何改变结果?” Prescriptive 更多地处理试验和错误,并且具有一些假设检验性质。

不同类型的总结



所有这些类型的分析都提供了从运营信息中提取价值的更有效方法。通过数据分析,他们支持决策制定、简化客户沟通,甚至可以增加收入。

诊断分析询问现在。他们深入了解发生某事的原因并帮助用户诊断问题。描述性分析询问过去。他们想知道业务发生了什么,以及这可能如何影响未来的销售。预测分析询问未来。这些与可能发生的结果以及最有可能发生的结果有关。最后,规范性工具询问现在对未来的影响。它想知道现在最好的行动方案,以便对未来产生积极影响。换句话说,他们是决策者。

Descriptive, Predictive, Prescriptive, Diagnostic Analytics

解决方案的类型



分析调查是优化 S&OP(销售运营和计划)策略的一个组成部分。毕竟,确保制造水平有利可图的唯一方法是对需求做出合乎逻辑的、明智的预测。简而言之,您需要创建一种数据驱动的文化。

然而,找到合适的分析工具并不总是那么容易。那里有很多选择,考虑到所有不同的选择,这可能是一个令人生畏的过程。对于小型企业,建议将市场分为三种主要产品类型。

这些是诊断性、预测性、描述性和规范性分析,并非所有解决方案都执行所有这些类型的分析。首先要了解的是,虽然它们可以单独使用,但最好的结果来自所有四个的凝聚力合并。如果应用得当,它们不仅可以进行合作,还可以使您的数据分析多样化。

商业智能是提供分析能力的解决方案的最大术语,通常提供所有这些类型的分析,但有时可能只提供描述性和诊断性。在更大的总括类别中,业务分析侧重于预测性和规范性分析,大数据分析处理海量数据集,嵌入式分析可以嵌入到其他软件程序中,企业报告精简套件以提供更精简的报告工具模块。

软件选择



选择正确类型的分析软件可能意味着自信的业务决策与选择中持续的不确定性之间的差异。当您选择商业智能、业务分析、嵌入式 BI、企业报告或大数据分析工具时,本指南将为您提供清晰的前进道路。

确定要求



要确定众多分析软件选项中的哪一个最适合您,您应该首先确定您需要利用哪些要求。此 BI 要求模板将帮助您理清需要哪些要求以及哪些要求是门面的,这样您就可以为您的独特业务做出最佳选择。

比较解决方案



一旦您确定了您的关键要求,您就可以根据它们满足这些要求的程度来比较解决方案。如果您只需要识别问题,那么在诊断分析方面表现出色的解决方案可能是最佳选择。如果您想要一些可以帮助您规划解决方案的东西,那么在诊断和规范方面表现良好的平台可能更合适。

该比较报告按各个功能的得分对行业领导者进行了细分。我们建议选择前五名左右,以最符合您的需求。

请求建议



为了获得准确的报价、产品演示甚至免费试用,现在是提交 RFP(征求建议书)的时候了。此 BI RFP 指南将逐步引导您完成整个流程,以便您确切知道要包含哪些内容,以确保找到最适合您业务的产品。

结论



归根结底,诊断性、描述性、预测性和规范性分析解决方案共同构建故事。 这是一个关于您的企业拥有什么、需要什么以及可以实现什么的故事。 使用此叙述作为指导,您可以做出完全由您的数据提供信息的决策。

您的企业通过哪些分析方法取得了成功? 您对实现任何类型而不是其他类型有任何提示吗? 通过下面的评论让我们知道。

本文:https://jiagoushi.pro/data-analytics-pattern-descriptive-vs-predictive-…

本文地址
https://architect.pub/data-analytics-pattern-descriptive-vs-predictive-vs-prescriptive-vs-diagnostic-analytics
SEO Title
data analytics pattern :Descriptive vs Predictive vs Prescriptive vs Diagnostic Analytics

【数据可视化】Apache Superset:穷人的PowerBI ,但是很强大

Chinese, Simplified

Apache Superset(酝酿中)是一个现代的、企业就绪的商业智能web应用程序

重要的

免责声明:Superset是由Apache孵化器赞助的Apache软件基金会(ASF)进行孵化的一项工作。所有新接受的项目都需要孵化,直到进一步的审查表明基础设施、通信和决策制定过程已经稳定下来,与其他成功的ASF项目保持一致。虽然孵化状态不一定反映代码的完整性或稳定性,但它确实表明项目还没有完全被ASF认可。

特性概述

 

  • 丰富的数据可视化集
  • 易于使用的界面探索和可视化的数据
  • 创建和共享仪表板
  • 与主要的身份验证提供者(数据库、OpenID、LDAP、OAuth和REMOTE_USER通过Flask AppBuilder)集成的企业级身份验证
  • 一个可扩展的、高粒度的安全/权限模型,允许关于谁可以访问单个特性和数据集的复杂规则
  • 一个简单的语义层,允许用户通过定义哪些字段应该显示在哪些下拉列表中以及哪些聚合和功能指标可供用户使用来控制数据源在UI中的显示方式
  • 通过SQLAlchemy与大多数讲sql的RDBMS集成
  • 与Druid.io的深度集成

数据库

目前支持以下RDBMS:

还应该支持具有适当的DB-API驱动程序和SQLAlchemy方言的其他数据库引擎。

截图

_images/bank_dash.png

 

原文:https://superset.apache.org/index.html

本文:

讨论:请加入知识星球【首席架构师圈】或者小号【jiagoushi_pro】

SEO Title
Apache Superset introduction

【数据架构】社会网络分析科普

Chinese, Simplified

社会网络分析(SNA)是利用网络和图论研究社会结构的过程。它根据节点(网络中的个体参与者、人或事物)以及连接它们的纽带、边缘或链接(关系或交互)来描述网络结构。通常通过社交网络分析可视化的社会结构包括社交媒体网络、[2]模因传播、[3]信息流通、[4]友谊熟人网络、商业网络、社交网络、协作图、亲属关系、疾病传播和性关系。这些网络通常通过社会图来表示,其中节点表示为点,纽带表示为线。这些可视化提供了一种定性评估网络的方法,通过改变节点和边缘的可视化表示来反映感兴趣的属性。[7]

社会网络分析是现代社会学中的一项重要技术。也获得了重要的在人类学、生物学、人口、传播学、经济学、地理、历史、信息科学、组织研究、政治学、社会心理学、发展研究、社会语言学和计算机科学,现在常见的作为一个消费者的工具(见系统网络体系结构(SNA)软件列表)。[8][9][10][11]

历史

社会网络分析的理论根源在于早期社会学家的工作,如乔治•西梅尔(Georg Simmel)和埃米尔•迪尔凯姆(Emile Durkheim)。自20世纪初以来,社会学家们就一直在使用“社交网络”的概念来描述从人际关系到国际关系等各个层面的社会系统成员之间的复杂关系。20世纪30年代,雅各布•莫雷诺(Jacob Moreno)和海伦•詹宁斯(Helen Jennings)引入了基本的分析方法。[12]中国英语学习网1954年,约翰·阿伦德尔·巴恩斯开始系统地使用这个词来表示联系的模式,包括公众和社会科学家传统上使用的概念:有限的群体(如部落、家庭)和社会类别(如性别、种族)。Ronald Burt、Kathleen Carley、Mark Granovetter、David Krackhardt、Edward Laumann、Anatol Rapoport、Barry Wellman、Douglas R. White和Harrison White等学者扩展了系统社交网络分析的使用。甚至在文献研究中,网络分析也被Anheier, gerand Romo,[14] Wouter De Nooy,[15] and Burgert Senekal应用。[16]事实上,社交网络分析已经在不同的学术领域得到了应用,也在反洗钱和恐怖主义等实际应用中得到了应用。

指标

色调(从红色=0到蓝色=max)表示每个节点之间的中心性。

连接

同质性:行动者与相似或不同的人建立联系的程度。相似性可以由性别、种族、年龄、职业、教育成就、地位、价值观或任何其他显著特征来定义。[17]同质性也称为配体性。

多路性:一个连接中包含的内容形式的数量。例如,两个人是朋友,也一起工作,那么他们的多重性就是2。[19]多路性与关系强度有关。

互惠:两个行动者相互之间的友谊或其他互动的回报程度

网络闭合度:关系三元组完整性的度量。一个人对网络封闭的假设(即他们的朋友也是朋友)被称为传递性。及物性是个体或情境特征需要认知闭合的结果

接近性:演员与地理位置相近的人有更多联系的倾向

分布

桥:一种个体,它的弱连接填补了一个结构上的洞,提供了两个个体或集群之间唯一的连接。当较长的路由由于消息失真或传输失败的高风险而不可行的时候,它还包括最短的路由

中心性:中心性是指一组度量指标,旨在量化网络中特定节点(或组)的“重要性”或“影响”(在各种意义上)。测量“中心性”的常用方法有:中介中心性、接近中心性、特征向量中心性、阿尔法中心性和程度中心性

密度:网络中直接连接的比例与可能的总数之比

距离:连接两个特定角色所需的最小连接数,斯坦利·米尔格拉姆(Stanley Milgram)的“小世界实验”(small world experiment)和“六度分离”(six degrees of separation)的理念使之流行起来。

结构孔:网络的两个部分之间没有连接。发现并利用结构性漏洞可以给创业者带来竞争优势。这个概念是由社会学家罗纳德·伯特提出的,有时也被称为社会资本的另一种概念。

纽带强度:由时间、情感强度、亲密和互惠(即互惠)的线性组合来定义。强联系与同质性、接近性和传递性有关,弱联系与桥梁有关。

分割

如果每个个体都与其他个体有直接联系,那么群体就被定义为“小团体”;如果直接联系的严格程度较低,则被定义为“社交圈”;如果需要精确,则被定义为结构上具有凝聚力的群体

聚类系数:度量一个节点的两个关联是关联的可能性。聚类系数越高,说明“拉帮结派”程度越高

内聚性:行动者通过内聚纽带彼此直接联系的程度。结构内聚是指如果从一个组中移除,将断开该组的成员的最小数量

网络的建模和可视化

社交网络的可视化表示对于理解网络数据和传达分析结果具有重要意义。社会网络分析产生的数据的可视化方法有很多。许多分析软件都有用于网络可视化的模块。通过在各种布局中显示节点和纽带,并将颜色、大小和其他高级属性赋予节点,可以对数据进行探索。网络的可视化表示可能是传递复杂信息的一种强有力的方法,但仅从可视化显示解释节点和图的属性时应加以注意,因为它们可能通过定量分析较好地捕捉到结构属性的错误表示

有符号图可以用来说明人类之间的好关系和坏关系。两个节点之间的正边缘表示一种积极的关系(友谊、联盟、约会),而两个节点之间的负边缘表示一种消极的关系(仇恨、愤怒)。有符号的社交网络图可以用来预测图的未来发展。在有符号的社交网络中,存在着“平衡”和“不平衡”周期的概念。平衡循环的定义是所有符号的乘积都为正的循环。根据平衡理论,平衡图代表了一组人,他们不太可能改变他们对群体中其他人的看法。不平衡图表代表了一组人,他们很可能会改变他们对群体中其他人的看法。例如,一组3个人(a、B和C),其中a和B有正的关系,B和C有正的关系,而C和a有负的关系,这是一个不平衡的循环。这一组很可能演变成一个平衡的周期,如一个B只有一个良好的关系,并与c a和B都有负面关系利用平衡和不平衡的周期的概念,签署了社交网络的进化图可以预测。[40]

特别是当使用社会网络分析作为促进变革的工具时,不同的参与性网络映射方法已被证明是有用的。在这里,参与者/面试官通过在数据收集过程中实际绘制网络图(用笔和纸或数字)来提供网络数据。纸笔网络映射方法的一个例子是* Net-map工具箱,它还包括一些参与者属性的集合(参与者的感知影响和目标)。这种方法的一个好处是,它允许研究人员在收集网络数据时收集定性数据并提出澄清问题

社交网络的潜力

这部分可能需要清理以满足Wikipedia的质量标准。具体问题是:合并后需要更仔细的清理,如果可以,请帮助改进此部分。(了解如何以及何时删除此模板消息)

社交网络潜力(Social Networking Potential, SNP)是一个数值系数,由算法[42][43]推导而来,既表示个人社交网络的规模,也表示他们影响该网络的能力。SNP系数是Bob Gerstley在2002年首次定义和使用的。一个密切相关的术语是Alpha用户,定义为具有高SNP的人。

SNP系数有两个主要功能:

  1. 基于个人社交网络潜力的分类,以及
  2. 被调查者在定量营销研究中的权重。

通过计算受访者的SNP,并针对高SNP的受访者,定量营销研究用于驱动病毒式营销策略的强度和相关性得到了增强。

变量用于计算一个人的SNP包括但不限于:参与社交活动组成员,领导角色,识别、出版/编辑/导致非电子媒体、出版/编辑/导致电子媒体(网站、博客),和过去的频率分布的信息在他们的网络。首字母缩略词“SNP”和一些最初开发出来的用于量化个人社交网络潜力的算法,在《广告研究正在发生变化》(Gerstley, 2003)白皮书中有所描述

2004年,Ahonen、Kasper和Melkko出版了第一本书[45],讨论了Alpha用户在移动通信受众中的商业使用。Ahonen & Moore在2005年出版的《社区主导品牌》(Communities Brands)一书中,首次在社交营销智能的背景下更广泛地讨论了Alpha用户。2012年,尼古拉·格列柯(Nicola Greco, UCL)在TEDx大会上展示了社交网络的潜力,并将其与用户产生的和公司应该使用的潜在能量进行了对比,她说“SNP是每个公司都应该拥有的新资产”

实际应用

参见:社会网络分析(犯罪学)

社会网络分析在广泛的应用和学科中得到了广泛的应用。一些常见的网络分析应用包括数据聚合和挖掘、网络传播建模、网络建模和采样、用户属性和行为分析、社区维护的资源支持、基于位置的交互分析、社会共享和过滤、推荐系统开发、链接预测和实体解析。在私营部门,企业使用社交网络分析来支持活动,如客户互动和分析、信息系统开发分析、[48]营销和商业智能需求(参见社交媒体分析)。一些公共部门的应用包括制定领导者参与策略,分析个人和团体参与和媒体使用,以及基于社区的问题解决。

安全应用

社交网络分析也被用于情报、反情报和执法活动。这种技术允许分析人员绘制隐蔽组织的地图,如间谍网、有组织犯罪家庭或街头帮派。美国国家安全局(NSA)利用其秘密的大规模电子监控项目,生成对恐怖分子细胞和其他被认为与国家安全有关的网络进行此类分析所需的数据。在网络分析过程中,国安局会深入观察三个节点。社交网络的初始映射完成后,通过分析来确定网络的结构,例如确定网络中的领导者。[50]这允许军方或执法部门对处于领导地位的高价值目标发动“捕获或击毙”斩首攻击,破坏网络的功能。自911恐怖袭击事件发生后不久,美国国家安全局就一直在对通话详细记录(cdr),也就是所谓的元数据进行社交网络分析

文本分析的应用

大型文本语料库可以转化为网络,然后用社会网络分析的方法进行分析。在这些网络中,节点是社会参与者,链接是动作。可以使用解析器自动提取这些网络。然后,通过使用网络理论中的工具对包含数千个节点的最终网络进行分析,以确定关键参与者、关键社区或各方,以及总体网络的鲁棒性或结构稳定性、或某些节点的中心性等一般属性。这自动化了定量叙述分析所引入的方法,即主观-动宾三胞胎是由一对由一个动作联系起来的行动者或由行动者-客体组成的对来识别的

美国大选叙事网络[55]

互联网应用

社会网络分析也被应用于理解个人、组织和网站之间的在线行为。超链接分析可用于分析网站或网页之间的连接,以检查个人在浏览网页时信息是如何流动的。组织之间的联系已经通过超链接分析来分析问题社区中的哪些组织

社交媒体互联网应用

社交网络分析已被应用于社交媒体,作为一种工具,通过个人或组织在Twitter和Facebook等社交媒体网站上的联系来了解他们之间的行为

在计算机支持的协作学习中

计算机支持协同学习(CSCL)是目前应用SNA的主要方法之一。当应用于CSCL时,SNA被用来帮助理解学习者如何在数量、频率和长度方面进行协作,以及交流的质量、主题和策略。此外,SNA可以关注网络连接的特定方面,或者整个网络作为一个整体。它使用图形表示、书面表示和数据表示来帮助检查CSCL网络中的连接。当将SNA应用于CSCL环境时,参与者之间的交互被视为一个社交网络。分析的重点是参与者之间建立的“联系”——他们如何互动和沟通——而不是每个参与者各自的行为。

关键术语

在计算机支持的协同学习中,有几个与社会网络分析研究相关的关键术语,如:密度、中心性、独立性、超度和社会图。

  • 密度是指参与者之间的“联系”。密度定义为参与者拥有的连接数,除以参与者可能拥有的连接总数。例如,如果有20个人参与,每个人都有可能与19个人建立联系。密度为100%(19/19)是系统中最大的密度。密度为5%表明19种可能的连接中只有1种
  • 中心关注网络中个体参与者的行为。它衡量的是个体与网络中其他个体交互的程度。一个人在网络中与他人连接得越多,他们在网络中的中心地位就越大

度内和度外变量与中心性相关。

  • 度中心性以某一特定个体为焦点;所有其他个体的中心是基于他们与“在度”个体的焦点的关系
  • 外度是对中心性的一种度量,它仍然关注单个个体,但分析关注个体的外向交互作用;度外中心度的度量是焦点个体与其他人交互的次数
  • 社会图是在网络中定义了连接边界的可视化。例如,一个显示参与者a的出度中心点的社会图将说明参与者a在研究网络中建立的所有出度连接

独特的功能

研究人员将社会网络分析应用于计算机支持的协作学习的研究,部分原因是它提供了独特的功能。这种特殊的方法允许研究网络学习社区中的交互模式,并有助于说明参与者与组中其他成员的交互程度。使用SNA工具创建的图形提供了参与者之间的连接和用于在组内通信的策略的可视化。一些作者还认为,SNA提供了一种分析成员参与模式随时间变化的简便方法

许多研究都将SNA应用到CSCL中。研究结果包括网络的密度与教师的存在之间的相关性,[59]更重视“中心”参与者的建议,[61]网络中跨性别互动的频率较低,[62]以及教师在异步学习网络中扮演的角色相对较小。

与SNA一起使用的其他方法

虽然很多研究已经证明了社交网络分析在计算机支持的协同学习领域的价值,但是[59]的研究人员认为SNA本身不足以完全理解CSCL。交互过程的复杂性和无数的数据源使得SNA很难对CSCL进行深入的分析。[64]研究人员指出,SNA需要与其他分析方法相补充,以形成更准确的协作学习体验图景。[65]

在CSCL的研究中,许多研究将其他类型的分析与SNA相结合。这可以称为多方法方法或数据三角剖分,这将导致CSCL研究中评估可靠性的提高。

  • 定性方法——定性案例研究的原则构成了将SNA方法整合到CSCL经验研究中的坚实框架。
    • 民族志数据,如学生问卷、访谈和课堂非参与者观察[65]
    • 案例研究:综合研究特定的CSCL情况,并将研究结果与一般方案相关联[65]
    • 内容分析:提供成员之间沟通内容的信息[65]
  • 定量方法——这包括对事件进行简单的描述性统计分析,以确定无法通过SNA跟踪的群体成员的特定态度,以便发现总体趋势。
    • 计算机日志文件:提供学习者如何使用协作工具的自动数据[65]
    • 多维缩放(MDS):绘制行动者之间的相似度图表,使更多相似的输入数据更接近[65]
    • 软件工具:QUEST、SAMSA(邻接矩阵和基于社会语法的分析系统)和Nud*IST[65]

 

原文:https://en.wikipedia.org/wiki/Social_network_analysis

本文:https://pub.intelligentx.net/wikipedia-social-network-analysis

讨论:请加入知识星球或者小红圈【首席架构师圈】

SEO Title
Wikipedia Social network analysis

【洞察力】什么是洞察力?商业洞察与洞察营销

视频号

微信公众号

知识星球

Chinese, Simplified

“洞察力”一词在商业环境中非常流行,尤其是在营销、广告和商业智能领域。然而,对于洞察力是什么、它的用途以及公司如何使用它,仍然存在一些困惑。

如果你在市场营销、广告、通信、商业智能或数据分析领域工作,你可能已经知道什么是洞察力。然而,尽管洞察力是公司的重要资产,但许多企业高管和经理仍然不明白什么是洞察。

什么是洞察力?

术语“洞察力”是指理解、感知或知识。这个词有多种含义,根据研究领域的不同而有所不同。例如,心理学区分三种类型的见解:智力见解、情感见解和结构见解

除了心理学之外,洞察这个词在商业世界中也很常见,尤其是在营销、沟通、品牌、市场研究和商业智能方面。

在这个领域,这个词的营销内涵并没有偏离其原意太远,因为洞察力基本上就是知识。然而,这不仅仅是任何一种知识或什么,在商业环境之外,我们可以通过知识来理解。

在商业中,洞察力是指增加价值并有助于创造或改进某些东西的知识。当一家公司拥有有价值的信息,使公司能够产生情报,了解正在发生的事情,为什么以及如何解决、扭转或改进某件事时,它就会有洞察力。

当我们发现能够解决商业问题的知识时,我们也会谈论见解。例如,在市场营销和广告中,尤其是在数据驱动的市场营销中,通常将洞察称为有价值的信息,这些信息提供了有关客户的关键知识——客户情报——或者将营销活动的发展称为洞察。

当然,真知灼见来自研究,如今主要来自数据分析。然而,数据并不是一种洞察力。然而,从数据中,我们可以通过数据分析、情境化、丰富化等方式获得见解。只有将数据转化为见解,公司才能进行数据驱动的转型过程。

要使数据成为洞察力,它必须至少满足以下要求:

  • 提供对业务活动有用且适用的情报。
  • 在决策过程中提供帮助。
  • 推动策略或行动。
  • 帮助解决问题、避免问题或改善业务的某些方面。

如果你想了解更多关于数据、信息和见解之间的区别,你可以阅读这篇文章:“信息和见解的区别是什么”。

为什么见解有用?

在商业世界中,当涉及到定义战略和推动旨在通过数据促进业务的行动时,见解是至关重要的。

营销洞察主要来自客户数据,用于创建活动、内容和客户体验,以更好地满足消费者的需求并提供价值。洞察也是内容个性化的基础,用于执行客户参与行动,如创建买家角色和其他类型的客户细分,优化客户体验或采取以客户为中心的战略。

除了营销之外,洞察力对任何业务领域都很有用,甚至有助于优化公司自身的业务活动、运营和工作流程,以及战略和行动计划。



5商业和营销见解的好例子

以下是10个伟大的营销或广告活动的例子,它们都是从洞察力中产生的,并证明知识是绝妙想法的引擎。

1.雀巢

2016年,雀巢对圣诞节期间负责烹饪的人如何庆祝圣诞节进行了一项调查。这项研究揭示了一些见解,比如64%的圣诞节期间做饭的人是女性,四分之一的主人吃冷饭,100%的主人认为客人没有意识到为每个人做饭的努力。雀巢随后将这些见解应用到自己的广告活动中,从而向所有人致敬:

2.宜家

为了跟上圣诞节的主题,宜家在2018年推出了一个让任何人都无动于衷的地方。这家瑞典品牌设法将其品牌与吸引所有受众的信息联系起来,解决了当前的社会问题,而这个问题也很容易与该品牌的产品联系起来。

3.乐高

20世纪90年代初,乐高在经历了多年的发展后,经历了一个停滞的阶段。尽管乐高多次试图通过扩大产品范围来振兴品牌,但在1998年,乐高在很长一段时间内首次出现财务亏损。

21世纪初,乐高试图通过彻底改变其产品系列,提供创新和不同的产品来克服这一打击。然而,他们的努力被证明是失败的,因为这些新作品并没有吸引那些相信乐高已经失去了本质的公众。

2004年至2006年间,该品牌进行了一次设计思维过程,以扭转这种局面。这一过程很长,结合了不同的创新过程,最终获得了必要的见解,制定了一个分为3个阶段的战略恢复计划,使公司取得了成功。

4.百达翡丽

2019年,男士手表品牌百达翡丽对其1996年首次推出的传奇“世代”运动的概念、平面设计和渠道进行了彻底改造。

百达翡丽明白时代在变,品牌必须适应文化和社会潮流。对此,该公司进行了一项研究,重点是找出当今“新人”的主要特征。该品牌收集了改变其活动所需的见解,该活动现在专注于“现代父亲身份”或父亲身份的新角色。

5.Spotify

Spotify在其最近的活动中成功地利用了社交媒体的力量,该活动基于对全球和个人收听率最高的播放列表的分析。

Spotify成功地将平台的用户转变为自己的广告商,为每个用户提供了一份最受欢迎的艺术家年度个性化报告,可以在社交媒体上轻松分享。

简言之,洞察力是为公司提供知识和智力的有价值信息,对公司任何领域的创建或改进或解决问题都很有用。

在数据时代,数据分析会产生真知灼见。数据分析更进一步,现在辅以人工智能、深度学习或机器学习,旨在寻找更多和/或更好的见解。

本文地址
https://architect.pub
SEO Title
What Is an Insight? Business Insights and Insight Marketing

数据分析(DA) --target

视频号

微信公众号

知识星球

Chinese, Simplified

什么是数据分析(DA)?

数据分析(DA)是检查数据集以发现趋势并对其包含的信息得出结论的过程。越来越多的数据分析是在专业系统和软件的帮助下完成的。数据分析技术和技术被广泛用于商业行业,使组织能够做出更明智的商业决策。科学家和研究人员还使用分析工具来验证或反驳科学模型、理论和假设。

作为一个术语,数据分析主要指各种应用程序,从基本的商业智能(BI)、报告和在线分析处理(OLAP)到各种形式的高级分析。从这个意义上说,它在本质上类似于业务分析,这是分析数据方法的另一个总括术语。不同之处在于,后者面向商业用途,而数据分析则有更广泛的关注点。然而,这个术语的宽泛观点并不普遍:在某些情况下,人们使用数据分析专门指高级分析,将BI视为一个单独的类别。

数据分析计划可以帮助企业增加收入、提高运营效率、优化营销活动并加强客户服务工作。分析还使组织能够对新兴市场趋势做出快速反应,并获得相对于商业竞争对手的竞争优势。根据应用程序的不同,分析的数据可以包括历史记录,也可以包括为实时分析而处理的新信息。此外,它可以来自内部系统和外部数据源的混合。

数据分析应用程序的类型

在高水平上,数据分析方法包括探索性数据分析(exploratory data analysis)和验证性数据分析(confirmatory data analysis )。EDA旨在发现数据中的模式和关系,而CDA则应用统计技术来确定关于数据集的假设是真是假。EDA经常被比作侦探工作,而CDA则类似于法官或陪审团在法庭审判中的工作——统计学家John W.Tukey在1977年出版的《探索性数据分析》一书中首次提出了这一区别。

数据分析也可以分为定量数据分析和定性数据分析。前者涉及对具有可量化变量的数值数据的分析。这些变量可以进行比较或统计测量。定性方法更具解释性——它侧重于理解非数字数据的内容,如文本、图像、音频和视频,以及常见短语、主题和观点。

在应用程序级别,BI和报告为业务主管和公司员工提供了有关关键性能指标、业务运营、客户等的可操作信息。过去,数据查询和报告通常由IT领域的BI开发人员为最终用户创建。现在,越来越多的组织使用自助BI工具,让高管、业务分析师和运营人员可以运行自己的临时查询并自己构建报告。

高级类型的数据分析包括数据挖掘,它涉及对大型数据集进行排序,以确定趋势、模式和关系。另一种是预测分析,旨在预测客户行为、设备故障和其他未来业务场景和事件。机器学习也可以用于数据分析,通过运行自动化算法,比数据科学家通过传统分析建模更快地处理数据集。大数据分析将数据挖掘、预测分析和机器学习工具应用于可以包括结构化、非结构化和半结构化数据的数据集。文本挖掘提供了一种分析文档、电子邮件和其他基于文本的内容的方法。

数据分析计划支持多种业务用途。例如,银行和信用卡公司分析提款和消费模式,以防止欺诈和身份盗窃。电子商务公司和营销服务提供商根据导航和页面浏览模式,使用点击流分析来识别可能购买特定产品或服务的网站访问者。医疗保健组织挖掘患者数据,以评估癌症和其他疾病治疗的有效性。

移动网络运营商检查客户数据以预测客户流失。公司参与客户关系管理分析,为营销活动划分客户,并为呼叫中心工作人员提供有关来电者的最新信息。

数据分析过程内部

数据分析应用程序不仅仅涉及分析数据,尤其是在高级分析项目中。所需的大部分工作都是在前期进行的,包括收集、整合和准备数据,然后开发、测试和修订分析模型,以确保它们产生准确的结果。除了数据科学家和其他数据分析师之外,分析团队通常还包括数据工程师,他们创建数据管道并帮助准备用于分析的数据集。

分析过程从数据收集开始。数据科学家确定特定分析应用程序所需的信息,然后自己或与数据工程师和IT人员合作,将其组装起来以供使用。来自不同源系统的数据可能需要通过数据集成例程进行组合,转换为通用格式并加载到分析系统中,如Hadoop集群、NoSQL数据库或数据仓库。

Who's who on the data analytics team

在其他情况下,收集过程可能包括从流入Hadoop的数据流中提取相关子集。然后将数据移动到系统中的一个单独分区,以便在不影响整个数据集的情况下对其进行分析。

一旦所需的数据到位,下一步就是发现并解决可能影响分析应用程序准确性的数据质量问题。这包括运行数据分析和数据清理任务,以确保数据集中的信息一致,并消除错误和重复条目。进行额外的数据准备工作,以操纵和组织数据,用于计划的分析用途。然后应用数据治理策略,以确保数据符合公司标准并得到正确使用。

从这里开始,数据科学家使用预测建模工具或其他分析软件和编程语言(如Python、Scala、R和SQL)构建分析模型。通常,模型最初针对部分数据集运行,以测试其准确性;然后根据需要对其进行修订和再次测试。这个过程被称为训练模型,直到它按预期运行。最后,模型在生产模式下针对完整的数据集运行,这可以一次性完成,以满足特定的信息需求,也可以在数据更新时持续进行。

在某些情况下,可以将分析应用程序设置为自动触发业务操作。一个例子是金融服务公司的股票交易;当股票达到一定价格时,触发器可以激活,在没有人参与的情况下买卖股票。否则,数据分析过程的最后一步是将分析模型生成的结果传达给企业高管和其他最终用户。图表和其他信息图的设计可以使调查结果更容易理解。数据可视化通常包含在BI仪表板应用程序中,这些应用程序在单个屏幕上显示数据,并且可以在新信息可用时实时更新。

数据分析与数据科学

随着自动化的发展,数据科学家将更多地关注业务需求、战略监督和深度学习。在BI中工作的数据分析师将更多地关注模型创建和其他日常任务。一般来说,数据科学家专注于产生广泛的见解,而数据分析师则专注于回答具体问题。在技术技能方面,未来的数据科学家需要更多地关注机器学习操作过程,也称为MLOps。

本文地址
https://architect.pub
SEO Title
data analytics (DA)

数据可视化

Chinese, Simplified
SEO Title
data visualization

【Python】不要在 Python 绘图中使用 Matplotlib 或 Seaborn

Chinese, Simplified

是时候升级你的可视化游戏了!

数据可视化是人脑有效理解任何信息的最舒适、最直观的方式。 对于任何使用数据的人来说,创建漂亮直观的可视化的能力是一项非常重要的技能,必须能够有效地传达调查结果并推动行动。

R,提供了一些很棒的数据可视化(ggplot2,传单)和仪表板(使用 R Shiny)包,您可以使用它们创建漂亮的可视化。 另一方面,Python 在这方面有点落后,因为 matplotlib 不是一个很好的可视化包。

Seaborn 是在 python 中创建静态图的不错选择,但不具备使这些交互的能力。 对于静态绘图,我们无法放大绘图的有趣部分,将鼠标悬停在绘图上以查看特定信息等等。



所以,Plotly 包来了!

Plotly 是一个 Python 库,用于创建交互式、出版质量的可视化。 Plotly 不仅使绘图具有交互性,这是 matplotlib 或 seaborn 中缺少的功能,而且还提供了各种更多的图表,例如:

  • 统计图表,例如树状图、误差带、平行类别图等。
  • 科学图表,例如等高线图、对数图等。
  • 财务图表,如漏斗图、烛台图等
  • 气泡图、密度图等地图。
  • 生物信息学等等。

这就是为什么你应该在 matplotlib 或 seaborn 上使用 plotly 的理论解释。



现在,让我们实际看看!



在下一节中,我们将使用 gapminder 数据来可视化印度和中国多年来在社会和经济方面的进步。我们将对 pandas 数据框进行数据选择和操作,如果您是 pandas 的新手,那么您可以学习 Python 进行数据分析。

您可以打开 jupyter notebook 直接使用代码,无需任何修改。让我们首先安装 plotly 包并导入所需的包。

 

# install plotly 
! pip install plotly 

# import plotly packages 
import plotly.graph_objects as go
import plotly.express as px

使用 graph_objects 模块,我们将创建不同类型的图,并且 express 模块将用于读取 gapminder 数据。 现在,让我们使用 plotly express 读取 gapminder 数据并查看前 5 行。

## reading the data and looking at the 1st five rows using head()
df = px.data.gapminder()
df.head()

从上表可以看出,数据包含了不同国家不同年份的预期寿命、人口、人均GDP等信息。 现在,我们将过滤印度和中国的数据框。

# reading the datasets for India and China 
df_india = df[df['country'] == 'India']
df_china = df[df['country'] == 'China']
df_india

下表显示了印度的数据。 数据范围从 1952 年到 2007 年。

印度和中国的人口



现在,我们将创建一个条形图,显示多年来印度和中国的人口。 使用 plotly graph object 模块创建绘图是一个 2 步过程:

  • 设置图形函数,我们将在其中设置数据参数。 data 参数设置为具有印度和中国的条形功能(go.Bar)的列表。 在 bar 函数中,我们将 x 轴设置为年份列,y 轴设置为人口列,标记颜色设置为印度红/蓝色,条形名称设置为国家名称。
  • 使用 update_layout 函数设置图表的标题、x 轴和 y 轴的文本。
## Using figure function to define the data argument and setting it 
##to the bars for India and China 
fig = go.Figure(data = [go.Bar(x = df_india['year'], 
                y = df_india['pop'], marker_color = 'indianred',name = 'India'),
                 go.Bar(x = df_china['year'], y = df_china['pop'], 
                marker_color = 'blue',name = 'China')
                ])

## Setting the titles, xaxis and yaxis  
fig.update_layout(title='Population of India and China over the years',
                   xaxis_title='Years',
                   yaxis_title='Population',
                   )

fig

从上面的图表中,我们可以看到两国的人口以相似的速度增长。



多年来的预期寿命



每当我们有时间序列数据(年/月/周等的测量值)时,折线图是显示趋势的最佳选择。 使用以下代码,我们展示了多年来印度和中国的预期寿命如何变化。

# step 1 : Setting the figure function 
fig = go.Figure(data = [go.Scatter(x = df_india['year'], y = df_india['lifeExp'],\
                                    line = dict(color = 'firebrick', width = 4),
                                    text = df_india['country'], name = 'India'),
                        go.Scatter(x = df_china['year'], y = df_china['lifeExp'],\
                                   line = dict(color = 'blue', width = 4), 
                                  text = df_china['country'], name = 'China')])

   
# step 2 : Setting the update_layout function   
fig.update_layout(title='Life Expectency over the years',
                   xaxis_title='Years',
                   yaxis_title='Life Expectancy (years)',
                   )
fig

两国的预期寿命一直存在差距,除了 1960 年左右,中国的预期寿命因“中国大饥荒”而突然下降。



多年来的预期寿命与人均GDP



当我们想查看 2 个连续(数字)特征之间的交互时,散点图是首选图。

在下面的代码中,我们正在创建两个国家的预期寿命和人均 GDP 之间的散点图。

fig = go.Figure(data = [go.Scatter(y = df_india['lifeExp'], x = df_india['gdpPercap'],\
                                   mode = 'markers', name = 'India')
                        ,
                       go.Scatter(y = df_china['lifeExp'], x = df_china['gdpPercap'],\
                                   mode = 'markers', name = 'China')
                       ])

    
fig.update_layout(title='Life Expectency vs GDP per Capita',
                   yaxis_title='Life Expectancy (years)',
                   xaxis_title='gdpPercap',
                   )
fig

这两个国家的预期寿命都随着人均国内生产总值的增加而增加。 与印度相比,中国的人均GDP有了显着提高。



随着时间的推移世界发展:动画



使用气泡图,我们可以在 2D 图上显示 3 个维度(x 轴、y 轴和气泡大小)。 使用以下代码,我们可以使用 plotly express 模块的 scatter 函数创建气泡图。

df = px.data.gapminder()

fig = px.scatter(df, x = 'gdpPercap', y = 'lifeExp', size = 'pop',
                 color = 'continent', hover_name='country',
                 log_x= True, size_max=50, title = 'World Development in 2007',
                 animation_frame="year", animation_group="country", range_y = [25,90])

fig.update_layout(xaxis = dict(showgrid=False), yaxis = dict(showgrid=False))

fig

让我们了解该函数的一些重要参数:

  • 大小:这设置为将捕获气泡大小的数字列。
  • 颜色:这是在一个分类列中设置的,它将捕获气泡的颜色。 在我们的示例中,默认情况下为每个大陆分配一种颜色。
  • log_x :将 X 轴(人均 GDP)设置为对数刻度。
  • size_max:设置气泡的最大尺寸,当设置尺寸参数时。 这充当尺寸标准化参数。
  • animation_frame:用于为动画帧分配标记的数据帧列的值。 在我们的示例中,参数设置为年份列。
  • animation_group:与“animation_group”匹配的行将被视为每帧描述相同的对象。 我们想看看每个国家多年来的进展情况,因此将其设置为国家列。

这些年来,世界各国都取得了长足的进步。 我们可以看到所有国家的预期寿命与人均 GDP(均随时间增加)之间的直接相关性。 可以从此图表中得出更多发现,在评论中分享您的发现。



更重要的是!



您还可以使用 plotly 创建交互式仪表板。 Dash 是一个无需学习 HTML、CSS 和 Javascript 即可快速创建漂亮的 Python 仪表板的绘图框架。

原文:https://medium.com/codex/dont-use-matplotlib-or-seaborn-for-your-python…

本文:https://jiagoushi.pro/node/2041

SEO Title
Don’t use Matplotlib or Seaborn for Your Python Plots

【图型计算架构】GraphTech生态系统-第3部分:图形可视化

Chinese, Simplified

这篇文章是关于GraphTech生态系统系列文章的一部分。本文是第三部分,也是最后一部分(目前)。介绍了图形可视化软件、应用程序和库的生态系统。第一篇文章列出了图形数据库。第二部分介绍了图形分析生态系统。

注意:我在本文的底部添加了一个演示,其中列出了70多个图形可视化库、工具箱和可视化工具。

图表是用来看的

Image for post

Paris Metro | Graph data © Matthieu Totet CC-BY-SA — | Visualization Ogma by Linkurious

本文所讨论的图形技术层是前端层,即图形可视化层。信息可视化已经成为许多类型分析的支持,包括社会网络分析。几十年来,视觉表征帮助研究人员、分析师和企业从他们的数据中获得洞察力。

可视化工具是图形数据和分析人员之间的重要桥梁。它有助于表面信息和洞察力,从而了解情况或解决问题。

虽然以表格格式(如电子表格)读取和理解非图形数据很容易,但如果您尝试以同样的方式分析连接的数据,则可能会丢失有价值的信息。在表中表示连接的数据不是直观的,而且通常隐藏了值所在的连接。

图形可视化工具将连接的数据转换成图形网络表示,利用人脑的熟练程度来识别视觉模式和更多模式变化。

在图论和网络科学领域,早在1996年Pajek项目中,研究人员就开始设想图形分析和可视化工具。尽管这些应用长期以来都局限于研究领域,但它却是计算机图形可视化工具的诞生。

Image for post

The pajek project, initiated in 1996

可视化加速了数据分析

研究人员开始开发这些工具是有原因的。图形可视化为图形数据的分析带来了许多优点。将可视化方法应用于数据分析时,您更有可能减少查找信息的时间,因为:

  • 你对趋势和模式的识别能力更强。
  • 您可以更容易地消化大量的数据。
  • 你可以更容易地比较各种情况。
  • 此外,通过视觉媒介分享和解释你的发现会更容易。

再加上计算机机器带来的能力,这些优势为分析人员在大量数据中寻找信息打开了新的大门。这也是图形可视化解决方案与我们在前面的文章中讨论的图形分析和图形数据库工具互补的原因。

一旦存储了数据并完成了计算,最终用户需要一种可理解的方法来处理和理解数据。图形可视化工具在许多场景中都很有用。我们将要介绍的大多数工具都可以直接插入数据库和分析系统,以进一步分析图形数据。

图形可视化库和工具箱

目前可用于可视化图形数据的常用工具包括库和工具箱。这些库允许您构建定制的可视化应用程序,以适应您的需要:从在浏览器中显示数据的基本图形布局,到嵌入图形数据自定义和分析功能的完整面板的高级应用程序。它们确实需要编程语言的知识,或者暗示您有可用的开发资源。

Image for post

The graph visualization libraries and toolkit ecosystem

目录很广[您将在本文结尾处找到列表],根据您最喜欢的语言、许可证要求、预算或项目需要,您可以选择很多。在开源世界中,一些库提供了许多数据可视化的可能性,包括图形或网络表示。这是 D3.js和 Vis.js例如,允许您在不同的数据表示格式中进行选择。

其他库只关注数据的图形表示,例如Cytoscape.js 或者Sigma.js. 通常,这些库提供的功能比通用库更多。Java中有GraphStreamJung之类的库,或者Python中的库,其中有nodeboxgraph这样的包。

您还可以找到商业图形可视化库,如yWorks的yFiles、Cambridge Intelligence的Keylines、Tom Sawyer Software的Tom Sawyer Perspectives或我们自己的解决方案Ogma。商业图书馆具有保证持续技术支持和先进性能的优势。

图形可视化软件与web应用

研究应用

还有其他不需要任何开发的解决方案。这些解决方案要么是Saas,要么是本地软件和web应用程序。正如我们前面提到的,第一个现成的解决方案产生于网络理论研究人员的工作。在Pajek之后,其他的解决方案也被发布,比如NetMinerin 2001,一个用于大型网络数据探索性分析和可视化的商业软件。同样,2008年创建的Gephi软件为社交网络分析领域的许多研究人员带来了强大的开源工具,并在图形可视化方法的民主化方面发挥了关键作用。

其他的研究项目也出现了,因为网络技术简化了他们的创作。例如,帕拉迪奥(Palladio),一个面向历史研究人员的图形可视化web应用程序,于2013年创建。最近在2016年,研究项目OSoMe(社交媒体观察站)发布了一个在线图形可视化应用程序,研究社交媒体上的信息传播和错误信息。

然而,图形可视化不再是学术界和研究界的专利。其他人理解图形可视化的潜力,以及这些工具如何帮助其他领域的组织和企业:网络管理、金融犯罪调查、网络安全、医疗保健发展等等。i2有限公司的产品是该领域的先驱。i2link笔记本电脑早在90年代推出,它是第一个用于执法的调查性链接分析和可视化软件之一。

通用和特定领域解决方案

今天,您将很容易找到软件或web应用程序来可视化各种性质的图形数据。作为一个交互式电子表格,你的电子表格是一个交互式的图形。基于云的应用程序BeGraph提供了一个3D数据网络可视化工具。历史上的开源软件,如GraphViz和Cytoscape,也允许您将任何类型的数据可视化为交互式图形。

一些公司提出的解决方案侧重于特定的用例。在这些情况下,图形可视化应用程序通常使用专门设计的功能来增强,以满足特定于给定领域的需求。例如,Linkurious产品专门针对网络威胁,因此它配备了警报和模式检测功能,以支持分析师在这些领域的工作。

其他领域专用工具的例子包括VIS(可视化调查场景),一个由OCCRP为调查主要商业或犯罪网络的记者设计的工具,Synapp,一个组织网络可视化应用程序,或者UpLevel,它专注于网络安全用例。随着图形技术的普及,越来越多的领域都在见证着特定图形可视化工具的发展。

内置可视化工具和其他加载项

最后,专门用于图形数据可视化的最后一组工具是内置的可视化工具和图形数据库插件。

Image for post

Built-in graph visualizers and add-ons

虽然图形可视化软件和web应用程序对于深入分析或高级图形数据研究非常有用,但在某些情况下,您只需要一个基本的、可访问的可视化工具来了解给定图形数据集的外观。这就是为什么有些图形数据库附带内置的图形数据可视化工具。对于处理图形数据的开发人员和数据工程师来说,这些特性是非常有用的。无需离开图形数据库环境,就可以轻松访问图形用户界面来查询和可视化数据。

例如,这就是Neo4j浏览器提供的功能,在创建数据集或运行图形算法时,它可以提供很大的帮助。类似地,TigerGraph提出了一个内置的图形用户界面:GraphStudio来可视化数据库内容。去年,bitneine发布了AgensBrowser,这是一个可视化界面,可以帮助您管理和监视AgensGraph图形数据库的内容。

在类似的通知中,图形数据库供应商已经开始扩大他们的产品范围,提供与其存储产品兼容的附加可视化工具。例如,在去年年初,Neo4j推出了Bloom,这是Neo4j桌面应用程序的附加应用程序。它提供了一个无代码的可视化界面,可以从Neo4j图形数据库中探索数据。

通过这个由三部分组成的系列文章,我想对快速增长的GraphTech生态系统提供一个更清晰的概述。无论是关于图形数据库、图形分析还是图形可视化工具,在过去的几年里,前景已经发生了迅速的变化和扩展,并且很可能在未来几年继续这样做。我们很高兴能成为Linkurious社区的一员,并希望在世界上看到更多的图表!欢迎在这些系列文章下面发表评论,以提交其他图形工具和服务。

详细资料请加群或者私信我。

原文:https://medium.com/@Elise_Deux/the-graphtech-ecosystem-2019-part-3-graph-visualization-327229d02b8d

本文:http://jiagoushi.pro/node/1094

讨论:请加入知识星球【首席架构师圈】或者小号【jiagoushi_pro】

SEO Title
The GraphTech Ecosystem 2019 — Part 3: Graph visualization

【图形可视化】免费图形可视化应用程序列表

视频号

微信公众号

知识星球

Chinese, Simplified

在GraphTech系列讨论了图形数据库、图形分析和图形可视化生态系统之后,我列出了一份免费的图形可视化应用程序列表:其中一些工具是完全免费的,另一些工具具有可免费访问的社区版。这些工具几乎不需要开发技能。这些工具的复杂性各不相同,有些是为了研究目的而设计的,另一些是大多数公众都可以使用的。

  • Arcade Analytics社区版:一个开源的图形可视化平台,可以连接到图形或关系数据库。您可以使用Docker进行部署。
  • Beagle:将安全日志和数据转换为图形的事件响应和数字取证工具。可用作docker文件或库。
  • Bloodhound:用于映射和可视化Active Directory环境中的关系的开源解决方案,以识别和消除潜在的攻击路径。
  • CFinder:一个用于网络集群(社区)检测的免费软件工具,基于Clique渗透方法(CPM)。
  • Circos表格查看器:基于Circos软件包的在线网络工具,可将表格数据可视化为弦图。您可以上传自己的文件,并自定义数据的解析、过滤和显示方式。
  • ConnectTheDots:一个免费的在线图形可视化应用程序,通过将数据作为网络进行分析,向您展示数据是如何连接的。您可以复制粘贴excel数据或上传自己的CSV文件。该工具由DataBasic开发。
  • Constellation:由澳大利亚信号管理局(ASD)开发的开源数据可视化和分析软件。它在Windows或Linux桌面上运行。
  • Cuttlefish:一个网络工作台应用程序,提供可视化、交互式操作布局和图形编辑。它作为JAR包文件提供。
  • Cytoscape:一个开源软件平台,用于可视化复杂网络并将其与任何类型的属性数据集成。许多应用程序可用于各种问题领域,包括生物信息学、社交网络分析和语义网。
  • Cityplanner:一个在线网络可视化应用程序,用于可视化人、技术和工作产品之间的联系。您可以使用示例数据或导入自己的表格数据。
  • Elasticsearch Graph API + Kibana:Graph API允许您映射和查询有关Elasticsearch索引中的文档和术语的信息。它连接到Kibana,这是ES的开源插件,它提供了一个可视化图形的接口。
  • E-net:一个用于分析自我网络数据的Windows软件。这个程序是免费的。
  • esyN:一个与主要数据库集成的在线工具,因此您可以在构建网络时自动检索数据。它允许用户使用iframe代码在任何网站上嵌入网络。esyN是由剑桥大学开发的。
  • Gephi:一个在NetBeans平台上用Java编写的开源网络分析和可视化软件包。Gephi是开源和免费的。
  • Gource:一个开源软件,可以将存储库中的活动可视化为网络,并将其作为视频共享。
  • Grano:一个开源工具,适用于想要追踪政治或经济利益网络的记者和研究人员。您需要在服务器上安装程序包才能访问该工具。
  •  
  • GraphCommon:一个用于制作、分析和发布数据网络的协作平台。用户可以使用可视化编辑器、从电子表格导入或通过API创建知识图。
  • Graphileon:一个图形驱动的仪表板开发环境。它使用图形数据库将用户界面组件(如网络、表格、表单)存储在节点(“顶点”)中,并使用关系(“链接”或“边”)中的触发器来定义UI组件之间的交互和数据流。您可以免费下载Graphileon个人版。
  • Graphlytic Desktop:运行Neo4j Desktop时可以在本地使用的应用程序。它可以开箱即用来可视化Neo4j图形数据,并通过简单的内置分析提供图形建模、模式搜索和可视化等功能。
  • GraphVis:一个用于交互式可视化图形挖掘和关系学习的平台。该工具支持大多数图形格式(边缘列表、mtx、gml、xml、graphml、json、paj、net)。您还可以从他们的在线网络存储库中选择一个数据集。
  • GraphViz:一个开源的图形可视化软件。Graphviz布局程序以简单的文本语言对图形进行描述,并为网页制作图像和SVG等格式的图形;用于包含在其他文档中的PDF或Postscript;或者在交互式图形浏览器中显示。
  • Guess:一个用于图形和网络的探索性数据分析和可视化工具。GUESS提供了一个可视化前端,支持静态图像和动态电影的导出。
  • Histograph:一种基于图的探索和基于群组的多媒体文档集合索引工具。
  • InfraNodus:一个将任何文本可视化为网络的在线图形工具。它向您展示了最相关的主题、术语及其相互关系。InfraNodus是一个开源工具,由Nodus实验室开发。他们要求捐款5欧元来使用该工具。
  • KrackPlot:为社交网络分析师设计的网络可视化软件。KrackPlot最后一次更新是在2006年。
  • Kumu:一个用于绘制系统和更好地理解关系的在线可视化平台。您可以导入本地电子表格或使用其Google Sheets集成。它对公共项目是免费的。
  • Let’s map your Network::一个开源的可视化界面,用于绘制和可视化您的网络组件。它需要一些开发技能来安装和一些(免费)工具来部署。
  • Lynks:一个免费的在线网络可视化工具。Lynks有一个界面供用户制作自己的网络可视化,并提供协作选项。Lynks是莱顿大学的一个项目。
  • Maltego社区版:一个用于可视化链接分析的Java应用程序​.MMaltego是一个商业解决方案,但提供了一个非商业用途的社区版本,该版本随Kali Linux开箱即用。​
  • Mentionmapp:一个在线应用程序,地图和可视化你的推特网络。您必须使用Twitter帐户进行连接。免费会员资格让您可以浏览您的数据。
  • MUX-Viz:一个用于网络多层分析和交互式可视化的框架。MuxViz基于R和GNU Octave,在Windows、Linux和Mac OS X上运行。
  • NanoHistory:NanoHistory是一个目前正在开发的历史社交网络平台,允许用户跟踪历史人物、组织、地点、事物以及他们在一段时间内的互动。
  • Netlytic:一个社区支持的文本和社交网络分析器,供社交媒体研究人员和教育工作者研究社交媒体网站上的公共话语。它是由研究人员为研究人员制作的,不需要编程/API技能。
  • NodeGoat:学者基于自己的数据模型构建数据集的在线创建和可视化工具。NodeGoat提供了具有空间和时间形式的上下文分析的关系模式。托管账户可免费用于个人研究项目。
  • Nucliot:一个团队协作软件,提供了一个图形可视化工具,可以将团队和文档映射到图形中。免费计划允许在您的图表上显示50个项目。
  • Onodo:一个面向非技术用户的开源网络可视化和分析工具。它旨在通过提供一个简单的平台来绘制、可视化、分析和交流这些复杂的数据,帮助记者讲述与网络连接有关的故事。
  • OpenMaprr:一个交互式网络可视化和探索性网络分析工具。它允许用户探索网络;发现和理解网络结构中的模式;查看社区景观,并在网络系统中找到结构杠杆点。
  • OpenMaprr:打开盒子是一项公共问责倡议。该平台汇集了比利时公司注册、比利时国家银行的数据和政治授权信息。用户可以通过web界面探索连接,但不能导入自己的数据。
  • OSosME:用于社交媒体网络分析的在线可视化工具。OSoMe是印第安纳大学网络科学研究所(IUNI)和复杂网络与系统研究中心(CNetS)的联合项目,旨在研究社交媒体中的信息传播。
  • Osprey:Osprey是一个用于可视化复杂生物交互网络的软件平台。Osprey根据BioGRID维护的基因本体论(GO)注释交互数据构建图形表示。
  • Pajek:用于社交网络分析和大型网络可视化的历史Windows程序。Pajek包括六个数据结构(例如,网络、排列、集群…)和使用这些结构的大约15个算法(例如,分区、分解、路径、流…)。
  • Palladio:用于分析跨时间历史关系的在线数据驱动工具。Palladio是“历史上的网络”实施资助的产物。
  • Parasol:一个网络图探索工具。需要基本代码才能运行程序包。
  • Rhumbl:一个免费的在线图形可视化工具。您可以导入excel文件,并将数据可视化为网络。免费计划允许进行一次可视化。
  • Semoss:一个通用的数据分析和可视化平台和应用程序引擎,最初是RDF数据的可视化和分析工具。
  • SOCNETV:一款免费开源的跨平台社交网络分析和可视化软件。
  • SocioViz:一个由社交网络分析指标提供支持的社交媒体分析平台。用户可以从推特上抓取社交网络,分析任何话题、术语或标签,识别关键影响者、观点和内容,并导出数据。
  • Textexture:将任何文本可视化为网络的在线工具。生成的图表可以用于快速获得文本的视觉摘要,阅读最相关的摘录并找到类似的文本。Textexture由Nodus实验室开发。
  • Ucinet:一个用于分析社交网络数据的Windows软件包。它由林弗里曼、马丁·埃弗雷特和史蒂夫·博加蒂开发。它附带了NetDraw网络可视化工具。
  • VirusTotal Graph:一个信息聚合器:呈现的数据是不同防病毒产品、文件和网站特征工具、网站扫描引擎和数据集以及用户贡献的组合输出。VirusTotal是一项免费服务,但您不能上传自己的数据。
  • Vistorian:一个面向历史学家的开源在线可视化平台。您可以将CSV数据表映射到网络并将其可视化。
  • Visual Investigative Scenarios:一种可视化工具,供记者创建可视化调查场景,描绘他们故事中的人物和公司。它是调查仪表板的一部分,该项目由有组织犯罪和腐败报告项目(OCCRP)运营,该项目是一个由屡获殊荣的调查报告团队组成的非营利网络。
  • VOSviewer:一个用于构建和可视化文献计量网络的软件工具。该工具提供了文本挖掘功能,可用于构建和可视化从大量科学文献中提取的重要术语的共生网络。
  • WebVOWL:一个可视化本体的web应用程序。您可以自定义Web本体语言(OWL)的元素并与之交互。您可以导入自己的本体文件,最大可达5 MB。
  • webweb:一个用于在web上创建、显示和共享交互式网络可视化的工具。需要具备Python、Networkx或Matlab的知识才能在浏览器中构建和启动可视化。
  • Zeppelin:Apache开源基于web的笔记本电脑提出了使用Spark、SQL或Python数据进行数据分析的网络可视化。有一个Neo4j翻译。
本文地址
https://architect.pub
SEO Title
The list of free graph visualization applications

【图形可视化库】8个最佳免费JavaScript图形可视化库

视频号

微信公众号

知识星球

Chinese, Simplified

在处理大量数据时,您可能会遇到必须借助图形直观地表示数据的情况。

图是一种结构,相当于一组对象,其中一些对象对在某种意义上是“相关的”。它们基本上是用于对对象之间的成对关系进行建模的数学结构。(维基百科)

如果您自己实现所有内容,那么以图形的形式直观地表示数据将需要花费大量时间来编写处理图形结构的代码。在这篇文章中,我们创建了一些最好的免费JavaScript图形可视化库的列表,这些库将为您完成所有繁重的工作。

人们通常可以互换使用“图表”和“图表”这两个术语。如果您正在寻找最好的免费JavaScript图表库,而不是图形可视化库,我们还为您提供了一份列表。

1.D3.js

每当你做任何与图表或图形形式的任何类型的数据可视化相关的事情时,脑海中浮现的第一个库是D3.js。D3是数据驱动文档的缩写。它使用HTML、SVG和CSS的组合来创建数据的可视化表示。

D3.js Graph Visualization Library

该库基本上允许您将任意数据绑定到DOM。之后,可以根据这些数据创建所有类型的图表。该库使您可以访问用于选择元素的不同方法和函数。它还允许您根据给定的数据动态设置不同元素的属性值。

您可以访问D3图库来查看所有的可能性。它包含一组不同的图表,向您展示D3.js的功能。

需要记住的一件重要事情是,该库没有内置方法来帮助您通过调用单个方法直接创建任何条形图或图表。您必须自己实现该功能。然而,它附带了许多辅助功能,可以帮助您相对轻松地完成所有这些事情。

2.Neo4j

正如我前面提到的,D3.js是一个强大的库,用于创建各种图形和图表。然而,要创建任何类型的图形可视化,都需要做大量的工作。克服这一限制的一种方法是使用基于D3.js的辅助库,这些库为您完成了所有基本的繁重工作。

Neo4j Graph Visualization Library

这种库的一个例子是Neo4j。它有几个有用的功能,例如与多种数据格式的兼容性、力模拟、双击回调以及基于节点类型的自定义节点颜色。您还可以在信息面板中显示有关不同节点及其相互关系的信息。

您可以缩放和平移图形。该库还具有自动拟合和关系自动定向功能。拖动节点会使其具有粘性,再次单击会使其恢复到初始的非粘性状态。

您还可以使用onNodeClick、onNodeDoubleClick、onNodeDragStart、onNodeDragEnd等选项为不同的事件提供回调。网站上的示例在每个双击事件上添加了一组附加到原始节点的新节点。

3.React D3图

React D3 Graph是另一个基于D3.js的图形生成库,允许您使用React创建交互式和可配置的图形。

该库附带了一个主图形组件,一旦您将所有相关数据传递给它,它将允许您构建实际的图形。您还可以选择性地提供配置信息,以及处理用户事件(如节点单击和链接单击)的回调函数。

请记住,这个库不是与React和D3.js预打包的。您必须单独安装这些库。这使您可以自由地独立选择库的单独版本,只要它们高于最低要求即可。

您可以为每个图形指定一组配置选项,例如使其具有方向性、聚焦缩放、在聚焦期间更改动画持续时间,或使用平移和缩放行为。您还可以禁用图形的任何与拖放相关的操作,或使图形完全静态。

4.VivaGraphJS

VivaGraphJS是一个无依赖关系的库,您可以使用它来渲染图形。该库是可扩展的,并支持多种渲染引擎和布局算法。您可以安装许多相关模块,以将所需的功能添加到图形中。这包括对基本事件、强制图形布局的支持,以及以JSON格式存储图形数据。

该库提供了许多自定义选项。您可以毫不费力地更改节点和链接的外观。同样,您可以完全控制布局算法和用于显示图形的介质。例如,您可以告诉库使用WebGL来渲染图形,而不是默认使用的SVG。

根据节点数量、连接边数量等因素,您在网页上渲染的任何图形都会有不同的结构。您可以使用springLength、springCoeff和gravity等一系列参数来调整物理特性,使渲染的图形看起来很棒。

5.Graphology

Graphology库是一个用JavaScript和TypeScript编写的健壮且多用途的包。该库的目的是增加对使用相同统一接口的多种类型图的支持。这允许您创建各种各样的图,可以是有向图、无向图或混合图。您还可以决定是允许自循环还是支持平行边等功能。

使用“图形学”创建的图形可以发出各种操作的事件,例如添加或删除节点以及添加或删除边。还有一些事件是由节点或边属性更新触发的。

您还可以在项目中包含许多标准帮助程序库,以获得额外的功能。这包括用于在画布上渲染的画布包或具有应用常见搜索算法(如Dijkstra算法)功能的最短路径包。

Sigma.js是一个单独的库,可以很好地与Graphology配合使用。它可以让你访问WebGL渲染器,并帮助你创建交互式图形。

6.Cytoscape.js

Cytoscape.js是另一个用于图论可视化和数据分析的强大库。您可以使用它来可视化各种关系数据,如社交网络连接或生物数据。该库附带一个图论模型和一个可选的渲染器,用于显示交互式图形。它是一个一体化的软件包,可以满足您的所有绘图需求。

该库经过高度优化,并提供了良好的浏览器支持。对浏览器的支持可以追溯到IE10,其中部分支持IE9。所有的现代浏览器都享有极好的支持。该库还支持使用选择器进行过滤和图形查询,并使用样式表将数据与表示分离。

台式机和移动设备都内置了对标准手势的支持。它支持集合论运算,包括BFS和PageRank等图论算法。你可以放心图书馆的质量,因为亚马逊、谷歌等大公司以及政府组织都在使用它。

您可以阅读Cytoscape.js文档来开始使用该库。

7.Arbor

Arbor是一个简单的图形可视化库,它是使用web Worker和jQuery库作为基础构建的。

与此列表中的其他一些库不同,Arbor并不旨在成为一个完整的一体化解决方案。它只是为图形组织提供了一种高效的、强制导向的布局算法以及其他抽象。

它还内置了对处理屏幕刷新事件的支持。这只是意味着网页上数据的呈现留给了开发人员。根据项目的需要,您可以自由使用画布、SVG或HTML元素来创建图形。

8. Force Graph

您可以使用 Force Graph库在HTML5画布上渲染力导向图。虽然该库使用HTML5画布进行渲染,但它依赖于D3force库来处理底层物理。支持在画布上缩放和平移。您还可以拖动节点,或收听节点及其链接的单击和悬停事件。

有很多方法可用于控制节点和链接的样式。您还可以使用一组方法来控制图形中不同元素的渲染方式。

如果要以3D方式渲染图形,该怎么办?幸运的是,该库还有一个3D版本,它依赖于WebGL和Three.js来处理渲染。图的基本物理由D3力3D库或ngraph库处理。

最后的想法

以图形形式可视化复杂数据可以帮助我们轻松理解不同实体之间的关系。图形将帮助您传达太大和复杂的数据,而这些数据仅凭文本信息无法轻松解释。

在这篇文章中,我们向您简要介绍了一些最流行的JavaScript库,这些库可以帮助您以图形的形式可视化信息。其中一个库可能会满足您的项目需求。但是,您也可以在GitHub上搜索图形可视化库以获得更多选项。

发布由OpenAI DALL-E生成的缩略图。

本文地址
https://architect.pub/8-best-free-javascript-graph-visualization-libraries
SEO Title
8 Best Free JavaScript Graph Visualization Libraries

【数据可视化】graphviz 外部资源

视频号

微信公众号

知识星球

Chinese, Simplified

这些是一些外部资源。该列表包括补充Graphviz的工具,如图形生成器、后处理器和交互式查看器。它还包括依赖Graphviz作为可视化服务的更高级别的系统和网站。

请通过合并请求建议添加到此列表。

图形绘制可以被认为是用于分析数据的工具集之一。任何有兴趣从事数据科学工作的人都可以在这里找到一些有用的信息。

简单示例和教程

  • 可搜索的注释和示例[ReneéNyffenegger]

值得注意的

  • Sketchviz以手工风格生成布局。
  • Gephi,,用于交互式探索性数据分析的桌面doftware。(2010-2022)
  • Graphviz的Javascript/Wasm版本,通过Emscripten@hpcc-js/Wasm[hpcc Systems]-github
  • viz.js(2013-2018,现已存档)-Graphviz的Javascript版本,通过Emscripten〔Mike Daines〕
  • Graphviz pocket reference(2012-2020)[Josh Hayes Sheen]

编辑器插件

Visual Studio代码

  • vscode graphviz插件(2018-2020)[João Pinto,Stephan van Stekelenburg]

Emacs

  • graphviz点模式(2020)

Vim

  • graphviz.vim(2021)
  • wmgraphviz.vim(2010-2018)

Eclipse

  • Eclipse图形编辑框架DOT(2015-2021),一个Eclipse插件,可用于在Eclipse图形编辑框架(GEF)中渲染和编辑DOT图形。欲了解更多信息,请观看全球环境基金交通部关于2018年欧洲日食大会的会议记录。[法比安·斯蒂格、迈克尔·克莱、亚历山大·尼森、马蒂亚斯·维南德、塔马斯·米克瓦西]
  • EclipseGraphviz(2020)-一个Eclipse插件,它为Graphvix提供了一个Java API和一个图像查看器视图,可以在保存更改时轻松可视化.dot文件的图形输出。
  • emf2gov(2012),一个Eclipse插件,它帮助使用Graphviz将Eclipse建模框架(EMF)模型转换为图表。GitHub,Wiki

Notepad++

  • NppGraphViz(2015-2021)-一个Notepad++插件,用于将当前选项卡的文档发送到GraphViz预览窗口。

图形界面

交互式查看器。

  • Graph Galaxy(2020-2021)macOS所见即所得Graphviz编辑器。[唐天勇]
  • Qt可视化图形编辑器(2018-2021)一款多平台可视化图形编辑器,可以交互式创建和操作图形,导入和导出各种流行的图形格式(GEXF、GraphML、DOT、GML),并在它们之间转换数据等。自最新版本以来,Graphviz被用作布局引擎。[Ars L.Masiuk]
  • Graphviz可视化编辑器用于交互式可视化编辑以DOT语言描述的Graphvi兹图形的web应用程序。[马格努斯·雅各布森]
  • preview dot(2019)在Windows资源管理器和Outlook的预览窗格中可视化Graphviz图形(扩展名为.gv)。[Simon Laing]
  • d3 graphviz使用graphviz的@hpcc-js/wasm端口从DOT语言中描述的图中渲染SVG,并在图之间进行动画转换。[马格努斯·雅各布森]
  • jquery.graphviz.svg,jquery插件,使graphviz svg输出更具交互性,更易于导航。[Rich Cooper]
  • Liviz.js(2011-2012),Graphviz基于DHTML的交互式查看器。Github,Demo〔上山聪〕
  • Graphviz测试工具(2014,已废弃),Graphviz[Hansuli-Anderegg]的Java GUI前端
  • GraphvizFiddle,双视图Graphviz编辑器[Hermann Stamm Wilbrandt]
  • jQuery。Graphviz,Graphviz-svg的基于jQuery的交互式图形查看器[Pabro Martín]
  • NodeViz,一个用于将关系数据映射到高度风格的Graphviz并在web客户端中交互显示的框架[Greg Michalec和Skye Bender deMoll]
  • GraphSpe,包括一个用于Microsoft Silverlight Xaml(基于SVG)的转换器[Ceyhun Ciper]
  • Graphviz4Net提供了Windows Presentation Foundation(WPF)控件,该控件能够使用Graphviz渲染图形布局。[ŠtŞpánŠindelář]
  • ZGRViewer,一个用于大型图形的基于SVG的缩放图形查看器[Emmanuel Pietriga]
  • Instaviz,iOS图形绘制应用程序,使用Graphviz库进行渲染。[Glen Low]
  • idot(2010),一个增量Graphviz查看器(Java≥1.5,具有出色的预使用工具包)。[Mikko Vinni]
  • KGraphViewer(2014-2018),一个用于Graphviz工具生成布局的KDE查看器。[Gaël de Chalendar]
  • Yoix(2000-2011,放弃)-一种用Java实现的脚本语言,带有一个名为YDAT的数据可视化模块,该模块提供GraphViz文件的交互式显示(使用-Txdot-y)[John Mocenigo]
  • Pixelglow为Mac OS X开发的基于文档的GUI(2008年)(2004年获得苹果奖)[Glen Low]
  • TINTFU(2003),一个用于.dot图文件的基于Java的编辑器。[Walter Stroebel]
  • Canviz(2006-2013),一个HTML5/Javascript画布查看器。[Rean Schmidt]。来源
  • Graphviz的BioGrapher Excel前端(WinXP和Mac),允许用户使用邻接矩阵、节点列表或Newick符号(用于系统发育树)在电子表格中指定图形,并将Graphvix生成的布局可视化为Excel(矢量图形)图片对象。[Rama Viswanathan]
  • xdot.py,一个交互式图形查看器。[Jose Fonseca]
  • IdeaTree,一个用于并行共享知识映射的平台
  • Wigraf(2009,已废弃),一个基于WinGraphviz和C#的Windows Graphvix前端。NET。“Graf”是对“图形”的修饰
  • Leonhard(2010-2011,已弃用),GraphViz的一个简单查看器/编辑器,使用MacRuby开发。(请参阅演示。)
  • EasyGraphViz,Graphviz的日本编辑。[Nikolaos Kavvadias]
  • DotEditor(2015),Graphviz图形的GUI编辑器
  • Edotor(2018-2022)交互式web UI。GitHub。
  • Jupyter dot内核(2018)Graphviz Jupyter支持。

语言绑定

允许从通用语言或系统调用graphviz的接口。

Swift

  • graphviz(2020-2021)-graphviz[Matt]的Swift包

MediaWiki

  • 扩展名:GraphViz[Coffman]
  • mediawiki graph(2006)将graph::Easy集成到mediawiki中。

Drupal

  • graphviz_filter(2008-2020)-将输入文本视为GraphvizDOT语法,使用graphviz工具将其转换为请求的格式,并以HTML形式呈现[Carim Ratib]
  • graphapi(2010-2018),一个具有Graphviz Dot输出功能的Drupal图形生成模块。[塞巴斯蒂安·丹尼尔]

Wordpress

  • 用于Wordpress的WP Graphviz插件,允许Graphvi兹图像轻松集成到Wordpress页面中。[DeBAAT]

Python

  • Pydot-Graphviz(Windows兼容)的Python接口。
  • Python-Graph -一个用于在Python中处理图形的库。
  • PyGraphviz-Graphvi兹的Python接口,类似于NetworkX。
  • yapgvb又一个Graphviz Python绑定[Lonnie Princehouse]
  • mfgraph-带有Python本机绑定的C++接口[Michael Föetsch]
  • GvGen-生成点文件的Python类[Sebastien Tricaud]
  • pytm-一个用于威胁建模的Python框架,使用Graphviz生成图表
  • graph-tool(2006-2021),一个用于图形操作和统计分析的高效Python模块,包括通过其Python绑定到GraphViz的接口。[Tiago de Paula Peixoto]

go

  • gonum-通用图形包,读取并发出Graphviz格式。
  • gographviz-go的Graphviz解析器[Walter Schulze]。
  • go-dfd-生成Graphviz格式的数据流图。

Django

  • django-graphviz-一个使用graphviz的django应用程序。
  • DjangGraphviz-将Django模型转换为GraphvizDOT文件。

Java语言

  • graphviz-java(2015-2021)-将graphviz与纯java结合使用。专家
  • JPGD(2006-2016):Graphviz文档的Java解析器〔Alexander Merz〕
  • Java API(2003-2016)[Laszlo Szathmary]
  • PayPal的有向图解析器(2017-现已存档)-Graphviz DOT语法中用于有向图DSL(域特定语言)的简单、独立的Java解析器。

C# and .NET

  • csdot(2021)-graphviz的C#接口。可用于加载和保存图形。支持关联的最大属性集。Nuget
  • graphviznet(2020)-。NET包装器,用于命令行GraphViz本机二进制文件。
  • QuikGraph(2021)-通用图数据结构和算法。NET

COM

  • WinGraphviz(2006)COM对象[Ood Tsen]

Perl

  • Graphviz2-perl接口,支持新选项[Ron Savage]
  • GraphViz2::Marpa-用于DOT文件的基于Marpa的解析器。[罗恩·萨维奇]
  • Graphviz〔Leon Brocard〕的Perl接口
  • Tk::GraphViz-一个用于在perl/Tk画布中显示图形的perl模块[Jeremy Slade]
  • Graph ReadWrite-支持“点”语法图的模块[NNeil Bowers]
  • GraphViz::DBI-图形数据库表及其关系[Marcel Grunauer]
  • CPAN再点击100次
  • GraphViz::ISA-graph Perl包的ISA运行时层次结构[Marcel Grunauer]
  • Graph::Easy是一个与Graphviz兼容的直线图形绘制程序,完全用perl编写,以便于安装。[电话]

ruby

  • ruby graphviz(2004-2020)-graphviz的ruby接口。红宝石〔Grégoire Lejeune〕
  • graphr(2012)-图形相关的Ruby类。RubyGems
  • graphr(2001)使用graphviz绘制与Ruby相关的类[Robert Feldt]
  • graphviz(2013-2021)-使用graphviz生成图形的轻量级接口。RubyGems
  • graph(2009-2020)-一种以graphviz的点格式输出的哈希类型。RubyGems
  • railroady(2007-2021)生成Rails3/4/5模型(ActiveRecord、Mongoid、Datamapper)和控制器UML图作为跨平台.svg文件,以及DOT语言。GitHub、RubyGems
  • state_machines-graphviz基于使用graphviz为状态机定义的事件、状态和转换生成di图。RubyGems
  • statescope(2005-2019)使用Graphviz可视化状态机。RubyGems
  • gviz(2012-2015)使用Ruby语法RubyGems生成点文件

MATLAB

  • graphviz4matlab(2017)-Graphviz图形布局包的Matlab接口。允许交互式编辑生成的图形。
  • MATLAB-GraphViz接口(2004)[Leon Peshkin]

R

  • Bio-Coconductor项目的R-Graphviz(指南)集成了图表和统计模型。【Robert Gentleman、Jeff Gentry和R团队】
  • DiagrammeR(2015-2020)-使用R中的表格数据可视化图形和网络,并可以使用render_graph发出Graphviz DOT代码(输出=“DOT”)

Web服务器

  • TCL的原创网络
  • (另请参阅此shell包装器以保护webdot服务器不过载)
  • 还有一个用Perl编写的简化的webdot.pl[Stephen North,在John Linderman的大力协助下]

DokuWiki

  • DokuWiki Graphviz插件从“点”语言定向和非定向图形图像[Andreas Gohr]

LaTeX

  • dot2tex是一个LaTeX友好的转换器,从Graphviz(xdot)到转换xdot PSTricks或PGF/TikZ命令,支持LaTeX标签和箭头。[Kjell Magne Fauske]
  • Ladot:在Graphviz文件中包含LaTeX的脚本[Blighten Godfrey]
  • graphviz.tex:在LaTeX文件中包含graphviz的宏[Derik Rayside]
  • TeXmacs,一个受TeX和GNU Emacs启发的科学文本编辑器,有一个Graphviz接口[Joris van der Hoeven]

PHP

  • GraPHP(2015-2021)-PHP的Graphviz绑定
  • Image_Graphviz(2002-2010)Graphviz工具接口[Stebastian Bergmann]

Haskell

  • graphviz包(2008-2020)-为graphviz程序集所使用的Dot语言提供绑定,用于可视化图形,以及调用这些程序的函数。Hackage

Common Lisp

  • s-graphviz(2014-2020)-graphviz的s-表达演示。最初的想法来自S-DOT,但通过遵循其语言定义,与原始DOT语法完全兼容。[徐景涛]
  • cl-dot(2005-2020)从任意Lisp数据生成dot(GraphViz套件中的一个程序)输出。
  • s-dot2(2018)-s-DOT的分叉
  • cl graphviz(2012-2015)为graphviz提供了一个基于CFFI的接口,并集成到cl图中。
  • S-DOT(2006-2010)-一个到DOT的通用Lisp接口[也是Martin Loetzsch]

Rust

  • dot(2015-2020)-一个用于生成图的Graphviz dot语言文件的库,从core rust中的私有GraphvizLibrary中提取。这几乎完全是Rust团队的工作。crates.io
  • [Petrgraph(https://github.com/petgraph/petgraph)-通用图形数据结构库,可输出Graphviz格式。crates.io
  • gsgdt(Generic Stringly-typed Graph DataType)是一个有主见的图形可视化和图形差异可视化库。crates.io
  • machine(2015-2019)定义了过程宏,以帮助您编写基于枚举的状态机,并可以输出生成的状态机的Graphviz图。crates.io
  • macro machines(2017-2020)为状态机宏提供了日志记录和graphviz点文件生成。crates.io
  • tabbycat(2020-2021)生成Rust中定义类型的点图。crates.io
  • cargo depgraph(2020)使用cargo元数据和Graphviz为cargo项目创建依赖关系图。crates.io

生成器和转换器

将其他数据源和格式转换为Graphviz的过滤器。

  • Graphvidian(2022),从vault笔记中导出Graphviz图形的黑名单插件[Ooker]
  • Excel到Graphviz(1)(2017),一种将Excel数据可视化为图形的工具[Matt Castelli]
  • Excel到Graphviz(2)(2016-2021),VBA宏电子表格,将Excel数据可视化为图形。博客〔Jeffrey Long〕
  • ExcelToGraphviz(2018),node.js工具,将Excel表转换为graphviz[partrickli]
  • SchemaSpy通过JDBC分析和显示任何数据库的元数据,让您可以点击表的层次结构[John Currier]
  • Linguine Maps(2006)可视化了XML DTD、Apache对象关系桥文件、Apache Ant Build文件,并提供了一个用于绘图的Java API。GitHub〔Pavel Simakov〕
  • PostgreSQL AutoDoc记录了PostgreSQL数据库的关系结构[Rod-Taylor]
  • DOTML-用于镜像点语言的XML标记。包括用于转换和呈现的脚本和XSLT[Martin Loetzsch]
  • Sql2Dot-Java中的一个小型解析器,用于将sql转换为点以可视化数据结构[Robert Dale]
  • SqlPP-一个脚本化的SQL查询生成框架,用于生成graphviz
  • SQL::Translator(又名SQLFairy)(2002-2020)-一组Perl模块,以有趣的方式操作结构数据定义(主要是数据库模式),例如模式可视化(Graphviz的伪ER图)、GitHub[Szilárd-Vajda]
  • gprof过滤器-pl_from_gprof和dot_from_pl[Robert Nielsen]和一个旧的gprof2dot.awk[Stephen North]
  • DBGraphNav,一个方便在关系数据库中浏览数据的工具。[Paul McMillan]

使用Graphviz的网络和Web工程工具

  • DNSViz(2021),DNS可视化工具GitHub
  • TraceViz(2008)具有清晰SVG样式的Traceroute可视化[Vidar Hokstad]
  • 余辉是一组脚本,用于从各种网络日志和防火墙规则集[Rafael-Marty]为Graphviz(和LGL)生成图形(另请参阅tenshi了解日志文件过滤)
  • SMART无源网络流可视化工具[思科关键基础设施保障小组(CIAG)研究团队]
  • CSO在线:僵尸网络的样子(Flash)[David Vorel]
  • EFnet IRC网络服务器路由图〔Douglas Boldt〕
  • netmap(2013)绘制了连接互联网的路线
  • Pathalizer可视化用户通过网站走过的路径[Arnout Engelen]
  • apache2dot.pl(2005)将Apache日志文件解析为适合与neato或dot一起使用的格式,并在网站中显示链接。
  • sig2dot生成GPG/PGP密钥环中所有签名关系的图
  • PHP+Graphviz工具,动态生成网站的网站地图[Laszlo Szathmary]
  • Rocketfuel ISP地图绘制器(好吧,看看这里)[美国华盛顿]
  • DNS服务器可视化
  • tcpdump2dot筛选器允许管理员进行网络活动[Gulfie]
  • 访问者,一个快速的网络日志分析器(2004-2006)使用graphviz来显示用户如何使用您的网站的使用模式。[SSalvatore Sanfilippo]
  • 可视化防火墙(2008-2020)使用graphviz生成iptables规则集的图形。GitHub[Chris Forno]
  • 对通用网络监控工具感兴趣的用户可以在这里找到一些比较。

使用Graphviz的人工智能和语言工具

  • 使用Graphviz的人工智能和语言工具
  • Keras plot_mode函数将Keras神经网络输出为Graphviz格式。
  • Andreas Romeyke的txt2graph-可视化从stdin读取的文本的结构和依赖关系,并为graphviz到stdout生成一个点文件
  • Ontoviz是一个用于在Protage系统中显示知识库图的插件
  • rdfpuml(rdf2rml的一部分)从RDF图生成PlantUML图。(PlantUML使用Graphviz进行布局)
  • CanooNet,一本德语造词词典。(在入门栏中尝试Blockflöte、Hochschule或Massanzug)
  • 使用维基百科数据提取主题。
  • FcaStone在形式概念分析的意义上提出了代数格。(试试Roget‘s Thesaurus的演示或晶格可视化)。[乌塔监狱]

使用Graphviz的程序设计和软件工程工具

  • CAIRIS是一个用于指定和建模安全可用系统的平台。[Shamal Faily]
  • ERD(实体关系图)(2019-2021)将关系数据库模式的纯文本描述转换为图形实体关系图。[Andrew Gallant]
  • 基于IRC、XMPP(Jabber)的TheHat工作流引擎在自动刷新网页中显示工作流[Davi Parker]
  • anifsm通过tcldot(TorX软件可视化套件的一部分)以点格式动画化图形[Alex-Belinfante和TorX联盟]
  • doxygen使用graphviz直接从源代码中生成类层次结构和其他图表[Dimitri van Heesch]
  • nmdependent(2004-2013,已放弃)是一个用于C/C++对象文件和库的轻量级链接时依赖性分析器,有助于管理跨目录依赖性[Edy-Pronk]
  • AsmL是微软研究院的一种可执行规范语言。
  • UMLGraph-一个用于UML图声明绘制的Java工具,它使用dot[Diomidis Spinellis]生成图(Diomidis还为dot提供了一组更丰富的箭头代码,他声称这实际上是让Graphviz被UML社区接管的秘密阴谋的一部分。:-)
  • Merisedot-一个生成Merise的MCD实体/关系图的工具。(Seulement en Français)
  • YaccViso YACC可视化工具
  • Callgrind从Valgrind制作老茧[Jörg Schillin和Josef Weidendorfer]
  • Maria-模块可达性分析器-用于并发系统的可达性分析器,使用代数系统网作为其建模形式[Marko Mäkelä]
  • IsaViz:RDF的可视化创作工具[Emanuel Pietriga]
  • 有限状态机web可视化交互接受来自表单的输入[Gertjan van Noord]
  • rpmgraph是rpm-devel包(源代码)的一部分,它使用neato绘制RedHat或其他基于rpm的系统上rpm之间的依赖关系图[Andra Lombardoni]
  • Compendium TA,一个集成的建模工具包,使用Graphviz进行图形布局[Alan Richardson]
  • CodeViz-一个用于C/C++的调用图生成实用程序,其后端假定为句点[Mel Gorman]
  • Pimentech DbUtils-用于用XML(扩展实体关系图(ERA))编写模式数据库并将其导出到graphviz和sql的utils。
  • LJV(Lightweight Java Visualizer)是一个使用Graphviz可视化Java数据结构的工具。在CS1级和CS2级数据结构课程中使用效果良好。[约翰·哈默]
  • Python调用图
  • ArgoUML Graphviz自动重新定位存储在XMI中的UML图中的所有视觉元素。这些可以通过DOT导出为PDF、SVG、PNG等。此XLST独立于ArgoUML运行。[Pander]
  • Ragel(想想“lex”)从常规语言编译可执行的有限状态机,并可以生成DOT格式的状态机图。
  • APIviz是一个JavaDoc文档,它扩展了Java标准文档。它生成全面的类似UML的类和包图。
  • Reverse Snowflake Joins是一个分析SQL Select语句并生成关系图的工具。
  • eEye二进制差分套件是一套用于二进制差分分析的工具,特别是用于反向工程补丁和程序更新。
  • myDBR是一个基于web的关系数据库报告系统,使用Graphviz作为其图表模块之一。
  • YaST openSUSE安装和配置显示了具有依赖关系的存储设备的图形。[Arvin Schnell]
  • Grails类图插件提供了一个类似UML的Grails域类图。[Trygve Amundsen]
  • PlantUML使用简单的文本描述语言生成UML图(类、用例、活动、组件)。[Arnaud Roques]
  • javashot捕获Java程序的动态执行流。可以使用Graphviz查看轨迹。
  • scxml2dot(2010)-Perl中的一个非常简单的转换函数,用于使用Graphviz工具绘制用状态图XML(SCXML)编写的有限状态机。[Fabrizio Morbini]
  • Erviz,一个实体关系图生成器,用于将纯文本文件转换为Graphviz的DOT格式图形文件。[Mitsuru Kono]
  • Symfony应用程序映射插件,用于Symfony框架社区的易于使用的文档工具。[Tomasz Ducin]
  • Protodot可视化协议缓冲区模式

配置管理

  • Terraform的地形图命令生成配置或执行计划的可视化表示。输出为DOT格式,GraphViz可以使用该格式生成图表。
  • ansible playbook grapher(2017-2021)用Graphviz绘制ansible playbook执行图
  • ansible inventory grapher(2014-2019)用Graphviz绘制了ansible库存主机文件。
  • Puppet生成显示关系的graphviz图

档案器

  • pprof(2005-2021)是一种用于对配置文件数据进行可视化和分析的工具,使用Graphviz来布局调用图配置文件。

构建系统

  • Bazel Build System,Blogpost(2015)显示了使用Graphviz的构建依赖关系图。陈列室
  • CMake构建系统可以生成Graphviz文件,显示项目中目标之间的依赖关系,以及链接的外部库。
  • Ninja是一个小型、快速构建的系统,可以输出graphviz依赖图。陈列室
  • makefile2graph(2014-2018)使用Graphviz渲染GNUMakefiles依赖图
  • Buck可以使用Graphviz绘制依赖关系图。
  • Vizant(2002-2006)是ApacheAnt的一项任务,用于从Ant构建文件创建GraphvizDOT源代码,显示依赖关系。
  • gradle-vesteg(2014-2021)是一个gradle插件,用于将任务执行图导出为.dot文件。
  • gulp图(2015-2021)创建了使用Graphviz生成依赖图的gulp任务。
  • 使用Graphviz的生物信息学和化学信息学工具和资源

使用Graphviz的生物信息学和化学信息学工具和资源

在生物和化学信息的研究中,关系结构比比皆是。下面的列表几乎没有触及表面。

  • HasseManager(2014),用于可视化基于片段的药物发现中使用的化学结构之间的关系,如《化学信息与建模杂志》[Peter Lind]所述
  • Science Online蛋白质数据库可视化(点击Connections-需要免费注册和SVG插件,可能需要Mozilla FireFox的测试版)[美国科学促进会(AAAS)和斯坦福大学数字图书馆项目]
  • Pubgene-基因组学、蛋白质组学和药物发现的生物信息学解决方案和数据库

Graphviz文档准备

  • Visustin流程图生成器〔Aivosto〕
  • Mac OmniGraffle〔Omni Group〕
  • wdot.rb,一个允许轻松创建和更新工作流图和流程图的工具。[罗兆贤]
  • GraphVizio(2010)是Visio使用Graphviz布局图表的一个插件(另请参阅博客文章)。[莫里斯·卡尔弗特]

社交网络与协作工作

  • 哈蒙德爵士乐目录-显示与录音相关的音乐家的图形表示,其中哈蒙德管风琴发挥了重要作用(orghammograms!)

第三方分配

  • RPM查找-许多发行版和体系结构。
  • Debian-用于多种体系结构的Linux包。
  • Gentoo-Linux软件包。
  • Fedora-rpms。
  • 适用于许多体系结构的Novell/SuSE发行版的SuSE-rpms。
  • Ubuntu-Linux软件包。
  • Arch Linux包
本文地址
https://architect.pub/graphviz-external-resources
SEO Title
graphviz External Resources

【数据可视化】免费图形可视化应用程序列表

Chinese, Simplified

在GraphTech系列文章中,我讨论了图形数据库、图形分析和图形可视化生态系统,随后我列出了一系列免费的图形可视化应用程序:有些工具是完全免费的,有些是免费的社区版本。这些工具应该不需要什么开发技能。这些工具的复杂程度各不相同,有些是为研究目的而设计的,另一些则是大多数公众可以使用的。

👉 要查看图形可视化库的列表,请查看我的另一篇文章。

Image for post

  1. Arcade Analytics Community Edition一个开源的图形可视化平台,可以连接到图形或关系数据库。你用Docker部署它。
  2. Beagle:事件响应和数字取证工具,它将安全日志和数据转换成图形。可作为docker文件或库使用。
  3. Bloodhound: 用于映射和可视化Active Directory环境中的关系以识别和消除潜在攻击路径的开源解决方案。
  4. CFinder::一个用于网络集群(社区)检测的免费软件工具,基于团过滤法(CPM)。
  5. Circos Table Viewer:基于Circos软件包的在线web工具,将表格数据可视化为弦图。您可以上传自己的文件并自定义数据的解析、过滤和显示方式。
  6. ConnectTheDots:一个免费的在线图形可视化应用程序,通过将数据作为网络进行分析,向您展示数据是如何连接的。您可以复制粘贴excel数据或上载您自己的CSV文件。该工具是由数据库开发的。
  7. Constellation:一个由澳大利亚信号局(ASD)开发的开源数据可视化和分析软件。它运行在Windows或Linux桌面上。
  8. Cuttlefish:一个网络工作台应用程序,提供可视化,交互式的布局和图形编辑操作。它以JAR包文件的形式提供。
  9. Cytoscape:一个开源软件平台,用于可视化复杂网络并将其与任何类型的属性数据集成。许多应用程序可用于各种问题领域,包括生物信息学、社会网络分析和语义网络。
  10. Cityplanner:一个在线网络可视化应用程序,用于可视化人、技术和工作产品之间的联系。您可以使用示例数据或导入自己的表格数据。
  11. Elasticsearch Graph API + Kibana :允许您映射和查询关于Elasticsearch索引中的文档和术语的信息。它连接到Kibana,ES的开源插件,它提供了一个可视化图形的接口。
  12. E-net:分析ego网络数据的Windows软件。这个程序是免费的。
  13. esyN::一个与主要数据库集成的在线工具,可以在构建网络时自动检索数据。它允许用户使用iframe代码在任何网站上嵌入网络。埃辛是剑桥大学开发的。
  14. Gephi:一个在NetBeans平台上用Java编写的开源网络分析和可视化软件包。Gephi是开源和免费的。
  15. Gource:一个开源软件,可以将存储库中的活动可视化为网络,并将其作为视频共享。
  16. Grano:一个开源工具,供希望跟踪政治或经济利益网络的记者和研究人员使用。您需要在服务器上安装包才能访问该工具。
  17. GraphCommon:一个制作、分析和发布数据网络的协作平台。用户可以使用可视化编辑器、从电子表格导入或通过API创建知识图。
  18. GraphVis一个交互式可视化图形挖掘和关系学习平台。该工具支持大多数图形格式(边缘列表、mtx、gml、xml、graphml、json、paj、net)。您也可以从他们的在线网络存储库中选择一个数据集。
  19. GraphViz:一个开源的图形可视化软件。Graphviz布局程序用简单的文本语言对图形进行描述,并以图像和SVG等格式制作图表,用于网页;PDF或Postscript以包含在其他文档中;或者在交互式图形浏览器中显示。
  20. Graphileon:一个图形驱动的仪表板开发环境。它使用图形数据库将用户界面组件(例如网络、表、表单)存储在节点(“顶点”)中,并在关系(“链接”或“边缘”)中触发,以定义UI组件之间的交互和数据流。你可以免费下载Graphileon个人版。                                                                                                                 
  21. Guess::一个用于图形和网络的探索性数据分析和可视化工具。GUESS提供了一个可视化前端,支持静态图像和动态电影的导出。
  22. Histograph: 一个基于图形的探索和基于群组的多媒体文档集合索引工具。
  23. InfraNodus:一个在线图形工具,将任何文本可视化为一个网络。它向你展示了最相关的主题、术语以及它们之间的关系。InfraNodus是Nodus实验室开发的一个开源工具。他们要求提供5欧元的捐款以使用该工具。
  24. KrackPlot:为社交网络分析师设计的网络可视化软件。KrackPlot上次更新是在2006年。
  25. Kumu: 一个在线可视化平台,用于映射系统和更好地理解关系。您可以导入本地电子表格或使用他们的googlesheets集成。公共项目免费。
  26. Let’s map your Network:一个开源的可视化界面,用于映射和可视化您的网络组件。它需要一些开发技能来安装和一些(免费)工具来部署。
  27. Lynks:一个免费的在线网络可视化工具。Lynks为用户提供了一个界面,可以让他们自己进行网络可视化,并提供了协作的选项。林克斯是莱顿大学的一个项目。
  28. Maltego Community Edition: 一个用于可视化链接分析的Java应用程序。Maltego是一个商业解决方案,但是它提供了一个非商业用途的社区版本,它随Kali Linux一起提供
  29. Mentionmapp: 一个在线应用程序,可以映射和可视化你的Twitter网络。你必须使用Twitter帐户连接。免费会员资格允许您浏览您的数据。
  30. MUX Viz一个用于网络多层分析和交互式可视化的框架。MuxViz基于R和gnuoctave,运行在Windows、Linux和macosx上。
  31. NanoHistory:NanoHistory是一个正在开发的历史社交网络平台,允许用户跟踪历史人物、组织、地点、事物以及它们随时间的交互作用。
  32. Netlytic:一个社区支持的文本和社交网络分析器,用于社交媒体研究人员和教育工作者研究社交媒体网站上的公共话语。它是由研究人员为研究人员制作的,不需要任何编程/API技能。
  33. NodeGoat: 在线创建和可视化工具,供学者根据自己的数据模型构建数据集。NodeGoat提供了空间和时间上的语境化分析模式。托管帐户可免费用于个人研究项目。
  34. Nuclino:一个团队协作软件,它提供了一个图形可视化工具来将团队和文档映射到一个图形中。免费计划允许你的图表上有50个项目。
  35. Onodo: 一个面向非技术用户的开源网络可视化和分析工具。它旨在通过提供一个简单的平台来绘制、可视化、分析和交流这些复杂的数据,帮助记者讲述与网络连接有关的故事。
  36. OpenMaprr: 一个交互式网络可视化和探索性网络分析工具。它允许用户探索网络;发现并理解网络结构中的模式;查看社区景观并在网络系统中找到结构杠杆点。
  37. OpentheBox: OpentheBox是一项公共责任倡议。该平台汇集了比利时公司注册处、比利时国家银行的数据以及有关政治授权的信息。用户可以通过web界面浏览连接,但不能导入自己的数据。
  38. OSosME: 用于社交媒体网络分析的在线可视化工具。OSoMe是印第安纳大学网络科学研究所(IUNI)和复杂网络与系统研究中心(CNetS)的联合项目,旨在研究社交媒体中的信息传播。
  39. Osprey: 鱼鹰是一个软件平台,用于可视化复杂的生物相互作用网络。Osprey从BioGRID维护的基因本体(GO)注释交互数据构建图形表示。
  40. Pajek: 用于社交网络分析和大型网络可视化的历史Windows程序。Pajek包括六种数据结构(如网络、排列、群集等)和使用这些结构的大约15种算法(例如分区、分解、路径、流…)。
  41. Palladio: 在线数据驱动工具,用于分析不同时间的历史关系。帕拉迪奥是网络在历史上实施拨款的产物。
  42. Parasol:一个网络图形探索工具。需要基本代码才能运行包。
  43. Rhumbl:一个免费的在线图形可视化工具。可以导入excel文件并将数据可视化为网络。免费计划允许一个可视化。
  44. Semoss:一个通用的数据分析和可视化平台和应用程序引擎,最初是RDF数据的可视化和分析工具。
  45. SOCNETV::一个免费开源的跨平台社交网络分析和可视化软件。
  46. SocioViz: 一个由社交网络分析指标支持的社交媒体分析平台。用户可以从Twitter上浏览社交网站,分析任何话题、术语或标签,识别关键影响因素、观点和内容,并导出数据。
  47. Textexture:一个在线工具,将任何文本可视化为一个网络。结果图可用于快速直观地总结文本,阅读最相关的摘要并查找相似的文本。Textexture是由Nodus实验室开发的。
  48. Ucinet:一个分析社交网络数据的Windows软件包。它是由林弗里曼、马丁·埃弗雷特和史蒂夫·博加蒂开发的。它附带了NetDraw网络可视化工具。
  49. VirusTotal Graph: 一个信息聚合器:呈现的数据是不同杀毒产品、文件和网站特征工具、网站扫描引擎和数据集以及用户贡献的组合输出。VirusTotal是一项免费服务,但您不能上传自己的数据。
  50. Vistorian:一个面向历史学家的开源在线可视化平台。您可以将CSV数据表映射到网络并将其可视化。
  51. Visual Investigative Scenarios::一个可视化工具,供记者创建视觉调查场景,在他们的故事中描绘人物和公司。它是调查仪表盘的一部分,该项目由有组织犯罪和腐败报告项目(OCCRP)运作,该项目是一个由获奖调查报告小组组成的非营利网络。
  52. VOSviewer: 一个用于构建和可视化文献计量网络的软件工具。该工具提供文本挖掘功能,可用于构建和可视化从大量科学文献中提取的重要术语的共现网络。
  53. WebVOWL:一个可视化本体的web应用程序。您可以定制Web本体语言(OWL)的元素并与之交互。您可以导入自己的本体文件,最大可达5 MB。
  54. webweb:一个在web上创建、显示和共享交互式网络可视化的工具。需要具备Python、Networkx或Matlab的知识才能在浏览器中构建和启动可视化。
  55. Zeppelin:Apache开源基于web的笔记本电脑提出了使用Spark、SQL或Python数据进行数据分析的网络可视化。有一个Neo4j解释程序。

 

小编主要用过 GraphVis,Zeppelin,Gephi和D3 ,你用过那些? 有什么推荐?也请讲出来。

 

原文:https://medium.com/@Elise_Deux/list-of-free-graph-visualization-applications-9c4ff5c1b3cd

本文:http://jiagoushi.pro/node/1091

讨论:请加入知识星球【首席架构师圈】或者小号【jiagoushi_pro】

SEO Title
The list of free graph visualization applications

【数据可视化】大型图形可视化工具与方法

Chinese, Simplified

Image for post

如果你需要可视化一个大的网络图,但是你尝试的所有工具只能画一个毛球或者吃掉你所有的内存然后挂上你的机器,那该怎么办?我曾经在处理大型图(数亿个节点和顶点)上工作了两年多,并尝试了很多工具和方法。但我还是没有找到什么好的调查,所以现在我自己写了一个这样的调查。

(这是我最初用俄语写的关于哈勃的文章的译文)

为什么要把图形形象化?

找到要找的东西

通常,我们只需要一组顶点和边作为输入。我们可以根据这些数据计算一些统计数据或图形度量,但这不足以了解结构。一个好的可视化可以清楚地显示一个图中是否有一些簇或桥,或者它是一个统一的云,或者其他什么。

给公众留下深刻印象

很明显,数据可视化是用来表示的。这是从所做工作中得出结论的好方法。例如,如果解决了聚类问题,则可以按标签为绘图着色,并显示它们是如何连接的。

获取功能

尽管大多数图形可视化工具都是为制作一些图片而创建的,但它们还是很好的降维工具。以邻接矩阵表示的图是高维空间中的数据。当绘制它时,我们得到每个顶点的两个(通常)坐标。这些坐标也可以用作特征。在这个空间中,顶点之间的接近意味着相似性。

大图形有什么问题吗?

我的意思是“大图形”的大小大约是10K个顶点和/或边。小尺寸通常没有问题。搜索几分钟就能找到的所有工具,至少都是可以接受的。大型网络有什么问题?主要有两个问题:可读性和速度。通常,大图形的可视化看起来很混乱,因为一个图中有太多的对象。此外,图形可视化算法大多具有可怕的算法复杂度:二次或三次依赖于边或顶点的数量。即使您只等待一次结果,也将太长时间无法找到更好的参数。

如果你需要可视化一个大的网络图,但是你尝试的所有工具只能画一个毛球或者吃掉你所有的内存然后挂上你的机器,那该怎么办?我曾经在处理大型图(数亿个节点和顶点)上工作了两年多,并尝试了很多工具和方法。但我还是没有找到什么好的调查,所以现在我自己写了一个这样的调查。

关于这个问题已经写了些什么?

[1] 海伦·吉布森、乔·费思和保罗·维克斯:“信息可视化的二维图形布局技术综述”

本文的作者告诉了存在哪些图形可视化方法以及它们是如何工作的。还有一个很好的表格,里面有关于算法、它们的特性和复杂性的信息。我在这篇文章中用了几张报纸上的照片。

[2] Oh Hyun Kwon,Tarik Crnovrsanin和Kwan Liu Ma“在这种布局中,图形会是什么样子?大图形可视化的机器学习方法

作者们做了大量的工作。他们尝试了所有可能的算法。然后他们画出它并手工评估相似度。之后,他们对模型进行拟合,以预测图形在这个布局中的样子。我也用了几张这幅作品的照片。

理论部分

布局是一种将坐标映射到每个顶点的方法。通常,这是二维平面上的坐标。

什么是好的布局?

判断事物的好坏是很容易的。命名标准并不是那么容易,机器如何评估它。为了做出所谓的“好”布局,可以使用美学度量。以下是其中一些:

最小边相交

很明显:过多的交叉口会让情节显得凌乱不堪。

相邻顶点之间的距离比不相邻的顶点更近

这是合乎逻辑的,连接的节点应该彼此靠近。它表示图中定义的主要信息。

社区被分组成集群

如果有一组顶点彼此之间的连接比图的其他部分更频繁,那么它们看起来应该像一个密集的云。

最小重叠边和节点。

这也是显而易见的:如果我们不能确定是否有几个顶点或一个顶点,那么绘图的可读性就很差。

存在哪些布局?

Image for post

我认为有必要提及这三种布局。然而,可以用许多其他方法对它们进行分类。但这种分类足以在所有可能的类型中导航。

  1. 以力为导向,以能量为基础
  2. 降维
  3. 基于节点特征

以力为导向,以能量为基础

Image for post

力有向布局示例。

这种方法是基于物理系统仿真的。顶点表示为相互排斥的带电粒子,边被视为弹性弦。这些方法试图模拟这个系统的动力学或找到最小能量。

这种方法通常会产生非常好的结果。结果图很好地反映了图的拓扑结构。但是它们也很难计算,并且有很多参数需要调整。

这个大家庭的重要成员是原力阿特拉斯、弗鲁克特曼·莱因戈尔德、卡马达·卡瓦伊和奥普诺德(Force Atlas, Fruchterman-Reingold, Kamada Kawaii and OpenOrd)。最后一种方法使用复杂的优化来加快计算速度,例如,它切割长边。作为一个有用的副作用图变得更加聚集。

降维

Image for post

降维布局示例。

图可以定义为邻接矩阵NxN,其中N是节点数。这个矩阵也可以看作是N维空间中N个对象的表。这种表示允许我们使用通用的降维方法,如PCA、UMAP、tSNE等。另一种方法是计算节点之间的理论距离,然后在移动到低维空间时尽量节省比例。

基于特征的布局

用于post的图像

Image for post

配置单元图(Hive Plot)示例。

通常,图形数据与现实世界中的某些对象相关。所以顶点和边可以有自己的特征。因此,我们可以使用这些特征在平面上表示它们。我们可以使用上述降维方法或直接绘制特征对的散点图来处理节点特征。值得一提的是蜂巢图,因为它与其他所有的方法都有很大的不同。在配置单元中,打印节点与多个径向轴对齐,边是它们之间的曲线。

大型图形可视化工具

Image for post

尽管图形可视化问题是一个相对古老和流行的问题,但是对于能够处理大型图形的工具来说,这是一个非常糟糕的情况。大部分都被开发商抛弃了。几乎每个人都有自己的大缺点。我只告诉那些值得一提的,能处理大图表的人。关于小图,没有问题。你可以很容易地找到一个适合你的工具,而且很可能会很好地工作。

GraphViz

Image for post

2011年前比特币交易图

Image for post

有时很难调整参数

这是一个老式的CLI工具,它有自己的图形定义语言“dot”。这是一个有几个布局的包。对于大型图形,它具有sfdp布局,源于force-directed family。这个工具的优点和缺点是一样的:它从命令行运行。它对于自动化很有用,但是如果没有交互性,很难调整参数。您甚至不知道需要等待结果多长时间,也不知道是否需要停止它并使用其他参数重新运行。

盖菲(gephi)

Image for post

Image from gephi.org

Image for post

137K movies recommendation graph from iMDB

Image for post

几百万对盖菲来说已经太多了

我所知道的最强大的图形可视化工具。它有图形用户界面,它包含几个布局和许多图形分析工具。还有很多由社区编写的插件。例如我最喜欢的布局“多重引力地图集2”或西格玛js导出工具,它基于项目创建交互式网页模板。在Gephi中,用户可以根据它的特征对节点和边缘进行着色。

但Gephi被开发商抛弃了。它还有一点老式的GUI,缺少一些简单的特性。

Igraph

Image for post

姓氏.fm音乐推荐图。来源,描述和交互版本在这里

我需要向这个通用的图形分析包致敬。其中最令人印象深刻的图形可视化是由一位igraph作者制作的。

igraph的缺点是pythonapi的糟糕文档,但源代码可读性强,注释性强。

LargeViz

Image for post

一个最大的比特币集群中有几千万个顶点(事务和地址)

当你需要画一个非常大的图形时,它是一个伟大的救世主。LargeViz是一种降维工具,不仅可以用于图形,还可以用于任意表格数据。它从命令行运行,运行速度很快,并且消耗少量的RAM。

Graphistry

Image for post

Addresses that could be hacked in one week and their transactions

 

Image for post

直观美观的图形用户界面,但非常有限

它是本次调查中唯一的付费工具。Graphistry是一种服务,它接受您的数据并进行所有计算。客户只在浏览器中查看漂亮的图片。除了Graphistry有合理的默认参数、良好的颜色方案和稍微更好的交互性之外,其他特性都没有Gephi更好。它只提供一种力导向布局。它也有800K个节点或边的限制。

图嵌入

对于疯狂的尺码也有办法。从大约一百万个顶点开始,只有合理的方法来观察顶点密度,而根本不绘制边和特定的顶点。只是因为没有人能在这样的图上辨认出单个的物体。此外,大多数为图形可视化而设计的算法在这样的尺寸下要工作很多小时,甚至几天。如果我们稍微改变一下方法,这个问题是可以解决的。有很多方法可以得到反映图顶点特征的固定大小的表示。在得到这样的表示之后,你唯一需要做的就是把维数降到2,这样才能得到一张图片。

节点2VEC

Image for post

节点2VEC+UMAP

这是word2vec对图形的改编。它在图中使用随机游动而不是单词序列。因此,该方法只利用节点邻域的信息。在大多数情况下,这已经足够了。

VERSE

Image for post

韵文+UMAP

通用图形表示的高级算法。这是我经验中最好的一个。

图卷积(Graph Convolutions)

Image for post

图形卷积+自动编码器。二部图。

有很多方法可以定义图上的卷积。但事实上,这是一个简单的“传播”特征顶点的邻居。我们还可以将局部拓扑信息放在顶点特征中。

小奖励

我做了一个小教程简化图卷积没有神经网络。它就在这里。我还制作了一个图形嵌入教程,其中我展示了如何使用上述一些工具。

Links

  • Simplifying Graph Convolutional Networks
  • arxiv.org/pdf/1902.07153.pdf
  • GraphViz
  • graphviz.org
  • Gephi
  • gephi.org
  • igraph
  • igraph.org
  • LargeViz
  • arxiv.org/abs/1602.00370
  • github.com/lferry007/LargeVis
  • Graphistry
  • www.graphistry.com
  • Node2Vec
  • snap.stanford.edu/node2vec
  • github.com/xgfs/node2vec-c
  • VERSE
  • tsitsul.in/publications/verse
  • github.com/xgfs/verse
  • Notebook with simplified graph convolutions example
  • github.com/iggisv9t/graph-stuff/blob/master/Universal%20Convolver%20Example.ipynb
  • Graph Convolutions
  • List of papers about Graph Convolutional Networks: github.com/thunlp/GNNPapers

TL;DR:

Image for post

新希望:格拉菲亚[2020年6月5日更新]

Image for post

这是苍蝇大脑部分的神经元连接https://neuprint.janelia.org/

这篇文章发表于大约一年前。现在有一种新的非常有前途的图形可视化工具,尤其是大型图形:Graphia。它正在积极开发中,而不是很久以前就被抛弃的Gephi,而且它的工作速度也快得多。由于Gephi it集成了许多工具,您可以在这里阅读:https://graphia.app/userguide.html

缺点是可以原谅的:

  • 目前,它只有一个力导向的布局和非常有限的方式来调整它。
  • 渲染选项不适用于大型图形。至少关闭边显示或添加不透明度的选项会非常有用。
  • 现在葡萄还比较生。例如,为了放入graphi,我不得不用Gephi转换图形格式,而graphia在用CSV表示的同一个图形上崩溃了。但我相信这些小事很快就会得到改善。

优点太多,难以列举。想象一下Gephi,所有这些分析工具,但从头改写C++,速度更快,在积极发展。作为比较:Gephi需要几个小时来布局173K节点图,而Graphia只需要几分钟。

我相信这个评论很快就会过时,所以最好自己检查一下这个应用程序的当前状态。

原文:https://towardsdatascience.com/large-graph-visualization-tools-and-approaches-2b8758a1cd59

本文:http://jiagoushi.pro/node/1089

讨论:请加入知识星球【首席架构师圈】或者微信小号【jiagoushi_pro】

SEO Title
Large Graph Visualization Tools and Approaches

【数据可视化】如何用graphviz可视化结构化的数据

视频号

微信公众号

知识星球

Chinese, Simplified

Graphviz example: How to visualize structured content

Free database schema discovery and comprehension tool

Installing and using schemacrawler for MacOS

How to make nice diagrams from your databases (SQLite, PostgreSQL)

database-graphviz

A graphviz map generator that gets data from Observium database

Building diagrams using graphviz

Table Relationship Diagrams with Graphviz

Graphviz(Python)

graphviz-java

pydot

d3-graphviz

hpcc-js/wasm

gographviz

pytm

 

本文地址
https://architect.pub
SEO Title
How to visualize structured data using graphviz

【数据可视化】数据可视化资源

视频号

微信公众号

知识星球

Chinese, Simplified

D3s

graphexp

gephi

Cytoscape

JanusGraph

tinkerpop

Graph-explorer

Age

GNNLens2

Networkx

  • https://networkx.org/

  • NetworkX是一个Python包,用于创建、操作和研究复杂网络的结构、动力学和功能。

Plotly

force-graph

Arbor

Graphology

VivaGraphJS

graphviz

graphviz-visual-editor

Rawgraphs-app

  • https://github.com/rawgraphs/rawgraphs-app
  • 在RAWGraphs核心之上创建自定义矢量可视化的web界面
  • RAWGraphs是一个开放式网络工具,用于在令人惊叹的d3.js库之上创建自定义的基于矢量的可视化。它由密度设计研究实验室(米兰理工大学)、Calibro和INMAGIK开发。

codemirror

plantuml

  • https://plantuml.com/
  • PlantUML是一个多功能的组件,能够快速而直接地创建图表。用户可以使用简单直观的语言起草各种图表。要深入了解语言细节,请参阅PlantUML语言参考指南。

 

本文地址
https://architect.pub/data-visulalization-resource
SEO Title
Data visulalization resource

【数据可视化】更好的数据可视化的 20 个想法

Chinese, Simplified

我们设计的应用程序越来越受数据驱动。 对高质量数据可视化的需求与以往一样高。 令人困惑和误导的图形无处不在,但我们可以通过遵循这些简单的规则来改变这一点。



1. 选择正确的图表类型



选择错误的图表类型或默认使用最常见的数据可视化类型可能会使用户感到困惑或导致数据误解。 相同的数据集可以通过多种方式表示,具体取决于用户希望看到的内容。 始终从审查您的数据集和用户访谈开始。

dv

您可以在我关于仪表板设计的文章中了解有关如何为数据选择正确表示以及如何设计有效仪表板的更多信息。



2.根据正负值使用正确的绘图方向



使用水平条时,在基线左侧绘制负值,在右侧绘制正值。

不要在基线的同一侧绘制负值和正值。

dv

3. 始终在 0 基线处开始条形图



截断会导致虚假陈述。 在下面的示例中,查看左侧的图表,您可以很快得出结论,值 B 比 D 大 3 倍以上,而实际上差异要小得多。 从零基线开始可确保用户获得更准确的数据表示。

dv

4、折线图使用自适应y轴刻度



对于总是限制 y 轴刻度从零开始的折线图,可能会使图表几乎平坦。 由于折线图的主要目标是表示趋势,因此根据给定时期的数据集调整比例并保持折线占据 y 轴范围的三分之二非常重要。

dv

5. 使用折线图时考虑您的时间序列



折线图由通过线连接的“标记”组成,通常用于可视化数据在时间间隔内的趋势——时间序列。 这有助于说明值如何随时间变化,并且在很短的时间间隔内工作得非常好,但是当数据更新不频繁时,这可能会导致混乱。

dv

前任。 使用折线图来表示年收入,如果值每月更新,则图表将打开以进行解释。 用户可能会假设连接“标记”的线代表实际值,而实际上该特定时间的真实收入数字是未知的。

在这种情况下,使用垂直条形图可能是更好的选择。



6. 不要使用“平滑”折线图



平滑的折线图可能在视觉上令人愉悦,但它们歪曲了它们背后的实际数据,而且过粗的线也掩盖了真正的“标记”位置。

dv

7.避免混淆双轴



通常,为了节省可视化空间,当有两个具有相同度量但幅度不同的数据系列时,您可能倾向于使用双轴图表。 这些图表不仅难以阅读,而且还以完全误导的方式代表了两个数据系列之间的比较。 大多数用户不会密切关注比例,只是扫描图表,得出错误的结论。

dv

8.限制饼图中显示的切片数量



饼图是最流行且经常被误用的图表之一。 在大多数情况下,条形图是更好的选择。 但是,如果您决定使用饼图,这里有一些关于如何使其工作的建议:

  • 不要包含超过 5-7 个切片,保持简单
  • 您可以将额外的最小段分组到“其他”切片中

dv

9.直接在图表上标注



如果没有适当的标签,无论你的图表有多好——它都没有意义。 直接在图表上标注对所有观众都非常有帮助。 查阅图例需要时间和精力来链接价值观和相应的片段。

dv

 

10. 不要在切片上贴标签



将值放在切片之上可能会导致多个问题,从可读性问题到薄片的挑战。 相反,为每个部分添加带有清晰链接的黑色标签。

DV

11.排序饼图以加快扫描速度



排序饼图通常有几种方法:

  • 将最大的切片放在 12 点钟位置,然后按顺时针方向的降序放置下一个切片
  • 将最大的切片放在 12 点钟方向,顺时针第二大切片,第三大切片放在 11 点钟方向,其余切片按顺时针方向降序排列

dv

12. 避免随机性



同样的建议也适用于许多其他图表。 不要默认按字母排序。 将最大值放在顶部(对于水平条形图)或左侧(对于垂直条形图),以确保最重要的值占据最显眼的空间,从而减少眼球运动和阅读图表所需的时间。

dv

13. 薄的圆环图无法阅读



一般来说,饼图不是最容易阅读的图表,因为很难比较相似的值。 当我们取出中间并创建一个圆环图时,我们腾出空间来显示额外的信息,但牺牲了清晰度,走极端会使图表变得无用。

dv

14. 让数据自己说话



不必要的样式不仅会分散注意力,还可能导致对数据的误解和用户产生错误印象。 你应该避免:

  • 3D 元素,阴影
  • 阴影、渐变和其他颜色失真
  • 斑马纹、过多的网格线
  • 高度装饰性、斜体、粗体或衬线字体

dv

15. 选择与数据性质相匹配的调色板



颜色是有效数据可视化不可或缺的一部分,在设计时考虑这 3 种调色板类型:

  1. 定性调色板最适合显示分类变量。 分配的颜色应该是不同的,以确保可访问性。
  2. 顺序调色板最适合需要按特定顺序放置的数字变量。 使用色调或亮度或两者的组合,您可以创建一个连续的颜色集。
  3. 发散调色板是两个连续调色板的组合,中间有一个中心值(通常为零)。 通常不同的调色板会传达正面和负面的价值。 确保颜色也符合“负面”和“正面”表现的概念。

dv

查看一个方便的工具 — ColorBrewer,它可以帮助您生成各种调色板。



16. 无障碍设计



根据美国国家眼科研究所的数据,大约每 12 个人中就有 1 人是色盲。 只有广泛的受众可以访问您的图表,您的图表才会成功。

  • 在调色板中使用不同的饱和度和亮度
  • 以黑白打印数据可视化,以检查对比度和可读性。

dv

17. 关注易读性



确保排版能够传达信息并帮助用户专注于数据,而不是分散注意力。

  • 选择清晰的字体,避免使用衬线和高度装饰性的字体
  • 避免使用斜体、粗体和全部大写
  • 确保与背景的高对比度
  • 不要旋转你的文字

dv

18.使用水平条形图而不是旋转标签



这个简单的技巧将确保用户能够更有效地扫描图表,而不会拉伤脖子)

dv

19. 选择你的图表库



如果您的任务是向 Web 和移动项目添加交互式图表,那么您应该问的第一个问题是我们将使用什么图表库? 现代图表库包含许多前面提到的交互和规则。基于定义的库进行设计将确保易于实施,并为您提供大量交互想法。

dv

20. 超越静态报告



通过更改参数、可视化类型、时间线帮助用户进行探索。 得出结论以最大化价值和洞察力。 在下面的示例中,您可以看到 IOS Health 应用程序结合使用各种数据表示来为其带来好处。

dv

阅读建议



对于所有想了解更多关于这个主题的人,我强烈推荐阅读 Dona M. Wong 的“华尔街日报信息图形指南:呈现数据、事实和数据的注意事项”。 本文中的许多想法都受到本书的启发。

原文:https://uxdesign.cc/20-ideas-for-better-data-visualization-73f7e3c2782d

本文:https://jiagoushi.pro/20-ideas-better-data-visualization

SEO Title
20 ideas for better data visualization

数据工程

视频号

微信公众号

知识星球

Chinese, Simplified
本文地址
https://architect.pub/data_engineering
SEO Title
data engineering

【数据格式】Kafka与AVRO vs Kafka和Protobuf vs Kafka与JSON Schema

视频号

微信公众号

知识星球

Chinese, Simplified

Kafka串行化方案——在Confluent Streaming Platform中播放AVRO、Protobuf、JSON Schema。这些示例的代码可在https://github.com/saubury/kafka-serialization

Apache Avro在很长一段时间内一直是默认的Kafka串行化机制。Confluent刚刚更新了他们的Kafka流媒体平台,增加了对使用协议缓冲区(或protobuf)和JSON模式串行化串行化数据的支持。


Kafka与AVRO vs.,Kafka和Protobuf vs.,Kafka与JSON Schema

Protobuf特别酷,提供了一些巧妙的机会,超出了Avro的可能。Protobuf和JSON模式的包含适用于生产者和消费者库、模式注册表、Kafka连接、ksqlDB以及控制中心。花几分钟时间熟悉流媒体应用程序的串行化策略可能带来的新机会是值得的。

我关心结构化数据的序列化吗?

那么,为什么要对结构化数据进行串行化呢?让我们从一个示例数据字符串开始…“cookie,50,null”这个数据是什么意思?cookie是一个名字、一个地方还是一种吃的东西?50岁左右呢?这是年龄、温度还是其他原因?

如果您使用数据库(如Postgres或Oracle)来存储数据,您将创建一个表定义(具有命名良好的列和适当的数据类型)。流媒体平台也是如此——你真的应该选择数据格式来串行化结构化数据。在您的数据平台上保持一致的奖励积分!

直到最近,您在Kafka中串行化结构化数据的选择还是有限的。您有“糟糕”的选择(如自由文本或CSV),或者使用ApacheAvro是“更好”的选择。Avro是一个开源的数据序列化系统,它将您的数据(以及它的适当模式)封送为高效的二进制格式。Avro的核心功能之一是能够为我们的数据定义模式。因此,我们的数据cookie 50,null将与这样的小吃Avro模式相关联

{
 "type": "record",
 "name": "snacks",
 "fields": [
     {"name": "name",  "type": "string" }
   , {"name": "calories", "type": "float" }
   , {"name": "colour", "type": "string", "default": null}
 ]
}

在这里我们可以看到我们的数据cookie,50,null是零食数据(最重要的数据类型)。我们可以看到饼干是一个字符串,代表小吃的名称。我们的模式为我们提供了很大的灵活性(我们的模式可以随着时间的推移而发展),并确保了数据的完整性(例如,确保卡路里是整数)。

 

尽管大多数ApacheKafka用户都使用ApacheAvro来定义消息的契约,但这始终有点像“Java的东西”。ApacheAvro编译器自动生成的类有利于JVM开发人员。你当然可以在几乎任何语言中使用AVRO,然而,谷歌协议缓冲区(protobuf)在其他语言(Python、Rust、Ruby、Go)中非常流行,用于串行化、去串行化和验证数据。

AVRO、Protobuf、JSON Schema与Kafka一起使用

这不是一个关于“最佳”连载策略的博客。然而,让我们熟悉如何使用新的选择来序列化结构化数据

我们将浏览几个例子。请记住,我们保存在snacks.txt文件中的最初一组美味数据如下所示

{"name": "cookie", "calories": 500, "colour": "brown"}
{"name": "cake", "calories": 260, "colour": "white"}
{"name": "timtam", "calories": 80, "colour": "chocolate"}

AVRO串行化

让我们提醒自己如何使用AVRO串行化对我们的零食进行编码。我们将使用include命令行工具kafka-avro控制台生产者作为kafka生产者,它可以执行串行化(提供模式作为命令行参数)。生产者是将数据写入卡夫卡经纪人的东西。

kafka-avro-console-producer --broker-list localhost:9092 --topic SNACKS_AVRO --property value.schema='
{
"type": "record",
"name": "myrecord",
"fields": [
{"name": "name", "type": "string" }
, {"name": "calories", "type": "float" }
, {"name": "colour", "type": "string" }
]
}' < snacks.txt

 

为了读取数据,我们可以使用kafka avro控制台consumer命令行应用程序作为kafka consumer来读取和串行化我们的avro数据

kafka-avro-console-consumer --bootstrap-server localhost:9092 --topic SNACKS_AVRO --from-beginning {"name":"cookie","calories":500.0,"colour":"brown"}
{"name":"cake","calories":260.0,"colour":"white"}
{"name":"timtam","calories":80.0,"colour":"chocolate"}

 

Protocol Buffers (Protobuf) serialization

这一次,我们将使用protobuf系列化与新的kafkaprotobuf控制台生产商kafka生产商。这个概念与我们在AVRO中采用的方法相似,但这一次我们的卡夫卡制作人将可以执行protobuf系列化。请注意,protobuf模式是作为命令行参数提供的。

kafka-protobuf-console-producer --broker-list localhost:9092 --topic SNACKS_PROTO --property value.schema='
message Snack {
required string name = 1;
required int64 calories = 2;
optional string colour = 3;
}' < snacks.txt

为了读取数据,我们可以使用kafka protobuf控制台consumerkafka consumer对我们的protobuf数据进行去串行化

kafka-protobuf-console-consumer --bootstrap-server localhost:9092 --topic SNACKS_PROTO --from-beginning {"name":"cookie","calories":"500","colour":"brown"}
{"name":"cake","calories":"260","colour":"white"}
{"name":"timtam","calories":"80","colour":"chocolate"}

JSON Schema serialization

最后,我们将使用JSON模式串行化与新的kafkajson模式控制台生成器kafka-productor。请注意,json模式模式是作为命令行参数提供的。

kafka-json-schema-console-producer --broker-list localhost:9092 --topic SNACKS_JSONSCHEMA --property value.schema='
{
"definitions" : {
"record:myrecord" : {
"type" : "object",
"required" : [ "name", "calories" ],
"additionalProperties" : false,
"properties" : {
"name" : {"type" : "string"},
"calories" : {"type" : "number"},
"colour" : {"type" : "string"}
}
}
},
"$ref" : "#/definitions/record:myrecord"
}' < snacks.txt

为了读取数据,我们可以使用kafkajson模式控制台consumerkafkaconsumer来解串行化我们的json模式数据

kafka-json-schema-console-consumer --bootstrap-server localhost:9092 --topic SNACKS_JSONSCHEMA --from-beginning {"name":"cookie","calories":"500","colour":"brown"}
{"name":"cake","calories":"260","colour":"white"}
{"name":"timtam","calories":"80","colour":"chocolate"}

What you can do with Protobuf and can’t do with Avro?

让我们看一个更复杂的建模示例,以说明Protobuf模式的一些可能性。想象一下,我们想为一顿饭建模,并描述饭中的成分。我们可以使用protobuf模式来描述一顿饭,比如由牛肉馅和奶酪浇头组成的玉米卷。

 

我们的玉米卷和炸鱼薯条的数据可能是这样的

{
"name": "tacos",
"item": [
{
"item_name": "beef",
"type": "FILLING"
},
{
"item_name": "cheese",
"type": "TOPPING"
}
]
}, {
"name": "fish and chips",
"alternate_name": "fish-n chips",
"item": []
}

一个代表我们膳食的protobuf模式示例如下

message Meal {
required string name = 1;
optional string alternate_name = 2; enum FoodType {
INGREDIENT = 0;
FILLING = 1;
TOPPING = 2;
} message MealItems {
required string item_name = 1;
optional FoodType type = 2 [default = INGREDIENT];
} repeated MealItems item = 4;
}

To try this modelling with protobuf in Kafka

kafka-protobuf-console-producer --broker-list localhost:9092 --topic MEALS_PROTO --property value.schema='
message Meal {
required string name = 1;
optional string alternate_name = 2; enum FoodType {
INGREDIENT = 0;
FILLING = 1;
TOPPING = 2;
} message MealItems {
required string item_name = 1;
optional FoodType type = 2 [default = INGREDIENT];
} repeated MealItems item = 4;
}' < meals.txt

这让您了解了在Kafka中使用protobuf可以如何灵活地表示数据。但是,如果我们需要对这些模式进行更改,会发生什么呢?

 

具有Confluent Schema注册表的Protobuf

 

您可能想知道上面的例子中的模式到底去了哪里?Confluent Schema Registry一直在努力存储这些模式(当使用kafka-blah控制台生成器时,作为序列化过程的一部分)。也就是说,模式名称(例如SNACKS_PROTO-value)、模式内容、版本和样式(protobuf、Avro)都已存储。我们可以使用curl在存储的模式上达到峰值。例如,为了探索我们的零食最近使用的protobuf模式

curl -s -X GET http://localhost:8081/subjects/SNACKS_PROTO-value/versions/1

Which responds the this snack schema (yummy)

{
"subject": "SNACKS_PROTO-value",
"version": 1,
"id": 6,
"schemaType": "PROTOBUF",
"schema": "\nmessage Snack {\n required string name = 1;\n required int64 calories = 2;\n required string colour = 3;\n}\n"
}

Protobuf的模式进化

 

俗话说,唯一不变的就是变化。任何好的数据平台都需要适应变化——比如对模式的添加或更改。支持模式进化是流媒体平台的基本要求,因此我们的序列化机制也需要支持模式更改(或进化)。Protobuf和Avro都提供了在不破坏下游消费者的情况下更新模式的机制——下游消费者可能仍然使用以前的模式版本。

 

在我们的膳食中添加饮料

 

墨西哥玉米饼和披萨听起来很棒——但让我们在用餐时喝点什么吧!现在,我们可以向我们的模式添加一些额外的属性,以包括膳食。这有时被称为模式进化。请注意,我们将继续使用现有的MEALS_PROTO主题。

 

新的数据有效载荷(包括啤酒)

{
"name": "pizza",
"drink": [
{
"drink_name": "beer",
"type": "ALCOHOLIC"
}
]
}

So to encode the command looks like

kafka-protobuf-console-producer --broker-list localhost:9092 --topic MEALS_PROTO --property value.schema='
message Meal {
required string name = 1;
optional string alternate_name = 2; enum FoodType {
INGREDIENT = 0;
FILLING = 1;
TOPPING = 2;
} enum DrinkType {
BUBBLY = 0;
ALCOHOLIC = 1;
} message MealItems {
required string item_name = 1;
optional FoodType type = 2 [default = INGREDIENT];
} message DrinkItems {
required string drink_name = 1;
optional DrinkType type = 2 ;
} repeated MealItems item = 4;
repeated DrinkItems drink = 5;
}' < meals-2.txt

Visualising schema difference with Confluent Control Center

One nice inclusion with the Confluent Control Center (the Web GUI included in the Confluent platform) is the ability to look at schemas, and the differences between schemas. For example, we can see version 1 and version 2 of the MEALS_PROTO-value schema

Schema difference with Confluent Control Center
Schema difference with Confluent Control Center

Application Binding — Protobuf classes with Python

Let us now build an application demonstrating protobuf classes. To generate protobuf classes you must first install the protobuf compiler protoc. See the protocol buffer docs for instructions on installing and using protoc.

We can compile our Python schema like this. This will take our schema (from meal.proto) and will create the meal_pb2.py Python class file.

protoc -I=. --python_out=. ./meal.proto

Excellent, with the meal_pb2.py Python class file you can now build protobuf classes and produce into Kafka with code like this

import meal_pb2

mybeer = Meal.DrinkItems(drink_name="beer")
mywine = Meal.DrinkItems(drink_name="wine")
meal = Meal(name='pizza', drink=[mybeer,mywine])producer.produce(topic='MEAL_PROTO', value=meal)

看看producer-protobuf.py,了解Python中protobuf-Kafka生产者的完整示例。

结论

Kafka的功能不断增长,在Confluent平台中使用AVRO、Protobuf和JSON Schema的选项为构建酷炫的流媒体应用程序提供了更多机会

这些示例的代码可在

 

本文地址
https://architect.pub/kafka-avro-vs-kafka-protobuf-vs-kafka-json-schema
SEO Title
Kafka with AVRO vs., Kafka with Protobuf vs., Kafka with JSON Schema

【数据转换】2023年7款最佳数据转换工具(优点、缺点、最佳)

视频号

微信公众号

知识星球

Chinese, Simplified

数据转换过程通过以下方式将数据从原始的混乱转变为业务金矿:

  • 删除不必要的数据(重复数据、异常值、过滤)
  • 重塑数据(对数据模型、数据透视表、聚合度量值施加模式约束)
  • 标准化数据格式(正确拼写,一个热编码变量)
  • 构建自己的度量和维度(平均值、偏差、总和、计数和其他聚合)
  • 丰富数据
  • …以及更多操作(请查看此处的转换列表)。

使用数据转换工具可以简化整个过程,并为您节省时间和精力来完成这些有价值但乏味的任务。

在本文中,我们将探讨市场上7种最佳的数据转换工具。每种工具都将与优缺点进行评估,并明确决定该工具最适合谁。

你赶时间吗?不用担心,这里是TL;DR最好的工具以及它们最适合哪些人:

  • Keboola:整体最佳。涵盖了所有转换用例,从业务专家的无代码到工程师的低代码(在SQL、Python、R和Julia中),以及所有dbt转换。
  • dbt:分析工程师,喜欢在数据仓库中使用SQL驱动的转换中的开发人员实践。
  • Matillion:中小型组织的IT用户,他们希望使用一个简单但强大的工具来运行ETL过程。
  • Trifacta:希望使用类似于Excell(但比Excell更强大)的解决方案转换数据的企业用户。
  • Informatica:一个大型企业的数据工程师团队,他们希望在所有数据操作中完全采用Informatica的整个产品生态系统。
  • Datameer:希望改进Snowflake中分析工作负载的非编码数据分析师。
  • Hevo Data:希望通过直观的拖放界面创建数据管道和转换的业务专家。

想深入了解细节以使您的决策更好吗?以下是最佳数据转换工具的完整分类。

7种最佳数据转换工具

1.Keboola

Keboola

Keboola是一个数据平台即服务,可帮助您自动化所有数据操作。

Keboola提供了多种工具来简化转换,但它还自动化了围绕ETL、ELT和反向ETL数据管道的数据操作。

每个公民都可以使用Keboola将原始数据转化为商业机会:

  • 业务用户可以利用无代码转换,并使用拖放功能构建自己的数据管道(请检查Visual Flow Builder)。
  • 工程师和数据科学家可以在SQL、Python、R和Julia中使用低代码转换。除此之外,您还可以获得监控、版本控制、数据访问控制、转换共享和可扩展后端以及并行化,以加快作业速度。
  • 使用dbt的组织可以将dbt转换合并到其整个工作流中。使用Keboola还可以在ELT、ETL和反向ETL数据流中运行提取和加载。

优点:

  • 为每个人提供自助服务。使用无代码、低代码或dbt转换的选项使每个用户都能够以最适合自己的模式转换自己的数据。
  • 广泛涵盖转型运营。低代码和dbt转换涵盖了任何可以想象的数据操作。无代码转换涵盖了可点击的预构建解决方案的绝大多数用例:过滤、数据删除、数据标准化、重新编码值、构建(聚合)度量和维度等…
  • 端到端自动化。您可以通过按计划设置转换或指定触发器来运行转换作业,从而实现转换的自动化。
  • 完全监控和可审计。每个转换运行都会被监视以执行,并会触发警报,通知您数据质量问题或故障。您可以检查转换日志,以审核每个转换的参与者,并通过版本控制验证转换是如何更改的。
  • 可共享且可重复使用。转换可以与传入和传出数据集一起共享。转换的重用可以加快您的开发时间,并使您的团队能够使用相同的过程。
  • 设计可扩展性。您可以通过缩放运行转换的后端来调整分配给作业的资源。
  • 超越转换的功能。Keboola不仅仅为ELT和ETL过程提供功能和工具。解决方案丰富的平台可帮助您通过数据目录等简化机器学习、数据管理、安全、共享和记录数据等方面的数据操作。

缺点:

  • 运行时间过长的转换作业将自动中断,以防止未完成作业中出现错误或高资源消耗。要无限制地运行完全在线和连续的转换引擎,您必须调整默认的转换后端。

最适合:

  • 由数据科学家、数据工程师、数据分析师和/或数据驱动的业务专家组成的团队,他们希望用自己喜欢的工具(无代码、低代码或dbt)将数据从原始的混乱转变为商机的金矿。

2.dbt

dbt

dbt是一个流行的开源转换引擎,它在您的数据平台(数据仓库、湖泊、数据库或查询引擎)中运行SQL转换。它提供了多种功能来简化围绕转换的数据操作,如调度、版本控制、组织、CI/CD等。

赞成:

  • dbt转换非常直观,因为它们是用SQL编写的。
  • dbt简化了转换,因此在编写SQL转换时避免了通常的样板和DDL代码。
  • 因为转换是由数据仓库执行的,所以它们几乎实时运行。
  • 优秀的支持将单个转换(称为“模型”)组织到项目中并记录转换。
  • 围绕转换的操作特性(CI/CD、版本控制、协作)是精简和健壮的。

缺点:

  • 不面向非技术用户。你需要了解SQL。
  • dbt仅以转换为中心。要运行完整的数据操作,您需要额外的工具来从数据源提取数据、将数据加载或发送到不同的目的地、管理数据、控制访问等。
  • 允许您在自己的仓库中运行dbt的数据仓库适配器是有限的。当然,dbt涵盖了主要嫌疑(Snowflake、BigQuery、Databricks、AWS Redshift、Postgres),但列表中缺少了几个数据湖、关系数据库和数据仓库。

最适合:

  • 喜欢在数据仓库中使用SQL驱动转换中的开发人员最佳实践的分析工程师。

3.Matillion

Matillion

Matillion是一个开源ETL工具,可以通过简单的无代码/低代码拖放用户界面构建数据管道。

Matillion通过将不同的组件拖到数据流中来创建转换。例如,首先使用“过滤器”组件删除行,然后应用“SQL”组件创建新的度量。

赞成:

  • 即使对于非技术用户,拖放式用户界面也是用户友好和直观的
  • 以及数据操作中根深蒂固的变更数据捕获和批处理。
  • Matillion可以帮助您覆盖其他数据操作,而不仅仅是转换。它完全支持ETL、ELT和反向ETL。Matillion涵盖的预建连接器的数量和类型非常广泛,足以涵盖绝大多数数据分析用例。

缺点:

  • 无代码ETL功能以更高的价格解锁,并且不是免费产品的一部分。
  • 基于代码的转换仅限于SQL(数据科学家没有Python、R或Julia)。
  • Matillion有时会在扩展硬件基础设施方面遇到问题,特别是对于更需要资源的转换的EC2实例。
  • 定价是复杂的-您为Matillion及其用于在云上执行数据操作的计算资源付费。
  • 用户经常报告文档可能过时,Matillion的新版本很少向后兼容(因此在更新软件时需要进行大量维护),并且对版本控制(git)的支持很差。

最适合:

  • 中小型组织的IT用户,他们希望使用简单但强大的工具来运行ETL过程。

4.Trifacta

Trifacta

Trifacta的Designer Cloud是一个与您自己的云提供商(AWS、Azure、Google Cloud platform、Databricks)集成的云平台,运行低代码或无代码的ELT或ETL管道。

在Designer Cloud中,转换的执行方式类似于在Excel中执行转换的方式。您可以使用Trifacta的“Wrangle语言”(一种类似Excel的数据争用语言)编写所需的转换。例如,您可以写“pivot by X column”。然后,Trifacta Wrangler将在类似Excel的表格上执行命令,并围绕表格旋转。

赞成:

  • 可以很好地扩展大型数据集。
  • 通过示例推断转换。用户提供了所需结果的示例,Trifacta自动推断出转换背后的规则。
  • 通过分析元数据和数据集的完整性、准确性和有效性,自动进行数据质量检查和数据分析。
  • Trifacta通过智能采样算法加快作业执行速度。

缺点:

  • 这些转换需要大量繁忙的工作,而且不便于用户使用,也不总是直观的。
  • 没有免费增值模式,最便宜(而且功能有限)的价格是每月80美元。

最适合:

  • 希望使用类似于Excel(但比Excel更强大)的解决方案转换数据的企业用户。

5.Informatica

Informatica

Informatica为企业数据用户提供了两种主要的ETL产品(提取、转换、加载或经典数据管道):

  • Informatica PowerCenter,大型企业的ETL平台,以及
  • Informatica云数据集成(ICDI),一种更实惠的集成平台即服务(IPaaS)。
  • 安装Informatica Developer(开发人员工具)时,用户可以使用这两个工具进行转换。
  • 一旦配置了转换引擎和体系结构,就可以在可单击的用户界面中构建转换。

赞成:

  • 这是一款经过高度打磨且具有弹性的产品,可与大数据需求无缝扩展。
  • 处理大型企业中常见的多种类型的数据格式,如复杂的XML文件、特定于行业的企业数据格式(SWIFT、HL7…)以及COBOL复制本等传统数据格式。
  • Informatica提供特定行业垂直领域(医疗保健、金融、银行等)中使用的大多数转换的预构建库。

缺点:

  • 供应商锁定度高。要使用该工具,您需要根据解决方案的设计调整数据基础结构和体系结构,并学习其专有的建模语言。例如,Informatica对转换数据的数据存储选项非常有限。您只能使用Amazon Redshift进行数据仓库或Microsoft Azure SQL data Lake作为数据湖。
  • 定价不透明,没有自助服务业务模式。你必须与销售人员交谈,并通过合同来演示产品。基本的数据集成云服务起价为每月2000美元。
  • 该工具功能强大但复杂。在释放平台的全部潜力之前,准备好数据团队(多个),以承受陡峭的学习曲线。
  • 转换主要围绕XML数据格式构建。无论传入的数据流格式是什么,都必须先将其转换为XML,然后才能对其进行操作。

最适合:

  • 一个大型企业的数据工程师团队,他们将投资并专注于Informatica的定制平台,以收获强大机器的果实。

6.Datameer

Datameer

Datameer帮助您充分利用Snowflake数据仓库。它通过提供SQL和无代码转换(作为拖放组件)扩展了Snowflake的转换能力,因此技术和非技术同事都可以自助处理自己的数据需求。

赞成:

  • 用于运行Snowflake变换的更好的变换工具。
  • 该工具有大量文档记录,并为常见的分析用例提供了许多视频演示。
  • 通过查看显示转换依赖性的可视化图表,复杂和多阶段转换变得更加直观。

缺点:

  • Datameer是市场上的一个新手,尽管它显示出了前景,但可以缺少无代码转换的开箱即用特性,而且某些转换在其库中更难执行。
  • Datameer仅限于Snowflake。

最适合:

  • 希望改进Snowflake中分析工作负载的非编码数据分析师。

7.Hevo数据

Hevo

Hevo Data是一个无代码数据集成平台,可简化ETL、ELT和反向ETL数据管道。

数据转换可以通过在Hevo Data仪表板中拖放预先构建的转换块来构建,也可以通过编写Python脚本来执行转换。

赞成:

  • 包括无代码(针对不编码的业务专家)和完全编码的Python转换。
  • 失败工作流的警报。
  • 非常适合涉及复制的ETL过程—利用CDC加快数据复制。

缺点:

  • 没有基于SQL的转换(只有Python)用于编写完全自定义的转换。
  • Python转换通常限于简单的函数调用。复杂的转换更难编写和维护。
  • 作为ETL/ELT工具,它为外部数据源提供了有限的预构建连接器。

最适合:

  • 希望通过直观的拖放界面创建数据管道和转换的业务专家。

那么,在7种最佳的数据转换工具中,您如何做出最终选择?

如何为您的组织选择正确的数据转换工具?

在选择首选的数据转换工具时,请记住以下三个标准:

  • 目标受众。没有代码工具最适合于那些不知道如何编码的业务用户。低代码工具简化了工程团队的工作。选择一个适合这两个受众的工具(如果您想增强整个组织的能力,则选择两者)。
  • 定价。开源解决方案通常比供应商提供的数据平台和工具更便宜(无需支付费用、无需许可证、无需在“不公平”消费阈值下节流,以及其他供应商技巧)。但对于开源解决方案(维护、调试、运行自己的DataOps以提供开源工具所需的服务器和实例等),总体拥有成本通常更高。在评估您选择的工具时,请记住所有可能的费用和隐藏费用。
  • 支持和文档。当出现问题时,是否有强大的支持系统,如供应商保证的支持SLA?或者如果该工具是开源的,是否有强大的用户群体可以回答您的问题?您是否可以依赖大量的文档?

数据工程师的专业提示

在比较工具时,性能很重要。检查转换工具如何:

  • 可根据工作负载资源和传入数据的速度和数量进行扩展。
  • 通过并行化加速转换。
  • 提供补充功能,如转换版本控制、日志检查、监视和警报。

来源:

本文地址
https://architect.pub
SEO Title
7 Best Data Transformation Tools in 2023 (Pros, Cons, Best for)

数据技术

视频号

微信公众号

知识星球

Chinese, Simplified
本文地址
https://architect.pub/data-technology
SEO Title
Data Technology

【数据和分析】五种数据和分析趋势:2023 年的未来

视频号

微信公众号

知识星球

Chinese, Simplified

很难找到没有数字业务的企业,如果不是不可能的话。 数字化的便利因素正在加快企业应用在线业务的步伐,包括那些在 COVID 之前主要是实体业务的业务。 不仅仅是以这种方式提供产品和服务,大多数组织还使用数据来生成可能影响其收入、销售、成本和业务决策的见解。

虽然数据和洞察力驱动是所有 CIO 和 CDO 的主要关注点,但说起来容易做起来。 如果没有适当的数据管理和相关的基础设施,向内部和外部的利益相关者提供可信和高质量的数据是一项挑战。 为解决这些问题,数据管理行业通过与云、财务运营、更新的数据管理架构、自动化、机器学习等相关的许多创新不断挑战极限。以下是我们认为影响最大的前五大趋势 2023 年,因为它与数据和分析有关。

趋势 1:随着经济衰退的临近,公司将寻求优化基础设施成本



无论北美是否处于衰退之中,企业都在积极削减成本,减少 IT 基础设施,这一直是 CEO 的轻松选择。 虽然通过使用云计算和存储成本不断降低,但鉴于组织在数据和分析基础设施上的大量投资,它仍然可能导致巨额账单。 部分归功于存储、计算和应用程序选择的广泛性,公司经常采取推倒重来的策略来实现数据和分析工作的现代化。 这种方法不仅成本高昂,而且通常会导致 IT 运营中断。 到 2023 年,越来越多的公司将看到 IT 专注于以现代、无中断的方式更新其 IT 基础设施,无论他们的数据完全驻留在一个云、多个云中,还是包括本地在内的混合环境中。

趋势 2:当多云成为现实时,云中的 FinOps 变得必要



对于许多公司而言,战略数据资产分布在多个云和地理位置,无论是因为各个业务部门或位置都有其首选的云服务提供商 (CSP),还是因为并购导致这些资产驻留在不同的云提供商中 '边界。 随着越来越多的数据继续迁移到云端,并且不同地区看到某些云提供商相对于其他提供商的重要性,跨国公司正在加速采用多云架构。 目前,没有简单的方法来管理和集成这些不同 CSP 之间的数据和服务。 未能解决此问题总是会导致数据孤岛和分散的数据管理方法,从而导致数据访问和数据治理复杂化。

此外,与流行的看法相反,由于数据量和相关的出口费用等原因,云成本正日益成为一项物质支出。 对于许多组织而言,云投资并未带来预期的经济和业务收益。 因此,他们正在利用 FinOps 提供一个框架来控制云成本和使用,确定成本与价值,并了解在现代混合和多云环境中优化管理它的方法。 在接下来的一年里,预计 FinOps 将作为一项关键举措获得发展势头,以帮助公司更好地管理其混合云和多云支出。

趋势 3:加速采用数据结构和数据网格



在过去的二十年里,数据管理经历了集中与分散的循环,包括数据库、数据仓库、云数据存储、数据湖等。虽然关于哪种方法最好的争论有其自己的支持者和反对者,但最后一个 几年已经证明,对于大多数组织而言,数据更加分散而不是集中。 尽管部署企业数据架构有多种选择,但到 2022 年,两种数据架构方法(数据结构和数据网格)的采用速度加快,以更好地管理和访问分布式数据。 虽然两者之间存在内在差异,但 Data Fabric 是可组合的数据管理技术堆栈,而 Data Mesh 是面向分布式团队的流程导向,可以按照他们认为合适的方式管理企业数据。 对于希望更好地管理数据的企业来说,两者都至关重要。 轻松访问数据并确保其受到监管和安全,对每个数据利益相关者都很重要——从数据科学家到高管。 毕竟,它对于仪表盘和报告、高级分析、机器学习和 AI 项目至关重要。

如果使用适当的数据基础架构进行适当构建,数据结构和数据网格都可以在企业范围内的数据访问、集成、管理和交付中发挥关键作用。 因此,到 2023 年,预计大中型企业对这两种架构方法的采用将迅速增加。

趋势 4:随着基于 AI 的决策的商业采用增加,符合道德的 AI 变得至关重要



各行各业的公司都在加速使用人工智能进行基于数据的决策——无论是社交媒体平台压制帖子、将医疗保健专业人员与患者联系起来,还是大型财富管理银行向其最终消费者提供信贷。 然而,当人工智能决定最终结果时,目前还没有办法抑制算法中固有的偏差。 这就是为什么新兴法规,如拟议的欧盟人工智能法案和加拿大的 C-27 法案(如果颁布可能成为人工智能和数据法案),开始围绕商业组织中人工智能的使用制定监管框架。 这些新法规将人工智能应用程序的风险分为不可接受、高、中或低风险,并相应地禁止或管理这些应用程序的使用。

到 2023 年,组织将需要能够遵守这些拟议的法规,包括确保隐私和数据治理、算法透明度、公平和非歧视、问责制和可审计性。 考虑到这一点,组织必须实施自己的框架来支持符合道德规范的 AI(例如,可信赖的 AI 指南、同行评审框架和 AI 伦理委员会)。 随着越来越多的公司将 AI 投入工作,道德 AI 必将在来年变得比以往任何时候都更加重要。

趋势 5:提高数据质量、数据准备、元数据管理和分析



虽然许多数据管理工作的最终结果是提供高级分析并支持 AI 和 ML 工作,但适当的数据管理本身对组织的成功至关重要。 数据通常被称为新石油,因为基于数据和分析的洞察力不断推动业务创新。 随着组织加速使用数据,公司必须密切关注数据治理、数据质量和元数据管理。 然而,随着数据量、种类和速度的不断增长,数据管理的这些不同方面变得过于复杂而无法大规模管理。 考虑数据科学家和数据工程师在开始使用数据之前花费在查找和准备数据上的时间。 这就是为什么增强数据管理最近被各种数据管理供应商所接受,在这些供应商中,通过应用人工智能,组织能够自动执行许多数据管理任务。

根据一些顶级分析公司的说法,数据结构的每一层——即数据摄取、数据处理、数据编排、数据治理等——都应该嵌入 AI/ML,以自动化数据管理过程的每个阶段 . 到 2023 年,增强型数据管理将获得强大的市场吸引力,帮助数据管理专业人员专注于提供数据驱动的洞察力,而不是被日常管理任务所阻碍。

数据及相关基础设施软件市场还有更多值得关注的创新,包括 DataOps 的创新、持续决策过程生命周期的扩散、数据保护、数据利用等。我们相信所有这些创新都将加快数字化转型的步伐 2023 年及以后的数字业务。 我们还相信,过去两到三年明确地告诉我们,数字业务是未来所在。

本文地址
https://architect.pub/five-data-and-analytics-trends-what-lies-ahead-2023
SEO Title
Five Data and Analytics Trends: What Lies Ahead in 2023

数据挖掘

Chinese, Simplified
SEO Title
data mining

【数据挖掘】数据挖掘-系统

视频号

微信公众号

知识星球

Chinese, Simplified

有各种各样的数据挖掘系统可用。数据挖掘系统可以集成以下技术——

  • 空间数据分析
  • 信息检索
  • 模式识别
  • 图像分析
  • 信号处理
  • 计算机图形学
  • Web技术
  • 商业
  • 生物信息学

数据挖掘系统分类

数据挖掘系统可以根据以下标准进行分类-

  • 数据库技术
  • 统计数字
  • 机器学习
  • 信息科学
  • 可视化
  • 其他专业

Data Mining Systems

除此之外,数据挖掘系统还可以基于(a)挖掘的数据库、(b)挖掘的知识、(c)使用的技术和(d)适应的应用的类型进行分类。

基于挖掘数据库的分类

我们可以根据挖掘的数据库类型对数据挖掘系统进行分类。数据库系统可以根据不同的标准进行分类,如数据模型、数据类型等,数据挖掘系统也可以进行相应的分类。

例如,如果我们根据数据模型对数据库进行分类,那么我们可能有一个关系型、事务型、对象关系型或数据仓库挖掘系统

基于挖掘知识类型的分类

我们可以根据挖掘的知识类型对数据挖掘系统进行分类。这意味着数据挖掘系统是根据诸如−

  • 刻画
  • 区别/辨别
  • 关联与相关性分析
  • 分类
  • 预言
  • 异常值分析
  • 进化分析

基于所使用技术的分类

我们可以根据使用的技术类型对数据挖掘系统进行分类。我们可以根据所涉及的用户交互程度或所采用的分析方法来描述这些技术。

基于自适应应用程序的分类

我们可以根据所适应的应用程序对数据挖掘系统进行分类。这些应用程序如下-

  • 金融
  • 电信
  • 脱氧核糖核酸
  • 股票市场
  • 电子邮件

数据挖掘系统与DB/DW系统的集成

如果数据挖掘系统没有与数据库或数据仓库系统集成,那么就没有可通信的系统。这种方案被称为非耦合方案。在该方案中,主要关注数据挖掘设计和开发高效有效的算法来挖掘可用的数据集。

集成方案列表如下-

  • 无耦合-在该方案中,数据挖掘系统不使用任何数据库或数据仓库功能。它从特定的源获取数据,并使用一些数据挖掘算法处理这些数据。数据挖掘结果存储在另一个文件中。
  • 松散耦合——在这个方案中,数据挖掘系统可能会使用数据库和数据仓库系统的一些功能。它从这些系统管理的呼吸数据中提取数据,并对这些数据进行数据挖掘。然后,它将挖掘结果存储在文件中,或者存储在数据库或数据仓库中的指定位置。
  • 半紧耦合-在该方案中,数据挖掘系统与数据库或数据仓库系统链接,除此之外,还可以在数据库中提供一些数据挖掘原语的有效实现。
  • 紧密耦合——在这种耦合方案中,数据挖掘系统平滑地集成到数据库或数据仓库系统中。数据挖掘子系统被视为信息系统的一个功能组件。
本文地址
https://architect.pub
SEO Title
Data Mining - Systems

【数据挖掘】数据挖掘架构的类型

视频号

微信公众号

知识星球

Chinese, Simplified

介绍

数据挖掘是对大数据集进行筛选,以找到可用于应对业务挑战的模式和相关性。企业可以使用数据挖掘技术和技术来预测未来趋势并做出更好的商业决策。数据挖掘是从海量数据中提取潜在价值和以前未发现的信息的关键过程。数据挖掘过程由几个组件组成。

什么是数据挖掘架构?

数据挖掘架构是选择、探索和建模大量数据的过程,以发现以前未知的规律或关系,为数据库所有者生成清晰而有价值的结果。数据挖掘使用自动化或半自动化过程来探索和分析大量数据,以确定实用的设计和程序。

任何数据挖掘系统的主要组件都是:

  • 数据源
  • 数据仓库服务器
  • 数据挖掘引擎
  • 模式评估模块
  • 图形用户界面
  • 知识库。

对数据挖掘架构的需求

数据挖掘架构有助于发现大数据集中的异常、趋势和相关性,以便预测结果。然后,组织利用这些信息来提高销售额、降低开支、加强客户关系、降低风险以及做其他事情。

数据挖掘架构的类型

无耦合:

无耦合数据挖掘系统从特定的数据源(如文件系统)获取数据,使用主要的数据挖掘方法进行分析,并将结果保存到文件系统。使用无耦合数据挖掘架构从特定数据源检索数据。它不使用数据库来获取数据,这通常是一种非常高效和准确的方法。数据挖掘的无耦合设计是无效的,应该只用于极其简单的数据挖掘任务。尽管不建议数据挖掘系统采用无耦合设计,但它可用于基本的数据挖掘过程。

松耦合:

数据挖掘系统从数据库或数据仓库接收数据,使用数据挖掘技术对其进行处理,并将结果保存在松散耦合的数据挖掘架构中的这些系统中。这种设计适用于不需要太多可扩展性或速度的基于内存的数据挖掘系统。具有松散耦合架构的数据挖掘系统从数据库中检索数据并将其保存在这些系统中。基于内存的数据挖掘架构是这种挖掘的重点。

半紧耦合:

在半紧密耦合的数据挖掘架构中,数据挖掘系统除了与数据库或数据仓库系统接口之外,还采用许多数据库或数据仓系统功能来完成数据挖掘活动,例如排序、索引和聚合。它倾向于利用各种数据仓库系统的优势。排序、索引和聚合都是其中的一部分。为了提高效率,在这种设计中,可以将临时结果保存在数据库中。

紧密耦合:

数据库或数据仓库被认为是数据挖掘系统的信息检索组件,该系统在紧密耦合的数据挖掘架构中采用集成。数据挖掘作业利用数据库或数据仓库的所有属性。该设计提供了系统的可扩展性、卓越的性能和集成的数据。数据仓库是该架构中最重要的组件之一,其特性用于执行数据挖掘操作。可扩展性、性能和集成数据都是此设计的特点。

紧密耦合的数据挖掘架构分为三层:

  • 数据层:数据库或数据仓库系统就是数据层的一个例子。该层充当所有数据源之间的桥梁。数据挖掘的结果保存在数据层中。因此,我们可以以报告或其他类型的可视化形式向最终用户提供。
  • 数据挖掘的应用层:其目的是从数据库中检索信息。这里需要某种转换过程。也就是说,必须将数据转换为所需的格式。然后必须使用各种数据挖掘方法对数据进行处理。
  • 前端层:它具有简单易用的用户界面。这是通过与数据挖掘系统交互来完成的。在前端层,为用户显示数据挖掘结果。

数据挖掘架构的优势

  • 根据特定产品的受欢迎程度帮助公司优化生产,从而为公司节省成本。
  • 帮助企业识别、吸引和留住消费者。
  • 帮助公司改善客户关系。
  • 通过有效预测未来的模式,它有助于预防未来的威胁。
  • 将数据压缩为有价值的信息,从而提供新的趋势和特殊的模式。

数据挖掘架构的缺点

  • 缺乏安全性也可能使数据处于危险之中,因为数据可能包含敏感的消费者信息。
  • 不正确的数据可能导致不正确的输出。
  • 大型数据集极难处理。
  • 工作量过大需要高绩效团队和员工培训。
  • 巨额支出的需求也可以被视为一个问题,因为数据收集可能需要大量资源,而且成本高昂。

常见问题

解释数据挖掘中的聚类?

数据挖掘中的聚类是将一组抽象对象分类为相关元素组。数据聚类用于图像处理、数据分析、模式识别和市场研究等。它有助于根据从在线搜索或其他媒体获取的数据识别位置并对文档进行分类。它主要用于识别检查在线交易欺诈的程序。

什么是文本挖掘?

文本挖掘,也称为数据挖掘,是将非结构化文本转换为结构化格式的行为,以揭示新的见解和重要模式。

结论

在本文中,我们广泛讨论了数据挖掘架构的类型。

您可以访问图书馆,查看由编码忍者团队策划的更令人兴奋的博客和文章。

我们希望这篇博客能帮助您增强对数据挖掘的了解,如果您想了解更多信息,请查看数据挖掘与数据仓库、DBMS中的异常和访谈问题。

本文地址
https://architect.pub
SEO Title
Types Of Data Mining Architecture

【数据挖掘】数据挖掘架构的类型和组成部分

视频号

微信公众号

知识星球

Chinese, Simplified

数据挖掘是指从已经收集的数据中检测和提取新的模式。数据挖掘是统计学和计算机科学领域的融合,旨在发现超大数据集中的模式,然后将其转换为可理解的结构以供日后使用。

数据挖掘的体系结构:

Lightbox

基本工作:

  1. 这一切都始于用户提出某些数据挖掘请求,然后这些请求被发送到数据挖掘引擎进行模式评估。
  2. 这些应用程序试图使用已存在的数据库来查找查询的解决方案。
  3. 然后提取的元数据被发送到数据挖掘引擎以进行适当的分析,数据挖掘引擎有时与模式评估模块交互以确定结果。
  4. 然后,使用合适的接口以易于理解的方式将该结果发送到前端。

数据挖掘架构各部分的详细描述如下:

  1. 数据源:数据库、万维网(WWW)和数据仓库是数据源的组成部分。这些来源中的数据可以是纯文本、电子表格或其他形式的媒体,如照片或视频。WWW是最大的数据来源之一。
  2. 数据库服务器:数据库服务器包含准备处理的实际数据。它根据用户的请求执行处理数据检索的任务。
  3. 数据挖掘引擎:它是数据挖掘架构的核心组件之一,可以执行各种数据挖掘技术,如关联、分类、特征化、聚类、预测等。
  4. 模式评估模块:他们负责在数据中找到有趣的模式,有时他们还与数据库服务器交互,以产生用户请求的结果。
  5. 图形用户界面:由于用户无法完全理解数据挖掘过程的复杂性,因此图形用户界面有助于用户与数据挖掘系统进行有效沟通。
  6. 知识库:知识库是数据挖掘引擎的重要组成部分,在指导搜索结果模式方面非常有益。数据挖掘引擎有时也可以从知识库中获取输入。该知识库可以包含来自用户体验的数据。知识库的目的是使结果更加准确和可靠。

数据挖掘体系结构的类型:

  • 无耦合:无耦合数据挖掘体系结构从特定数据源检索数据。它不使用数据库来检索数据,否则这是一种非常有效和准确的方法。数据挖掘的无耦合架构很差,仅用于执行非常简单的数据挖掘过程。
  • 松散耦合:在松散耦合体系结构中,数据挖掘系统从数据库中检索数据并将数据存储在这些系统中。此挖掘适用于基于内存的数据挖掘体系结构。
  • 半紧密耦合:它倾向于使用数据仓库系统的各种有利特性。它包括排序、索引和聚合。在这种体系结构中,可以将中间结果存储在数据库中以获得更好的性能。
  • 紧密耦合:在该体系结构中,数据仓库被认为是其最重要的组件之一,其功能用于执行数据挖掘任务。此体系结构提供了可扩展性、性能和集成信息

数据挖掘的优势:

  • 通过准确预测未来趋势,帮助预防未来的对手。
  • 有助于做出重要决策。
  • 将数据压缩为有价值的信息。
  • 提供新的趋势和意想不到的模式。
  • 帮助分析庞大的数据集。
  • 帮助公司寻找、吸引和留住客户。
  • 帮助公司改善与客户的关系。
  • 协助公司根据某一产品的喜爱程度优化生产,从而为公司节省成本。

数据挖掘的缺点:

  • 过度的工作强度需要高绩效的团队和员工培训。
  • 大量投资的需求也可能被认为是一个问题,因为有时数据收集会消耗许多资源,而这些资源的成本很高。
  • 缺乏安全性也可能使数据面临巨大风险,因为数据可能包含私人客户详细信息。
  • 不准确的数据可能导致错误的输出。
  • 庞大的数据库很难管理。
本文地址
https://architect.pub/types-and-part-data-mining-architecture
SEO Title
Types and Part of Data Mining architecture

【数据挖掘】网页抓取科普

Chinese, Simplified

Web抓取、Web收获或Web数据提取是用于从网站提取数据的数据抓取。[1]网络抓取软件可以直接使用超文本传输协议或通过网络浏览器访问万维网。

虽然web抓取可以由软件用户手动完成,但该术语通常指使用bot或web爬虫程序实现的自动化过程。它是一种复制形式,从web上收集和复制特定的数据,通常将其复制到中央本地数据库或电子表格中,供以后检索或分析。Web抓取Web页面包括获取和提取。[1][2]获取是页面的下载(当您查看页面时,浏览器会这样做)。因此,web爬行是web抓取的主要组成部分,用于获取页面供以后处理。一旦提取,就可以进行提取。页面的内容可以被解析、搜索、重新格式化,其数据可以被复制到电子表格中,等等。

Web scraper通常会从页面中删除一些内容,然后将其用于其他地方的其他用途。例如,查找和复制姓名和电话号码,或公司及其url到列表(联系信息抓取)。Web刮刮用于接触,和作为一个组件的应用程序用于Web索引、Web挖掘和数据挖掘,在线价格变化监测和价格比较,产品评论刮(看竞争),收集房地产上市,气象数据监测、网站变化检测研究,跟踪网络形象和声誉,Web mashup, Web数据集成。Web页面是使用基于文本的标记语言(HTML和XHTML)构建的,并且经常以文本形式包含大量有用的数据。然而,大多数web页面是为人类最终用户设计的,而不是为了便于自动化使用。因此,创建了用于抓取web内容的工具包。web scraper是一个用于从web站点提取数据的应用程序编程接口(API)。亚马逊AWS和谷歌等公司向终端用户免费提供网络抓取工具、服务和公共数据。较新的web抓取形式包括侦听来自web服务器的数据提要。例如,JSON通常用作客户机和web服务器之间的传输存储机制。有些网站使用一些方法来防止web抓取,比如检测和禁止机器人爬行(查看)它们的页面。作为回应,有一些web抓取系统依赖于使用DOM解析、计算机视觉和自然语言处理技术来模拟人类浏览,从而能够收集web页面内容进行离线解析。

历史

  • web抓取的历史实际上要长得多,可以追溯到万维网(俗称“Internet”)诞生的年代。
  • 1989年万维网诞生后,第一个网络机器人——万维网漫游者诞生于1993年6月,其目的仅仅是测量万维网的大小。
  • 1993年12月,第一个基于爬虫的网络搜索引擎——JumpStation诞生。由于当时的web上没有那么多可用的网站,搜索引擎常常依赖于它们的人工网站管理员来收集和编辑链接,并将其转换成特定的格式。跳跃站带来了新的飞跃。它是第一个依靠网络机器人的WWW搜索引擎。
  • 2000年,第一个Web API和API爬虫出现了。API代表应用程序编程接口。它是一个接口,通过提供构建块使开发程序更加容易。2000年,Salesforce和eBay推出了自己的API,程序员可以使用该API访问和下载一些向公众开放的数据。从那时起,许多网站为人们访问公共数据库提供web api。
  • 2004年,《美丽的汤》发行。它是一个为Python设计的库。由于并非所有的网站都提供api,程序员们仍在致力于开发一种能够促进web抓取的方法。使用简单的命令,Beautiful Soup可以解析HTML容器中的内容。它被认为是用于web抓取的最复杂和最先进的库,也是当今最常见和最流行的方法之一。

--

技术

Web抓取是从万维网上自动挖掘数据或收集信息的过程。这是一个积极发展的领域,与语义web vision有着共同的目标,这是一个雄心勃勃的计划,仍然需要在文本处理、语义理解、人工智能和人机交互方面取得突破。当前的web抓取解决方案包括从需要人工操作的临时解决方案到能够将整个web站点转换为结构化信息的完全自动化的系统,这些系统具有一定的局限性。

人类的复制粘贴

有时候,即使是最好的网络抓取技术也无法取代人工检查和复制粘贴,有时候,这可能是唯一可行的解决方案,因为抓取网站明确设置了障碍,防止机器自动化。

文本模式匹配

从web页面提取信息的简单而强大的方法可以基于UNIX grep命令或编程语言(例如Perl或Python)的正则表达式匹配工具。

HTTP编程

通过使用套接字编程将HTTP请求发送到远程web服务器,可以检索静态和动态web页面。

HTML解析

许多网站都有大量的页面集合,这些页面是从底层的结构化资源(如数据库)动态生成的。相同类别的数据通常由公共脚本或模板编码到类似的页面中。在数据挖掘中,检测特定信息源中的模板、提取其内容并将其转换为关系形式的程序称为包装器。包装器生成算法假设包装器归纳系统的输入页面符合公共模板,并且可以根据URL公共模式轻松识别它们。此外,一些半结构化的数据查询语言,如XQuery和HTQL,可以用来解析HTML页面,检索和转换页面内容。

DOM parsing

进一步信息:文档对象模型通过嵌入成熟的web浏览器(如Internet Explorer或Mozilla浏览器控件),程序可以检索由客户端脚本生成的动态内容。这些浏览器控件还将web页面解析为一个DOM树,根据这个树,程序可以检索页面的一部分。

Vertical aggregation

垂直聚合有几家公司已经开发了垂直特定的收获平台。这些平台为特定的垂直领域创建和监控大量的“机器人”,没有“人工参与”(没有直接的人工参与),也没有与特定目标站点相关的工作。准备工作包括建立整个垂直平台的知识库,然后平台自动创建机器人。平台的健壮性是由它检索的信息的质量(通常是字段的数量)和可伸缩性(扩展到数百或数千个站点的速度)来衡量的。这种可扩展性主要用于针对常见的聚合器发现的复杂或太劳动密集型而无法获取内容的站点的长尾。

语义标注识别

被抓取的页面可能包含元数据或语义标记和注释,它们可用于定位特定的数据片段。如果注释像微格式那样嵌入到页面中,则可以将此技术视为DOM解析的特殊情况。在另一种情况下,组织成语义层的注释[4]与web页面分别存储和管理,所以抓取器可以在抓取页面之前从这一层检索数据模式和指令。

计算机视觉

网页分析有使用机器学习和计算机视觉的努力,试图识别和提取信息从网页通过解释网页视觉作为一个人可能.

 

软件

有许多可用的软件工具可用于定制web抓取解决方案。这个软件可能试图自动识别页面的数据结构或提供一个记录接口,消除了需要手工编写web-scraping代码,或某些脚本函数,可用于提取和转换的内容,和数据库接口,可以将刮数据存储在本地数据库中。一些web抓取软件也可以用来直接从API中提取数据。

示例工具

  • Beautiful Soup 2004年创建的用于web抓取的开源Python库。
  • cURL—用于传输(包括获取)数据的命令行工具和库,url支持多种HTTP方法(GET、POST、cookie等)。
  • Data Toolbar- Internet Explorer、Mozilla Firefox和谷歌Chrome浏览器的web抓取附加组件,用于收集web页面中的结构化数据并将其转换为可加载到电子表格或数据库管理程序中的表格格式。
  • gazpacho 用于检索和解析网页HTML内容的开源Python库。
  • Diffbot -使用计算机视觉和机器学习自动提取数据的网页,解释网页视觉作为一个人可能。
  • Heritrix -得到页面(很多)。它是一个网络爬虫设计的网络存档,由互联网档案(见Wayback机器)编写。
  • HtmlUnit -无头浏览器,可用于检索网页,网页抓取等。
  • HTTrack 免费和开放源代码的网络爬虫和离线浏览器,旨在下载网站。
  • iMacros -一个用于记录、编码、共享和回放浏览器自动化(javascript)的浏览器扩展。
  • Selenium (software)一个可移植的web应用程序软件测试框架。
  • Jaxer
  • Mozenda 是一个所见即所得的软件,提供云、现场和数据争吵服务。
  • nokogiri  基于XPath或CSS选择器的HTML、XML、SAX和Reader解析器。
  • OutWit Hub - Web抓取应用程序,包括内置的数据,图像,文件提取器和编辑器,用于自定义抓取器和自动探索和提取作业(免费和付费版本)。
  • watir -开放源码Ruby库,可以像人们一样自动化测试和与浏览器交互。
  • Wget—从web服务器检索内容的计算机程序。它是GNU项目的一部分。
  • WSO2 Mashup Server –它支持通过HTTP、HTTPS和FTP协议进行下载。
  • WSO2 Mashup服务器-雅虎查询语言(YQL) -

Javascript工具

  • Greasemonkey
  • node . js
  • PhantomJS -脚本化的无头浏览器,用于自动化网页交互。
  • jQuery

Web爬行框架

这些可以用来构建web抓取器。

  • crapy

 

原文:https://en.wikipedia.org/wiki/Web_scraping

本文:

讨论:请加入知识星球或者小红圈【首席架构师圈】

SEO Title
wikipedia Web scraping

【科普】数据挖掘

Chinese, Simplified

数据挖掘是在大型数据集中发现模式的过程,涉及机器学习、统计和数据库系统交叉使用的方法。[1]数据挖掘是计算机科学与统计学交叉的子领域,其总体目标是从数据集中提取信息(使用智能方法),并将信息转换为可理解的结构以供进一步使用。[1][2][3][4]数据挖掘是“数据库知识发现”过程或KDD的分析步骤。除了原始分析步骤,它还涉及数据库和数据管理方面、数据预处理、模型和推理考虑、兴趣度度量、复杂性考虑、发现结构的后处理、可视化和在线更新

术语“数据挖掘”是一个错误的名称,因为其目标是从大量数据中提取模式和知识,而不是数据本身的提取(挖掘)。它也是一个时髦的词,经常应用于任何形式的大规模数据或信息处理(收集、提取、仓储、分析和统计),以及计算机决策支持系统的任何应用,包括人工智能(如机器学习)和商业智能。《数据挖掘:用Java[8]实现的实用机器学习工具与技术》(主要涉及机器学习材料)一开始只是命名为《实用机器学习》(Practical machine learning tools and techniques with Java[8]),由于市场原因才添加了“数据挖掘”一词。通常,更一般的术语(大规模)数据分析和分析——或者,当涉及到实际方法时,人工智能和机器学习——更合适。

实际的数据挖掘任务是对大量数据进行半自动或自动分析,以提取以前未知的、有趣的模式,如数据记录组(集群分析)、异常记录(异常检测)和依赖关系(关联规则挖掘、顺序模式挖掘)。这通常涉及使用数据库技术,如空间索引。这些模式可以看作是输入数据的一种总结,可以用于进一步的分析,或者,例如,在机器学习和预测分析中。例如,数据挖掘步骤可以识别数据中的多个组,然后决策支持系统可以使用这些组获得更准确的预测结果。数据收集、数据准备、结果解释和报告都不是数据挖掘步骤的一部分,但是作为附加步骤确实属于整个KDD过程。

数据分析和数据挖掘的区别在于,数据分析是用来测试数据集上的模型和假设,例如,分析营销活动的有效性,而不管数据的数量;相反,数据挖掘使用机器学习和统计模型来揭示大量数据中的秘密或隐藏模式

相关术语数据挖掘、数据钓鱼和数据窥探是指使用数据挖掘方法对较大的总体数据集的某些部分进行抽样,这些数据集太小(或可能太小),无法对所发现的任何模式的有效性做出可靠的统计推断。然而,这些方法可以用于创建新的假设来测试更大的数据总体。

词源

在20世纪60年代,统计学家和经济学家使用数据打捞或数据挖掘等术语来指代他们认为的在没有先验假设的情况下分析数据的糟糕做法。经济学家迈克尔•洛弗尔(Michael Lovell)在1983年发表于《经济研究评论》(Review of Economic Studies)的一篇文章中,以类似的批评方式使用了“数据挖掘”一词。洛弗尔指出,这种做法“伪装成各种各样的别名,从“实验”(正面)到“钓鱼”或“窥探”(负面)

数据挖掘一词于1990年左右出现在数据库界,一般具有积极的含义。在20世纪80年代的很短一段时间内,人们使用了一个短语“数据库挖掘”™,但自从它被总部位于圣地亚哥的HNC公司注册为商标后,人们开始宣传他们的数据库挖掘工作站;[12]的研究人员因此转向了数据挖掘。其他使用的术语包括数据考古学、信息收集、信息发现、知识提取等。Gregory Piatetsky-Shapiro为同一主题的第一个研讨会(KDD-1989)创造了“数据库中的知识发现”这个术语,这个术语在人工智能和机器学习社区中变得更加流行。然而,数据挖掘这个术语在商界和新闻界变得越来越流行。目前,术语数据挖掘和知识发现可以互换使用。

在学术界,主要的研究论坛始于1995年,当时在AAAI的赞助下,首届数据挖掘和知识发现国际会议(KDD-95)在蒙特利尔召开。会议由Usama Fayyad和Ramasamy Uthurusamy共同主持。一年后的1996年,尤萨马·法耶德(Usama Fayyad)创办了Kluwer创办的《数据挖掘与知识发现》(Data Mining and Knowledge Discovery)杂志,担任主编。后来,他创办了SIGKDD通讯SIGKDD exploration。KDD国际会议成为数据挖掘领域最主要的高质量会议,研究论文提交的通过率低于18%。《数据挖掘与知识发现》是该领域的主要研究期刊。

背景

从数据中手工提取模式已经有几个世纪的历史了。早期识别数据模式的方法包括贝叶斯定理(1700年)和回归分析(1800年)。计算机技术的扩散、普及和日益强大的功能极大地提高了数据收集、存储和操作能力。随着数据集的规模和复杂性的增长,直接的“动手”数据分析越来越多地得到了间接的、自动化的数据处理的支持,这得益于计算机科学中的其他发现,如神经网络、聚类分析、遗传算法(1950年代)、决策树和决策规则(1960年代)以及支持向量机(1990年代)。数据挖掘是将这些方法应用于大数据集中,旨在揭示隐藏模式[15]的过程。桥梁的差距从应用统计和人工智能(通常提供的数学背景)数据库管理利用数据存储和索引在数据库中执行实际的学习和发现算法更有效,允许这些方法被应用到更大的数据集。

过程

数据库知识发现(KDD)过程通常定义为:

  • 选择
  • 预处理
  • 转换
  • 数据挖掘
  • 解释/评价。[5]

然而,它存在于这个主题的许多变体中,例如跨行业数据挖掘标准流程(CRISP-DM),它定义了六个阶段:

  • 业务的理解
  • 数据的理解
  • 数据准备
  • 建模
  • 评价
  • 部署

或简化的过程,如(1)预处理、(2)数据挖掘和(3)结果验证。

在2002年、2004年、2007年和2014年进行的调查显示,CRISP-DM方法是数据采掘者使用的主要方法。[16]是在这些民意调查中提到的唯一其他数据挖掘标准。然而,使用CRISP-DM的人数是使用的3-4倍。几个研究团队发表了对数据挖掘过程模型的综述,[17][18]和Azevedo and Santos在2008年对CRISP-DM和SEMMA进行了比较

预处理

在使用数据挖掘算法之前,必须装配一个目标数据集。由于数据挖掘只能揭示数据中实际存在的模式,因此目标数据集必须足够大,以包含这些模式,同时保持足够简洁,以便在可接受的时间限制内进行挖掘。数据的常见来源是数据集市或数据仓库。预处理是数据挖掘前分析多元数据集的基础。然后清除目标集。数据清理删除包含噪声和数据丢失的观测结果。

数据挖掘

数据挖掘包括六种常见的任务:[5]

  • 异常检测(离群值/变化/偏差检测)-识别不寻常的数据记录,可能是有趣的或需要进一步研究的数据错误。
  • 关联规则学习(依赖关系建模)——搜索变量之间的关系。例如,超市可能会收集顾客购买习惯的数据。使用关联规则学习,超市可以确定哪些产品经常一起购买,并将这些信息用于营销目的。这有时被称为市场篮子分析。
  • 集群——是发现数据中以某种方式或其他方式“相似”的组和结构的任务,而不需要在数据中使用已知的结构。
  • 分类—是将已知结构一般化,以应用于新数据的任务。例如,电子邮件程序可能尝试将电子邮件分类为“合法”或“垃圾邮件”。
  • 回归——试图找到一个对数据建模误差最小的函数,即用于估计数据或数据集之间的关系。
  • 摘要-提供更紧凑的数据集表示,包括可视化和报表生成。

结果验证

这是统计学家泰勒·维根(Tyler Vigen)通过机器人挖掘数据得出的一个数据示例,它显然显示了赢得拼字比赛的最佳单词与美国被有毒蜘蛛咬死的人数之间的密切联系。趋势上的相似性显然是一种巧合。

数据挖掘可能在无意中被滥用,然后产生的结果似乎很重要;但它们实际上不能预测未来的行为,也不能在新的数据样本上重现,而且用处不大。通常,这是由于调查了太多的假设,而没有进行适当的统计假设检验。在机器学习中,这个问题的一个简单版本被称为过度拟合,但在过程的不同阶段也可能出现同样的问题,因此,如果完全适用,火车/测试分离可能不足以防止这种情况的发生

从数据中发现知识的最后一步是验证数据挖掘算法产生的模式是否发生在更广泛的数据集中。数据挖掘算法发现的模式不一定都是有效的。数据挖掘算法通常会在训练集中发现一般数据集中不存在的模式,这称为过拟合。为了克服这个问题,评估使用了一组未经数据挖掘算法训练的测试数据。将学到的模式应用于这个测试集,并将结果输出与期望的输出进行比较。例如,一个试图区分“垃圾邮件”和“合法”电子邮件的数据挖掘算法将在一组训练样本电子邮件上进行训练。一旦经过训练,所学习的模式将应用于未经训练的电子邮件测试集。这些模式的准确性可以通过它们正确分类的电子邮件数量来衡量。可以使用多种统计方法来评估算法,如ROC曲线。

如果所学习的模式不能满足所需的标准,则有必要重新评估和更改预处理和数据挖掘步骤。如果所学习的模式确实符合所需的标准,那么最后一步就是解释所学习的模式并将其转化为知识。

研究

该领域的主要专业机构是计算机械协会(ACM)的知识发现和数据挖掘特别兴趣小组(SIG)。自从1989年以来,这个ACM团体已经主办了一个年度国际会议并且出版了它的会议录,[23]并且自从1999年以来它已经出版了一个双年度学术期刊命名为“SIGKDD探索”

关于数据挖掘的计算机科学会议包括:

  • CIKM会议- ACM信息与知识管理会议
  • 欧洲机器学习与数据库知识发现原理与实践会议
  • 关于知识发现和数据挖掘的ACM SIGKDD会议

数据挖掘主题也出现在许多数据管理/数据库会议上,例如ICDE会议、SIGMOD会议和国际大型数据库会议

标准

已经有一些为数据挖掘过程定义标准的工作,例如1999年的欧洲跨行业数据挖掘标准过程(CRISP-DM 1.0)和2004年的Java数据挖掘标准(JDM 1.0)。这些流程的后续开发(CRISP-DM 2.0和JDM 2.0)在2006年非常活跃,但此后一直停滞不前。JDM 2.0在没有达成最终草案的情况下被撤回。

对于交换提取的模型(特别是用于预测分析),关键标准是预测模型标记语言(PMML),这是数据挖掘组(DMG)开发的一种基于xml的语言,许多数据挖掘应用程序都支持这种语言作为交换格式。顾名思义,它只涵盖预测模型,这是一项对业务应用程序非常重要的特定数据挖掘任务。然而,覆盖(例如)子空间聚类的扩展已经独立于DMG.[25]提出

值得注意的使用

 

如今,只要有数字数据可用,就可以使用数据挖掘。数据挖掘的显著例子可以在商业、医学、科学和监视中找到。

关注私隐及操守

虽然“数据挖掘”一词本身可能没有伦理含义,但它常常与与人们的行为(伦理和其他方面)相关的信息挖掘联系在一起

在某些情况和上下文中,数据挖掘的使用方式可能会引发关于隐私、合法性和伦理的问题。特别是,为国家安全或执法目的而对政府或商业数据集进行数据挖掘,例如在“全面信息意识计划”或“建议”中,已经引起了对隐私的关注

数据挖掘需要数据准备工作,数据准备工作揭示了损害机密性和隐私义务的信息或模式。实现此目的的一种常见方法是通过数据聚合。数据聚合涉及以一种便于分析的方式将数据组合在一起(可能来自不同的数据源)(但这也可能使私有的、个人级别的数据的标识成为可推断的或明显的)。这本身并不是数据挖掘,而是分析前准备数据的结果。当数据一旦被编译,数据采集器或任何能够访问新编译数据集的人就能够识别特定的个人,特别是当数据最初是匿名的时候,对个人隐私的威胁就会发挥作用

这是推荐的[根据谁?]在收集数据前应注意以下事项

  • 数据收集及任何(已知)数据挖掘项目的目的;
  • 资料将如何使用;
  • 谁将能够挖掘数据并使用数据及其衍生物;
  • 有关存取资料的保安状况;
  • 如何更新收集的数据。

还可以修改数据,使之匿名,以便不容易识别个人。然而,即使是“匿名”的数据集也可能包含足够的信息来识别个人,就像记者能够根据一组由美国在线无意中发布的搜索历史记录找到几个人一样

无意中泄露的个人身份信息导致提供者违反了公平的信息实践。这种不检点的行为可能会对指定的个人造成经济、情感或身体上的伤害。在一起侵犯隐私的案件中,沃尔格林的客户在2011年对该公司提起诉讼,指控该公司向数据挖掘公司出售处方信息,而数据挖掘公司反过来又向制药公司提供数据

欧洲局势

欧洲有相当严格的隐私法,正在努力进一步加强消费者的权利。然而,美国和欧盟的安全港原则目前有效地将欧洲用户暴露在美国公司的隐私剥削之下。由于爱德华·斯诺登(Edward Snowden)披露了全球监控信息,撤销该协议的讨论越来越多,尤其是数据将完全暴露给美国国家安全局(National Security Agency),而达成协议的努力已经失败。[引文需要]

美国的情况

在美国,美国国会通过了《健康保险可携性与责任法案》(HIPAA)等监管控制措施,解决了人们对隐私的担忧。《HIPAA》要求个人就其提供的信息及其目前和未来的用途提供“知情同意”。根据《生物技术商业周刊》的一篇文章,AAHC说:“在实践中,HIPAA可能不会提供比研究领域长期存在的规定更大的保护。”更重要的是,该规则通过知情同意进行保护的目标是达到普通人无法理解的程度。这强调了在数据聚合和挖掘实践中数据匿名的必要性。

美国的信息隐私立法,如HIPAA和《家庭教育权利和隐私法》(FERPA),只适用于每一项此类法律所涉及的特定领域。美国大多数企业对数据挖掘的使用不受任何法律的控制。

著作权法

欧洲局势

由于欧洲著作权法和数据库法缺乏灵活性,未经著作权人许可而进行网络挖掘等非著作权作品是不合法的。在欧洲,如果数据库是纯数据,那么很可能没有版权,但是数据库的权利可能存在,因此数据挖掘受到数据库指令的约束。根据Hargreaves review的建议,这导致英国政府在2014年修订了其版权法,允许内容挖掘作为限制和例外。这是继日本之后,世界上第二个在数据挖掘方面破例的国家。然而,由于版权指令的限制,英国的例外只允许用于非商业目的的内容挖掘。英国版权法也不允许这一条款被合同条款所覆盖。2013年,欧盟委员会(European Commission)以《欧洲许可证》(licence for Europe)的名义,促进了利益相关者对文本和数据挖掘的讨论。[38]中国英语学习网由于把解决这一法律问题的重点放在发放许可证上,而不是限制和例外,导致大学、研究人员、图书馆、民间社会团体和开放获取出版商的代表在2013年5月离开利益攸关方对话

美国的情况

与欧洲形成鲜明对比的是,美国版权法的灵活性,尤其是合理使用,意味着美国以及以色列、台湾和韩国等其它合理使用国家的内容开采被视为合法。由于内容挖掘具有变革性,即它不会取代原作,因此在合理使用下被视为合法。例如,作为谷歌图书和解协议的一部分,该案主审法官裁定,谷歌对版权所有图书的数字化项目是合法的,部分原因是数字化项目所展示的革命性用途——其中之一是文本和数据挖掘。

软件

类别:数据挖掘和机器学习软件。

免费的开源数据挖掘软件和应用程序

以下应用程序在免费/开源许可下可用。对应用程序源代码的公共访问也是可用的。

  • Carrot2:文本和搜索结果聚类框架。
  • Chemicalize.org:一个化学结构挖掘器和web搜索引擎。
  • ELKI:一个用Java语言编写的具有高级聚类分析和异常值检测方法的大学研究项目。
  • GATE:一种自然语言处理和语言工程工具。
  • KNIME: Konstanz Information Miner,一个用户友好且全面的数据分析框架。
  • Massive Online Analysis (MOA): :利用Java编程语言中的概念漂移工具,实时挖掘大数据流。
  • MEPX -基于遗传规划变量的回归和分类问题的跨平台工具。
  • flex:一个软件包,允许用户与用任何编程语言编写的第三方机器学习包集成,跨多个计算节点并行执行分类分析,并生成分类结果的HTML报告。
  • mlpack:用c++语言编写的一组随时可用的机器学习算法。
  • NLTK(自然语言工具包):一套用于Python语言的符号和统计自然语言处理(NLP)的库和程序。
  • OpenNN:开放的神经网络库。
  • Orange:用Python语言编写的基于组件的数据挖掘和机器学习软件包。
  • R:一种用于统计计算、数据挖掘和图形处理的编程语言和软件环境。它是GNU项目的一部分。
  • scikit-learn是一个用于Python编程语言的开源机器学习库
  • Torch:一个面向Lua编程语言和科学计算框架的开源深度学习库,广泛支持机器学习算法。
  • UIMA: UIMA(非结构化信息管理体系结构)是用于分析文本、音频和视频等非结构化内容的组件框架,最初由IBM开发。
  • Weka:一套用Java编程语言编写的机器学习软件应用程序。

专有数据挖掘软件和应用程序

以下应用程序在专有许可下可用。

  • Angoss knowledge gestudio:数据挖掘工具
  • Clarabridge:文本分析产品。
  • LIONsolver:用于数据挖掘、商业智能和建模的集成软件应用程序,实现了学习和智能优化(LION)方法。
  • Megaputer智能:数据和文本挖掘软件称为PolyAnalyst。
  • Microsoft Analysis Services::微软提供的数据挖掘软件。
  • NetOwl:支持数据挖掘的多语言文本和实体分析产品套件。
  • Oracle数据挖掘:由Oracle公司开发的数据挖掘软件。
  • PSeven: DATADVANCE提供的工程仿真分析自动化、多学科优化和数据挖掘平台。
  • Qlucore组学资源管理器:数据挖掘软件。
  • RapidMiner:用于机器学习和数据挖掘实验的环境。
  • SAS企业采集器:SAS研究所提供的数据挖掘软件。
  • SPSS Modeler: IBM提供的数据挖掘软件。
  • STATISTICA :StatSoft提供的数据挖掘软件。
  • Tanagra:面向可视化的数据挖掘软件,也用于教学。
  • Vertica:数据挖掘软件由惠普提供。

See also

Methods
Application domains
Application examples

Main article: Examples of data mining

See also: Category:Applied data mining.

Related topics

Data mining is about analyzing data; for information about extracting information out of data, see:

Other resources

 

原文:https://en.wikipedia.org/wiki/Data_mining

本文:https://pub.intelligentx.net/wikipedia-data-mining

讨论:请加入知识星球或者小红圈【首席架构师圈】

SEO Title
wikipedia Data mining

数据科学

视频号

微信公众号

知识星球

Chinese, Simplified
本文地址
https://architect.pub/data_science
SEO Title
/data science

【数据科学】12 项数据科学认证将带来回报

视频号

微信公众号

知识星球

Chinese, Simplified

希望成为一名数据科学家? 获得这些数据科学证书之一将帮助您在 IT 最热门的职业之一中脱颖而出。

数据科学家是 IT 领域最热门的工作之一。 公司越来越渴望聘请能够理解企业收集的广泛数据的数据专业人员。 如果您想进入这个利润丰厚的领域,或者想在竞争中脱颖而出,认证可能是关键。

数据科学认证不仅让您有机会发展在您想要的行业中难以找到的技能,而且还可以验证您的数据科学知识,以便招聘人员和招聘经理知道如果他们雇用您,他们会得到什么。

无论您是想获得认可大学的认证、获得应届毕业生的经验、磨练特定于供应商的技能,还是展示您的数据分析知识,以下认证(按字母顺序排列)都将适合您。 (没有找到您要找的东西?请查看我们的顶级大数据和数据分析认证列表。)

前 12 名数据科学认证

  • 认证分析专家 (CAP)
  • Cloudera 数据平台通才认证
  • 美国数据科学委员会 (DASCA) 高级数据科学家 (SDS)
  • 美国数据科学委员会 (DASCA) 首席数据科学家 (PDS)
  • IBM 数据科学专业证书
  • Microsoft 认证:Azure AI 基础知识
  • Microsoft 认证:Azure 数据科学家助理
  • 开放认证数据科学家 (Open CDS)
  • SAS 认证的人工智能和机器学习专家
  • 使用 SAS 9 的 SAS 认证高级分析专家
  • SAS 认证数据科学家
  • Tensorflow 开发人员证书

认证分析专家 (CAP)



Certified Analytics Professional (CAP) 是一种供应商中立的认证,可验证您“将复杂数据转化为有价值的见解和行动”的能力,这正是企业在数据科学家中寻找的:理解数据的人,可以得出逻辑 结论并向关键利益相关者表达为什么这些数据点很重要。 在参加 CAP 或准水平 aCAP 考试之前,您需要申请并满足特定条件。 要获得 CAP 认证考试的资格,如果您拥有相关领域的硕士学位,则需要三年相关经验;如果您拥有相关领域的学士学位,则需要五年相关经验;如果您拥有相关领域的学士学位,则需要七年相关经验。 拥有与分析无关的任何学位。 要获得参加 aCAP 考试的资格,您需要拥有硕士学位以及少于三年的数据或分析相关经验。

  • 费用:CAP考试:INFORMS会员495美元,非会员695美元; aCAP 考试:INFORMS 会员 200 美元,非会员 300 美元
  • 地点:亲自到指定考试中心
  • 持续时间:自定进度
  • 有效期:三年有效

Cloudera 数据平台通才认证



Cloudera 已停止其 Cloudera 认证专家 (CCP) 和 Cloudera 认证助理 (CCA) 认证,取而代之的是新的 Cloudera 数据平台 (CDP) 通才认证,该认证可验证该平台的熟练程度。 新考试测试平台的一般知识,适用于多种角色,包括管理员、开发人员、数据分析师、数据工程师、数据科学家和系统架构师。 考试包括 60 个问题,考生有 90 分钟的时间完成。

  • 费用:300 美元
  • 地点:线上
  • 时长:90 分钟
  • 有效期:两年有效

美国数据科学委员会 (DASCA) 高级数据科学家 (SDS)



美国数据科学委员会 (DASCA) 高级数据科学家 (SDS) 认证计划专为具有五年或五年以上研究和分析经验的专业人士设计。 建议学生了解数据库、电子表格、统计分析、SPSS/SAS、R、定量方法以及面向对象编程和 RDBMS 的基础知识。 该计划包括五个轨道,将吸引一系列候选人——每个轨道在学位水平、工作经验和申请先决条件方面都有不同的要求。 您至少需要学士学位和五年以上的数据科学经验才有资格参加每个课程,而其他课程则需要硕士学位或过去的认证。

  • 费用:775 美元
  • 地点:线上
  • 持续时间:自定进度
  • 有效期:5年

美国数据科学委员会 (DASCA) 首席数据科学家 (PDS)



美国数据科学委员会 (DASCA) 提供首席数据科学家 (PDS) 认证,其中包括面向在大数据领域拥有 10 年或以上经验的数据科学专业人士的三个方向。 考试涵盖从基础到高级数据科学概念的所有内容,例如大数据最佳实践、数据业务战略、建立跨组织支持、机器学习、自然语言处理、学术建模等。 该考试专为“经验丰富且成绩斐然的数据科学思想和实践领导者”而设计。

  • 费用:850 美元,轨道 1; 1,050 美元,轨道 2; 750 美元,第 3 轨; 1,250 美元,第 4 首曲目
  • 地点:线上
  • 持续时间:自定进度
  • 过期:凭证不会过期

IBM 数据科学专业证书



IBM 数据科学专业证书包括九门课程,内容涉及数据科学、开源工具、数据科学方法论、Python、数据库和 SQL、数据分析、数据可视化、机器学习,以及最终的应用数据科学顶点。 认证课程通过 Coursera 在线进行,时间表灵活,平均需要三个月才能完成,但您可以自由选择更多或更少的时间。 该课程包括实践项目,可帮助您构建作品集,向潜在雇主展示您的数据科学才能。

  • 费用:免费
  • 地点:线上
  • 持续时间:自定进度
  • 过期:凭证不会过期

Microsoft 认证:Azure AI 基础知识



Microsoft 的 Azure AI Fundamentals 认证验证您对机器学习和人工智能概念的了解以及它们与 Microsoft Azure 服务的关系。 这是一项基础考试,因此您不需要丰富的经验即可通过考试。 如果你不熟悉 AI 或 Azure 上的 AI 并想向雇主展示你的技能和知识,这是一个很好的起点。

  • 费用:99 美元
  • 地点:线上
  • 持续时间:自定进度
  • 过期:凭证不会过期

Microsoft 认证:Azure 数据科学家助理



Microsoft 的 Azure Data Scientist Associate 认证侧重于您利用机器学习在 Azure 上实施和运行机器学习工作负载的能力。 该考试的考生将接受 ML、AI 解决方案、NLP、计算机视觉和预测分析方面的测试。 您需要精通部署和管理资源、管理身份和治理、实施和管理存储以及配置和管理虚拟网络。

  • 费用:165 美元
  • 地点:线上
  • 持续时间:自定进度
  • 过期:凭证不会过期

开放认证数据科学家 (Open CDS)



Open Group Professional Certification Program for the Data Scientist Professional (Open CDS) 是一种基于经验的认证,没有任何传统的培训课程或考试。 您将从一级认证数据科学家开始,然后可以进入二级认证数据科学家,最后您可以通过三级认证成为杰出认证数据科学家。 认证需要三个步骤,包括申请认证、填写经验申请表和参加董事会审查。

  • 成本:联系定价
  • 地点:现场
  • 持续时间:因级别而异
  • 过期:凭证不会过期

SAS 认证的人工智能和机器学习专家



SAS 的 AI 和机器学习专业认证证明您有能力使用开源工具,通过 AI 和分析技能从数据中获得洞察力。 该认证包括多项考试,涵盖机器学习、自然语言处理、计算机视觉以及模型预测和优化等主题。 您需要通过机器学习、预测和优化以及自然语言处理和计算机视觉方面的 SAS 认证专家考试,才能获得 AI 和机器学习专业称号。

  • 费用:每次考试 180 美元
  • 地点:线上
  • 持续时间:自定进度
  • 过期:凭证不会过期

使用 SAS 9 的 SAS 认证高级分析专家



SAS Certified Advanced Analytics Professional Using SAS 9 证书验证您使用各种统计分析和预测建模技术分析大数据的能力。 您需要具备机器学习和预测建模技术方面的经验,包括它们在大型、分布式和内存中数据集上的使用。 您还应该具有模式检测、业务优化技术实验和时间序列预测方面的经验。 该认证需要通过三门考试:使用 SAS Enterprise Miner 7、13 或 14 进行预测建模; SAS 高级预测建模; SAS 文本分析、时间序列、实验和优化。

  • 费用:使用 SAS Enterprise Miner 进行预测建模考试 250 美元; 其他两门必修考试每门 180 美元
  • 地点:线上
  • 持续时间:自定进度
  • 过期:凭证不会过期

SAS 认证数据科学家



SAS 认证数据科学家认证是 SAS 提供的其他两种数据认证的组合。 它涵盖了编程技巧; 管理和改进数据; 转换、访问和操作数据; 以及如何使用流行的数据可视化工具。 一旦您同时获得大数据专家和高级分析专家认证,您就有资格获得 SAS 认证数据科学家称号。 您需要完成所有 18 门课程,并通过两个单独认证之间的五门考试。

  • 费用:每次考试 180 美元
  • 地点:线上
  • 持续时间:自定进度
  • 过期:凭证不会过期

TensorFlow 开发人员证书



TensorFlow 开发人员证书计划是“面向希望通过使用 TensorFlow 构建和训练模型来展示实用机器学习技能的学生、开发人员和数据科学家的基础证书。” 该考试测试您将机器学习集成到各种工具和应用程序中的知识和能力。 要通过考试,您需要熟悉 ML 和深度学习的基本原理、构建 ML 模型、图像识别算法、深度神经网络和自然语言处理。

  • 费用:每次考试 100 美元
  • 地点:线上
  • 持续时间:自定进度
  • 过期:凭证不会过期
本文地址
https://architect.pub
SEO Title
12 data science certifications that will pay off

【数据科学】16个数据学科和数据科学的对比

Chinese, Simplified

16个数据学科和数据科学的对比

 

最初由格兰维尔博士发布。 查看原始文章以阅读大量评论,而不是在此处重新发布。

数据科学,数据挖掘,机器学习,统计学,运筹学等之间有什么区别?

在这里,我比较了几个重叠的分析学科,以解释差异和共同点。 除了历史原因,有时除了存在差异。 有时差异是真实而微妙的。 我还提供典型的职称,分析类型以及传统上与每个学科相关的行业。 带下划线的域是主要的子域。 如果有人可以在我的文章中添加历史视角,那就太好了。

16个数据学科和数据科学的对比

 

Data Science

首先,让我们从描述数学科学这一新学科开始。

职位包括数据科学家,首席科学家,高级分析师,分析主管等等。它涵盖所有行业和领域,尤其是数字分析,搜索技术,营销,欺诈检测,天文学,能源,健康,社交网络,金融,法医,安全(NSA),移动,电信,天气预报和欺诈检测。

项目包括分类创建(文本挖掘,大数据),应用于大数据集的聚类,推荐引擎,模拟,统计评分引擎的规则系统,根本原因分析,自动投标,取证,外行星检测以及恐怖分子的早期发现活动或流行病,数据科学的一个重要组成部分是自动化,机器对机器通信,以及在生产模式(有时是实时)不间断运行的算法,例如检测欺诈,预测天气或预测房价为每个家庭(Zillow)。

数据科学项目的一个例子是为计算营销创建增长最快的数据科学Twitter概要。它利用大数据,是病毒式营销/增长黑客战略的一部分,其中还包括自动化高质量,相关的联合内容生成(简而言之,数字出版3.0版)。

与大多数其他分析专业不同,数据科学家被认为具有良好的商业头脑和领域专业知识 - 这是他们倾向于成为企业家的原因之一。由于数据科学是一门广泛的学科,因此有许多类型的数据科学家。许多资深数据科学家掌握他们的艺术/工艺,并拥有全部技能和知识;他们真的是招聘人员找不到的独角兽。招聘经理和不知情的高管倾向于狭隘的技术技能,而不是结合深度,广泛和专业的业务领域专业化 - 这是当前教育系统的副产品,有利于学科孤岛,而真正的数据科学是一个孤岛破坏者。独角兽数据科学家(用词不当,因为他们并不罕见 - 有些是着名的VC)通常担任顾问或高管。初级数据科学家往往更专注于数据科学的一个方面,拥有更多热门的技术技能(Hadoop,Pig,Cassandra),如果他们接受过适当的培训和/或有Facebook等公司的工作经验,就可以找到工作。 ,谷歌,eBay,苹果,英特尔,Twitter,亚马逊,Zillow等。潜在候选人的数据科学项目可以在这里找到。

数据科学与之重叠

  • 计算机科学:计算复杂性,互联网拓扑和图论,分布式架构,如Hadoop,数据管道(数据流和内存分析的优化),数据压缩,计算机编程(Python,Perl,R)以及处理传感器和流数据(设计自动驾驶的汽车)
  • 统计学:实验设计包括多变量检验,交叉验证,随机过程,抽样,无模型置信区间,但不是p值,也不是对大数据诅咒的假设的模糊测试
  • 机器学习和数据挖掘:数据科学确实完全包含这两个领域。
  • 运筹学:数据科学包括大多数运筹学研究以及旨在根据分析数据优化决策的任何技术。
  • 商业智能:数据科学是设计/创建/识别优秀指标和KPI的每个BI方面,创建数据库模式(无论是否为NoSQL),仪表板设计和视觉效果以及数据驱动策略以优化决策和ROI。

与其他分析学科比较

  • 机器学习:非常流行的计算机科学学科,数据密集型,数据科学的一部分,与数据挖掘密切相关。机器学习是关于设计算法(如数据挖掘),但重点是生产模式的原型算法,并设计自动更新自己的自动化系统(出价算法,广告定位算法),不断训练/再培训/更新训练集/交叉每天验证,改进或发现新规则(欺诈检测)。 Python现在是ML开发的流行语言。核心算法包括聚类和监督分类,规则系统和评分技术。一个接近人工智能的子域(见下面的条目)是深度学习。
  • 数据挖掘:该学科旨在设计算法以从相当大的潜在非结构化数据(文本挖掘)中提取洞察力,有时称为块金发现,例如在查看5000万行数据后发掘大量僵尸网络。技术包括模式识别,特征选择,聚类,监督分类并包含一些统计技术(尽管没有使用大多数统计方法的p值或置信区间)。相反,重点是强大的,数据驱动的,可扩展的技术,对发现原因或可解释性没有太大兴趣。因此,数据挖掘与统计学有一些交集,它是数据科学的一个子集。数据挖掘应用于计算机工程,而不是数学科学。数据挖掘者使用开源和Rapid Miner等软件。
  • 预测建模:本身不是一门学科。预测建模项目在所有学科的所有行业中都有发生。预测建模应用程序旨在基于过去的数据预测未来,通常但不总是基于统计建模。预测通常带有置信区间。预测建模的根源在于统计科学。
  • 统计。目前,统计数据主要是调查(通常使用SPSS软件进行),理论学术研究,银行和保险分析(营销组合优化,交叉销售,欺诈检测,通常使用SAS和R),统计编程,社会科学,全球变暖研究(和空间天气模拟),经济研究,临床试验(制药业),医学统计,流行病学,生物统计学和政府统计。雇用统计人员的机构包括人口普查局,IRS,CDC,EPA,BLS,SEC和EPA(环境/空间统计)。需要安全许可的工作报酬很高且相对安全,但制药行业中的高薪工作(统计学家的金鹅)受到许多因素的威胁 - 外包,公司合并以及医疗保健费用的压力。由于保守的,风险不利的制药行业的巨大影响,统计已成为一个狭窄的领域,不适应新数据,而不是创新,失去数据科学,工业统计,运筹学,数据挖掘,机器学习 - 使用相同的聚类,交叉验证和统计训练技术,尽管采用更自动化的方式和更大的数据。许多10年前被称为统计人员的专业人士在过去几年中将他们的职位变成了数据科学家或分析师。现代子域包括统计计算,统计学习(更接近机器学习),计算统计(更接近数据科学),数据驱动(无模型)推理,运动统计和贝叶斯统计(MCMC,贝叶斯网络和分层贝叶斯)模特很流行,现代技术)。其他新技术包括SVM,结构方程建模,预测选举结果和集合模型。
  • 工业统计。统计数据经常由非统计人员(具有良好统计培训的工程师)执行,从事工程项目,如产量优化或负载平衡(系统分析员)。他们使用非常应用的统计数据,他们的框架更接近六西格玛,质量控制和运营研究,而不是传统统计。也见于石油和制造业。使用的技术包括时间序列,ANOVA,实验设计,生存分析,信号处理(过滤,噪声消除,反卷积),空间模型,模拟,马尔可夫链,风险和可靠性模型。
  • 数学优化。使用单纯形算法,傅立叶变换(信号处理),微分方程和Matlab等软件解决业务优化问题。这些应用数学家可以在IBM,研究实验室,NSA(密码学)和金融行业(有时招聘物理或工程专业毕业生)等大公司中找到。这些专业人员有时使用完全相同的技术解决与统计学家完全相同的问题,尽管他们使用不同的名称。数学家使用最小二乘优化进行插值或外推;统计学家使用线性回归进行预测和模型拟合,但这两个概念是相同的,并且依赖于完全相同的数学机制:它只是描述相同事物的两个名称。然而,数学优化比运营研究更接近统计数据,雇用数学家而不是其他从业者(数据科学家)的选择通常由历史原因决定,特别是对于NSA或IBM等组织。
  • 精算科学。只是使用生存模型关注保险(汽车,健康等)的一部分统计数据:预测您何时会死亡,您的健康支出将根据您的健康状况(吸烟者,性别,以前的疾病)确定您的保险费。还预测极端洪水和天气事件以确定溢价。后面这些模型出了名的错误(最近)并且导致了比预期更大的支出。出于某些原因,这是一个非常充满活力,秘密的统计学家社区,不再称自己为统计学家(职称是精算师)。随着时间的推移,他们的平均工资增长很快:专业的获取受到限制和监管,就像律师一样,除了保护主义以外,没有其他原因可以提高工资和减少合格申请人的数量。精算科学确实是数据科学(一个子领域)。
  • HPC。高性能计算本身不是一门学科,但应该引起数据科学家,大数据从业者,计算机科学家和数学家的关注,因为它可以重新定义这些领域的计算范式。如果量子计算变得成功,它将完全改变算法的设计和实现方式。 HPC不应与Hadoop和Map-Reduce混淆:HPC与硬件相关,Hadoop与软件相关(尽管严重依赖Internet带宽和服务器配置和接近度)。
  • 行动调查。缩写为OR。他们一段时间(如20年前)与统计数据分开,但他们就像孪生兄弟,他们各自的组织(INFORMS和ASA)合在一起。 OR是关于决策科学和优化传统业务项目:库存管理,供应链,定价。他们大量使用马尔可夫链模型,Monter-Carlosimulations,排队和图论以及AIMS,Matlab或Informatica等软件。大型传统旧公司使用OR,新的和小型的(初创公司)使用数据科学来处理定价,库存管理或供应链问题。许多运营研究分析师正在成为数据科学家,因为与OR相比,数据科学的创新和增长前景要远得多。此外,OR问题可以通过数据科学解决。 OR与六西格玛(见下文)有重大的重叠,也解决了计​​量经济学问题,并在军队和国防部门有许多从业者/应用。汽车交通优化是OR问题的一个现代例子,通过模拟,通勤调查,传感器数据和统计建模解决。
  • 六个西格玛。它更像是一种思维方式(一种商业哲学,如果不是一种邪教)而不是一种学科,并且几十年前被摩托罗拉和通用电气大力推广。用于质量控制和优化工程流程(参见本文中的工业统计数据),由大型传统公司提供。他们拥有一个拥有270,000名成员的LinkedIn小组,是包括我们数据科学小组在内的任何其他分析LinkedIn小组的两倍。他们的座右铭很简单:将你的努力集中在20%的时间,产生80%的价值。应用简单的统计数据(简单的工作必须是时间,我同意),其目的是消除业务流程中的差异来源,使其更具可预测性并提高质量。许多人认为六西格玛是旧的东西,会消失。也许,但是基本的概念是可靠的并且将保持不变:这些也是所有数据科学家的基本概念。你可以说六西格玛是一个更简单的(如果不是简单的)运算研究版本(参见上面的条目),其中统计建模保持在最低限度。风险:非合格人员使用非强大的黑盒统计工具来解决问题,它可能导致灾难。在某些方面,六西格玛是一个更适合商业分析师的学科(见下面的商业智能条目),而不是严肃的统计学家。
  • 定量。定量人士只是在华尔街为高频交易或股票市场套利等问题工作的数据科学家。他们使用C ++,Matlab,来自着名的大学,赚取大笔资金,但当投资回报太快太南时,他们立即失去工作。他们也可以用于能源交易。在经济大衰退期间被解雇的许多人现在都在解决点击仲裁,广告优化和关键字出价等问题。数量有统计学背景(很少),数学优化和工业统计。
  • 人工智能。它回来了。与数据科学的交叉是模式识别(图像分析)和自动(有些人会说智能)系统的设计,以在机器对机器通信模式中执行各种任务,例如识别正确的关键字(和正确的出价) Google AdWords(每次点击付费广告系列,每天涉及数百万个关键字)。我还认为智能搜索(创建一个搜索引擎返回您期望的结果并且比Google更广泛)是数据科学中最大的问题之一,可以说也是人工智能和机器学习问题。旧的AI技术是神经网络,但它现在正在流行。相反,神经科学越来越受欢迎。
  • 计算机科学。数据科学与计算机科学有一些重叠:Hadoop和Map-Reduce实现,算法和计算复杂性,以设计快速,可扩展的算法,数据管道,以及诸如Internet拓扑映射,随机数生成,加密,数据压缩和隐写术等问题(虽然这些问题与统计科学和数学优化也是重叠的)。
  • 计量经济学。为什么它与统计数据分离尚不清楚。因此,许多分支机构与统计数据脱节,因为它们变得不那么通用,并开始开发自己的临时工具。但简而言之,计量经济学在本质上具有很强的统计性,使用时间序列模型,如自回归过程。也与运筹学(本身重叠统计!)和数学优化(单纯形算法)重叠。计量经济学家喜欢ROC和效率曲线(六位sigma从业者也是如此,请参阅本文中的相应条目)。许多人没有强大的统计背景,Excel是他们的主要或唯一的工具。
  • 数据工程。由大型组织中的软件工程师(开发人员)或架构师(设计师)(有时是小公司的数据科学家)执行,这是计算机科学的应用部分(参见本文中的条目),适用于允许各种数据的电力系统易于处理内存或近存储器,并可以很好地传输到(和之间)最终用户,包括数据科学家等重要数据消费者。目前受攻击的子域是数据仓库,因为这个术语与静态,孤立的conventational数据库,数据架构和数据流相关联,受到NoSQL,NewSQL和图形数据库的兴起的威胁。将这些旧架构转换为新架构(仅在需要时)或使它们与新架构兼容,是一项利润丰厚的业务。
  • 商业智能。简称为BI。重点关注仪表板创建,度量选择,生成和安排通过电子邮件发送或交付/呈现给管理人员的数据报告(统计摘要),竞争情报(分析第三方数据),以及参与数据库架构设计(与数据架构师合作)有效地收集有用的,可操作的业务数据。典型的职称是业务分析师,但有些人更多地参与营销,产品或财务(预测销售和收入)。他们通常拥有MBA学位。有些人已经学习了时间序列等高级统计数据,但大多数人只使用(并且需要)基本统计数据和轻度分析,依靠IT维护数据库和收集数据。他们使用Excel(包括多维数据集和数据透视表,但不包括高级分析),Brio(Oracle浏览器客户端),Birt,Micro-Sreategy或Business Objects(作为运行查询的最终用户)等工具,尽管其中一些工具是越来越多地配备了更好的分析功能。除非他们学习如何编码,否则他们将与一些在决策科学,洞察力提取和呈现(可视化),KPI设计,业务咨询以及ROI /收益/业务/流程优化方面表现优异的多价数据科学家竞争。商业智能和市场研究(但不是竞争情报)目前正在经历下降,而人工智能正在经历一次回归。这可能是周期性的。部分下降是由于不适应需要工程或数据科学技术来处理和提取价值的新类型数据(例如非结构化文本)。
  • 数据分析。这是自1995年以来商业统计的新术语,它涵盖了广泛的应用,包括欺诈检测,广告组合建模,归因建模,销售预测,交叉销售优化(零售),用户细分,流失分析,计算客户的长期价值和收购成本等。除大公司外,数据分析师是初级职位;这些从业者比数据科学家具有更为狭隘的知识和经验,他们缺乏(并且不需要)商业愿景。它们是详细的,并向数据科学家或分析主管等管理人员报告。在大公司中,拥有职称的人如数据分析师III可能非常高级,但他们通常都是专业的,缺乏数据所获得的广泛知识。科学家在各种大小公司工作。
  • 商业分析。与数据分析相同,但仅限于业务问题。倾向于更多的财务,营销或投资回报率的味道。热门职位包括数据分析师和数据科学家,但不包括业务分析师(请参阅商业智能的商业智能条目,不同的域名)。
SEO Title
Comparison of 16 data disciplines and data science

【数据科学】2024年数据科学工作导航:角色、团队和技能

视频号

微信公众号

知识星球

Chinese, Simplified

无论你是申请第一次实习,还是管理一个由分析师和工程师组成的多学科团队,数据科学职业都会面临一系列特定的挑战。其中一些可能比其他更令人兴奋,而另一些则可能非常乏味——当然,在任何工作中都是如此——但我们相信,将所有这些潜在的缺点都视为深化知识、扩展技能和考虑新观点的机会。

本周,我们的阵容汇集了围绕数据职业中常见障碍的广泛观点和经验,并提出了克服这些障碍的有效方法。无论您在自己的数据科学之旅中身处何处,我们都希望您探索我们推荐的阅读内容,并找到将其融入自己工作的见解。

  • 数据ROI金字塔:一种衡量和最大化数据团队的方法。虽然Barr Moses的可操作路线图面向数据领导和高管,但它是公司层级上下数据专业人员的重要资源。毕竟,每个人都可以从了解他们的工作如何为业务做出贡献,以及如何向更广泛的非技术受众展示他们的影响中受益。
  • 重建为我找到数据科学家工作的投资组合。一年前,马特·查普曼(Matt Chapman)撰写了关于构建数据科学投资组合的权威实践指南(并在这个过程中迅速走红)。在他的最新帖子中,Matt重新审视了他的方法,并提出了几个关键更新,以实现更精简的工作流程和更可定制的最终产品。
  • Spotify资深数据科学家用来提高生产力的5个习惯。在为找到一份好的数据工作付出了所有努力之后,真正的工作开始了:你能做些什么来在新职位上表现出色,而不会有倦怠和/或冒名顶替综合症的风险?Khouloud El Alami提出了五个具体的想法,你可以根据自己的需求进行调整,也不会吝啬细节。
  • 英特尔ML实习的7堂课。在银行业长期担任数据科学家后,康纳·奥沙利文最近的职业转折使他在科技巨头英特尔进行了机器学习实习;不要错过他在那里的经历,以及他在探索一个新的行业和组织文化时所学到的教训。

和往常一样,最近几周,我们的作者涵盖了令人眼花缭乱的广泛主题,从人工智能的新兴技能到预测建模和深度学习。以下是我们不希望您错过的突出帖子示例。

感谢您对我们作者工作的支持!如果你觉得加入他们的行列很有灵感,为什么不写你的第一篇帖子呢?我们很想读一读。

 

本文地址
https://architect.pub
SEO Title
Navigating Data Science Jobs in 2024: Roles, Teams, and Skills

【数据科学】为什么你应该为了数据科学学习PostgreSQL

Chinese, Simplified

SQL是成为数据科学家的必要条件吗?答案是肯定的。数据科学已经发展了,虽然许多数据科学家仍然使用CSV文件(值以逗号分隔的文本文件),但它们不是最好的选择。Python Panda库允许从CSV文件加载数据,但是这些文件有许多约束。例如,它们通常不连接到数据库,这就要求您在每次更新数据时生成一个新的CSV文件提取。在大数据时代,这是完全不切实际的。

关系数据库为使用大数据存储库提供所需的支持和敏捷性。PostgreSQL是领先的关系数据库管理系统之一。专为处理大型数据集而设计的Postgres是数据科学的完美匹配。在本文中,我们将介绍在数据科学中使用Postgres的优点和缺点。

什么是数据科学家?

数据科学是近年来最受欢迎的职业选择之一。随着组织管理着巨大的数据集,对能够从中提取有价值信息的专家的需求也在增加。

数据科学家处理大数据,帮助组织从数据中获得可操作的见解。例如,他们可以发现一个市场利基,或者根据最新的市场趋势改进公司的产品。

数据科学的领域和它所操作的数据一样多样化,但有一些核心技能是每个数据科学家都应该具备的。

  • 编程技能:数据科学家使用编码来分析和处理信息,所以有很强的编程技能是很重要的。数据库和统计编程语言,如SQL或R,是必须的。数据科学家了解的编程语言越多,可以应用的工具越多,效果就越好。
  • 统计和数学技能:数据科学需要处理统计数据。您需要正确的算法从数据集提取您想知道的内容。要做到这一点,数据科学家需要对统计学和数学概念有很强的掌握。

技术技能是必须的。然而,数据科学家也需要软技能,比如决心、对细节的关注和分析能力。在数据科学领域工作的两个基本技能是好奇心和灵活性。例如,数据科学家经常需要为数据问题提出开箱即用的算法。

PostgreSQL是什么?

关系数据库管理系统(RDBMS)。这个开源平台是由PostgreSQL全球开发小组开发的,该小组由公司和个人贡献者组成。它得到了广泛的软件即服务(SaaS)解决方案市场的支持,这些解决方案用于在云中和本地运行Postgres。

PostgresSQL的主要功能包括:

  • 免费许可:该平台可以免费下载、使用、扩展和分发。
  • 复杂查询支持:Postgres的基本特性之一是处理复杂查询的能力。复杂查询是从数据库发出的请求,超出了SELECT和WHERE等基本SQL请求的范围。
  • 多版本并发控制:该特性允许不同的用户同时对数据库进行读写操作。
  • 用户定义类型:用户可以自定义函数来定义单个数据类型。数据科学家使用已知或未知的数据。将两种或三种数据类型组合成一种新的数据类型,可以帮助数据科学家解决来自不同来源的大量数据的复杂问题。
  • 高度符合SQL ISO/ iec9075标准:PostgreSQL满足164个强制特性中的150个,完全符合标准要求。从一开始,遵从SQL标准就一直是Postgres的优先事项。
  • 强大的社区支持:Postgres拥有一个庞大的贡献者社区,他们致力于扩展和开发这个平台。有广泛的支持文档和论坛。
  • 编程语言支持:PostgresSQL支持所有主要的编程语言,如Python、C和Java。它还通过JSON支持NoSQL查询。
  • 多环境支持:PostgreSQL的特点之一是支持

云计算和本地环境。这称为多环境或跨环境支持。RightScale最近的一份报告显示,大多数使用Postgres的组织选择了一种混合的云环境,即内部配置和云系统的混合。

Postgres对数据科学的利弊

PostgresSQL支持大数据,为文档添加了JSON-B,为地理定位系统添加了PostGIS。它允许用户根据自己的工作负载调整平台。

该平台在混合事务/分析处理(HTAP)中结合了数据分析和事务功能。该特性使数据库能够同时执行在线分析处理(OLAP)和在线事务处理(OLTP)。例如,组织可以使用Postgres中的HTAP技术来管理来自物联网设备和其他操作应用程序的信息。

由于Postgres的灵活性和可扩展性,它在数据科学家中非常流行。但是,它不将数据存储在列中,这使得大型数据仓库很难处理这些数据。

在数据科学中使用PostgresSQL有利有弊。以下是一些优点和缺点:

优点

  1. SQL Rich:由于强调SQL标准遵从性,所以Postgres支持很多SQL语法。这包括公共表表达式、表继承和Windows函数。
  2. 非结构化数据支持:Postgres支持NoSQL数据,如XML、JSON和HStore。
  3. 并行查询:该特性允许同时运行处理器中的所有核心。这在数据科学中尤其重要,因为在数据科学中经常运行一个通用查询。
  4. 声明式分区:该功能可以指定如何将表划分为称为分区的部分。例如,当处理地理上分布的大型研究数据集时,这使您能够为每个区号分离不同的分区。

缺点

  1. 没有压缩:没有足够的空间会限制某些分析的性能。压缩数据有助于避免在向云中上传数据时形成瓶颈。PostgreSQL不提供数据压缩,这使得上传数据的速度慢得多。
  2. 无列:分析数据库通常以列而不是行存储数据。Postgres缺少列状表,这使得数据难以摄取。例如,如果您有一个包含300列的表,那么您需要将它分成两个或更多的表来读取它。
  3. 没有内置机器学习:这可能是最大的缺点,因为机器学习对于处理大数据至关重要。机器学习需要自己处理大量的数据来进行学习,而这种内置的特性可以帮助数据科学以一种高效的方式处理巨大的数据集,即使有人工干预,也是最少的。您可以添加Apache MADLib,这是一个用于机器学习的开源数据库算法库,但遗憾的是,它不能在Windows上运行。幸运的是,您可以通过使用一个sci-kit-learn库安装PLP/Python来克服这个挑战,从而直接在Postgres中编写您自己的机器学习算法。

你可以在哪里学习基础?

要学习PostgreSQL,您应该从SQL基础知识开始。这将为您构建PostgreSQL知识提供一个坚实的基础。你可以从免费的教程中学习,比如Codecademy。一旦您掌握了SQL的基础知识,您就可以开始学习如何将它与Postgres一起使用。

虽然从文档中学习可能是最彻底的方法,但也可能很乏味。网上有许多免费和付费的PostgreSQL课程。其中包括:

  1. PostgreSQL Tutorial: :这个免费的教程涵盖了Postgres的基础知识,包括基本的功能。
  2. Postgres Video Course::这个免费视频课程使用Postgres来教初学者SQL的基础。
  3. Postgres Administration Essentials:这个全面的培训面向数据库管理员和架构师。虽然课程本身是免费的,但该项目需要订阅。
  4. Postgres for Data Engineers这个付费课程是为数据工程师准备的,用数据科学的例子和案例涵盖了Postgres的基础知识。

总结

PostgreSQL为数据科学提供了一种低成本、功能强大的处理解决方案。最大的问题是它不提供数据压缩。您可以通过批量上传或仅在云环境中运行数据库来解决这个问题。

尽管如此,一个刚起步的数据科学家还是应该认真考虑学习PostgreSQL。Postgres可以帮助您准备使用大多数数据科学工具,成为掌握数据库知识的瑞士军刀。

原文:https://www.dataversity.net/why-you-should-learn-postgresql-for-data-science/

本文:

讨论:请加入知识星球【首席架构师圈】或者小号【jiagoushi_pro】

 

SEO Title
Why You Should Learn PostgreSQL for Data Science

【数据科学】什么是数据科学? 将数据转化为价值

视频号

微信公众号

知识星球

Chinese, Simplified

数据科学是一种将业务数据转化为资产的方法,可帮助组织提高收入、降低成本、抓住商机、改善客户体验等。

什么是数据科学?



数据科学是一种使用从统计分析到机器学习的方法从结构化和非结构化数据中收集见解的方法。 对于大多数组织而言,它被用来以提高收入、降低成本、业务敏捷性、改善客户体验、开发新产品等形式将数据转化为价值。 数据科学为组织收集的数据赋予了目的。

数据科学与数据分析



虽然密切相关,但数据分析是数据科学的一个组成部分,用于了解组织的数据是什么样子的。 数据科学利用分析的输出来解决问题。 数据科学家说,用数据调查某事只是分析。 数据科学通过分析进一步解释和解决问题。 数据分析和数据科学之间的区别也是时间尺度之一。 数据分析描述现实的当前状态,而数据科学使用该数据来预测和/或了解未来。

数据科学的好处



数据科学的商业价值取决于组织需求。 数据科学可以帮助组织构建工具来预测硬件故障,使组织能够执行维护并防止意外停机。 它可以帮助预测超市货架上放什么,或者根据产品的属性预测产品的受欢迎程度。

数据科学职位



虽然数据科学学位课程的数量正在快速增加,但它们不一定是组织在寻找数据科学家时所寻找的。 具有统计背景的候选人很受欢迎,特别是如果他们能够证明他们知道他们是否正在查看真实结果; 具有将结果置于上下文中的领域知识; 和沟通技巧,使他们能够将结果传达给业务用户。

许多组织都在寻找拥有博士学位的候选人,尤其是在物理学、数学、计算机科学、经济学甚至社会科学领域。 博士学位证明候选人有能力对某个主题进行深入研究并向他人传播信息。

一些最优秀的数据科学家或数据科学团队的领导者具有非传统背景,即使是很少受过正规计算机培训的人。 在许多情况下,关键能力是能够从非传统的角度看待事物并理解它。

有关数据科学家技能的更多信息,请参阅“什么是数据科学家? 关键的数据分析角色和有利可图的职业”,以及“精英数据科学家的基本技能和特质”。

数据科学薪水



根据 PayScale 的数据,以下是一些与数据科学相关的最受欢迎的职位以及每个职位的平均工资:

  • Analytics manager: $71K-$131K
  • Associate data scientist: $61K-$101K
  • Business intelligence analyst: $52K-$97K
  • Data analyst: $45K-$87K
  • Data architect: $79K-$159K
  • Data engineer: $66K-$132K
  • Data scientist: $60K-$159K
  • Data scientist, IT: $$60K-$159K
  • Lead data scientist: $98K-$178K
  • Research analyst: $43K-$82K
  • Research scientist: $52K-$123K
  • Senior data scientist: $96K-$162K
  • Statistician: $55K-$117K

数据科学学位



据《财富》杂志报道,这些是数据科学领域的顶级研究生学位课程:

  • University of Illinois at Urbana-Champaign
  • University of California—Berkeley
  • Texas Tech University
  • Bay Path University
  • Worcester Polytechnic Institute
  • Loyola University Maryland
  • University of Missouri—Columbia
  • New Jersey Institute of Technology
  • CUNY School of Professional Studies
  • Syracuse University

数据科学培训和训练营



鉴于目前数据科学人才短缺,许多组织正在制定计划来培养内部数据科学人才。

训练营是另一种快速发展的培训工作者承担数据科学角色的途径。 有关数据科学训练营的更多详细信息,请参阅“促进职业发展的 15 个最佳数据科学训练营”。

数据科学认证



组织需要具有数据分析技术专业知识的数据科学家和分析师。 他们还需要大数据架构师将需求转化为系统,需要数据工程师来构建和维护数据管道,需要熟悉 Hadoop 集群和其他技术的开发人员,还需要系统管理员和经理将所有内容联系在一起。 认证是求职者证明自己具备合适技能的一种方式。

一些顶级大数据和数据分析认证包括:

  • Certified Analytics Professional (CAP)
  • Cloudera Data Platform Generalist Certification
  • Data Science Council of America (DASCA) Senior Data Scientist (SDS)
  • Data Science Council of America (DASCA) Principal Data Scientist (PDS)
  • IBM Data Science Professional Certificate
  • Microsoft Certified: Azure Data Scientist Associate
  • Open Certified Data Scientist (Open CDS)
  • SAS Certified Data Scientist



有关大数据和数据分析认证的更多信息,请参阅“11 大大数据和数据分析认证”和“12 项有回报的数据科学认证”。

数据科学团队



数据科学通常是一门团队学科。 数据科学家是大多数数据科学团队的核心,但从数据到分析再到生产价值需要一系列技能和角色。 例如,数据分析师应该参与调查,然后再将数据呈现给团队并维护数据模型。 数据工程师需要构建数据管道以丰富数据集并使数据可供公司其他部门使用。

如需进一步了解构建数据科学团队,请参阅“如何组建高效的分析团队”和“高度成功的数据分析团队的秘诀”。

数据科学目标和可交付成果



数据科学的目标是构建从数据中提取以业务为中心的洞察力的方法。 这需要了解价值和信息在企业中的流动方式,以及利用这种理解来识别商机的能力。 虽然这可能涉及一次性项目,但更典型的数据科学团队会寻求识别关键数据资产,这些资产可以转化为数据管道,为可维护的工具和解决方案提供数据。 示例包括银行使用的信用卡欺诈监控解决方案,或用于优化风力涡轮机在风电场中的位置的工具。

递增地,传达团队正在做什么的演示文稿也是重要的可交付成果。

数据科学过程和方法



生产工程团队在冲刺周期内工作,并有预计的时间表。 对于数据科学团队来说,这通常很难做到,因为前期可能会花费大量时间来确定项目是否可行。 必须收集和清理数据。 然后团队必须确定它是否可以有效地回答问题。

理想情况下,数据科学应该遵循科学方法,尽管情况并非总是如此,甚至不可行。 真正的科学需要时间。 您会花一点时间来确认您的假设,然后花很多时间来反驳自己。 在业务中,回答时间很重要。 因此,数据科学通常意味着选择“足够好”的答案,而不是最佳答案。 然而,危险在于结果可能会成为确认偏差或过度拟合的牺牲品。

数据科学工具



数据科学团队使用范围广泛的工具,包括 SQL、Python、R、Java 以及 Hive、oozie 和 TensorFlow 等开源项目的聚宝盆。 这些工具用于各种与数据相关的任务,从提取和清理数据到通过统计方法或机器学习对数据进行算法分析。 一些常用工具包括:

  • SAS”这一专有统计工具用于数据挖掘、统计分析、商业智能、临床试验分析和时间序列分析。
  • Tableau:Tableau 现在归 Salesforce 所有,是一种数据可视化工具。
  • TensorFlow:由 Google 开发并获得 Apache License 2.0 许可,TensorFlow 是一个用于机器学习的软件库,用于深度神经网络的训练和推理。
  • DataRobot:这个自动化机器学习平台用于构建、部署和维护 AI。
  • BigML:BigML 是机器学习平台,专注于简化数据集和模型的构建和共享。
  • Knime:Knime 是一个开源数据分析、报告和集成平台。
  • Apache Spark:这个统一的分析引擎专为处理大规模数据而设计,支持数据清理、转换、模型构建和评估。
  • RapidMiner:这个数据科学平台旨在支持团队,支持数据准备、机器学习和预测模型部署。
  • Matplotlib:这个用于 Python 的开源绘图库提供了用于创建静态、动画和交互式可视化的工具。
  • Excel:Microsoft 的电子表格软件可能是周围使用最广泛的 BI 工具。 对于处理较小数据集的数据科学家来说,它也很方便。
  • js:此 JavaScript 库用于在 Web 浏览器中进行交互式可视化。
  • ggplot2:这个高级数据可视化包让数据科学家可以根据分析数据创建可视化效果。
  • Jupyter:这个基于 Python 的开源工具用于编写实时代码、可视化和演示。
本文地址
https://architect.pub
SEO Title
What is data science? Transforming data into value

【数据科学】从头开始学习 R的数据科学的完整的教程

Chinese, Simplified

A Complete Tutorial to learn Data Science in R from Scratch

Introduction

R is a powerful language used widely for data analysis and statistical computing. It was developed in early 90s. Since then, endless efforts have been made to improve R’s user interface. The journey of R language from a rudimentary text editor to interactive R Studio and more recently Jupyter Notebookshas engaged many data science communities across the world.

This was possible only because of generous contributions by R users globally. Inclusion of powerful packages in R has made it more and more powerful with time. Packages such as dplyr, tidyr, readr, data.table, SparkR, ggplot2 have made data manipulation, visualization and computation much faster.

But, what about Machine Learning ?

My first impression of R was that it’s just a software for statistical computing. Good thing, I was wrong! R has enough provisions to implement machine learning algorithms in a fast and simple manner.

This is a complete tutorial to learn data science and machine learning using R. By the end of this tutorial, you will have a good exposure to building predictive models using machine learning on your own.

Note: No prior knowledge of data science / analytics is required. However, prior knowledge of algebra and statistics will be helpful.

从头开始学习 R的数据科学的完整的教程

Table of Contents

  1. Basics of R Programming for Data Science

  • Why learn R ?

  • How to install R / R Studio ?

  • How to install R packages ?

  • Basic computations in R

  1. Essentials of R Programming

  • Data Types and Objects in R

  • Control Structures (Functions) in R

  • Useful R Packages

  1. Exploratory Data Analysis in R

  • Basic Graphs

  • Treating Missing values

  • Working with Continuous and Categorical Variables

  1. Data Manipulation in R

  • Feature Engineering

  • Label Encoding / One Hot Encoding

  1. Predictive Modeling using Machine Learning in R

  • Linear Regression

  • Decision Tree

  • Random Forest

Let’s get started !

Note: The data set used in this article is from Big Mart Sales Prediction.

1. Basics of R Programming

Why learn R ?

I don’t know if I have a solid reason to convince you, but let me share what got me started. I have no prior coding experience. Actually, I never had computer science in my subjects. I came to know that to learn data science, one must learn either R or Python as a starter. I chose the former. Here are some benefits I found after using R:

  1. The style of coding is quite easy.

  2. It’s open source. No need to pay any subscription charges.

  3. Availability of instant access to over 7800 packages customized for various computation tasks.

  4. The community support is overwhelming. There are numerous forums to help you out.

  5. Get high performance computing experience ( require packages)

  6. One of highly sought skill by analytics and data science companies.

There are many more benefits. But, these are the ones which have kept me going. If you think they are exciting, stick around and move to next section. And, if you aren’t convinced, you may like Complete Python Tutorial from Scratch.

How to install R / R Studio ?

You could download and install the old version of R. But, I’d insist you to start with RStudio. It provides much better coding experience. For Windows users, R Studio is available for Windows Vista and above versions. Follow the steps below for installing R Studio:

  1. Go to https://www.rstudio.com/products/rstudio/download/

  2. In ‘Installers for Supported Platforms’ section, choose and click the R Studio installer based on your operating system. The download should begin as soon as you click.

  3. Click Next..Next..Finish.

  4. Download Complete.

  5. To Start R Studio, click on its desktop icon or use ‘search windows’ to access the program. It looks like this:

从头开始学习 R的数据科学的完整的教程

Let’s quickly understand the interface of R Studio:

  1. R Console: This area shows the output of code you run. Also, you can directly write codes in console. Code entered directly in R console cannot be traced later. This is where R script comes to use.

  2. R Script: As the name suggest, here you get space to write codes. To run those codes, simply select the line(s) of code and press Ctrl + Enter. Alternatively, you can click on little ‘Run’ button location at top right corner of R Script.

  3. R environment: This space displays the set of external elements added. This includes data set, variables, vectors, functions etc. To check if data has been loaded properly in R, always look at this area.

  4. Graphical Output: This space display the graphs created during exploratory data analysis. Not just graphs, you could select packages, seek help with embedded R’s official documentation.

How to install R Packages ?

The sheer power of R lies in its incredible packages. In R, most data handling tasks can be performed in 2 ways: Using R packages and R base functions. In this tutorial, I’ll also introduce you with the most handy and powerful R packages. To install a package, simply type:

install.packages("package name")

As a first time user, a pop might appear to select your CRAN mirror (country server), choose accordingly and press OK.

Note: You can type this either in console directly and press ‘Enter’ or in R script and click ‘Run’.

Basic Computations in R

Let’s begin with basics. To get familiar with R coding environment, start with some basic calculations. R console can be used as an interactive calculator too. Type the following in your console:

> 2 + 3

> 5

> 6 / 3

> 2

> (3*8)/(2*3)

> 4

> log(12)

> 1.07

> sqrt (121)

> 11

Similarly, you can experiment various combinations of calculations and get the results. In case, you want to obtain the previous calculation, this can be done in two ways. First, click in R console, and press ‘Up / Down Arrow’ key on your keyboard. This will activate the previously executed commands. Press Enter.

But, what if you have done too many calculations ? It would be too painful to scroll through every command and find it out. In such situations, creating variable is a helpful way.

In R, you can create a variable using <- or = sign. Let’s say I want to create a variable x to compute the sum of 7 and 8. I’ll write it as:

> x <- 8 + 7

> x

> 15

Once we create a variable, you no longer get the output directly (like calculator), unless you call the variable in the next line.

Remember, variables can be alphabets, alphanumeric but not numeric. You can’t create numeric variables.

2. Essentials of R Programming

Understand and practice this section thoroughly. This is the building block of your R programming knowledge. If you get this right, you would face less trouble in debugging.

R has five basic or ‘atomic’ classes of objects. Wait, what is an object ?

Everything you see or create in R is an object. A vector, matrix, data frame, even a variable is an object. R treats it that way. So, R has 5 basic classes of objects. This includes:

  1. Character

  2. Numeric (Real Numbers)

  3. Integer (Whole Numbers)

  4. Complex

  5. Logical (True / False)

Since these classes are self-explanatory by names, I wouldn’t elaborate on that. These classes have attributes. Think of attributes as their ‘identifier’, a name or number which aptly identifies them. An object can have following attributes:

  1. names, dimension names

  2. dimensions

  3. class

  4. length

Attributes of an object can be accessed using attributes() function. More on this coming in following section.

Let’s understand the concept of object and attributes practically. The most basic object in R is known as vector. You can create an empty vector using vector(). Remember, a vector contains object of same class.

For example: Let’s create vectors of different classes. We can create vector using c() or concatenate command also.

> a <- c(1.8, 4.5) #numeric

> b <- c(1 + 2i, 3 - 6i) #complex

> d <- c(23, 44) #integer

> e <- vector("logical", length = 5)

Similarly, you can create vector of various classes.

Data Types in R

R has various type of ‘data types’ which includes vector (numeric, integer etc), matrices, data frames and list. Let’s understand them one by one.

Vector: As mentioned above, a vector contains object of same class. But, you can mix objects of different classes too. When objects of different classes are mixed in a list, coercion occurs. This effect causes the objects of different types to ‘convert’ into one class. For example:

> qt <- c("Time", 24, "October", TRUE, 3.33) #character

> ab <- c(TRUE, 24) #numeric

> cd <- c(2.5, "May") #character

To check the class of any object, use class(“vector name”) function.

> class(qt)

"character"

To convert the class of a vector, you can use as. command.

> bar <- 0:5

> class(bar)

> "integer"

> as.numeric(bar)

> class(bar)

> "numeric"

> as.character(bar)

> class(bar)

> "character"

Similarly, you can change the class of any vector. But, you should pay attention here. If you try to convert a “character” vector to “numeric” , NAs will be introduced. Hence, you should be careful to use this command.

List: A list is a special type of vector which contain elements of different data types. For example:

> my_list <- list(22, "ab", TRUE, 1 + 2i)

> my_list

[[1]]

[1] 22

[[2]]

[1] "ab"

[[3]]

[1] TRUE

[[4]]

[1] 1+2i

As you can see, the output of a list is different from a vector. This is because, all the objects are of different types. The double bracket [[1]] shows the index of first element and so on. Hence, you can easily extract the element of lists depending on their index. Like this:

> my_list[[3]]

> [1] TRUE

You can use [] single bracket too. But, that would return the list element with its index number, instead of the result above. Like this:

> my_list[3]

> [[1]]

[1] TRUE

Matrices: When a vector is introduced with row and column i.e. a dimension attribute, it becomes a matrix. A matrix is represented by set of rows and columns. It is a 2 dimensional data structure. It consist of elements of same class. Let’s create a matrix of 3 rows and 2 columns:

> my_matrix <- matrix(1:6, nrow=3, ncol=2)

> my_matrix

[,1] [,2]

[1,] 1 4

[2,] 2 5

[3,] 3 6

> dim(my_matrix)

[1] 3 2

> attributes(my_matrix)

$dim

[1] 3 2

As you can see, the dimensions of a matrix can be obtained using either dim() or attributes() command. To extract a particular element from a matrix, simply use the index shown above. For example(try this at your end):

> my_matrix[,2] #extracts second column

> my_matrix[,1] #extracts first column

> my_matrix[2,] #extracts second row

> my_matrix[1,] #extracts first row

As an interesting fact, you can also create a matrix from a vector. All you need to do is, assign dimension dim() later. Like this:

> age <- c(23, 44, 15, 12, 31, 16)

> age

[1] 23 44 15 12 31 16

> dim(age) <- c(2,3)

> age

[,1] [,2] [,3]

[1,] 23 15 31

[2,] 44 12 16

> class(age)

[1] "matrix"

You can also join two vectors using cbind() and rbind() functions. But, make sure that both vectors have same number of elements. If not, it will return NA values.

> x <- c(1, 2, 3, 4, 5, 6)

> y <- c(20, 30, 40, 50, 60)

> cbind(x, y)

> cbind(x, y)

x y

[1,] 1 20

[2,] 2 30

[3,] 3 40

[4,] 4 50

[5,] 5 60

[6,] 6 70

> class(cbind(x, y))

[1] “matrix”

Data Frame: This is the most commonly used member of data types family. It is used to store tabular data. It is different from matrix. In a matrix, every element must have same class. But, in a data frame, you can put list of vectors containing different classes. This means, every column of a data frame acts like a list. Every time you will read data in R, it will be stored in the form of a data frame. Hence, it is important to understand the majorly used commands on data frame:

> df <- data.frame(name = c("ash","jane","paul","mark"), score = c(67,56,87,91))

> df

name score

1 ash 67

2 jane 56

3 paul 87

4 mark 91

> dim(df)

[1] 4 2

> str(df)

'data.frame': 4 obs. of 2 variables:

$ name : Factor w/ 4 levels "ash","jane","mark",..: 1 2 4 3

$ score: num 67 56 87 91

> nrow(df)

[1] 4

> ncol(df)

[1] 2

Let’s understand the code above. df is the name of data frame. dim() returns the dimension of data frame as 4 rows and 2 columns. str() returns the structure of a data frame i.e. the list of variables stored in the data frame. nrow() and ncol() return the number of rows and number of columns in a data set respectively.

Here you see “name” is a factor variable and “score” is numeric. In data science, a variable can be categorized into two types: Continuous and Categorical.

Continuous variables are those which can take any form such as 1, 2, 3.5, 4.66 etc. Categorical variables are those which takes only discrete values such as 2, 5, 11, 15 etc. In R, categorical values are represented by factors. In df, name is a factor variable having 4 unique levels. Factor or categorical variable are specially treated in a data set. For more explanation, click here. Similarly, you can find techniques to deal with continuous variables here.

Let’s now understand the concept of missing values in R. This is one of the most painful yet crucial part of predictive modeling. You must be aware of all techniques to deal with them. The complete explanation on such techniques is provided here.

Missing values in R are represented by NA and NaN. Now we’ll check if a data set has missing values (using the same data frame df).

> df[1:2,2] <- NA #injecting NA at 1st, 2nd row and 2nd column of df

> df

name score

1 ash NA

2 jane NA

3 paul 87

4 mark 91

> is.na(df) #checks the entire data set for NAs and return logical output

name score

[1,] FALSE TRUE

[2,] FALSE TRUE

[3,] FALSE FALSE

[4,] FALSE FALSE

> table(is.na(df)) #returns a table of logical output

FALSE TRUE

6 2

> df[!complete.cases(df),] #returns the list of rows having missing values

name score

1 ash NA

2 jane NA

Missing values hinder normal calculations in a data set. For example, let’s say, we want to compute the mean of score. Since there are two missing values, it can’t be done directly. Let’s see:

mean(df$score)

[1] NA

> mean(df$score, na.rm = TRUE)

[1] 89

The use of na.rm = TRUE parameter tells R to ignore the NAs and compute the mean of remaining values in the selected column (score). To remove rows with NA values in a data frame, you can use na.omit:

> new_df <- na.omit(df)

> new_df

name score

3 paul 87

4 mark 91

Control Structures in R

As the name suggest, a control structure ‘controls’ the flow of code / commands written inside a function. A function is a set of multiple commands written to automate a repetitive coding task.

For example: You have 10 data sets. You want to find the mean of ‘Age’ column present in every data set. This can be done in 2 ways: either you write the code to compute mean 10 times or you simply create a function and pass the data set to it.

Let’s understand the control structures in R with simple examples:

if, else – This structure is used to test a condition. Below is the syntax:

if (<condition>){

##do something

} else {

##do something

}

Example

#initialize a variable

N <- 10

#check if this variable * 5 is > 40

if (N * 5 > 40){

print("This is easy!")

} else {

print ("It's not easy!")

}

[1] "This is easy!"

for – This structure is used when a loop is to be executed fixed number of times. It is commonly used for iterating over the elements of an object (list, vector). Below is the syntax:

for (<search condition>){

#do something

}

Example

#initialize a vector

y <- c(99,45,34,65,76,23)

#print the first 4 numbers of this vector

for(i in 1:4){

print (y[i])

}

[1] 99

[1] 45

[1] 34

[1] 65

while – It begins by testing a condition, and executes only if the condition is found to be true. Once the loop is executed, the condition is tested again. Hence, it’s necessary to alter the condition such that the loop doesn’t go infinity. Below is the syntax:

#initialize a condition

Age <- 12

#check if age is less than 17

while(Age < 17){

print(Age)

Age <- Age + 1 #Once the loop is executed, this code breaks the loop

}

[1] 12

[1] 13

[1] 14

[1] 15

[1] 16

There are other control structures as well but are less frequently used than explained above. Those structures are:

  1. repeat – It executes an infinite loop

  2. break – It breaks the execution of a loop

  3. next – It allows to skip an iteration in a loop

  4. return – It help to exit a function

Note: If you find the section ‘control structures’ difficult to understand, not to worry. R is supported by various packages to compliment the work done by control structures.

Useful R Packages

Out of ~7800 packages listed on CRAN, I’ve listed some of the most powerful and commonly used packages in predictive modeling in this article. Since, I’ve already explained the method of installing packages, you can go ahead and install them now. Sooner or later you’ll need them.

Importing Data: R offers wide range of packages for importing data available in any format such as .txt, .csv, .json, .sql etc. To import large files of data quickly, it is advisable to install and use data.table, readr, RMySQL, sqldf, jsonlite.

Data Visualization: R has in built plotting commands as well. They are good to create simple graphs. But, becomes complex when it comes to creating advanced graphics. Hence, you should install ggplot2.

Data Manipulation: R has a fantastic collection of packages for data manipulation. These packages allows you to do basic & advanced computations quickly. These packages are dplyr, plyr, tidyr, lubridate, stringr. Check out this complete tutorial on data manipulation packages in R.

Modeling / Machine Learning: For modeling, caret package in R is powerful enough to cater to every need for creating machine learning model. However, you can install packages algorithms wise such as randomForest, rpart, gbm etc

Note: I’ve only mentioned the commonly used packages. You might like to check this interesting infographic on complete list of useful R packages.

Till here, you became familiar with the basic work style in R and its associated components. From next section, we’ll begin with predictive modeling. But before you proceed. I want you to practice, what you’ve learnt till here.

Practice Assignment:

As a part of this assignment, install ‘swirl’ package in package. Then type, library(swirl) to initiate the package. And, complete this interactive R tutorial. If you have followed this article thoroughly, this assignment should be an easy task for you!

3. Exploratory Data Analysis in R

From this section onwards, we’ll dive deep into various stages of predictive modeling. Hence, make sure you understand every aspect of this section. In case you find anything difficult to understand, ask me in the comments section below.

Data Exploration is a crucial stage of predictive model. You can’t build great and practical models unless you learn to explore the data from begin to end. This stage forms a concrete foundation for data manipulation (the very next stage). Let’s understand it in R.

In this tutorial, I’ve taken the data set from Big Mart Sales Prediction. Before we start, you must get familiar with these terms:

Response Variable (a.k.a Dependent Variable): In a data set, the response variable (y) is one on which we make predictions. In this case, we’ll predict ‘Item_Outlet_Sales’. (Refer to image shown below)

Predictor Variable (a.k.a Independent Variable): In a data set, predictor variables (Xi) are those using which the prediction is made on response variable. (Image below).

从头开始学习 R的数据科学的完整的教程

Train Data: The predictive model is always built on train data set. An intuitive way to identify the train data is, that it always has the ‘response variable’ included.

Test Data: Once the model is built, it’s accuracy is ‘tested’ on test data. This data always contains less number of observations than train data set. Also, it does not include ‘response variable’.

Right now, you should download the data set. Take a good look at train and test data. Cross check the information shared above and then proceed.

Let’s now begin with importing and exploring data.

#working directory

path <- ".../Data/BigMartSales"

#set working directory

setwd(path)

As a beginner, I’ll advise you to keep the train and test files in your working directly to avoid unnecessary directory troubles. Once the directory is set, we can easily import the .csv files using commands below.

#Load Datasets

train <- read.csv("Train_UWu5bXk.csv")

test <- read.csv("Test_u94Q5KV.csv")

In fact, even prior to loading data in R, it’s a good practice to look at the data in Excel. This helps in strategizing the complete prediction modeling process. To check if the data set has been loaded successfully, look at R environment. The data can be seen there. Let’s explore the data quickly.

#check dimesions ( number of row & columns) in data set

> dim(train)

[1] 8523 12

> dim(test)

[1] 5681 11

We have 8523 rows and 12 columns in train data set and 5681 rows and 11 columns in data set. This makes sense. Test data should always have one column less (mentioned above right?). Let’s get deeper in train data set now.

#check the variables and their types in train

> str(train)

'data.frame': 8523 obs. of 12 variables:

$ Item_Identifier : Factor w/ 1559 levels "DRA12","DRA24",..: 157 9 663 1122 1298 759 697 739 441 991 ...

$ Item_Weight : num 9.3 5.92 17.5 19.2 8.93 ...

$ Item_Fat_Content : Factor w/ 5 levels "LF","low fat",..: 3 5 3 5 3 5 5 3 5 5 ...

$ Item_Visibility : num 0.016 0.0193 0.0168 0 0 ...

$ Item_Type : Factor w/ 16 levels "Baking Goods",..: 5 15 11 7 10 1 14 14 6 6 ...

$ Item_MRP : num 249.8 48.3 141.6 182.1 53.9 ...

$ Outlet_Identifier : Factor w/ 10 levels "OUT010","OUT013",..: 10 4 10 1 2 4 2 6 8 3 ...

$ Outlet_Establishment_Year: int 1999 2009 1999 1998 1987 2009 1987 1985 2002 2007 ...

$ Outlet_Size : Factor w/ 4 levels "","High","Medium",..: 3 3 3 1 2 3 2 3 1 1 ...

$ Outlet_Location_Type : Factor w/ 3 levels "Tier 1","Tier 2",..: 1 3 1 3 3 3 3 3 2 2 ...

$ Outlet_Type : Factor w/ 4 levels "Grocery Store",..: 2 3 2 1 2 3 2 4 2 2 ...

$ Item_Outlet_Sales : num 3735 443 2097 732 995 ..

.

Let’s do some quick data exploration.

To begin with, I’ll first check if this data has missing values. This can be done by using:

> table(is.na(train))

FALSE TRUE

100813 1463

In train data set, we have 1463 missing values. Let’s check the variables in which these values are missing. It’s important to find and locate these missing values. Many data scientists have repeatedly advised beginners to pay close attention to missing value in data exploration stages.

> colSums(is.na(train))

Item_Identifier Item_Weight

0 1463

Item_Fat_Content Item_Visibility

0 0

Item_Type Item_MRP

0 0

Outlet_Identifier Outlet_Establishment_Year

0 0

Outlet_Size Outlet_Location_Type

0 0

Outlet_Type Item_Outlet_Sales

0 0

Hence, we see that column Item_Weight has 1463 missing values. Let’s get more inferences from this data.

> summary(train)

Here are some quick inferences drawn from variables in train data set:

  1. Item_Fat_Content has mis-matched factor levels.

  2. Minimum value of item_visibility is 0. Practically, this is not possible. If an item occupies shelf space in a grocery store, it ought to have some visibility. We’ll treat all 0’s as missing values.

  3. Item_Weight has 1463 missing values (already explained above).

  4. Outlet_Size has a unmatched factor levels.

These inference will help us in treating these variable more accurately.

Graphical Representation of Variables

I’m sure you would understand these variables better when explained visually. Using graphs, we can analyze the data in 2 ways: Univariate Analysis and Bivariate Analysis.

Univariate analysis is done with one variable. Bivariate analysis is done with two variables. Univariate analysis is a lot easy to do. Hence, I’ll skip that part here. I’d recommend you to try it at your end. Let’s now experiment doing bivariate analysis and carve out hidden insights.

For visualization, I’ll use ggplot2 package. These graphs would help us understand the distribution and frequency of variables in the data set.

> ggplot(train, aes(x= Item_Visibility, y = Item_Outlet_Sales)) + geom_point(size = 2.5, color="navy") + xlab("Item Visibility") + ylab("Item Outlet Sales") + ggtitle("Item Visibility vs Item Outlet Sales")

从头开始学习 R的数据科学的完整的教程

We can see that majority of sales has been obtained from products having visibility less than 0.2. This suggests that item_visibility < 2 must be an important factor in determining sales. Let’s plot few more interesting graphs and explore such hidden stories.

> ggplot(train, aes(Outlet_Identifier, Item_Outlet_Sales)) + geom_bar(stat = "identity", color = "purple") +theme(axis.text.x = element_text(angle = 70, vjust = 0.5, color = "black")) + ggtitle("Outlets vs Total Sales") + theme_bw()

从头开始学习 R的数据科学的完整的教程

Here, we infer that OUT027 has contributed to majority of sales followed by OUT35. OUT10 and OUT19 have probably the least footfall, thereby contributing to the least outlet sales.

> ggplot(train, aes(Item_Type, Item_Outlet_Sales)) + geom_bar( stat = "identity") +theme(axis.text.x = element_text(angle = 70, vjust = 0.5, color = "navy")) + xlab("Item Type") + ylab("Item Outlet Sales")+ggtitle("Item Type vs Sales")

从头开始学习 R的数据科学的完整的教程

From this graph, we can infer that Fruits and Vegetables contribute to the highest amount of outlet sales followed by snack foods and household products. This information can also be represented using a box plot chart. The benefit of using a box plot is, you get to see the outlier and mean deviation of corresponding levels of a variable (shown below).

> ggplot(train, aes(Item_Type, Item_MRP)) +geom_boxplot() +ggtitle("Box Plot") + theme(axis.text.x = element_text(angle = 70, vjust = 0.5, color = "red")) + xlab("Item Type") + ylab("Item MRP") + ggtitle("Item Type vs Item MRP")

从头开始学习 R的数据科学的完整的教程

The black point you see, is an outlier. The mid line you see in the box, is the mean value of each item type. To know more about boxplots, check this tutorial.

Now, we have an idea of the variables and their importance on response variable. Let’s now move back to where we started. Missing values. Now we’ll impute the missing values.

We saw variable Item_Weight has missing values. Item_Weight is an continuous variable. Hence, in this case we can impute missing values with mean / median of item_weight. These are the most commonly used methods of imputing missing value. To explore other methods of this techniques, check out this tutorial.

Let’s first combine the data sets. This will save our time as we don’t need to write separate codes for train and test data sets. To combine the two data frames, we must make sure that they have equal columns, which is not the case.

> dim(train)

[1] 8523 12

> dim(test)

[1] 5681 11

Test data set has one less column (response variable). Let’s first add the column. We can give this column any value. An intuitive approach would be to extract the mean value of sales from train data set and use it as placeholder for test variable Item _Outlet_ Sales. Anyways, let’s make it simple for now. I’ve taken a value 1. Now, we’ll combine the data sets.

> test$Item_Outlet_Sales <- 1

> combi <- rbind(train, test)

Impute missing value by median. I’m using median because it is known to be highly robust to outliers. Moreover, for this problem, our evaluation metric is RMSE which is also highly affected by outliers. Hence, median is better in this case.

> combi$Item_Weight[is.na(combi$Item_Weight)] <- median(combi$Item_Weight, na.rm = TRUE)

> table(is.na(combi$Item_Weight))

FALSE

14204

Trouble with Continuous Variables & Categorical Variables

It’s important to learn to deal with continuous and categorical variables separately in a data set. In other words, they need special attention. In this data set, we have only 3 continuous variables and rest are categorical in nature. If you are still confused, I’ll suggest you to once again look at the data set using str() and proceed.

Let’s take up Item_Visibility. In the graph above, we saw item visibility has zero value also, which is practically not feasible. Hence, we’ll consider it as a missing value and once again make the imputation using median.

> combi$Item_Visibility <- ifelse(combi$Item_Visibility == 0,

median(combi$Item_Visibility), combi$Item_Visibility)

Let’s proceed to categorical variables now. During exploration, we saw there are mis-matched levels in variables which needs to be corrected.

> levels(combi$Outlet_Size)[1] <- "Other"

> library(plyr)

> combi$Item_Fat_Content <- revalue(combi$Item_Fat_Content,

c("LF" = "Low Fat", "reg" = "Regular"))

> combi$Item_Fat_Content <- revalue(combi$Item_Fat_Content, c("low fat" = "Low Fat"))

> table(combi$Item_Fat_Content)

Low Fat Regular

9185 5019

Using the commands above, I’ve assigned the name ‘Other’ to unnamed level in Outlet_Size variable.

Rest, I’ve simply renamed the various levels of Item_Fat_Content.

4. Data Manipulation in R

Let’s call it as, the advanced level of data exploration. In this section we’ll practically learn about feature engineering and other useful aspects.

Feature Engineering: This component separates an intelligent data scientist from a technically enabled data scientist. You might have access to large machines to run heavy computations and algorithms, but the power delivered by new features, just can’t be matched. We create new variables to extract and provide as much ‘new’ information to the model, to help it make accurate predictions.

If you have been thinking all this time, great. But now is the time to think deeper. Look at the data set and ask yourself, what else (factor) could influence Item_Outlet_Sales ? Anyhow, the answer is below. But, I want you to try it out first, before scrolling down.

1. Count of Outlet Identifiers – There are 10 unique outlets in this data. This variable will give us information on count of outlets in the data set. More the number of counts of an outlet, chances are more will be the sales contributed by it.

> library(dplyr)

> a <- combi%>%

group_by(Outlet_Identifier)%>%

tally()

> head(a)

Source: local data frame [6 x 2]

Outlet_Identifier n

(fctr) (int)

1 OUT010 925

2 OUT013 1553

3 OUT017 1543

4 OUT018 1546

5 OUT019 880

6 OUT027 1559

> names(a)[2] <- "Outlet_Count"

> combi <- full_join(a, combi, by = "Outlet_Identifier")

As you can see, dplyr package makes data manipulation quite effortless. You no longer need to write long function. In the code above, I’ve simply stored the new data frame in a variable a. Later, the new column Outlet_Count is added in our original ‘combi’ data set. To know more about dplyr, follow this tutorial.

2. Count of Item Identifiers – Similarly, we can compute count of item identifiers too. It’s a good practice to fetch more information from unique ID variables using their count. This will help us to understand, which outlet has maximum frequency.

> b <- combi%>%

group_by(Item_Identifier)%>%

tally()

> names(b)[2] <- "Item_Count"

> head (b)

Item_Identifier Item_Count

(fctr) (int)

1 DRA12 9

2 DRA24 10

3 DRA59 10

4 DRB01 8

5 DRB13 9

6 DRB24 8

> combi <- merge(b, combi, by = “Item_Identifier”)

3. Outlet Years – This variable represent the information of existence of a particular outlet since year 2013. Why just 2013? You’ll find the answer in problem statement here. My hypothesis is, older the outlet, more footfall, large base of loyal customers and larger the outlet sales.

> c <- combi%>%

select(Outlet_Establishment_Year)%>%

mutate(Outlet_Year = 2013 - combi$Outlet_Establishment_Year)

> head(c)

Outlet_Establishment_Year Outlet_Year

1 1999 14

2 2009 4

3 1999 14

4 1998 15

5 1987 26

6 2009 4

> combi <- full_join(c, combi)

This suggests that outlets established in 1999 were 14 years old in 2013 and so on.

4. Item Type New – Now, pay attention to Item_Identifiers. We are about to discover a new trend. Look carefully, there is a pattern in the identifiers starting with “FD”,”DR”,”NC”. Now, check the corresponding Item_Types to these identifiers in the data set. You’ll discover, items corresponding to “DR”, are mostly eatables. Items corresponding to “FD”, are drinks. And, item corresponding to “NC”, are products which can’t be consumed, let’s call them non-consumable. Let’s extract these variables into a new variable representing their counts.

Here I’ll use substr(), gsub() function to extract and rename the variables respectively.

> q <- substr(combi$Item_Identifier,1,2)

> q <- gsub("FD","Food",q)

> q <- gsub("DR","Drinks",q)

> q <- gsub("NC","Non-Consumable",q)

> table(q)

Drinks Food Non-Consumable

1317 10201 2686

Let’s now add this information in our data set with a variable name ‘Item_Type_New.

> combi$Item_Type_New <- q

I’ll leave the rest of feature engineering intuition to you. You can think of more variables which could add more information to the model. But make sure, the variable aren’t correlated. Since, they are emanating from a same set of variable, there is a high chance for them to be correlated. You can check the same in R using cor() function.

Label Encoding and One Hot Encoding

Just, one last aspect of feature engineering left. Label Encoding and One Hot Encoding.

Label Encoding, in simple words, is the practice of numerically encoding (replacing) different levels of a categorical variables. For example: In our data set, the variable Item_Fat_Content has 2 levels: Low Fat and Regular. So, we’ll encode Low Fat as 0 and Regular as 1. This will help us convert a factor variable in numeric variable. This can be simply done using if else statement in R.

> combi$Item_Fat_Content <- ifelse(combi$Item_Fat_Content == "Regular",1,0)

One Hot Encoding, in simple words, is the splitting a categorical variable into its unique levels, and eventually removing the original variable from data set. Confused ? Here’s an example: Let’s take any categorical variable, say, Outlet_ Location_Type. It has 3 levels. One hot encoding of this variable, will create 3 different variables consisting of 1s and 0s. 1s will represent the existence of variable and 0s will represent non-existence of variable. Let look at a sample:

> sample <- select(combi, Outlet_Location_Type)

> demo_sample <- data.frame(model.matrix(~.-1,sample))

> head(demo_sample)

Outlet_Location_TypeTier.1 Outlet_Location_TypeTier.2 Outlet_Location_TypeTier.3

1 1 0 0

2 0 0 1

3 1 0 0

4 0 0 1

5 0 0 1

6 0 0 1

model.matrix creates a matrix of encoded variables. ~. -1 tells R, to encode all variables in the data frame, but suppress the intercept. So, what will happen if you don’t write -1 ? model.matrix will skip the first level of the factor, thereby resulting in just 2 out of 3 factor levels (loss of information).

This was the demonstration of one hot encoding. Hope you have understood the concept now. Let’s now apply this technique to all categorical variables in our data set (excluding ID variable).

>library(dummies)

>combi <- dummy.data.frame(combi, names = c('Outlet_Size','Outlet_Location_Type','Outlet_Type', 'Item_Type_New'), sep='_')

With this, I have shared 2 different methods of performing one hot encoding in R. Let’s check if encoding has been done.

> str (combi)

$ Outlet_Size_Other : int 0 1 1 0 1 0 0 0 0 0 ...

$ Outlet_Size_High : int 0 0 0 1 0 0 0 0 0 0 ...

$ Outlet_Size_Medium : int 1 0 0 0 0 0 1 1 0 1 ...

$ Outlet_Size_Small : int 0 0 0 0 0 1 0 0 1 0 ...

$ Outlet_Location_Type_Tier 1 : int 1 0 0 0 0 0 0 0 1 0 ...

$ Outlet_Location_Type_Tier 2 : int 0 1 0 0 1 1 0 0 0 0 ...

$ Outlet_Location_Type_Tier 3 : int 0 0 1 1 0 0 1 1 0 1 ...

$ Outlet_Type_Grocery Store : int 0 0 1 0 0 0 0 0 0 0 ...

$ Outlet_Type_Supermarket Type1: int 1 1 0 1 1 1 0 0 1 0 ...

$ Outlet_Type_Supermarket Type2: int 0 0 0 0 0 0 0 1 0 0 ...

$ Outlet_Type_Supermarket Type3: int 0 0 0 0 0 0 1 0 0 1 ...

$ Item_Outlet_Sales : num 1 3829 284 2553 2553 ...

$ Year : num 14 11 15 26 6 9 28 4 16 28 ...

$ Item_Type_New_Drinks : int 1 1 1 1 1 1 1 1 1 1 ...

$ Item_Type_New_Food : int 0 0 0 0 0 0 0 0 0 0 ...

$ Item_Type_New_Non-Consumable : int 0 0 0 0 0 0 0 0 0 0 ...

As you can see, after one hot encoding, the original variables are removed automatically from the data set.

5. Predictive Modeling using Machine Learning

Finally, we’ll drop the columns which have either been converted using other variables or are identifier variables. This can be accomplished using select from dplyr package.

> combi <- select(combi, -c(Item_Identifier, Outlet_Identifier, Item_Fat_Content, Outlet_Establishment_Year,Item_Type))

> str(combi)

In this section, I’ll cover Regression, Decision Trees and Random Forest. A detailed explanation of these algorithms is outside the scope of this article. These algorithms have been satisfactorily explained in our previous articles. I’ve provided the links for useful resources.

As you can see, we have encoded all our categorical variables. Now, this data set is good to take forward to modeling. Since, we started from Train and Test, let’s now divide the data sets.

> new_train <- combi[1:nrow(train),]

> new_test <- combi[-(1:nrow(train)),]

Linear (Multiple) Regression

Multiple Regression is used when response variable is continuous in nature and predictors are many. Had it been categorical, we would have used Logistic Regression. Before you proceed, sharpen your basics of Regression here.

Linear Regression takes following assumptions:

  1. There exists a linear relationship between response and predictor variables

  2. The predictor (independent) variables are not correlated with each other. Presence of collinearity leads to a phenomenon known as multicollinearity.

  3. The error terms are uncorrelated. Otherwise, it will lead to autocorrelation.

  4. Error terms must have constant variance. Non-constant variance leads to heteroskedasticity.

Let’s now build out first regression model on this data set. R uses lm() function for regression.

> linear_model <- lm(Item_Outlet_Sales ~ ., data = new_train)

> summary(linear_model)

Adjusted R² measures the goodness of fit of a regression model. Higher the R², better is the model. Our R² = 0.2085. It means we really did something drastically wrong. Let’s figure it out.

In our case, I could find our new variables aren’t helping much i.e. Item count, Outlet Count and Item_Type_New. Neither of these variables are significant. Significant variables are denoted by ‘*’ sign.

As we know, correlated predictor variables brings down the model accuracy. Let’s find out the amount of correlation present in our predictor variables. This can be simply calculated using:

> cor(new_train)

Alternatively, you can also use corrplot package for some fancy correlation plots. Scrolling through the long list of correlation coefficients, I could find a deadly correlation coefficient:

cor(new_train$Outlet_Count, new_train$`Outlet_Type_Grocery Store`)

[1] -0.9991203

Outlet_Count is highly correlated (negatively) with Outlet Type Grocery Store. Here are some problems I could find in this model:

  1. We have correlated predictor variables.

  2. We did one hot encoding and label encoding. That’s not necessary since linear regression handle categorical variables by creating dummy variables intrinsically.

  3. The new variables (item count, outlet count, item type new) created in feature engineering are not significant.

Let’s try to create a more robust regression model. This time, I’ll be using a building a simple model without encoding and new features. Below is the entire code:

#load directory

> path <- "C:/Users/manish/desktop/Data/February 2016"

> setwd(path)

#load data

> train <- read.csv("train_Big.csv")

> test <- read.csv("test_Big.csv")

#create a new variable in test file

> test$Item_Outlet_Sales <- 1

#combine train and test data

> combi <- rbind(train, test)

#impute missing value in Item_Weight

> combi$Item_Weight[is.na(combi$Item_Weight)] <- median(combi$Item_Weight, na.rm = TRUE)

#impute 0 in item_visibility

> combi$Item_Visibility <- ifelse(combi$Item_Visibility == 0, median(combi$Item_Visibility), combi$Item_Visibility)

#rename level in Outlet_Size

> levels(combi$Outlet_Size)[1] <- "Other"

#rename levels of Item_Fat_Content

> library(plyr)

> combi$Item_Fat_Content <- revalue(combi$Item_Fat_Content,c("LF" = "Low Fat", "reg" = "Regular"))

> combi$Item_Fat_Content <- revalue(combi$Item_Fat_Content, c("low fat" = "Low Fat"))

#create a new column 2013 - Year

> combi$Year <- 2013 - combi$Outlet_Establishment_Year

#drop variables not required in modeling

> library(dplyr)

> combi <- select(combi, -c(Item_Identifier, Outlet_Identifier, Outlet_Establishment_Year))

#divide data set

> new_train <- combi[1:nrow(train),]

> new_test <- combi[-(1:nrow(train)),]

#linear regression

> linear_model <- lm(Item_Outlet_Sales ~ ., data = new_train)

> summary(linear_model)

Now we have got R² = 0.5623. This teaches us that, sometimes all you need is simple thought process to get high accuracy. Quite a good improvement from previous model. Next, time when you work on any model, always remember to start with a simple model.

Let’s check out regression plot to find out more ways to improve this model.

> par(mfrow=c(2,2))

> plot(linear_model)

从头开始学习 R的数据科学的完整的教程

You can zoom these graphs in R Studio at your end. All these plots have a different story to tell. But the most important story is being portrayed by Residuals vs Fitted graph.

Residual values are the difference between actual and predicted outcome values. Fitted values are the predicted values. If you see carefully, you’ll discover it as a funnel shape graph (from right to left ). The shape of this graph suggests that our model is suffering from heteroskedasticity (unequal variance in error terms). Had there been constant variance, there would be no pattern visible in this graph.

A common practice to tackle heteroskedasticity is by taking the log of response variable. Let’s do it and check if we can get further improvement.

> linear_model <- lm(log(Item_Outlet_Sales) ~ ., data = new_train)

> summary(linear_model)

从头开始学习 R的数据科学的完整的教程

And, here’s a snapshot of my model output. Congrats! We have got an improved model with R² = 0.72. Now, we are on the right path. Once again you can check the residual plots (you might zoom it). You’ll find there is no longer a trend in residual vs fitted value plot.

从头开始学习 R的数据科学的完整的教程

This model can be further improved by detecting outliers and high leverage points. For now, I leave that part to you! I shall write a separate post on mysteries of regression soon. For now, let’s check our RMSE so that we can compare it with other algorithms demonstrated below.

To calculate RMSE, we can load a package named Metrics.

> install.packages("Metrics")

> library(Metrics)

> rmse(new_train$Item_Outlet_Sales, exp(linear_model$fitted.values))

[1] 1140.004

Let’s proceed to decision tree algorithm and try to improve our RMSE score.

Decision Trees

Before you start, I’d recommend you to glance through the basics of decision tree algorithms. To understand what makes it superior than linear regression, check this tutorial Part 1 and Part 2.

In R, decision tree algorithm can be implemented using rpart package. In addition, we’ll use caret package for doing cross validation. Cross validation is a technique to build robust models which are not prone to overfitting. Read more about Cross Validation.

In R, decision tree uses a complexity parameter (cp). It measures the tradeoff between model complexity and accuracy on training set. A smaller cp will lead to a bigger tree, which might overfit the model. Conversely, a large cp value might underfit the model. Underfitting occurs when the model does not capture underlying trends properly. Let’s find out the optimum cp value for our model with 5 fold cross validation.

#loading required libraries

> library(rpart)

> library(e1071)

> library(rpart.plot)

> library(caret)

#setting the tree control parameters

> fitControl <- trainControl(method = "cv", number = 5)

> cartGrid <- expand.grid(.cp=(1:50)*0.01)

#decision tree

> tree_model <- train(Item_Outlet_Sales ~ ., data = new_train, method = "rpart", trControl = fitControl, tuneGrid = cartGrid)

> print(tree_model)

The final value for cp = 0.01. You can also check the table populated in console for more information. The model with cp = 0.01 has the least RMSE. Let’s now build a decision tree with 0.01 as complexity parameter.

> main_tree <- rpart(Item_Outlet_Sales ~ ., data = new_train, control = rpart.control(cp=0.01))

> prp(main_tree)

从头开始学习 R的数据科学的完整的教程

Here is the tree structure of our model. If you have gone through the basics, you would now understand that this algorithm has marked Item_MRP as the most important variable (being the root node). Let’s check the RMSE of this model and see if this is any better than regression.

> pre_score <- predict(main_tree, type = "vector")

> rmse(new_train$Item_Outlet_Sales, pre_score)

[1] 1102.774

As you can see, our RMSE has further improved from 1140 to 1102.77 with decision tree. To improve this score further, you can further tune the parameters for greater accuracy.

Random Forest

Random Forest is a powerful algorithm which holistically takes care of missing values, outliers and other non-linearities in the data set. It’s simply a collection of classification trees, hence the name ‘forest’. I’d suggest you to quickly refresh your basics of random forest with this tutorial.

In R, random forest algorithm can be implement using randomForest package. Again, we’ll use train package for cross validation and finding optimum value of model parameters.

For this problem, I’ll focus on two parameters of random forest. mtry and ntree. ntree is the number of trees to be grown in the forest. mtry is the number of variables taken at each node to build a tree. And, we’ll do a 5 fold cross validation.

Let’s do it!

#load randomForest library

> library(randomForest)

#set tuning parameters

> control <- trainControl(method = "cv", number = 5)

#random forest model

> rf_model <- train(Item_Outlet_Sales ~ ., data = new_train, method = "parRF", trControl = control,

prox = TRUE, allowParallel = TRUE)

#check optimal parameters

> print(rf_model)

从头开始学习 R的数据科学的完整的教程

If you notice, you’ll see I’ve used method = “parRF”. This is parallel random forest. This is parallel implementation of random forest. This package causes your local machine to take less time in random forest computation. Alternatively, you can also use method = “rf” as a standard random forest function.

Now we’ve got the optimal value of mtry = 15. Let’s use 1000 trees for computation.

#random forest model

> forest_model <- randomForest(Item_Outlet_Sales ~ ., data = new_train, mtry = 15, ntree = 1000)

> print(forest_model)

> varImpPlot(forest_model)

This model throws RMSE = 1132.04 which is not an improvement over decision tree model. Random forest has a feature of presenting the important variables. We see that the most important variable is Item_MRP (also shown by decision tree algorithm).

从头开始学习 R的数据科学的完整的教程

This model can be further improved by tuning parameters. Also, Let’s make out first submission with our best RMSE score by decision tree.

> main_predict <- predict(main_tree, newdata = new_test, type = "vector")

> sub_file <- data.frame(Item_Identifier = test$Item_Identifier, Outlet_Identifier = test$Outlet_Identifier, Item_Outlet_Sales = main_predict)

> write.csv(sub_file, 'Decision_tree_sales.csv')

When predicted on out of sample data, our RMSE has come out to be 1174.33. Here are some things you can do to improve this model further:

  1. Since we did not use encoding, I encourage you to use one hot encoding and label encoding for random forest model.

  2. Parameters Tuning will help.

  3. Use Gradient Boosting.

  4. Build an ensemble of these models. Read more about Ensemble Modeling.

Do implement the ideas suggested above and share your improvement in the comments section below. Currently, Rank 1 on Leaderboard has obtained RMSE score of 1137.71. Beat it!

End Notes

This brings us to the end of this tutorial. Regret for not so happy ending. But, I’ve given you enough hints to work on. The decision to not use encoded variables in the model, turned out to be beneficial until decision trees.

The motive of this tutorial was to get your started with predictive modeling in R. We learnt few uncanny things such as ‘build simple models’. Don’t jump towards building a complex model. Simple models give you benchmark score and a threshold to work with.

In this tutorial, I have demonstrated the steps used in predictive modeling in R. I’ve covered data exploration, data visualization, data manipulation and building models using Regression, Decision Trees and Random Forest algorithms.

Did you find this tutorial useful ? Are you facing any trouble at any stage of this tutorial ? Feel free to mention your doubts in the comments section below. Do share if you get a better score.

Edit: On visitor’s request, the PDF version of the tutorial is available for download. You need to create a log in account to download the PDF. Also, you can bookmark this page for future reference. Download Here.

SEO Title
Learn from the beginning of R's complete tutorial on data science

【数据科学】内部发展数据科学技能:真实世界的经验教训

视频号

微信公众号

知识星球

Chinese, Simplified

各组织正在向内看,以满足数据科学的需求,发展必要的文化、课程和计划,以深化数据分析专业知识。

几乎每个行业的公司都非常需要数据科学家,因为他们希望启动大数据和分析项目,并从数据资源中获得更多价值和见解。

然而,对这些专业人员的需求继续以相当大的幅度超过供应,而且没有迹象表明这种情况会很快改变。

在线就业网站CareerCast.com将数据科学家列为2018年最佳工作之一,预计今年的需求将增长19%。CareerCast评估了美国劳工统计局关于增长前景、行业招聘趋势、贸易统计、大学毕业生就业数据以及该网站自己的列表数据库的数据,以确定哪些因素推动了招聘需求。

就需求而言,数据科学专业经常跻身于顶级职业之列,组织需要专业地分析数据并将其转化为可操作的信息,这推动了数据科学行业的增长。

对于许多组织来说,填补这些职位的斗争是激烈的。从外部聘请专家当然可以成为建立数据科学团队战略的一部分,但考虑到极端的竞争,一些组织正在转向自己的队伍来培养他们需要的数据科学人才。

以下是一些组织如何鼓励数据驱动的文化,并在内部发展更深入的数据分析专业知识。

在嘉年华培养数据驱动的文化

数据科学是嘉年华风险咨询和保证服务部的战略重点,该部门运营嘉年华邮轮。该部门经理Daniel Bukowski表示,该部门提供内部审计服务,其领导层有力地支持了该领域的专业发展和培训。

例如,该部门支持Bukowski参加Udacity预测分析纳米学位课程,他有审计和会计背景,但没有受过IT或技术知识的正规教育。Udacity在人工智能、数据科学、编程与开发以及自主系统等领域提供了一系列在线高等教育项目。

Bukowski说:“该部门的许多其他审计员看到了数据分析的重要性,并正在寻求领导力支持的培训”,包括如何使用Alteryx、Tableau等供应商的分析工具。他说,该部门2018年7月的年度务虚会包括一次关于数据可视化的外部培训课程和一个关于审计相关数据分析举措的内部培训计划。

审计部门的两名数据科学家被聘为数据科学家。然而,该部门赞助的培训帮助Bukowski和其他几位审计员提高了数据素养,并能够将数据分析概念应用于审计和调查。

Bukowski说:“并不是所有的审计师都需要成为数据科学家,但他们必须具备数据素养。”。他又迈出了一步,报名参加了科学硕士数据分析项目,“因为我看到了数据在我的职业生涯中有多么重要,”他说。

随着数据科学/分析方面的额外教育,Bukowski的角色在过去12个月里从主要执行个人审计和调查演变为为为执行自己审计和调查的同事提供数据分析支持。

使用各种分析工具,Bukowski可以混合和分析大型数据集,而他的同事只能使用Excel电子表格。他说:“这导致了对Excel中较小数据集的分析不太可能发现的多次审计结果。”。

Bukowski表示,审计部门正在根据审计结果启动咨询项目,为嘉年华及其运营公司提供额外的分析驱动价值。

在SessionM让工程师参与数据科学工作

提供客户数据和参与平台的SessionM正在创建一个由专门的数据科学工程师(DSE)组成的团队,负责设计和编写用于生产的人工智能(AI)软件。SessionM负责数据科学、人工智能和机器学习的副总裁Amelio Vázquez Reina表示,这些人对机器学习(ML)、统计学和决策理论都很了解。

Vázquez-Reina表示,他们的主要职责是自动生成见解、预测和建议,并构建软件产品,为整个公司的决策提供自动执行。

Vázquez Reina表示,除了开发正式的DSE外,SessionM还有几项举措来帮助公司提高数据科学素养。他说:“我们定期与其他部门举行会议,要求DSE向我们的销售、业务分析师、产品和解决方案体系结构团队解释他们的数据模型和解决方案。”。

这些会议有两个目标。一个是向员工介绍SessionM的数据科学战略、方法和最佳实践。另一个是帮助公司的每个人理解并宣传其所谓的人工智能“价值生成链”。这是一个过程,包括从每个客户那里收集数据,明确规定客户目标,并强调软件开发的实验,以最大限度地为客户带来结果和见解。

此外,该公司还为软件工程师提供机会,通过其敏捷开发流程和为客户提供的数据科学服务,为其数据科学软件做出贡献。SessionM还举办以人工智能为中心的会议和社交活动。

“这些会议以描述公司感兴趣的问题的SessionM DSE的技术演示开始,然后对该问题进行数学表征,该问题适合公司的所有[软件工程师],最后围绕所选择的解决方案、实施以及在此过程中探索的任何权衡和替代方案进行开放式讨论。”

Ogury培养数据科学人才

Ogury是一家提供移动数据技术的公司,据该公司首席技术官Louis-Marie Brierre介绍,该公司每天接收的数据超过1TB。要获得处理如此大量信息的资源、技能和能力,需要一支敬业且才华横溢的数据科学团队。维持这样一个团队的关键之一是创造一个有吸引力的工作场所。

Brierre说:“我们激励团队的最佳方式是给他们学习和控制个人成长的空间。”。“我们授权我们的数据团队拥有和管理他们的项目,并承担全部责任。”

该公司的数据科学家与数据工程师以及开发和产品团队密切合作。Brierre说:“这让他们了解了业务,并使他们能够了解自己在公司中的角色和影响。”。“我们从不限制他们正在操纵的数据的计算能力以及他们想要测试的想法。”

Brierre说,由于项目和团队的多样性,“我们喜欢挑战人们,并通过每12或18个月加入一个新的部门为他们提供新的增长途径。”。“这让他们有机会离开舒适区,发现新的团队合作伙伴和项目。”

Ogury还致力于保持其数据科学家训练有素。

Ogury首席算法官Christophe Thibault表示:“我目睹了许多公司急切地等待新数据科学家的到来。”。“这些公司相信,他或她会来拯救他们的业务,提高所有(绩效指标)。是的,数据科学家和分析师是组织中的关键人物,但他们仍然需要像其他有价值的团队成员一样得到培养和培训。”

Thibault说,为了建立一支数据科学家团队,公司必须培养优秀的人才。“但他们也有责任为他们的到来做好组织准备,并为他们的成功做好准备,”他说。

自2014年以来,Ogury采取了几种做法来吸引和留住数据科学家。一个是消除技术限制。Thibault说:“我们所有的数据科学家都可以访问云上的沙盒环境,这样他们就可以测量自己的计算能力,并将其与他们正在操纵的数据和他们想要测试的想法进行全面比较。”。

另一个是鼓励合作。Thibault说,数据科学家和数据工程师拥有不同的技能和词汇。但对于一个组织的数据分析工作来说,他们一起工作和合作是至关重要的。“一个组织内知识的自由流动是企业蓬勃发展的方式,”他说。

第三种做法是将算法与数据相匹配,而不是相反。Thibault表示:“数据科学家与商业分析师密切合作,以了解数据。”。“尤其是在Ogury,我们有独特的、细粒度的第一方数据,数据科学家需要时间来理解信息。最重要的是,我们的团队必须确保他们使用的算法能够完美地拟合数据,而不是仅仅因为这是一条简单的出路就扭曲数据以将其拟合到众所周知或预先确定的算法中。”

美光协助获得高级学位

持续的学习和教育是计算机存储器技术提供商美光的首要任务。美光首席信息官Trevor Schulze表示:“由于许多数据科学都需要深入掌握统计学和机器学习,(公司)支持许多人在这一领域攻读高级学位。”。

此外,舒尔茨说,美光的员工发现大规模的在线开放课程(MOOC)有助于巩固某些技能。该公司还通过支持出席外部和内部会议和在会议上发言,向同行学习。

美光在世界各地的数据科学团队中雇佣了数百名员工。舒尔茨说,这些团队中约有一半的数据科学家来自公司的不同岗位,通常是工程部门。

舒尔茨说:“当人们有强大的数据基础、好奇和探索的心态,最关键的是掌握统计学和机器学习方法的能力时,就会成功地向数据科学过渡。”。“这些人在正规、高级教育中可能缺乏的东西,他们往往会在工业和数据知识方面弥补。”

数据科学的兴起对公司产生了巨大的影响。舒尔茨说:“三十多年来,机器人和计算机自动化一直是开发和生产下一代存储芯片的关键推动者。”。“然而,仅靠自动化已经无法推动行业向前发展。随着数据科学成为许多制造流程和商业决策的核心,美光正在发生真正的变革。”

在McAfee的指导并将培训作为首要任务

安全技术公司McAfee创建了一个卓越分析中心(ACE),其框架包括价值主张、宣传(包括培训和指导)、模型/算法和数据管理。该公司首席数据科学家Celeste Fralick表示,这得到了首席技术官和主要副总裁的支持。

为了实现该框架,ACE参与者定期安排关于算法的“技术讲座”;McAfee创建了八个实践社区,即教育、人力资源、工业/学术合作等领域的工作组。它还成立了技术工作组,如分析审查委员会、对抗性机器学习和分析门户网站。

ACE是全球性的,拥有150多名来自公司各个技能水平的人员。Fralick说:“我们现在正在制定一个辅导计划和一个关于数据货币化的短期课程,并探讨管理人员等非数据科学家可以提出的关于算法和模型开发的问题。”。

此外,McAfee还赞助了深入的培训,包括分析、清洁和预处理数据的介绍,以及模型和机器学习的介绍。

Fralick说:“虽然我们不教授‘工具’本身,但我们教授的是一般的‘窍门’和特定主题的概念。”。“工具会改变,但数学和可能破坏算法的陷阱通常不会改变。”

Fralick说,这些努力是故意缓慢而自愿地开始的,目的是在非对抗性的氛围中获得最初的积极影响。她说,对课程的需求猛增。

Fralick说:“我们还推荐特定的外部课程、书籍以及学位或证书课程。”。“我们发现,计算机科学家通常没有被教授数据科学的关键要素。当他们得到信息时,他们会热情地回应,明白数据不仅仅是收集和快速应用模型。开发成功的分析还有更多的工作要做。”

Fralick说,对于训练有素的数据科学家来说,项目“正在知识和智能的金字塔上向上发展,从统计学到机器学习,从深度学习到人工智能”。“由于机器驱动的算法增强了人类的决策,因此人机团队在这一过程中至关重要。”

具体的分析开发需求正在集成到软件产品生命周期中。Fralick说:“我们打算让公司里的每个人都上一门分析入门课程。”。“数据科学工作对组织和我们的业务/数据战略的总体影响已经随着更高的数据量、客户期望和数据融合而凝结,以使我们的业务能够以数据和模型为驱动。”

在Ibotta,课程和合作

在过去的两年里,移动购物应用程序开发商Ibotta通过正式和非正式的培训,在组织内部建立了一个分析团队。

该团队开发了为期六周的SQL、Python和Spark课程,以及关于有效沟通分析结果的技巧和窍门、频率学家与贝叶斯统计的利弊以及利用TensorFlow构建神经网络等主题的简短入门培训课程。

数据分析和科学副总裁Laura Spencer表示:“此外,我们每两周举行一次头脑风暴会议,团队成员在会上讨论和构思各种分析和数据科学主题,以及如何在整个公司利用这些主题。”。

该公司还高度重视具有不同技能的分析师之间的合作项目,以鼓励分享技能、能力和限制。

Spencer说:“例如,我们最近与营销分析、机器学习和用户研究方面的专家进行了一次保留深度挖掘,为业务建立[推荐]。”。“我们还采取了一些举措,鼓励员工继续从外部学习,并将新的工具和方法带回团队。”

Ibotta在其总部附近主持并出席各种大数据和数据科学会议。Spencer说:“我们还赞助每一位数据科学家每年参加他们选择的会议,作为回报,他们会向组织的其他成员提供会议学习的培训。”。

在过去的几年里,Ibotta的分析团队已经发展到大约45人,包括数据工程、统计学和机器学习等技能。

本文地址
https://architect.pub
SEO Title
Developing data science skills in-house: Real-world lessons

【数据科学】反思十年数据科学和可视化工具的未来

Chinese, Simplified

 

数据科学在过去十年中呈爆炸式增长,改变了我们开展业务的方式,并让下一代年轻人为未来的工作做好准备。但是这种快速增长伴随着对数据科学工作的不断发展的理解,这导致我们在如何使用数据科学从我们的大量数据中获得可操作的见解方面存在很多模糊性。在数据科学的发展塑造了我自己的职业生涯之后,我想深入研究什么是数据科学、数据科学的工作是什么以及谁是数据科学家等问题。我翻阅了研究文献,以提取关于数据科学和数据科学家的各种研究和分析的线索,将这些问题的答案编织在一起。我在一篇题为“传递数据指挥棒:对数据科学工作和工作者的回顾性分析”的研究出版物中介绍了这些结果。



这项研究的部分动机是作为研究和开发的基础,以便我可以确定可视化分析工具可能解决未满足需求的领域。然而,另一个动机是对一个十多年前我第一次开始计算机科学高级研究时还不存在的领域的个人反思。在这篇博文中,我总结了这篇研究论文的几个关键要点,并分享了我对它的发现如何帮助我们为数据科学构建下一代数据可视化工具的想法。



什么是数据科学?

事实证明,数据科学对不同的人来说是不同的东西。对某些人来说,数据科学并不是什么新鲜事物,它只是已经存在很长时间的统计技术的实际应用。对其他人来说,这种观点过于狭隘,因为数据科学不仅需要统计方法的知识,还需要计算技术才能使这些方法的应用变得实用。例如,数据科学家仅了解线性回归是不够的,他们还需要知道如何将其大规模应用于大量数据——这不是传统统计学教育的一部分。尽管如此,即使是那些认为数据科学不仅仅是应用统计学的人也可能会犹豫说它是新事物。收集和分析数据(甚至是大量数据)的做法长期以来一直是科学研究的一部分,例如生物学或物理学;许多人认为数据科学只是经验科学中已经发生的事情的延伸。

但这里还有第三种观点,即数据科学确实是新事物,既不同于统计学,也不同于科学家在研究原子和基因时使用的方法。将统计学和计算机科学与必要的主题专业知识结合在一起,带来了新的挑战,这些挑战由数据科学独特地解决,并由数据科学家解决。此外,数据科学家开展的工作不同于其他类型的数据分析,因为它需要更广泛的多学科技能。我们的研究和其他人的研究认为,数据科学确实是新的和不同的东西,因此我们创建了一个工作定义,作为我们工作的基础:


“数据科学是一个多学科领域,旨在通过主要统计和计算技术的结构化应用,
从现实世界的数据中学习新的见解”



这个定义很重要,因为它有助于我们理解数据科学工作者面临的挑战和未满足的需求,这主要源于使用真实数据而不是模拟数据的挑战,以及伴随应用统计和计算方法的挑战这些数据大规模。



什么是数据科学工作?

  • 将数据科学工作提炼成四个高阶(准备、分析、部署和通信)和 14 个低阶过程。 红色标出的过程是主要使用数据可视化的过程,但这并不排除它在数据科学工作的其他方面的使用。

重要的是,数据科学的工作定义缩小了研究范围。我们没有考虑人们可能希望进行的所有可能类型的数据分析,而是仔细研究数据科学家进行的分析类型。这种区别很重要,因为实验物理学家分析数据所采取的具体步骤与数据科学家可能采取的分析步骤不同,即使它们有共同点。这导致了一个重要的后续问题:数据科学的工作到底是什么?

有几个行业标准用于分解数据科学工作。第一个是 KDD(或数据发现中的知识)方法,随着时间的推移,它被其他人修改和扩展。根据这些推导以及采访数据科学家的研究,我们创建了一个框架,该框架具有四个高阶流程(准备、分析、部署和通信)和 14 个低阶流程。使用红色笔划轮廓,我们还强调了数据可视化已经在数据科学工作中发挥重要作用的特定领域。在我们的研究文章中,我们提供了这些过程的详细定义和示例。



谁是数据科学工作者?

Nine Data Science roles that we found across twelve in depth studies with Data Scientists

这些年来,我听到了很多关于数据科学家是什么的不同看法。我喜欢的一个观点是,数据科学家是“比统计学家更擅长软件工程,比软件工程师更擅长统计”的人。我最近听到的一种厚颜无耻的说法是,数据科学家是“西海岸的统计学家”。



然而,当我们深入研究对数据科学家的现有研究时,我们没有预料到会发现一些东西,但它变得一致且重要,那就是“数据科学家”的多样性以及他们的角色如何在特定的数据科学过程中发生变化。例如,您可能已经注意到数据工程师的崛起,作为一个独特但仍然相邻的数据科学角色。随着数据科学工作的复杂性增加,数据科学家变得不那么笼统而更加专业,他们经常从事数据科学工作的特定方面。哈里斯等人进行的采访。早在 2012 年就已经确定了这一趋势,而且随着时间的推移,这种趋势只会加速。他们敏锐地观察到,数据科学角色之间的这种多样性导致“数据科学家与寻求帮助的人之间的沟通不畅”。



我们在 Harris 工作的结果的基础上,检查了 12 项研究,总计数千名被认定为数据科学家的人。从我们对这些研究的元分析中,我们能够确定 9 个不同的数据角色。这些人具有不同的技能和背景,我们沿着统计、计算机科学和领域专业知识的轴进行了说明。我们还将以人为本的设计纳入我们对数据科学技能的描述中,因为考虑到数据产品(如面部识别应用程序)的影响越来越重要。我们要强调的是,这些角色不是绝对的类别,它们的界限以及担任这些角色的这些人的技术技能强度是流动的。相反,这些类别的角色旨在作为指导,帮助研究人员和其他人了解他们正在与谁交谈以及他们的背景可能是什么。



这将如何改变我们构建可视化和数据分析工具的方式?



当然,最重要的考虑是我们对数据科学的定义以及我们的数据科学工作和工作者框架如何帮助我们构建更好的数据可视化工具。首先,它有助于明确数据科学工作和工作人员的多样性并以证据为基础。我们已经使用这个框架来创建更清晰的标准来分解数据科学中的 Tableau 客户体验。我们可以更精确地确定他们正在尝试做什么,并且可以就这些过程提出更多探索性的问题。知道“数据科学家”这个角色本身包含大量的多样性,我们可以通过将我们正在与之交谈的个人分类为我们的九个数据科学角色来更好地确定谁在执行这项工作。这样的分类使我们更容易理解我们的可视化系统需要支持的任务以及在什么级别上。例如,技术分析师和 ML/AI 工程师,这是我们描述的两个数据科学角色,都可以从事模型构建的共同任务,但需求却截然不同;如果我们忽略这些差异,我们就有可能为这两个角色构建错误的工具。

但也许对我来说最重要的是,这个框架还帮助我思考当前的可视化分析工具生态系统中缺少什么。我得出的一个令人担忧的结论是,现有工具只专注于可视化机器学习模型,并且缺乏支持数据科学工作其他关键方面的工具,例如数据准备、部署或通信。这种工具的缺乏不仅增加了数据科学工作的开销,而且还使数据科学家无论担任什么角色,都更难以让他们的工作影响组织决策和实践。这项关于数据科学工作和工作者的研究帮助我发现了这些挑战,并为构建更好的工具来帮助人们查看和理解他们的数据定义了机会。

原文:https://engineering.tableau.com/reflecting-on-a-decade-of-data-science-…

本文:https://jiagoushi.pro/node/2010

SEO Title
Reflecting on a Decade of Data Science and the Future of Visualization Tools

【数据科学】数据科学中的不同角色

Chinese, Simplified

数据科学领域不断发展,随后,在数据科学领域内有大量的职业角色可供选择。该博客列出了人们可以选择的一些数据科学领域最新兴的职业选择。



数据科学是一个需要学科专业知识(例如,如果您打算从事生物信息学,则需要生物学)、编程技能以及数学和统计学培训的领域数据科学即服务允许公司利用先进的分析技术(包括深度学习)获得业务洞察力,而无需投资于内部数据科学能力。数据科学家帮助公司处理来自各种来源的大量信息。专家数据科学团队可以帮助您快速采用数据科学来满足特定的高级分析目标。



Glassdoor 将数据科学列为 2021 年美国排名第二的工作。数据科学中有许多名称相似的职业:例如,ML 开发人员和 ML 工程师。在本文中,我们将讨论数据科学中的不同角色、该领域的职业有何不同以及对不同职位的候选人的期望。

Different Roles in Data Science

数据科学家



数据科学家的主要任务是提高机器学习模型的质量。一般来说,他或她的工作可以分为两个块。第一个是在项目中使用完成的模型。有必要不断评估其质量并找到可以改进的地方。在线和离线指标以及测试人员的反馈对此有所帮助。第二个是研究部分本身:寻找新的架构和信号进行预测。

以下是数据科学家需要知道的:

  • Python 开发模型。
  • C++ 将代码投入生产。
  • 深度学习框架(TensorFlow、PyTorch、Caffe 或其他)。
  • 数据结构和算法。

很多时候数据科学家都在收集、清理和分析数据以获得有用的见解。准备好数据后,他们将剩下的时间花在训练新模型上,例如在集群上准备数据并编写基础设施以进行有效的训练。复制模型也是工作的一部分:您必须编写模型并检查它在真实数据上的行为是否符合预期,然后优化其性能。一个有趣的事实是,数据科学家的工作还涉及 ML 工程师、数据工程师和数据科学家角色的技能。



机器学习工程师



ML 工程师的职责与数据科学家非常相似。但相比之下,没有必要准备在科学期刊上发表文章并定期开发新技术。比数据科学家更重要的是编写有效且可读的代码的能力,然后同事们可以理解。

以下是 ML 工程师需要了解的内容:

  • Python 和 C++ 用于开发模型和训练算法。
  • 概率论、统计学和离散数学。
  • 深度学习框架(TensorFlow、PyTorch、Caffe 或其他)。

对于 ML 工程师来说,拥有协作开发工具也很有用。他们不仅应该能够训练高质量的模型,还应该能够基于它们创建能够承受高负载的服务。这可能需要掌握低级编程语言和优化机器学习模型的技术。

数据工程师负责为后续分析准备数据。他们的工作是首先从社交网络、网站、博客和其他外部和内部来源收集数据,然后将其转化为可以发送给数据分析师的结构化形式。

数据工程师



想象一下,你需要做一个苹果派。首先,您需要从食谱中找到面粉、苹果、鸡蛋、牛奶和其他成分。这就是数据工程师所做的,只是寻找并引入正确的数据。数据分析师将自己制作馅饼,或者更确切地说,在找到的数据中寻找模式。

以下是数据工程师需要了解的内容:

  • 如何设计存储、设置数据收集和数据管道。
  • 如何构建 ETL 流程。
  • C++、Python 或 Java。
  • 用于处理数据库的 SQL。

此外,工程师创建和维护存储基础设施。他们还负责 ETL 系统 - 将数据提取、转换和加载到一个存储库中。可以肯定地说,他们负责购买和储存馅饼的原料。因此,数据分析师可以随时拿起它们来做一道菜,并确保一切都准备就绪并且没有任何问题。



数据分析师



数据分析师帮助公司改进指标并解决中间目标,而不是盲目地朝着大目标(一年内收入翻番)迈进。通常情况下,他们与销售人员密切合作。

数据分析师的任务是处理大量数据并在其中找到模式。例如,他们可能会发现大多数牙刷是由 30 至 40 岁的已婚男性购买的。数据分析师帮助公司更好地了解他们的客户,从而带来更多的销售额。

以下是数据分析师需要了解的内容:

  • Python 处理数据。
  • 数理统计选择正确的方法来处理数据。
  • SQL 方言,如 ClickHouse。
  • DataLens、Tableau、PowerBI 和其他仪表板工具。
  • Hadoop、Hive 或 Spark 等大数据工具。

在他们的工作中,数据分析师使用数理统计知识,这使他们能够找到模式并帮助预测用户的行为。数据分析师还进行测试,检查用户对新界面的反应,并帮助优化业务流程。



概括



对于那些喜欢精确科学的人来说,数据科学有很多方向和任务。作为数据科学家,您可以执行科学密集型任务,作为 ML 工程师实施新技术,作为数据分析师为业务寻找有用的模式,或者如果您选择作为数据工程师工作,则可以收集和构建数据。此外,您的选择不仅取决于您的专业知识,还取决于您想要解决的问题:也许您梦想推动科学发展并创造其他人将使用的技术。

本文:https://jiagoushi.pro/different-roles-data-science

SEO Title
Different Roles In Data Science

【数据科学】数据科学难题,怎么解释到底什么是数据科学

Chinese, Simplified

通过数据科学领域中几个关键概念之间的关系来检验数据科学的难题。正如我们将要看到的那样,不同意见的是具体的概念,不同意见是不可避免的;这只是另一个需要考虑的意见。

网络上没有任何文章比较和对比数据科学术语。所有类型的人都写了各种各样的文章,将他们的意见传达给任何愿意倾听的人。这几乎是压倒性的。

所以,让我直截了当地记录,对于那些想知道这是否是这类帖子之一的人。是。是的。

为什么另一个?我认为,虽然可能有很多意见部分定义和比较这些相关术语,但事实是这个术语的大部分都是流动的,并未完全同意,坦率地说,暴露于其他人群的观点是测试和改进自己的最佳方法之一。

因此,虽然我可能不完全(甚至是最低限度地)同意我对这个术语的大部分内容,但可能仍然有一些东西可以摆脱这一点。将研究数据科学的几个核心概念。或者,至少,我认为是核心。我会尽力提出它们之间的关系以及它们如何作为一个更大拼图的单个部分组合在一起。

作为一些有些不同意见的例子,在单独考虑任何概念之前,KDnuggets的Gregory Piatetsky-Shapiro汇总了以下维恩图,其中概述了我们将在此考虑的相同数据科学术语之间的关系。我们鼓励读者将这个维恩图与Drew Conway现在着名的数据科学维恩图进行比较,以及下面我自己的讨论以及帖子底部附近的修改过程/关系图。我认为,虽然存在差异,但这些概念在某种程度上具有相似性(参见前几段)。

数据科学难题,怎么解释到底什么是数据科学

 

我们现在将对上述维恩图中描述的相同的6个核心概念进行处理,并提供一些有关如何将它们组合到数据科学难题中的见解。 首先,我们很快就省去了过去十年中最热门的话题之一。

大数据

有各种各样的文章可用来定义大数据,我不会在这里花太多时间在这个概念上。 我将简单地说,大数据通常可以定义为“超出常用软件工具捕获,管理和处理能力”的数据集。 大数据是一个不断变化的目标; 这个定义既模糊又准确,足以捕捉其核心特征。

数据科学难题,怎么解释到底什么是数据科学

 

至于我们将要研究的其余概念,最好先了解一下他们的搜索术语流行度和N-gram频率,以帮助将事实与炒作区分开来。 鉴于这些概念中的一对相对较新,我们从1980年到2008年的“老”概念的N-gram频率如上所示。

最近的谷歌趋势显示了2个新术语的上升,2个其他人的持续上升趋势,以及最后一个逐渐但明显的下降。 请注意,由于已经对数据进行了定量分析,因此大数据未包含在上述图形中。 请继续阅读以进一步了解观察结果。

机器学习

根据Tom Mitchell在他关于这个主题的开创性着作中的说法,机器学习“关注的是如何构建自动改进的计算机程序的问题。”机器学习本质上是跨学科的,并且采用来自计算机科学,统计学和人工智能等领域的技术。机器学习研究的主要工件是可以从经验中自动改进的算法,可以应用于各种不同领域的算法。

我认为没有人怀疑机器学习是数据科学的核心方面。我在下面给出了数据科学详细处理这个术语,但是如果你认为它的目标是从数据中提取洞察力,那么机器学习就是让这个过程自动化的引擎。机器学习与经典统计有很多共同之处,因为它使用样本来推断和推广。在统计学更多地关注描述性的情况下(虽然它可以通过推断,可以预测),机器学习很少涉及描述性,并且仅将其用作中间步骤以便能够进行预测。机器学习通常被认为是模式识别的同义词;虽然这对我来说真的不会有太大的分歧,但我相信模式识别这个术语意味着一套比机器学习实际上更复杂,更简单的过程,这就是为什么我倾向于回避它。

机器学习与数据挖掘有着复杂的关系。

数据挖掘

Fayyad,Piatetsky-Shapiro和Smyth将数据挖掘定义为“从数据中提取模式的特定算法的应用”。这表明,在数据挖掘中,重点在于算法的应用,而不是算法本身。我们可以定义机器学习和数据挖掘之间的关系如下:数据挖掘是一个过程,在此过程中,机器学习算法被用作工具来提取数据集中保存的潜在有价值的模式。

数据挖掘作为机器学习的姐妹术语,对数据科学也至关重要。事实上,在数据科学这个术语爆炸之前,数据挖掘作为Google搜索术语获得了更大的成功。看看谷歌趋势比上图所示延长了5年,数据挖掘曾经更受欢迎。然而,今天,数据挖掘似乎被分割为机器学习和数据科学本身之间的概念。如果要支持上述解释,那么数据挖掘就是一个过程,那么将数据科学视为数据挖掘的超集以及后续术语是有意义的。

数据科学难题,怎么解释到底什么是数据科学

 

深度学习

深度学习是一个相对较新的术语,尽管它在最近的在线搜索急剧上升之前就存在了。由于在许多不同领域取得了令人难以置信的成功,研究和工业正在蓬勃发展,深度学习是应用深度神经网络技术(即具有多个隐藏层的神经网络架构)来解决问题的过程。深度学习是一个过程,如数据挖掘,它采用深度神经网络架构,这是特定类型的机器学习算法。

深度学习最近取得了令人印象深刻的成就。鉴于此,至少在我看来,记住一些事情很重要:

深度学习不是灵丹妙药 - 对于每个问题而言,它并不是一个简单的“一刀切”的解决方案

它不是传说中的主算法 - 深度学习不会取代所有其他机器学习算法和数据科学技术,或者至少它尚未证明如此

淬火期望是必要的 - 尽管最近在所有类型的分类问题上取得了很大进展,特别是计算机视觉和自然语言处理,以及强化学习和其他领域,当代深度学习不能扩展到处理非常复杂的问题,如“解决世界和平”

深度学习和人工智能不是同义词

深度学习可以通过附加过程和工具的形式为数据科学提供大量帮助,以帮助解决问题,并且当从这个角度观察时,深度学习是数据科学领域的一个非常有价值的补充。

人工智能

大多数人发现人工智能的精确定义,通常甚至是广泛定义,难以理解。我不是一名人工智能研究员,所以我的回答可能与那些在其他领域甚至可能会让人不满的人大不相同。多年来,我对人工智能的概念进行了多次哲学思考,我得出的结论是,人工智能,至少是我们在考虑它时通常会想到的概念,实际上并不存在。

在我看来,AI是一个标尺,一个移动的目标,一个无法实现的目标。每当我们走上人工智能成就的道路时,这些成就似乎会变成被称为别的东西。

我曾经读过如下内容:如果你在20世纪60年代问过AI研究员他们对AI的看法是什么,他们可能会同意一个适合我们口袋的小装置,这可以帮助预测我们的下一步行动和愿望,并且随时可以获得的全部人类知识,可能会达成共识,即所述设备是真正的AI。但我们今天都携带智能手机,我们中很少有人会将它们称为人工智能。

AI在哪里适合数据科学?好吧,正如我所说,我不相信人工智能真的是有形的,我想很难说它适合任何地方。但是有许多与数据科学和机器学习相关的领域,其中AI提供了动力,有时与有形的同样有价值;当然的深度学习研究,当然深刻的学习研究,如果不是无限期的,它们在某些方面都受益于人工智能精神,那么计算机视觉肯定会浮现在脑海中。

人工智能很可能是具有最深口袋的研发设备,从来没有在同行业中产生任何东西。虽然我会说从AI到数据科学的直线可能不是查看2之间关系的最佳方式,但两个实体之间的许多中间步骤已经由AI以某种形式开发和完善。

数据科学难题,怎么解释到底什么是数据科学

 

数据科学

那么,在讨论了这些相关概念及其在数据科学中的位置之后,究竟什么是数据科学?对我而言,这是试图精确定义的最艰难的概念。数据科学是一门多方面的学科,它包括机器学习和其他分析过程,统计学和相关的数学分支,越来越多地借鉴高性能科学计算,所有这些都是为了最终从数据中提取洞察力并使用这些新发现的信息来讲故事。这些故事通常伴随着图片(我们称之为可视化),并且针对行业,研究,甚至仅仅针对我们自己,目的是从数据中收集一些新想法。

数据科学使用来自各种相关领域的各种不同工具(参见上文所述的所有内容)。数据科学既是数据挖掘的同义词,也是包含数据挖掘的概念的超集。

数据科学产生各种不同的结果,但它们都有共同的洞察力。数据科学就是这一切以及更多,对你而言,它可能完全是另一回事......我们甚至还没有涵盖获取,清理,争论和预处理数据!顺便说一下,数据甚至是什么?它总是很大吗?

我认为我对数据科学难题的想法,至少是可以用上图表示的数据的版本,与本文顶部的Piatetsky-Shapiro的维恩图很好地吻合。我还建议它也主要与Drew Conway的数据科学维恩图一致,尽管我会补充一点:我相信他非常合理且有用的图形实际上指的是数据科学家,而不是数据科学。这可能是分裂的头发,但我不认为{field |纪律|数据科学本身的概念包括黑客技能;我相信这是科学家们拥有的一项技能,以便能够进行数据科学研究。不可否认,这可能是对语义的争论,但在我看来这是有意义的。

当然,这不是一幅不断发展的景观的全貌。例如,我记得在不久之前阅读数据挖掘是商业智能的一个子领域!即使意见分歧,我也无法想象今天这是一个有效的想法(几年前很难接受,说实话)。

而且你有它:你最喜欢的一些术语以新的方式变形,你不会原谅我。如果你现在感到愤怒,迫不及待地想告诉我我有多错,请记住这篇文章的重点:你刚读过一个人的意见。在这种精神中,您可以随意在评论中发声(可能是激烈的,尖锐的)对比的观点。否则,我希望这或者让新读者接触到数据科学的难题,或者强迫他们在他们的头脑中看看他们自己的这个难题版本。

SEO Title
Data science problems, how to explain exactly what is data science

【数据科学】顶级数据科学备忘单(ML、DL、Python、R、SQL、数学和统计)

Chinese, Simplified

“也许对一个人的智力最好的测试是他总结的能力”——Lytton Strachey

数据科学是一个不断发展的领域,有许多工具和技术需要记住。 任何人都不可能记住每个概念的所有功能、操作和公式。 这就是为什么我们有备忘单。 它们帮助我们访问最常用的提醒,使我们的数据科学之旅变得快速而轻松。

但是有大量的备忘单可供使用。 另一方面,质量、简洁和技术备忘单……不是那么多。 一套涵盖理论机器学习概念的良好资源将是无价的。 所以,我决定写这篇文章。

为了读者的方便,我为以下每个主题分别分离了最好的备忘单(全面而简洁)。 . .

  1. Python (Basic python as well as ML libraries : Numpy /Pandas/Matplotlib/Seaborn)
  2. R
  3. SQL
  4. Data Visualization Tools ( Tableau, Power BI)
  5. Maths and Statistics
  6. Machine Learning Algorithms
  7. Deep Learning
  8. IDE/OS etc



PYTHON

python

python2

Basic Python

  1. gto76 — extensive Python cheat sheet offered by GitHub
  2. memento
  3. Pythoncheatsheet.org
  4. Cheatography
  5. Python crash course
  6. DataQuest ( basic and intermediate )
  7. MementoPython3

Numpy

  1. DataCamp
  2. Intellipat
  3. A Little Bit of Everything
  4. Data Quest
  5. NumPy for R (and S-plus) Users
  6. Ipgp_github

Pandas

  1. The Most Comprehensive Cheat Sheet
  2. The Beginner’s Cheat Sheet
  3. DATACAMP
  4. Data Science Central (compact)
  5. INTELLIPAT

Matplotlib

  1. Datacamp
  2. GitHub
  3. Cheatography
  4. Becominghuman.ai
  5. Travis_Blog

Seaborn

  1. Datacamp
  2. Cheatography
  3. MartinNormark
  4. kaggle

python3

R

  1. github
  2. datacamp
  3. rstudio
  4. intellipat

R

 

SQL

  1. SQL_Detailed
  2. LearnSQL
  3. SQL_Tutorial
  4. SQL_Joins
  5. Intellipat

Data Visualization Tools

Tableau

  1. Intellipat
  2. Tableau_community
  3. howto
  4. Datacamp

Maths and Statistics

  1. Probability
  2. Statistics
  3. Linear Algebra
  4. Matrices
  5. Calculus/Trignometry_etc
  6. Stats_for_interviews

math

Machine Learning Algorithms

machine learning 1

machine learning 2

machine learning 3

machine learning 4

machine learning 5

Deep Learning

  1. AndrewNG_DeepLearning
  2. Stanford(deep learning)
  3. Stanford(neural_nets)
  4. Datacamp (Keras)
  5. Aimov_institute

Tensorflow

  1. BecomingHuman.AI
  2. Altoros
  3. Github
  4. Stanford.edu
  5. Cheatography
  6. HackerNoon
  7. TensorFlow

deep learning 1

deep learning 2

IDE and OS

Linux

  1. Linux_OS
  2. Cheatography
  3. Guru99

Jupyter Notebook

  1. Datacamp
  2. Cheatography
  3. Edureka
  4. Anaconda

ScikitLearn

  1. DataCamp
  2. Edureka.co
  3. Intellipaat
  4. Cheatography

ScikitLearn1

ScikitLearn2

ScikitLearn 3

Pytorch

  1. Pytorch.org
  2. Pytorch.org (for beginners)
  3. KDNuggets
  4. Cheatography
  5. Github
  6. ProgrammerSought
  7. TechRepublic

Pytorch

最后的想法



这就是我在分离和收集有关数据科学各个方面的最佳备忘单方面所做的努力。 我希望它有帮助。 如果我错过了任何或你们有任何建议或疑问,请在下面添加您的评论。

我很乐意将它们添加到上面的列表中!

原文:https://medium.com/@anushkhabajpai/top-data-science-cheat-sheets-ml-dl-…

本文:

SEO Title
Top DATA SCIENCE Cheatsheets (ML, DL, Python, R, SQL, Maths & Statistics)

【数据科学家】什么是数据科学家? 一个关键的数据分析角色和一个有利可图的职业

视频号

微信公众号

知识星球

Chinese, Simplified

数据科学家的角色因行业而异,但有一些共同的技能、经验、教育和培训可以让您在数据科学职业生涯中脱颖而出。

什么是数据科学家?



数据科学家是分析数据专家,他们使用数据科学从大量结构化和非结构化数据中发现见解,以帮助塑造或满足特定的业务需求和目标。 数据科学家在业务中变得越来越重要,因为组织越来越依赖数据分析来推动决策制定,并依赖自动化和机器学习作为其 IT 战略的核心组成部分。

数据科学家职位描述



数据科学家的主要目标是组织和分析数据,通常使用专门为该任务设计的软件。 数据科学家分析的最终结果必须足够容易让所有投资的利益相关者理解——尤其是那些在 IT 之外工作的利益相关者。

数据科学家的数据分析方法取决于他们所在的行业以及他们工作的业务或部门的具体需求。 在数据科学家能够在结构化或非结构化数据中找到意义之前,业务领导和部门经理必须传达他们正在寻找的内容。 因此,数据科学家必须具备足够的业务领域专业知识,才能将公司或部门的目标转化为基于数据的可交付成果,例如预测引擎、模式检测分析、优化算法等

数据科学家与数据分析师



数据科学家经常与数据分析师一起工作,但他们的角色有很大不同。 数据科学家经常从事长期研究和预测,而数据分析师则寻求支持业务领导者通过报告和临时查询来制定战术决策,这些查询旨在根据当前和历史数据描述其组织的当前现实状态。

因此,数据分析师和数据科学家的工作之间的差异通常归结为时间尺度。 数据分析师可能会帮助组织更好地了解其客户当前如何使用其产品,而数据科学家可能会使用从该数据分析中产生的见解来帮助设计新产品,以预测未来客户的需求。

数据科学家薪水



数据科学是一个快速发展的领域,美国劳工统计局预测从 2020 年到 2030 年的工作岗位增长率为 22%。数据科学家也被证明是一条令人满意的长期职业道路,Glassdoor 的“美国 50 大最佳工作”中,数据科学家位列第三—— 美国最好的工作。

根据 Robert Half 的 2021 年技术和 IT 薪资指南中的数据,数据科学家的平均薪资根据经验细分如下:

  • 第 25 个百分点:109,000 美元
  • 第 50 个百分位数:129,000 美元
  • 第 75 个百分位数:156,500 美元
  • 第 95 个百分位数:185,750 美元

数据科学家职责



数据科学家的主要职责是数据分析,从数据收集开始,到基于分析结果的业务决策结束

数据科学家分析的数据来自许多来源,包括结构化、非结构化或半结构化数据。 数据科学家可用的高质量数据越多,他们可以在给定模型中包含的参数就越多,他们手头上用于训练模型的数据就越多。

  • 结构化数据通常按类别进行组织,使计算机可以轻松地自动排序、读取和组织。 这包括通过服务、产品和电子设备收集的数据,但很少包括通过人工输入收集的数据。 您的智能手机收集的网站流量数据、销售数据、银行账户或 GPS 坐标——这些都是结构化的数据形式。
  • 非结构化数据是增长最快的数据形式,更有可能来自人工输入——客户评论、电子邮件、视频、社交媒体帖子等。这些数据更难分类,使用技术管理效率更低,因此需要一个 更大的投资来维护和分析。 企业通常依靠关键字来理解非结构化数据,以使用可搜索的术语提取相关数据。
  • 半结构化数据介于两者之间。 它不符合数据模型,但确实具有可用于对其进行分组的关联元数据。 示例包括电子邮件、二进制可执行文件、压缩文件、网站等。

通常,企业雇用数据科学家来处理非结构化数据和半结构化数据,而其他 IT 人员则管理和维护结构化数据。 是的,数据科学家确实处理大量结构化数据,但企业越来越多地寻求利用非结构化数据来实现收入目标,从而使处理非结构化数据的方法成为数据科学家角色的关键。

如需进一步了解数据科学家的工作生活,请参阅“数据科学家做什么? 其中 7 位炙手可热的专业人士提供了他们的见解。”

数据科学家要求



每个行业都有自己的数据配置文件供数据科学家分析。 根据美国劳工统计局的说法,以下是一些常见的数据分析形式,科学家可能会在各行各业进行这些分析。

  • 业务:业务数据的数据分析可以为效率、库存、生产错误、客户忠诚度等方面的决策提供信息。
  • 电子商务:现在网站收集的不仅仅是购买数据,数据科学家帮助电子商务企业改善客户服务、发现趋势以及开发服务或产品。
  • 财务:关于账户、信用和借记交易的数据以及类似的财务数据对于正常运作的业务至关重要。 但对于金融行业的数据科学家来说,安全和合规性,包括欺诈检测,也是主要关注的问题。
  • 政府:大数据帮助政府制定决策、支持选民并监控整体满意度。 与金融部门一样,安全性和合规性是数据科学家最关心的问题。
  • 科学:得益于最近的 IT 进步,当今的科学家可以更好地收集、共享和分析实验数据。 数据科学家可以帮助完成这个过程。
  • 社交网络:社交网络数据可以为有针对性的广告提供信息,提高客户满意度,建立位置数据趋势,并增强功能和服务。
  • 医疗保健:电子病历需要致力于大数据、安全性和合规性。 在这里,数据科学家可以帮助改善医疗服务并发现可能被忽视的趋势。

数据科学家技能



根据 Quora 数据科学经理 William Chen 的说法,数据科学家的前五项技能包括硬技能和软技能的组合:

  • 编程:Chen 说,编程是“数据科学家最基本的技能”,它可以提高您的统计技能,帮助您“分析大型数据集”,并让您能够创建自己的工具。
  • 定量分析:定量分析可提高您运行实验分析、扩展数据策略并帮助您实施机器学习的能力。
  • 产品直觉:了解产品将帮助您进行定量分析并更好地预测系统行为、建立指标并提高调试技能。
  • 沟通:可能是每个行业最重要的软技能,强大的沟通技巧将帮助你“利用所有列出的先前技能,”陈说。
  • 团队合作:就像沟通一样,团队合作对于成功的数据科学事业至关重要。 Chen 说,这需要无私、接受反馈并与您的团队分享知识。

Intelligent World 首席执行官 Ronald Van Loon 将商业头脑添加到列表中。 Van Loon 说,强大的商业头脑是引导数据科学家技术技能的最佳方式。 有必要辨别组织发展需要解决的问题和潜在挑战

要更深入地了解如何成为一名出色的数据科学家,请参阅“精英数据科学家的基本技能和特质”。

数据科学家教育和培训



有很多方法可以成为数据科学家,但最传统的途径是获得学士学位。 根据美国劳工统计局的数据,大多数数据科学家都拥有硕士学位或更高学位,但并不是每个数据科学家都拥有,而且还有其他方法可以培养数据科学技能。 在进入高等教育项目之前,您需要了解自己将从事的行业,以确定最重要的技能、工具和软件。

因为数据科学需要一些业务领域的专业知识,所以角色因行业而异,如果你在高科技行业工作,你可能需要进一步的培训。 例如,如果你在医疗保健、政府或科学领域工作,你需要的技能与在市场营销、商业或教育领域工作不同。

如果您想培养某些技能以满足特定行业的需求,可以使用在线课程、训练营和专业发展课程来帮助磨练您的技能。 对于那些考虑读研究生的人,有许多高质量的数据科学硕士课程,包括:

  • 统计学理学硕士:斯坦福大学数据科学
  • 信息与数据科学硕士:伯克利信息学院
  • 计算数据科学硕士:卡内基梅隆大学
  • 数据科学理学硕士:哈佛大学约翰·A·保尔森工程与应用科学学院
  • 数据科学理学硕士:华盛顿大学
  • 数据科学理学硕士:约翰霍普金斯大学怀廷工程学院
  • 分析学硕士:芝加哥大学格雷厄姆学院

数据科学认证



除了新手训练营和专业发展课程,还有很多有价值的大数据认证和数据科学认证可以提升你的简历和薪水。

  • Certified Analytics Professional (CAP)
  • Cloudera Data Platform Generalist Certification
  • Data Science Council of America (DASCA) Senior Data Scientist (SDS)
  • Data Science Council of America (DASCA) Principal Data Scientist (PDS)
  • IBM Data Science Professional Certificate
  • Microsoft Certified: Azure AI Fundamentals
  • Microsoft Certified: Azure Data Scientist Associate
  • Open Certified Data Scientist (Open CDS)
  • SAS Certified AI and Machine Learning Professional
  • SAS Certified Advanced Analytics Professional using SAS 9
  • SAS Certified Data Scientist
  • Tensorflow Developer Certificate

其他数据科学工作



数据科学家只是不断扩展的数据科学领域中的一个职位,并不是每家利用数据科学的公司本身都在招聘数据科学家。 根据 PayScale 的数据,以下是一些与

  • Analytics manager – $100,099
  • Business intelligence analyst – $70,868
  • Data analyst – $62,723
  • Data architect – $122,882
  • Data engineer – $93,145
  • Research analyst – $57,615
  • Research scientist – $82,957
  • Statistician – $77,545
本文地址
https://architect.pub/what-data-scientist-key-data-analytics-role-and-lucrative-career
SEO Title
What is a data scientist? A key data analytics role and a lucrative career

【数据科学家】公民数据科学家的时代已经到来

视频号

微信公众号

知识星球

Chinese, Simplified

软件工具使业务分析师能够在没有软件工程师和数据处理专家帮助的情况下生成分析模型和见解。

数据科学家的价值很高,这对 Google、Facebook、Amazon.com 和 Apple 以外的任何企业都构成了挑战。 有幸从大型科技公司挖走他们或从学术界挖来他们的首席信息官们在谈论他们将与他们的数据专家一起产生的所有商业洞察力时,都会自豪地微笑。

IBM 预计到 2020 年对数据科学家的需求将飙升 28%——这个数字可能是保守的。 为了解决人才短缺问题,公司正在构建软件来为公司完成繁重的工作,有效地从未嵌入 IT 的公司员工中培养“公民”数据科学家。

据研究公司 Gartner 称,公民数据科学包括允许用户在统计和分析领域以外的职位上从数据中提取预测性和规范性见解的能力和实践。 Gartner 分析师 Carlie Idoine 在一篇博文中表示,公民数据科学家是“高级用户”,例如没有计算机科学背景但可以执行简单到中等复杂的分析任务的业务分析师,而这些任务以前需要更多的专业知识。 她补充说,业务分析师等高级用户可以帮助缩小当前的技能差距。

Forrester Research 分析师布兰登·珀塞尔 (Brandon Purcell) 表示:“工具、技术、数据和模型的可用性不断提高,这使得洞察力能够传播给那些通常没有能力了解自己的人。”

数据科学为(几乎)所有人民主化



技术总能找到使信息访问民主化的方法。 那么改变了什么? 在大多数企业仍在采用的传统模型中,业务分析师与 IT 人员和数据科学家合作数月,以规划旨在生成预测洞察力的模型,而数据科学家通常从头开始构建模型。

现在,借助 IBM 的 SPSS 和 Alteryx 等工具,公民数据科学家(其中许多人没有或只有很少的编码经验)可以将数据模型拖放到某种软件画布上以获取见解。 Purcell 说,此类工具“使业务线分析师处理数据比在 Excel 中更容易”。

例如,通用汽车公司建立了 Maxis,这是一个分析平台,允许商业用户进行类似谷歌的查询,以获得销售预测和供应链绩效等运营指标的窗口。 专家们一致认为,通用汽车现在可能是一个异类,但很快就会有很多公司加入。

数据科学是石油巨头壳牌的一个关键重点,员工通过公司的 PB 数据来生成运营和业务洞察力。 壳牌数据科学卓越中心总经理 Daniel Jeavons 说,多亏了自助服务软件,以前可能无法利用分析的员工现在可以在没有技术帮助的情况下做到这一点。 例如,壳牌使用 Alteryx 的自助服务软件来帮助运行预测模型,预测数以千计的石油钻井机械零件何时可能发生故障。

“数据科学工具正在使低端数据科学大众化,因此或多或少任何人都可以做到,”Jeavons 说。 但另一方面,Shell 使用“强大的引擎”,例如 Google TensorFlow 和深度学习库 MXNet,以及 Python 和 R 编程语言。 “总会有一个跨越公民数据科学家和专业数据科学家的范围,我们必须支持两者。”

相反,公民数据科学家确实弥合了业务用户进行的自助式分析与归因于数据科学家的高级分析之间的差距。 Forrester 的 Purcell 表示,专业数据科学家在整个企业中构建和扩展数据模型和算法。

道明银行集团企业信息高级副总裁乔·多桑托斯 (Joe DosSantos) 说,由于现在广为接受的格言是数据是新石油,许多企业已经“被复杂分析的魅力所吸引”。 事实上,数据科学不再是关于巫师和神话中的独角兽。

DosSantos 说,TD Bank 使用范围广泛的基本到复杂的分析工具来更好地调整历史和当前客户数据,以及进行欺诈分析。 例如,该银行使用 AtScale 的软件来帮助业务用户从银行的 Hadoop 数据湖中查询实时数据并快速获得结果。 TD Bank 分析师在 Tableau 的自助可视化软件中查看数据。

数据科学家:仍然需要



其他软件供应商正在加速数据民主化趋势,通常采用机器学习 (ML) 和人工智能 (AI) 功能来构建自动化模型。

例如,Salesforce.com 提供 Einstein Prediction Builder,它允许业务分析师创建自定义 AI 模型,在任何自定义 Salesforce 字段或对象上添加变量以预测结果,例如客户流失的可能性或帐户的生命周期价值。 Adobe 的 Sensei 是另一种 ML 软件工具,可帮助营销人员在几分钟内启动营销活动,从而将任务缩短数小时。

Gartner 表示,到 2020 年,超过 40% 的数据科学任务可能会实现自动化。 “这种 [自动化 ML 方法] 是下一代数据科学,”Purcell 说。

当然,并非所有大数据挑战都能由公民数据科学家轻松解决。 公司仍然需要统计学家、数据科学家、精算师和其他精通高等数学技术的专家,德勤咨询公司认知和分析实践董事总经理比尔·罗伯茨 (Bill Roberts) 表示。 这些专家可以填补数据中的空白和缺失领域,而公民数据科学家不适合完成这些任务。

此外,罗伯茨指出,如果自助服务工具能够正常工作,可以很好地为企业服务,但如果不能正常工作怎么办? 如果出现问题并且数学不正确怎么办? 可能是算法本身有问题。 罗伯茨说:“当遇到困难或问题时,你需要受过一些培训或拥有更高学位的人来解决这个问题。”

本文地址
https://architect.pub/age-citizen-data-scientist-has-arrived
SEO Title
The age of the citizen data scientist has arrived

【数据科学家】应对数据科学家严重短缺的 6 种方法

视频号

微信公众号

知识星球

Chinese, Simplified

组织不应等待招聘广告空缺,而应重新思考、重新培训、重组并伸出援手,以填补数据科学人才缺口。

随着组织寻找能够从他们收集的所有信息中收集见解的专业人员,对数据科学家的看似永无止境的需求持续增长。

在 2019 年 1 月发布的一份报告中,商业和就业社交媒体网站 LinkedIn 根据薪资、职位空缺数量和同比增长等数据,将数据科学家列为 2019 年最有前途的工作。

根据该报告,今年预计将有 4,000 多个数据科学家职位空缺,比 2018 年增长 56%。数据科学类别中的顶级技能包括数据挖掘、数据分析和机器学习。

问题是,由于人才短缺,公司往往不能足够快地填补这些职位。 然而,这并不意味着他们无法获得数据科学家通常拥有的技能类型。 这可能需要一些创造性思维和毅力,但组织可以通过各种方式应对数据科学家的严重短缺。 这里有一些建议。

1. 寻找正在考虑转行的人



随着数据科学如今受到的所有关注,技术专业人士——甚至是非技术人员——可能会考虑进入该领域。

技术咨询公司 SPR 的企业架构执行副总裁 Pat Ryan 说:“我们从训练营中寻找能够改变职业的人。” “这些人有职业道德和自信,可以从他们熟悉的职业转向全新的领域。”

SPR 尽早让人们从工程等职业中走出来,并指导和培训他们掌握所需的数据科学技能。 瑞安说,与直接雇佣数据科学家相比,“这是一项长期得多的投资”。 “但我们的经验是,具有这种独特背景的人除了技术技能外,还具有人际交往能力和情境技能,而我们也很难找到这些。”

SPR 还希望聘用具有正式数据分析学术背景并具有工作经验的人员。 “这些人具有理解数学所需的学术背景,并有能力进行一些必要的开发,”瑞安说。

2.重新培训现有员工



在紧张的劳动力市场中招聘新技术工人可能很困难。 因此,组织正在转向他们自己的技术员工群来寻找潜在的数据科学家。 通过培训计划和卓越中心的使用,公司可以增加具有数据科学技能的内部员工的数量。

“我们希望在内部培训我们的数据工程师,他们了解如何设计数据解决方案,包括如何应用机器学习算法,以及额外的必要数学和统计知识,”Ryan 说。 “通过这种方式,他们可以理解 R 平方或混淆矩阵在告诉他们什么。”

安永咨询公司安永美洲咨询和金融服务办公室创新负责人罗杰帕克表示,许多组织面临的挑战是缩小专业知识和经验之间的差距。 该公司对所有员工进行数据科学方面的培训,而不仅仅是该领域的员工。

“我们激励我们的员工积极参与并完成新的培训,”Park 说。 “例如,我们有一个名为 EY Badges 的项目,该项目允许人们通过获得数字证书来投资自己的职业生涯,这些证书可以使他们在市场上脱颖而出,例如数据可视化、人工智能、数据转换和信息战略。”

Park 说,通过激励人们获得新徽章并提供强大的课程,该公司正在让培训变得更轻松、更有趣。

安永用来帮助激励人们学习新技能的另一种策略是游戏化。 “当新技术出现时,我们还不知道在哪里使用它,我们会开发基于奖励的挑战——想想黑客马拉松——让我们的员工想出有趣的用途和应用程序,”Park 说。 “我们利用人们尝试新产品或工具的愿望,建立新的方法将这些新技术和技能带入我们的日常工作中”

3. 利用导师制并建立卓越中心



许多组织内部已经拥有大量数据科学家,他们可以帮助与有抱负的数据科学家以及已经在该领域工作的人分享知识。 通过指导,经验丰富的专业人士可以向新员工传授有关企业内部运作的知识。

“一种策略是让新人才与了解业务的导师合作,”Park 说。 “每个优秀的数据科学部门都需要三样东西:知道如何编写算法的人、知道如何对这些算法进行编程的人以及具有商业头脑的人。”

Park 说,学术界无法教人们如何将业务部门与数据科学结合起来。 这就是在组织内创建卓越分析中心可以提供帮助的地方,因为它们将志同道合的个人聚集在一起,他们继续相互挑战并尽其所能地使用技能。

通过这些中心,“数据科学家可以嵌入到整个组织中,并可以就其领域之外的项目进行咨询,”Park 说。

4. 依靠技术



谁说只有数据科学家才能利用信息来增加商业价值? 一些公司发现组织中几乎任何人都可以承担数据科学家所扮演的某些角色——至少在某种程度上是这样。

电子商务零售商 Zulily 解决数据科学人才短缺的一种方法是将公司的数据“民主化”到其整个员工群,使数据科学家能够专注于更具战略性的业务挑战和机遇。

“在我们的世界中,我们每天个性化和发布数百万个版本的网站,我们业务的方方面面都归结为我们如何处理、分析和从数据中学习,”技术副总裁 Bindu Thota 说。

Thota 说,无论数据是来自新获得的客户对营销计划的反应,还是为每个购物者提供个性化的最相关的策划销售活动,都是如此。

该公司创建了专有工具,允许其在销售、营销、运营和其他领域的员工访问仪表板和每日报告,从而能够根据业务的任何活动进行自主决策。

商业和技术咨询公司 West Monroe Partners 的高级架构师 Jeremy Wortz 说:“组织中有些人的能力和技能不为人知,领导层帮助员工实践和发展这些才能至关重要。”

“几乎每个组织都有数据科学爱好者,”Wortz 说。 “关键是要有一个展示这些本土技能并评估潜在人才的场所。 “培养自己的人才”一词意味着对您的员工产生兴趣,以发现看不见的人才——直到这些“未知数”成为高技能的科学家和工程师。”

Wortz 说,机器学习自动化技术通过降低构建算法等任务的复杂性,使这变得更加可行。

Monroe Partners 在内部发现了新的数据科学家,并帮助客户这样做。 Wortz 说:“我们帮助一家银行举办了全公司范围的机器学习挑战赛——黑客马拉松——在该挑战赛中,有一些在银行分行工作的初级人员能够确定解决方案。”

5.与高等教育合作



Wortz 说,学院和大学的数据科学项目有所增加,这些项目直到大约八年前才出现。 在可行的情况下,组织应与这些机构建立工作关系。

“虽然这些项目仍在开发中,但它们已经显示出早期的、有希望的迹象,”Wortz 说。 “我们知道这一点,因为我们看到技能在涌入的初级人才中显现出来。”

Monroe Partners 与大学的系主任和兼职教授建立了关系,他们发现并向公司推荐有前途的初级人才。

公司应该与这些机构结成联盟,并制定强有力的校园招聘战略,毕马威咨询公司数据、分析和人工智能领域的美国负责人 Brad Fisher 补充道,该公司拥有一个数据科学家部门。

Fisher 说:“我们的招聘引擎会持续运行一年,招聘人员和招聘经理之间每周都会有接触点。” 该公司与许多机构的分析项目建立了合作伙伴关系。

6. 利用社区和多样性



候选人库越大,找到人才的机会就越大。 一些公司正在探索如何接触更广泛的社区,让人们对数据科学和相关主题感兴趣。

“重要的是培养下一代数据科学家,并创造机会在社区内各个不同层次的教育领域探索该领域,”Thota 说。 “我们引进了来自不同经济背景的女高中生,帮助她们了解数据科学、机器学习和大数据,以便实时构建应用程序。”

Zulily 邀请分析师和数据科学家团队到其位于西雅图的总部,并参与营销分析和数据科学会议等社区,以分享其经验并与其他组织合作。

“与我们处理客户体验的方法类似,我们试图创造独特的方式来引起人们对我们利用数据科学构建的技术的兴趣,”Thota 说。 2019 年 6 月,该公司将与其合作伙伴美国职业足球大联盟球队 Sounders FC 举办一场黑客马拉松,以利用体育数据解决技术挑战。

尽管科技行业拥有大量数据科学家,但 Zulily 在寻找人才时并不局限于该领域。 “在我看来,技术领导层可能犯的最大错误之一就是严格只从技术部门招聘,”该公司首席信息官 Luke Friang 说。 强大的计算机科学工程知识是关键,以及

扎实的数学基础。

“但伟大的人才可以来自许多行业,无论是学术界、医疗保健还是非营利部门,”Friang 说。 “这些行业通常鼓励我们在 Zulily 寻找的特征:发明家、创造性的问题解决者、想要拥有某样东西并让它变得更好的人。”

本文地址
https://architect.pub
SEO Title
6 ways to deal with the great data scientist shortage

【数据科学家】数据科学家做什么的? 这些有需求的专业人士中有 7 位提供了他们的见解

视频号

微信公众号

知识星球

Chinese, Simplified

我们采访了一些担任此职位的罕见独角兽,以了解这份工作以及让他们到达那里的技能和教育。

认识数据科学家



当我们中的许多人还在上大学时,数据科学家的角色并不存在。 它是分析数据的科学和统计方法的混合体,结合了解如何使用从海量数据库中提取模式和答案的工具。 听起来沉闷? 没那么多。 事实上,早在 2012 年,《哈佛商业评论》就将其称为“21 世纪最性感的工作”。

所以,自然地,每个人都想要一个。 但更重要的是,现在我们已深入信息时代,每个企业——无论最终产品或客户——都需要一个。

据 IBM 称,世界上大部分数据是在过去两年内创建的。 而且我们创造它的速度比以往任何时候都快:作为一个整体,我们每天生成 2.5 quintillion 字节的数据。 但是如果没有一种引导和探测它的方法,一个人更有可能被它淹没,而不是用它来做出明智的商业决策。 一个数据科学家——或他们的团队——知道如何理解那堵噪音墙,帮助公司响应客户需求和投诉,控制开支和制造,了解趋势如何影响利润,以及你可以从中挖掘的所有其他东西 前所未有的数据洪流。

问题是? 数据科学家——如果你在街上听到这个词——和独角兽一样稀有。

好吧,我们找到了一些。 而且,一旦我们将他们逼入绝境,我们就会向这些专业的回答者提出问题。 我们学到了东西。 也就是说,物理学——甚至天体物理学——在这里被使用,工作很混乱,即使是制鞋商也有大量数据,即使你对大量数据提出大问题,仍然需要有人来决定做什么。

继续阅读以认识其中一些性感的独角兽。

Meggie von Haartman

梅吉·冯·哈特曼 (Meggie von Haartman) 在这个头衔出现之前就一直是一名执业数据科学家。 她拥有工业工程博士学位,专攻优化和运筹学,在担任目前的职位之前,她在硅谷的一家初创公司工作了太多时间,在那里她愉快地构建数据模型以帮助 Efinancial 实现其营销目标。 “在某个时候重塑品牌是有意义的,”她谈到自己的头衔时说。

我们这些不是数据科学家的人往往不知道一件事? “数据科学很混乱,”她说。 她的大部分时间都花在打扫卫生上。 “我 20% 的时间花在了实际的数据建模和科学上。 另外 80% 是数据清理和获取。

不处理数据时,她喜欢自己做一些研究。 “我目前正在研究培养快乐孩子的最佳方法。”

她最近读的书?

每个人都在说谎:大数据、新数据以及互联网可以告诉我们的真实身份塞思·斯蒂芬斯-戴维多维茨 (Seth Stephens-Davidowitz)

在她的杯子里?

比利时特拉普啤酒。 “我最喜欢的是奇美,”她说。 “为了喝啤酒,我去过奇梅小镇两次,后者是从巴黎绕行三个小时的路线。”

安东尼罗斯

从 Anthony Rose 的角度来看,为粒子物理学处理数据与在机场叫优步所面临的数据挑战并没有太大区别。

在优步,他管理着一个数据科学家团队,专注于改善机场、大型活动和郊区等具有挑战性的地方的乘车体验。 他们与工程和产品团队密切合作,处理从统计分析、数据可视化、实验、机器学习和建模在内的一切事情。“我们拥有大量数据,”他说。 “如果有足够的时间,我们可以提出大量有趣的问题。”

这与他为获得粒子物理学博士学位所做的工作没有什么不同。 他在欧洲核子研究中心 (CERN) 的大型强子对撞机进行博士后研究,致力于希格斯粒子的发现、寻找新物理学以及其他涉及大量数据和复杂答案的巨大问题。 “这种工作很好地映射到我在工业界所做的事情,”他说。 “具有隐藏信号、实验设计以及大量统计数据和编码的大数据集。”

 

Danielle Dean

对于丹妮尔·迪恩 (Danielle Dean) 而言,数据科学始于心理学。 “我攻读了博士学位。 在定量心理学中,因为我对如何使用数学和统计学来大规模研究个人行为很感兴趣。”

这听起来很像我们现在所说的数据科学。 “我学会了如何思考数据测量、分析和可视化,并使用技术——编程语言和工具——来实现它,”她说。 这非常适合她在微软人工智能和研究小组的工作,在那里她领导着一个跨学科团队——有来自物理学、海洋学、计算机科学、统计学和神经科学的代表——数据科学家和工程师构建预测分析 和机器学习解决方案。

“这是一个有趣的角色,因为我既可以与客户一起构建自定义分析解决方案,也可以与产品团队合作以确保产品随着时间的推移得到改进,以便我们可以继续解决更大的问题。”

 

布拉德莫加特

Morgart 在 Booz Allen 的团队分析不动产和基础设施投资组合,以帮助客户确定资金需求并告知他们的决策。 “基础设施和房地产资产的维护成本非常高,”他说。 “我们的团队使用数据分析来支持我们的客户进行高效的资产管理。”

Morgart 长期以来一直在做这种数据分析。 但在过去一年左右的时间里,他的客户越来越希望利用许多大型数据集来做出决策——通常需要快速的周转时间。 这促使他和他的团队超越了 Microsoft Excel 和 Access to SQL、Python 和 R 等传统工具。

“受到这种需求的刺激,”他说。 “我抓住了这个机会,接受了 Booz Allen 提供的额外培训,成为了一名数据科学家。” 该公司长期以来一直致力于培养一流的数据科学团队,最近推出了帮助分析师向数据科学家转型的基础课程。

他最大的工作挑战是解释客户请求,因此他的团队可以提供有意义的分析。 “您可以使用高级分析工具快速处理和分析大量数据,但您仍然需要了解客户的使命和目标。 分析是我们工作的很大一部分。 但它最终是一种为我们的决策提供信息的工具。”

 

丽莎伯顿

丽莎·伯顿 (Lisa Burton) 为处于早期阶段、女性领导的媒体和科技初创公司管理温室。 “我们的团队寻找并投资于公司。”

她的博士学位是机械工程,专注于数据驱动的数学建模,这是迈向数据科学的自然步骤。 “当我毕业时,”她说,“数据科学才刚刚开始蓬勃发展。 但当我了解到公司希望从数据科学家那里得到什么时,我很快意识到这就是我喜欢我的研究的一切。”

因此,刚从研究生院毕业,她就成为了奥斯汀一家广告技术初创公司的第一位数据科学家。 她喜欢它。 她使用数据来优化付费搜索广告的出价,以自动化和改进流程。 从那里,她去了一家移动支付初创公司,然后作为一名独立的初创公司数据科学顾问独立出来。 在那里,她遇到了一位客户,这位客户最终成为了她在一家使用社交媒体数据帮助品牌了解客户的公司的联合创始人。

她将所有这些经验带到了她目前的角色中。 “我们遇到了最不可思议的创始人和公司,”她说。 但她在第一份工作中学到的一件事影响了此后的一切:我了解到能够向广大受众传播数据科学并让他们兴奋并接受是非常重要的。 这适用于我从那以后所做的一切。”

 

尼廷马延德

Mayande 一直对网络及其运作方式着迷。 但在他获得电子和电信学位后,他想学习天体物理学。 在申请研究生院时,他曾在印度的一家工程公司工作。 “我注意到我一直想实施最好的技术解决方案,但管理层总是选择技术上较差但花费更少时间的解决方案。” 这让他对决策科学产生了兴趣,并改变了路线。 他没有攻读天体物理学,而是攻读了工程管理博士学位。 “我挖掘得越深,就越意识到——无论网络的类型是什么——工程、天体物理学或管理——解决方案都是关于它的结构。 这最终让我成为了一名数据科学家。”

如今,Nitin 创建了支持 Nike 重大产品规划决策的预测。

他还想纠正对数据科学家的误解。 “人们认为我们把所有的时间都花在了构建复杂的算法上。 但我们的大部分时间都花在了清理数据以使其成为可用格式上。” 一旦一切正常,分析就会立即发生。 “但要达到这一点需要大量的细节工作和解决问题。”

 

叶钊

作为一名在 Spotify 的新自助广告平台 Ad Studio 工作的数据科学家,Ye 寻找见解来帮助音乐公司做出产品决策。 这本质上是流媒体音乐公司的营销工作。 但叶一开始是一名物理学家。

她一直对物理感兴趣,在学术界做物理研究,甚至有一颗以她名字命名的小行星来证明。 她是怎么进入 Spotify 的? “我觉得数据科学采用了物理学的严谨和技术部分,并将其应用于一个引人入胜的话题:人类行为,”她说。

她将寻找小行星的物理学家所具备的所有令人讨厌、喜爱泰迪熊的创客精神带到了她在音乐公司的工作中。 “我们在一个由 2000 个 LED 组成的定制 LED 阵列上进行了物理数据可视化,以可视化美国 Spotify 上的流媒体数据。 这是硬件、后端和数据工作的良好结合。 我们在黑客周期间做到了。”

 

本文地址
https://architect.pub
SEO Title
What does a data scientist do? 7 of these in-demand professionals offer their insights

【数据科学家】数据科学家职位描述:吸引顶尖人才的技巧

视频号

微信公众号

知识星球

Chinese, Simplified

寻找优秀的数据科学人才始于杀手级的职位描述。 这是正确的方法。

寻找优秀的数据科学人才始于有效的职位描述。 但要恰到好处地发布职位,组织必须了解他们所针对的人才市场和角色。

人工智能和深度学习公司 Skymind 的联合创始人兼首席执行官、开源框架 Deeplearning4j 的联合创始人 Chris Nicholson 表示,在当今的数据科学就业市场,需求远远超过供应。 他说,这意味着组织必须抵制诱惑,不去寻找具备所有最后必需的数据科学技能的候选人,而倾向于招聘有潜力的人,然后在工作中进行培训。

“很多数据科学都与统计、数学和实验有关——所以你不一定要找有计算机科学或软件工程背景的人,尽管他们应该有一些编程经验,”Nicholson 说。 “你需要来自物理科学、数学、物理学、自然科学背景的人; 受过训练来思考统计思想和使用计算工具的人。 他们需要有能力查看数据并使用工具来操纵它,探索相关性并生成进行预测的数据模型。”

Nicholson 说,因为数据科学家的工作不是设计整个系统,所以最少的编程经验就可以了。 毕竟,大多数组织可以依靠软件工程、DevOps 或 IT 团队来构建、管理和维护基础设施以支持数据科学工作。 相反,强大的数据科学候选人通常具有科学背景,并且应该精通一种或多种不同堆栈中的数据科学工具。

以下是如何制作合适的数据科学职位发布——并吸引人才。

一般最佳实践



Triplebyte 的首席数据官兼联合创始人 Ammon Bartram 说,在起草任何职位描述时,你主要是在推销你的组织和职位。 目标是传达为什么该角色是一个令人兴奋的机会,而不是只关注技能和责任。 Bartram 说,许多寻求数据科学家的组织都犯了这个错误,这让他们立即处于劣势。

“招聘人员经常写这样的话,‘必须拥有技术学位,三年的经验,并且对 Apache Hadoop 有深入的了解。’这是一个错误,即使你真的想要具有这些属性的人,”Bartram 说。 “对于像数据科学这样的高技能职位,目标是让可能持观望态度的求职者相信你的公司和你的职位很有趣,值得他们花时间。”

这一点尤其重要,不仅因为市场如此火爆,还因为,Nicholson 说,“许多必要的技能是行业和公司特有的。 组织使用不同的语言,更喜欢某些供应商的技术栈和特定的专有工具,所以这取决于招聘团队来了解哪些。”

Bartram 说,相反,应关注公司的使命、该职位将完成的工作,以及应聘者将要解决的令人兴奋的问题的任何技术细节。 “特别是对于数据科学,写下候选人将可以访问的有趣数据集会很有用——数据科学候选人喜欢在很酷的数据集上钻研,”他说。

通过以这种方式开始你的工作描述,你将更容易吸引候选人,然后你可以继续学习该角色所需的更难的技术技能。

需要特定技能



具体的语言和工具因公司而异,但最重要的是熟练掌握统计数据,其次是一些编程经验,以及对数据系统的熟悉程度,Bartram 说。 在这里,重要的是在必要时具体说明。

“除了基本技能外,公司可能还需要机器学习知识——了解特定的机器学习模型,以及与之合作的常用工具。 Tensorflow 和 scikit-learn 是两个最常用的 ML 库,”Bartram 说。 “公司可能需要在他们使用的任何特定编程语言方面的经验,如 Python、Java、R 等。公司可能希望熟悉他们使用的特定数据系统,如 PostgreSQL、MongoDB、Airflow、Hadoop、Redshift。”

Nicholson 将 Matlab 添加到基础知识列表中,Matlab 是一种数值计算环境和 Mathworks 的专有编程语言。

Nicholson 说:“这些是大多数自然科学专业人士和统计学家都熟悉的工具,因此你可以很好地了解候选人是否能够‘正确’地思考这些问题。” “如果他们从事机器学习——Python 以及 Canvas、Keras 和 Tensorflow 等 Python 工具已成为该领域的首选语言。 不过,如果他们有其中之一但没有另一个,那也不是交易破坏者。 更重要的是他们熟练掌握一种工具,因为这表明他们可以快速掌握新工具。”

销售参与平台公司 Outreach 的数据科学副总裁帕维尔·德米特里耶夫 (Pavel Dmitriev) 在招聘时使用了更广泛的清单,并补充说,要想在 Outreach 取得成功,求职者应该具备所有这些方面的工作知识,但至少要精通其中的几项。

“其中一些是特定领域的; 对我们来说,自然语言对我们的业务非常重要,但在其他公司中可能有所不同,”Dimitriev 说。 “但是,总的来说,我们寻找编码和算法方面的技能; 数据操作; 大数据管理; 机器学习; 自然语言处理; 商业理解; 如何将问题形式化并将其转化为数学问题; 和沟通技巧。”

软技能



Bartram 说,由于数据科学家必须与广泛的同事合作,软技能是必不可少的,在任何职位描述中都不应该被忽视。 沟通、团队合作、协作以及热情和使命对任何数据科学候选人都至关重要。

“软技能很重要,”巴特拉姆说。 “作为一名数据科学家需要与同事沟通并在团队中工作。 这里影响求职者是否收到录取通知书的主要两项技能是他们的沟通能力,以及他们对公司所做工作的热情。”

请务必不仅包括您喜欢的角色软技能,还要简要说明数据科学如何适合您的组织——这样候选人将更好地了解这些软技能将如何在角色中发挥作用。

现在您已经掌握了所有的部分,您可以将一份出色的数据科学职位描述放在一起,这肯定会吸引到优秀的候选人。

本文地址
https://architect.pub
SEO Title
Data scientist job description: Tips for landing top talent

【数据科学家】精英数据科学家的基本技能和特质

视频号

微信公众号

知识星球

Chinese, Simplified

如今,数据科学家为王。 但从数据中提取真正的商业价值需要技术技能、数学知识、讲故事和直觉的独特结合。

数据科学家的需求量仍然很大,几乎每个行业的公司都希望从其新兴的信息资源中获得最大价值。

“随着组织开始充分利用其内部数据资产并检查数百个第三方数据源的集成,数据科学家的作用将继续扩大相关性,”咨询公司主管 Greg Boyd 说 甫瀚。

“在过去,负责数据的团队被下放到 IT 组织的后台,执行关键的数据库任务,以保持各种公司系统被提供数据‘燃料’,[这] 允许公司高管报告运营情况 活动并交付财务成果,”博伊德说。

这个角色很重要,但业务的后起之秀是那些精明的数据科学家,他们不仅能够使用复杂的统计和可视化技术处理大量数据,而且拥有敏锐的洞察力,他们可以从中获得前瞻性的见解 ,博伊德说。 这些见解有助于预测潜在结果并减轻对业务的潜在威胁。

那么,怎样才能成为数据科学高手呢? 根据 IT 领导者、行业分析师、数据科学家和其他人的说法,这里有一些重要的属性和技能。

批判性思维



数据科学家需要成为批判性思考者,能够在形成观点或做出判断之前对给定主题或问题的事实进行客观分析。

“他们需要了解业务问题或正在制定的决策,并能够‘建模’或‘抽象’对解决问题至关重要的内容,而不是无关紧要且可以忽略的内容,”全球人工智能和创新部门的 Anand Rao 说 咨询公司 PwC 的数据和分析主管。 “这项技能比其他任何东西都更能决定数据科学家的成功,”Rao 说。

Zeta Global 的首席信息官 Jeffry Nimeroff 补充说,数据科学家需要有经验,但也需要有能力保持信念。Zeta Global 提供基于云的营销平台。

“这种特质抓住了这样一种想法,即知道在任何领域工作时会发生什么,但也知道经验和直觉是不完美的,”Nimeroff 说。 “经验会带来好处,但如果我们过于自满,也并非没有风险。 这就是信念的悬念很重要的地方。”

Nimeroff 说,这不是用新手的大眼睛来看待事物,而是退后一步,能够从多个角度评估问题或情况。

编码



一流的数据科学家知道如何编写代码,并且能够轻松处理各种编程任务。

“数据科学的首选语言正在转向 Python,R 也有大量追随者,”Rao 说。 此外,还有许多其他语言在使用,例如 Scala、Clojure、Java 和 Octave。

“作为一名真正成功的数据科学家,编程技能需要包括计算方面——处理大量数据、处理实时数据、云计算、非结构化数据,以及统计方面——[和]工作 使用回归、优化、聚类、决策树、随机森林等统计模型,”Rao 说。

安全软件公司 McAfee 的首席数据科学家 Celeste Fralick 说,从 1990 年代后期开始的大数据的影响要求越来越多的数据科学家了解并能够使用 Python、C++ 或 Java 等语言进行编码。

如果数据科学家不懂如何编码,那么周围都是懂的人会很有帮助。 “将开发人员与数据科学家合作可以证明是非常富有成果的,”Fralick 说。

数学



对于不喜欢或不精通数学的人来说,数据科学可能不是一个好的职业选择。

“在我们与全球组织的合作中,我们与寻求开发复杂财务或运营模型的客户接洽,”博伊德说。 “为了使这些模型具有统计相关性,需要大量数据。 数据科学家的作用是利用他们在数学方面的深厚专业知识来开发可用于制定或转变关键业务战略的统计模型。”

数据科学家天才是擅长数学和统计学的人,同时能够与业务线高管密切合作,以提供再保证的方式传达复杂方程式“黑匣子”中实际发生的事情 博伊德说,企业可以信任结果和建议。

机器学习、深度学习、人工智能

Fralick 说,由于计算能力、连接性和收集的大量数据的增加,这些领域的行业发展非常迅速。 “数据科学家需要在研究中走在前沿,并了解何时应用何种技术,”她说。 “很多时候,数据科学家会应用一些‘性感’的新事物,而他们要解决的实际问题并不那么复杂。”

Fralick 说,数据科学家需要对要解决的问题有深刻的理解,而数据本身会说明需要什么。 “了解生态系统的计算成本、可解释性、延迟、带宽和其他系统边界条件——以及客户的成熟度——本身有助于数据科学家了解应用什么技术,”她说。 只要他们了解技术,情况就是如此。

同样有价值的是统计技能。 大多数雇主不考虑这些技能,Fralick 说,因为今天的自动化工具和开源软件很容易获得。 “然而,理解统计数据是理解这些工具和软件所做假设的关键能力,”她说。

数据存储提供商 Micron Technology 的首席信息官 Trevor Schulze 表示,仅了解机器学习算法的功能接口是不够的。 “要为工作选择合适的算法,成功的数据科学家需要了解方法中的统计数据和适当的数据准备技术,以最大限度地提高任何模型的整体性能,”他说。

舒尔茨说,计算机科学技能也很重要。 因为数据科学主要是在键盘上完成的,所以软件工程的扎实基础会很有帮助。

沟通



沟通技巧的重要性值得重复。 当今的技术几乎没有任何事情是在真空中进行的。 系统、应用程序、数据和人之间总是存在一些集成。 数据科学也不例外,能够使用数据与多个利益相关者进行交流是一个关键属性。

“通过数据‘讲故事’的能力将数学结果转化为可操作的洞察力或干预措施,”Rao 说。 “处于业务、技术和数据的交叉点,数据科学家需要善于向每个利益相关者讲述一个故事。”

这包括向业务主管传达数据的商业利益; 关于技术和计算资源; 关于数据质量、隐私和机密性方面的挑战; 以及组织感兴趣的其他领域。

Nimeroff 说,成为一名优秀的沟通者包括将具有挑战性的技术信息提炼成完整、准确且易于呈现的形式的能力。 “数据科学家必须记住,他们的执行产生的结果可以而且将会用于支持企业的定向行动,”他说。 “因此,能够确保观众理解并欣赏呈现给他们的一切——包括问题、数据、成功标准和结果——是最重要的。”

Schulze 说,一名优秀的数据科学家必须具备商业头脑和好奇心,才能充分采访业务利益相关者以了解问题并确定哪些数据可能相关。

此外,数据科学家需要能够向商业领袖解释算法。 Schulze 说:“交流算法如何得出预测结果是获得领导者对预测模型作为其业务流程一部分的信任的关键技能。”

数据架构



数据科学家必须了解从开始到建模再到业务决策的数据发生了什么。

“不了解架构会对样本量推断和假设产生严重影响,通常会导致不正确的结果和决策,”Fralick 说。

更糟糕的是,架构内的事情可能会发生变化。 Fralick 说,如果一开始不了解它对模型的影响,数据科学家可能最终会“在模型重做的风暴中或突然不准确的模型中不理解原因”。

Fralick 说,虽然 Hadoop 通过将代码交付给数据而不是相反来支持大数据,但理解数据流或数据管道的复杂性对于确保基于事实的良好决策至关重要。

风险分析、流程改进、系统工程



敏锐的数据科学家需要了解分析业务风险、改进流程以及系统工程工作原理的概念。

Fralick 说:“我从未认识过没有这些”技能的优秀数据科学家。 “他们齐头并进,都在内部专注于数据科学家,但在外部则专注于客户。”

Fralick 说,在内心深处,数据科学家应该记住头衔的后半部分——科学家——并遵循好的科学理论。

在模型开发开始时进行风险分析可以降低风险。 “从表面上看,这些都是数据科学家向客户询问他们试图解决的问题所需要的所有技能,”她说。

Fralick 说,将支出与流程改进联系起来,了解公司固有的风险和其他可能影响数据或模型结果的系统,可以提高客户对数据科学家工作的满意度。

解决问题和良好的商业直觉



Nimeroff 说,一般来说,伟大的数据科学家所表现出的特征与任何优秀的问题解决者所表现出的特征相同。 “他们从多个角度看世界,他们在拿出所有工具之前先了解自己应该做什么,他们以严谨和完整的方式工作,他们可以流畅地解释他们的结果 执行,”尼梅罗夫说。

在评估技术专业人员担任数据科学家等角色时,Nimeroff 会寻找这些特征。 “这种方法产生的成功远多于失败,而且还确保了潜在的优势最大化,因为批判性思维被带到了最前沿。”

寻找一个伟大的数据科学家需要找到一个技能有些矛盾的人:处理数据处理和创建有用模型的智能; 商业软件提供商 Paytronix Systems 的 Paytronix Data Insights 负责人 Lee Barnes 表示,以及对他们试图解决的业务问题、数据的结构和细微差别以及模型如何工作的直观理解。

“第一个最容易找到; 巴恩斯说,大多数拥有良好数学技能并拥有数学、统计学、工程学位或其他科学学科学位的人都可能拥有足够的智力来完成这项工作。 “第二个更难找到。 令人惊讶的是,我们采访的人中有多少人建立了复杂的模型,但当追问他们为什么认为该模型有效或为什么选择他们所采用的方法时,他们却没有一个好的答案。”

这些人很可能能够解释模型的准确性,“但如果不了解它为什么以及如何工作,就很难对他们的模型有足够的信心,”巴恩斯说。 “对自己所做的事情有更深刻理解和直觉的人是真正的数据科学奇才,很可能会在这个领域取得成功。”

本文地址
https://architect.pub/essential-skills-and-traits-elite-data-scientists
SEO Title
Essential skills and traits of elite data scientists

【数据科学家】雇用(和留住)数据科学家的专家提示

视频号

微信公众号

知识星球

Chinese, Simplified

数据科学人才市场紧张。 为了脱颖而出,IT 领导者建议建立创新的、目标驱动的角色,以确保数据科学家能够在您的组织中茁壮成长。

随着 IT 领导者越来越需要数据科学家从不断增长的海量数据中获得改变游戏规则的洞察力,聘用和留住这些关键数据人员变得越来越重要。

由于没有足够的训练有素的高级数据科学家来填补所有职位空缺,首席信息官正在与人力资源和招聘专家合作,寻找吸引求职者的方法。 一旦他们雇用了他们,诀窍就是让这些备受追捧的员工不会离开去寻找另一份工作——尤其是在竞争对手那里。

“公司正在努力招聘真正的数据科学家,”位于马萨诸塞州剑桥的行业分析公司 Forrester 的副总裁兼首席分析师 Brandon Purcell 说。 “这非常非常具有挑战性,尤其是如果 [这些公司不是] 最大的品牌和知名度的话。 数据科学家拥有将数据转化为洞察力的炼金术。 ......关于如何雇用和留住他们有很多想法。

这在每个行业都是如此,从医疗保健到农业,再到零售、制造、金融等等。

这种技能独特、相对较新的数据专家使用统计数据、机器学习、算法和自然语言处理来收集和分析结构化和非结构化数据,以解决实际业务问题。 作为大数据的争论者,他们可以改善客户体验、推动新产品的发展并找到影响关键业务决策的隐藏模式。

但是对于所有希望利用它们的公司来说,训练有素的——更不用说经验丰富的——数据科学家了。 使这个问题更加复杂的是,吸引和雇用这些 IT 专业人员的斗争绝大多数是由科技和互联网巨头领导的,例如亚马逊、谷歌和 Facebook,它们可以提供令人印象深刻的品牌名称,以及各种各样的项目选择,数量巨大 薪资待遇和股票期权。

根据 Gartner 2021 年的一份研究报告,聘请高级数据科学家“非常困难”,甚至寻找初级数据科学人才也具有挑战性。 2021 年 Forrester 的一份报告也得出了类似的结论,该报告指出,55% 的受访公司希望聘请数据科学家。 该报告还指出,62% 的人需要数据工程师,37% 的人需要机器学习工程师——这两者都是关键的数据科学支持角色。

这些工作能带来丰厚的薪水。 Gartner 报告称,华盛顿特区的一名数据科学家,如果拥有八年或以上的经验,预计年薪为 174,000 美元,而经验不超过两年的则为 110,000 美元。 在旧金山,相应的数字是 192,000 美元和 118,000 美元。

是的,在这个市场上吸引熟练的数据科学家时,提供有竞争力或更好的资金是一个关键因素。 但要吸引数据科学人才,通常需要的不仅仅是这些——正如这些 IT 领导者和行业分析师所证明的那样,它远远超出了办公室乒乓球、周五披萨午餐和免费袋装海藻薯片的范围。

专注于目的



Synchrony 的高级副总裁兼首席信息官 Bess Healy 拥有 7240 万个活跃客户账户和 7 万亿个数据点,她一直在寻求扩大她的数据科学团队。

“与许多其他机构一样,我们的数据量正在大幅增长。 它是提供我们洞察力的燃料,”希利谈到这家总部位于康涅狄格州斯坦福德的消费者金融服务公司时说。 “随着时间的推移,我们的需求将继续增长。 我们必须吸引并留住这些技能组合。 我们知道我们每天都在为他们竞争。 保持领先于我们的竞争对手是我们的一大重点。 我们不觉得落后,但我们非常注重不落后。”

为了找到并留住强大的数据科学家,Synchrony 提供灵活的工作时间、继续教育机会和远程工作选项,例如在家工作或混合家庭/办公室时间表。

对于 Oshkosh 的高级副总裁兼首席信息官 Anupam Khare 来说,他们吸引所需数据科学家和其他数据专家的价值主张是为他们提供鼓舞人心的项目。 这家总部位于威斯康星州的工业公司设计并制造了广泛的产品,包括特种卡车、军用车辆和机场消防设备。

“我们可以赋予他们工作意义。 我们基本上设计和制造有助于我们社区的产品,这很吸引人,”Khare 说。 “我们制造的产品服务于日常英雄——消防员、士兵、环保和垃圾处理工人。 这是一个非常强大和鼓舞人心的使命。 ......你可以看到你已经完成了一个有助于生产的分析模型,这意味着我们的消防员会按时完成任务并 [获得] 更好的产品。 这是真实的东西,你能感觉到。”

首席信息官还指出,豪士科专注于利用数据优化其业务的突破性技术,连续四年荣获著名的 CIO 100 奖,该奖项旨在表彰以创新方式使用 IT 的公司。 他们还获得了 2021 年麻省理工学院斯隆 CIO 领袖奖。 这种创造性和引人入胜的工作的声誉有助于吸引想要从事创造性工作的专业人士。

OshKosh 的数据科学团队还面临着广泛的问题需要解决,致力于解决影响从制造到销售和供应链的方方面面的问题。 这不仅使他们的日常工作多样化; Khare 解释说,它还扩展了团队的技能组合。

“在数字技术团队中,我们拥有非常创新和进步的文化,专注于尝试新事物和学习。 他们开始使用新技术并接触到很酷的技术,”Khare 说。 “在这里,您可以将想法变为现实。”

让创新者创新



位于马萨诸塞州尼达姆的行业分析公司 IDC 智能未来研究总监 Chandana Gopal 表示,为数据科学家提供尖端技术和有趣的项目是吸引和留住他们的关键。

招聘经理和 IT 领导者需要记住,数据科学家是受过高等教育和训练有素的专业人士,通常拥有数学或数据科学博士学位。 他们渴望解决对业务至关重要的难题,并可能对科学、他们的社区或社会产生更广泛的好处。 如果这个问题以前从未解决过,那就更好了。

“如果他们对自己所做的事情感到厌倦,他们就不会留下来,”戈帕尔说。 “你必须确保他们是你生态系统中有价值的一部分,他们不做数据准备,他们正在研究重要的、有趣的问题。 确保将他们与业务方面的人员合作,以便他们能够满足大业务需求。 并为他们提供一个由了解数据的人组成的支持团队。”

公司也不应该做出他们无法兑现或无意兑现的承诺,因为留住数据科学家与最初雇用他们一样困难。

“让他们看到项目完成。 如果你有可以执行低级或重复性任务的软件,请确保你培训人们使用它来减轻你的顶级数据人员的这些工作,”Gopal 说。 “确保他们受到挑战。 确保它们受到重视。 向他们展示高管们致力于使用数据。”

招聘技巧和策略



Synchrony 的 Healy 和 Oshkosh 的 Khare 等 IT 领导者同意签约顶级数据科学人才。 但他们与 IDC 的 Gopal 以及其他 IT 领导者和行业分析师一起,为雇用和留住这些备受追捧的 IT 专业人员提供了以下建议:

  • 报价目的。 数据科学家有很多工作选择。 如果他们厌倦了他们正在做的事情,他们就不会留下来。 通过为他们提供尖端项目或通过为他们提供进一步事业的工作来激起他们的好奇心和动力。 特别是,应该让数据科学家觉得自己很重要,因为他们可以给他们提供对公司至关重要的项目。
  • 释放他们的影响力。 虽然数据科学家通常可以执行所有数据科学任务,从清理数据到从生产模型中收集见解,但数据科学家在得到团队支持时是最有效的,也是最快乐的。 通过引入数据工程师和机器学习工程师来处理工程工作和数据准备,让数据科学家能够专注于创造性工作。 还值得确定您最有数据素养的员工,并将他们作为您的数据科学团队的主题专家,这样他们就可以支持真正的数据科学家推动根据业务需求量身定制的价值。
  • 将他们与业务联系起来。 确保您的数据科学家或数据科学团队不是独自在孤岛上工作。 将他们与业务团队联系起来,以便他们在最重要的问题上进行协作,并持续对业务产生可衡量的影响。
  • 构建工具和人才管道。 除了确保您的数据科学家得到数据工程师的支持外,实施智能软件来处理低级和重复性任务,并考虑与大学和学院合作创建训练有素的实习生和应届毕业生的管道,以加强您的数据科学支持 团队。
  • 为持续的成功而训练。 与任何 IT 领域一样,数据科学技术和工具的进步也在不断涌现。 通过提供继续教育帮助您的数据科学家保持敏锐,并为现有员工提供他们承担数据分析角色所需的培训,这将帮助您真正的数据科学家。
  • 好好补偿。 当然,即便如此,如果您不支付市场价格,您将面临一场艰苦的战斗。 确保你的薪酬与其他公司和你的竞争对手持平或超过。 并确保您的报价包包括有竞争力的津贴,例如远程工作和灵活工作时间的选择。
本文地址
https://architect.pub/expert-tips-hiring-and-retaining-data-scientists
SEO Title
Expert tips for hiring (and retaining) data scientists

【知识】DIKW(数据,信息,知识,智慧)金字塔

视频号

微信公众号

知识星球

Chinese, Simplified

DIKW金字塔,也被称为DIKW层次结构、智慧层次结构、知识层次结构、信息层次结构和数据金字塔,[1]松散地指一类用于表示数据、信息、知识和智慧之间的结构和/或功能关系的模型[2]。“通常信息是用数据来定义的,知识是用信息来定义的,智慧是用知识来定义的”。[1]

并不是DIKW模型的所有版本都引用所有四个组件(早期版本不包含数据,后期版本省略或淡化了智慧),有些还包含其他组件。DIKW模型除了具有层次结构和金字塔结构外,还被表征为链结构,[3][4]为框架结构,[5]为一系列图形,[6]为连续体

历史

图书馆和信息科学教授丹尼p华莱士(Danny P. Wallace)解释说,DIKW金字塔的起源并不确定:

数据、信息、知识,有时甚至是智慧之间关系的分层表示,多年来一直是信息科学语言的一部分。尽管不确定这些关系是何时、由谁首次提出的,但是层次结构概念的普遍性是通过使用DIKW作为数据到信息、知识到智慧转换的简写形式而体现出来的

数据、信息、知识

1955年,英美经济学家、教育家肯尼斯·博尔丁(Kenneth Boulding)提出了一个由“信号、信息、信息和知识”组成的层次结构的变体。然而,“区分数据、信息和知识并使用‘知识管理’一词的第一作者可能是美国教育家尼古拉斯·l·亨利。

数据,信息,知识,智慧

其他涉及数据层的早期版本(1982年以前)包括美籍华裔地理学家yifu Tuan[11][需要验证][12]和社会学家兼历史学家Daniel Bell的版本。(需要验证)[11]。[12]在1980年,爱尔兰出生的工程师Mike Cooley在他的《建筑师还是蜜蜂?:人/技术的关系。[13][验证需要][12]

此后,在1987年,捷克斯洛伐克出生的教育家米兰·泽莱尼(Milan Zeleny)将等级制度的要素映射到知识形式:一无所知、知道什么、专门知识和为什么知道。[14][需要验证]泽莱尼“经常被认为是提出[将DIKW表示为金字塔]……尽管他实际上没有提到任何这样的图形模型

1988年,美国组织理论家罗素•阿科夫(Russell Ackoff)在国际一般系统研究学会(International Society for General Systems Research)发表的一篇演讲中再次出现了这种等级制度。后来的作者和教科书引用Ackoff的理论作为层次结构的“原始表达”[1],或者把Ackoff的建议归功于它。[16] Ackoff版本的模型包括一个理解层(就像Adler之前的[8][17][18]),它介于知识和智慧之间。虽然Ackoff没有以图形的方式呈现层次结构,但他也被认为是以金字塔的形式呈现的

在Ackoff发表演讲的同一年,信息科学家Anthony Debons和他的同事引入了一个扩展的层次结构,在数据之前有“事件”、“符号”和“规则和公式”层

1994年Nathan Shedroff在一个信息设计上下文中提出了DIKW层次结构,后来作为一本书的章节出现。[20]

詹妮弗·罗利(Jennifer Rowley)在2007年指出,在最近出版的大学教科书《[1]》(最近出版的大学教科书)中,关于DIKW的讨论“很少涉及智慧”,而且在她的研究之后,她自己的定义中也没有包含智慧。与此同时,Zins在最近的研究中对数据、信息和知识概念化的广泛分析并没有对智慧做出明确的评论,虽然Zins所引用的一些文献中确实提到了这个术语.

 

描述

DIKW模型“在信息管理、信息系统和知识管理文献中,在数据、信息和知识的定义中经常被引用,或被隐含地使用,但对层次结构的直接讨论有限”。[1]对教科书[1]的回顾和对相关领域学者的调查显示,对于模型中使用的定义没有达成共识,更不用说“在描述将层次较低的元素转化为层次较高的元素的过程”了

这使得以色列研究人员查寻表明DIKW data-information-knowledge组件的引用一个类不少于五个模型,作为一个函数的数据,信息和知识都视为一种主观,客观(寻什么术语中,“通用”或“集体”)或两者兼而有之。在津斯的使用中,主观和客观“与任意性和真实性无关,而任意性和真实性往往依附于主观知识和客观知识的概念”。Zins认为,信息科学研究的是数据和信息,而不是知识,因为知识是一种内部(主观)现象,而不是外部(普遍-集体)现象

数据

在DIKW的背景下,数据被看作是表征刺激或信号的符号或符号,[2]直到……可用的(即相关的)形式”。[16] Zeleny将数据不可用的特性描述为“一无所知”[14][需要验证]

在某些情况下,数据不仅指符号,还指所述符号所指的信号或刺激——津斯称之为主观数据。其中,对于Zins来说,通用数据是“观察的产物”[16](原始斜体字),主观数据是观察结果。在用“事实”来定义数据时,这一差别往往是模糊不清的。

数据是事实

罗利在研究了课本中给出的DIKW定义之后,[1]将数据描述为“离散的、客观的事实或观察,这些数据没有组织和处理,因此没有意义或价值,因为缺乏上下文和解释。”在亨利早期的层次结构中,数据被简单地定义为“仅仅是原始事实”。最近的两篇文章分别将数据定义为“关于世界现状的大量事实”和“物质事实”。[8] Cleveland不包含显式数据层,而是将信息定义为“…事实和想法”。[8][11]

只要事实具有一个基本属性,即它们是真实的,具有客观的现实性,或者能够得到验证,这样的定义就可以排除来自DIKW模型的虚假的、无意义的和无意义的数据,从而使垃圾输入、垃圾输出的原则不在DIKW下得到解释。

数据信号

在主观领域,数据被理解为“我们通过感官感知的感官刺激”、[2]或“信号读数”,包括“光、声、嗅、味和触觉的传感器和/或感官读数”。另一些人则认为,津斯所称的主观数据实际上是一个“信号”层(就像抱石的[8][9]),它先于DIKW链中的数据

美国信息科学家格林·哈蒙(Glynn Harmon)将数据定义为“一种或多种能量波或粒子(光、热、声音、力、电磁),由有意识的生物体或智能体根据生物体或智能体中预先存在的框架或推理机制而选择的。

感官刺激的意义也可以被认为是主观数据:

信息是这些感官刺激的意义。,经验知觉)。例如,我听到的噪音是数据。这些噪音(例如,汽车发动机在运转)的意思是信息。然而,对于如何定义这两个概念,还有另一种选择——似乎更好。数据是感官刺激,或它们的意义。,经验知觉)。因此,在上面的例子中,响亮的噪音,以及汽车引擎运行的感知,都是数据。[2](斜体补充道。大胆原创。)

如果以这种方式理解主观数据,那么它将与熟人的知识相媲美,因为它是基于对刺激的直接体验。然而,与伯特兰·罗素等人所描述的熟人知识不同,主观领域“与……真实性无关”

津斯的另一个定义是否成立,将取决于“汽车发动机的运行”是被理解为一个客观事实,还是作为一种语境解释。

数据作为象征

无论DIKW对数据的定义是否包括Zins的主观数据(有无意义),数据始终被定义为包括“符号”、[15][28]或“代表经验刺激或感知的一组符号”、[2]“对象的属性、事件或其环境的属性”。[16]的数据,从这个意义上说,是“记录(捕获或存储)符号”,包括“词(文本和/或口头),数字,图表,和图像(仍然和/或视频),这是沟通的基石”,其目的”是记录活动或情况下,试图捕捉真实情况或真实事件,”,“所有的数据都是历史,除非用于说明目的,如预测。”[24]

Boulding版本的DIKW显式地将信息层消息下面的级别命名为级别,将其与底层信号层区分开来。[8][9] Debons和他的同事颠倒了这种关系,将一个显式的符号层标识为底层数据的几个层之一

Zins认为,对于大多数被调查者来说,数据“被描述为普遍领域的现象”。“显然,”Zins澄清道,“将数据、信息和知识作为一组符号而不是作为意义及其构建块联系起来更有用。

 

信息

在DIKW环境下,信息符合描述对知识的定义(“信息包含在描述中”[16]),与数据的区别在于信息是“有用的”。“信息由数据推断”,[16]在回答疑问句的过程中(如“谁”、“什么”、“在哪里”、“有多少”、“什么时候”),[15][16]从而使数据对[28]的“决策和/或行动”有用。最近的一篇文章“经典地”指出,“信息被定义为具有意义和目的的数据。

结构与功能

罗利回顾了DIKW在教科书中是如何呈现的,之后,[1]将信息描述为“有组织的或结构化的数据,这些数据的处理方式使这些信息现在与特定的目的或上下文相关,因此是有意义的、有价值的、有用的和相关的。”注意,这个定义与Rowley对Ackoff定义的描述形成了对比,其中“数据和信息之间的区别是结构性的,而不是功能性的。

在他对层次结构的定义中,亨利将信息定义为“改变我们的数据”,[8][10]这是数据和信息之间的功能性区别,而不是结构性区别。与此同时,克利夫兰在他的DIKW版本中并没有提到数据级别,他将信息描述为“某一特定时刻某人可以知道的所有事实和想法的总和”

美国教育家鲍勃·博伊科则更为晦涩,他只把信息定义为“实事求是”

象征性的和主观的

在DIKW模型中,信息可以被理解为:(i)普遍的,作为符号和符号存在的;主观的,符号所附加的意义;或(3)。作为符号和意义的信息的例子包括:

美国信息科学家Anthony Debons将信息描述为“一种意识状态(意识)及其形成的物理表现”,如“信息作为一种现象,既代表一个过程,也代表一个产品;认知/情感状态,以及认知/情感状态的物理对应物

丹麦信息科学家Hanne Albrechtsen将信息描述为“与意义或人类意图相关”,或者是“数据库、web等的内容”。(斜体字补充)或“陈述的意义,因为他们是打算由发言者/作家和理解/误解的听众/读者。

泽莱尼以前将信息描述为“知道什么”,[14][引文需要],但后来改进了这一定义,以区分“拥有或拥有什么”(信息)和“做什么、做什么或执行什么”(智慧)。在信息概念化的基础上,他还补充了“为什么是”,与“为什么做”(智慧的另一个方面)不同。泽莱尼进一步指出,没有明确的知识这种东西,而是知识,一旦明确的符号形式,成为信息.

 

知识

一般认为,DIKW的知识构成是一个难以界定的概念。知识的DIKW定义与认识论的DIKW定义不同。DIKW的观点是,知识是参照信息来定义的。“[16]定义可以指以某种方式处理、组织或结构化的信息,也可以指应用或付诸行动的信息。

Zins认为,知识是主观的而不是普遍的,不是信息科学研究的对象,它经常被定义为命题术语,[2]。,即“一切知识都是默示的”

“最常被引用的定义之一”知识的[8]捕获了其他定义知识的一些不同方式:

知识是由框架式的经验、价值观、上下文信息、专家见解和基于基础的直觉组成的流动组合,为评估和合并新经验和信息提供了环境和框架。它起源于并应用于知识分子的头脑中。在组织中,它常常不仅嵌入到文档和存储库中,而且还嵌入到组织的例程、流程、实践和规范中

知识处理

将信息描述为“有组织的或结构化的数据”,知识有时被描述为:

  1. “随着时间的推移,多个信息源的综合”
  2. “组织和处理以传达理解、经验和积累的学习”
  3. “上下文信息、价值观、经验和规则的混合”[16]

博尔丁对知识的定义之一是“一种心理结构”[8][9],克利夫兰将知识描述为“某个人将提炼者之火应用于[信息],选择并组织对某人有用的东西的结果”。最近的一篇文章将知识描述为“关系中相互联系的信息”

知识过程

泽莱尼将知识定义为“专有技术”。,以及“知道谁”和“知道什么时候”,都是通过“实践经验”获得的。[3]“知识……从经验的背景中产生一套连贯一致的协调行动。”更进一步,隐含地将信息作为描述性的,Zeleny宣称“知识是行动,而不是行动的描述。

Ackoff同样将知识描述为“数据和信息的应用”,它“回答‘如何’的问题”,[15][验证需要][28],即“专有技术”

与此同时,人们发现讨论DIKW的教科书从经验、技能、专业知识或能力等方面对知识进行了不同的描述:

  1. “学习和体验”
  2. “综合上下文信息、专家意见、技能和经验”
  3. “信息与理解和能力相结合”
  4. “认知、技能、训练、常识和经验”,[16]

商人James Chisholm和Greg Warman将知识简单地描述为“把事情做对”

知识命题

知识有时被描述为“信念结构”和“参照认知框架的内在化”。Boulding对知识的一个定义是“对世界和个人在其中的位置的主观感知”,[8][9],而Zeleny说知识“应该是观察者对‘对象’(整体、统一性)的区分”

同样,Zins发现,知识是用命题的术语来描述的,作为正当的信念(主观领域,类似于隐性知识),有时也作为表示这种信念的符号(普遍/集体领域,类似于显性知识)。泽莱尼拒绝了显性知识的概念(就像津斯的普遍知识一样),他认为一旦将知识符号化,知识就变成了信息。博伊科似乎呼应了这一观点,他声称“知识和智慧可以是信息”

主观领域:

  1. 知识是个体头脑中的一种思想,其特征是个体有正当理由相信它是真实的。它可以是经验的,也可以是非经验的,例如逻辑和数学知识(例如,“每个三角形都有三条边”)、宗教知识(例如,“上帝存在”)、哲学知识(例如,“Cogito ergo sum”)等等。注意知识的内容被认为在个人看来,由个人的特点合理的相信它是真实的,而“知道”是一种心态特征的三个条件:(1)个人认为[s],它是正确的,(2)他/她可以证明它,和(3)是真的,或者它[出现]是真的。[2](斜体补充道。大胆原创。)

主观知识与主观信息的区别在于,主观知识的特征是有正当信念,而主观信息是关于数据意义的一种知识。

博伊科在将知识定义为“有争议的问题”时,暗示了知识对理性话语和论证都是开放的.

智慧

虽然通常包括作为一个水平在DIKW,“有有限的参考智慧”[1]在讨论模型。博伊科似乎摒弃了智慧,将其描述为“非物质的”

Ackoff认为理解是“对‘为什么’的欣赏”,而智慧是“被评估的理解”,理解被假定为知识和智慧之间的一个离散层。[8][15][28] Adler之前也包括了一个理解层,[8][17][18],而其他作者将理解描述为一个与DIKW相关的维度

克利夫兰将智慧简单地描述为“集成的知识—信息变得超级有用”。其他作者将智慧描述为“知道做正确的事情”和“显然不需要思考就能做出正确判断和决定的能力”。智慧包括为更大的善使用知识。正因为如此,智慧才更深刻、更独特。它需要一种好与坏、对与错、道德与不道德的感觉。

泽莱尼将智慧描述为“知道为什么”,[14]后来改进了他的定义,以便区分“为什么做”(智慧)和“为什么是”(信息),并将他的定义扩展到包括一种形式的知道(做什么,行动或执行)。根据Nikhil Sharma的说法,Zeleny主张在智慧之外给模型增加一层,称为“启蒙”.

表示

图形化表示

DIKW层次结构的流程图。

DIKW是一个层次模型,通常被描述为一个金字塔,[1][8]以数据为基础,智慧为顶点。在这方面,它类似于马斯洛的需求层次结构,因为层次结构的每一层都被认为是上述层次的一个基本前身。与马斯洛的层次结构不同,DIKW描述的是所谓的结构或功能关系(较低的层次包含较高层次的材料)。泽莱尼和阿考夫都被认为是金字塔代表的鼻祖,尽管他们都没有用金字塔来表达他们的思想

DIKW也被表示为二维图表[5][32]或一个或多个流程图。在这种情况下,元素之间的关系可能表现为更少的层次结构,具有反馈循环和控制关系。

Debons和他的同事[19]可能是第一个“用图形表示层次结构”的人

多年来,许多改编的迪克瓦金字塔已经产生。例如,美国陆军的知识管理人员试图展示将数据转换为信息,然后是知识,最后是智慧的过程,以及最终在整个组织中创建共享理解和管理决策风险所涉及的活动

美国陆军知识管理人员改编的DIKW金字塔

计算表示

智能决策支持系统是在基于agent建模的背景下,通过引入建模和仿真领域的新技术和新方法,特别是智能软件agent领域的新技术和新方法来提高决策能力

使用高级分布式仿真来支持信息、知识和智慧表示

下面的示例描述了一个军事决策支持系统,但是体系结构和底层概念思想可以转移到其他应用领域:[34]

  1. 价值链从描述底层命令和控制系统中的信息的数据质量开始。
  2. 信息质量跟踪可用数据项和信息语句的完整性、正确性、通用性、一致性和精确性。
  3. 知识质量处理嵌入在指挥和控制系统中的程序知识和信息,如敌方部队的模板、关于范围和武器等实体的假设,以及通常编码为规则的理论假设。
  4. 意识质量度量的是使用命令和控制系统中嵌入的信息和知识的程度。意识被明确地置于认知领域。

通过引入一个通用的操作图,将数据放到上下文中,从而得到信息而不是数据。下一个步骤是使用模型和模拟来支持决策,该步骤由面向服务的基于web的基础设施(但尚未在操作上使用)支持。仿真系统是过程知识的原型,是知识质量的基础。最后,使用智能软件代理不断观察战斗领域,应用模型和模拟分析内容,监控计划的执行,并做所有必要的任务,使决策者意识到发生了什么,指挥和控制系统甚至可以支持态势感知,价值链中的水平通常局限于纯粹的认知方法。[34]

批评

德国哲学家拉斐尔•卡普罗(Rafael Capurro)认为,数据是一种抽象,信息是“传达意义的行为”,知识是“一个(心理/社会)系统在其‘世界’的基础上,基于沟通的意义选择事件”。因此,任何对这些概念之间的逻辑层次结构的印象都是“童话”

Zins提出的一个反对意见是,尽管知识可能是一种独有的认知现象,但很难将给定的事实指向具有特殊性的信息或知识,而不是两者都是,这使得DIKW模型无法运行。

爱因斯坦著名的方程式“E = mc2”(它印在我的电脑屏幕上,而且肯定与任何人类的思想是分离的)信息或知识?“2 + 2 = 4”是信息还是知识

或者,信息和知识可以看作同义词。[36]在对这些批评的回答中,Zins认为,撇开主观主义和经验主义哲学不谈,“数据、信息和知识这三个基本概念以及它们之间的关系,就像情报学学术界的主要学者所理解的那样”,有不同的定义。[2]罗利赞同这一点,他认为,在知识的定义可能不一致的地方,“不同的观点都把数据、信息和知识之间的关系作为出发点。

美国哲学家杜威和本特利在他们1949年出版的《认识与已知》一书中认为,“知识”是“一个模糊的词”,并提出了一个复杂的DIKW替代方案,其中包括大约19个“术语指南”

信息处理理论认为,物质世界是由信息本身构成的。在这个定义下,数据要么由物理信息组成,要么与物理信息同义。然而,不清楚DIKW模型中设想的信息是来自物理信息/数据还是等同于物理信息。在前一种情况下,DIKW模型容易出现模棱两可的谬误。在后者中,DIKW模型的数据层被中性一元论的断言所抢占。

教育家马丁Fricke已经发表了一篇文章批判DIKW层次结构,他认为模型是基于“过时的和不令人满意的操作主义的哲学立场和归纳法优越论”,信息和知识都是薄弱的知识,智慧是“占有和使用广泛的实用知识。[38]

另请参阅

  1. 布鲁姆分类法-教育中的分类系统
  2. 高等思维——教育改革的理念
  3. 情报周期
  4. 梯子的推理
  5. 层次复杂性模型-一个框架,用来评估一个行为有多复杂

 

讨论:请加入知识星球【首席架构师圈】

本文地址
https://architect.pub/dikw-pyramid
SEO Title
DIKW pyramid

机器学习

Chinese, Simplified
SEO Title
machine learning

【机器学习】24个终极数据科学(机器学习)项目,提升您的知识和技能:中级

视频号

微信公众号

知识星球

Chinese, Simplified

介绍

数据科学(机器学习)项目为你提供了一种很有前途的方式来开启你在该领域的职业生涯。你不仅可以通过应用数据科学来学习数据科学,还可以在简历上展示项目!如今,招聘人员通过求职者的工作来评估其潜力,而不太重视证书。如果你只是告诉他们你知道多少,如果你没有什么可以展示给他们,那也没关系!这是大多数人挣扎和错过的地方。

你以前可能已经解决过几个问题,但如果你不能让它看起来很好看,很容易解释,那么别人怎么会知道你的能力呢?这就是这些项目将帮助你的地方。想想你将在这些项目上花费的时间,比如你的培训课程。你练习的时间越多,你就会变得越好!

我们确保为您提供来自不同领域的各种问题的体验。我们相信,每个人都必须学会巧妙地处理大量数据,因此包括了大型数据集。此外,我们还确保所有数据集都是开放的,可以免费访问。

  • 介绍
  • 有用信息
  • 初级数据科学项目
  • 中级数据科学项目
  • 高级数据科学项目
  • 结论
  • 常见问题

 

为了帮助您决定从哪里开始,我们将此列表分为3个级别,即:

  • 初级:该级别由数据集组成,这些数据集非常容易使用,不需要复杂的数据科学技术。您可以使用基本的回归或分类算法来解决这些问题。此外,这些数据集有足够多的开放式教程可以让您继续学习。在这个列表中,我们还提供了教程来帮助您入门。您也可以在这里查看AV的“数据科学导论”课程!
  • 中级:该级别由性质上更具挑战性的数据集组成。它由中大型数据集组成,这些数据集需要一些严肃的模式识别技能。此外,功能工程将在这里发挥作用。ML技术的使用没有限制;阳光下的一切都可以使用。
  • 高级级别:该级别最适合理解神经网络、深度学习、推荐系统等高级主题的人。这里还介绍了高维数据集。此外,现在是发挥创造力的时候了。看看最好的数据科学家在他们的工作和代码中所带来的创造力。

你想掌握机器学习和深度学习吗?这里有一个全面的计划,详细介绍了机器学习和深度学习的概念,以及25个以上的现实生活项目!

中级数据科学项目

1.黑色星期五数据集

该数据集包括在零售店捕获的销售交易。这是一个经典的数据集,可以从多种购物体验中探索和扩展您的功能工程技能和日常理解。这是一个回归问题。该数据集有550069行和12列。

问题:预测购买金额。

Start: Get Data | Tutorial: Get Here

2.人类活动识别数据集

该数据集是从通过内置惯性传感器的智能手机拍摄的30名受试者的记录中收集的。许多机器学习课程将这些数据用于教学目的。现在轮到你了。这是一个多分类的问题。该数据集有10299行和561列。

问题:预测人类的活动类别。

Start: Get Data | Tutorial: Get Here

3.文本挖掘数据集

该数据集最初来自2007年举行的暹罗文本挖掘大赛。数据包括描述某些飞行中出现的问题的航空安全报告。这是一个多分类、高维的问题。它有21519行和30438列。

问题:根据文档的标签对文档进行分类。

Start: Get Data | Tutorial: Get Here

4.行程历史数据集

该数据集来自美国的一家共享单车服务公司。此数据集要求您练习专业数据挖掘技能。从2010年(第4季度)起按季度提供数据。每个文件有7列。这是一个分类问题。

问题:预测用户的类别。

Start: Get Data | Tutorial: Get Here

5.百万首歌曲数据集

你知道数据科学也可以用于娱乐业吗?现在自己动手吧。这个数据集提出了一个回归任务。它由5,15345个观测值和90个变量组成。然而,这只是关于一百万首歌曲的原始数据数据库的一小部分。

问题:预测歌曲的发行年份。

Start: Get Data | Tutorial: Get Here

6.人口普查收入数据集

这是一个不平衡的分类问题,也是一个经典的机器学习问题。你知道,机器学习正被广泛用于解决不平衡的问题,如癌症检测、欺诈检测等。是时候弄脏你的手了。该数据集有48842行和14列。为了获得指导,您可以检查这个不平衡的数据项目。

问题:预测美国人口的收入阶层。

Start: Get Data | Tutorial: Get Here

7.电影镜头数据集

你建立了推荐系统了吗?给你机会!该数据集是数据科学行业中最受欢迎和引用的数据集之一。它有多种尺寸可供选择。这里我用了一个相当小的尺寸。6000名用户对4000部电影的评分为100万。

问题:向用户推荐新电影。

Start: Get Data | Tutorial: Get Here

8.Twitter分类数据集

使用Twitter数据已经成为情绪分析问题的一个组成部分。如果你想在这个领域为自己开辟一个利基市场,你会很高兴地应对这个数据集带来的挑战。该数据集大小为3MB,有31962条推文。

问题:识别哪些推文是仇恨推文,哪些不是。

Start: Get Data | Tutorial: Get Here

本文地址
https://architect.pub/24-ultimate-data-science-machine-learning-projects-boost-your-knowledge-and-skills-intermediate
SEO Title
24 Ultimate Data Science (Machine Learning) Projects to Boost Your Knowledge and Skills : Intermediate Level

【机器学习】24个终极数据科学(机器学习)项目,提升您的知识和技能:入门级别

视频号

微信公众号

知识星球

Chinese, Simplified

介绍

数据科学(机器学习)项目为你提供了一种很有前途的方式来开启你在该领域的职业生涯。你不仅可以通过应用数据科学来学习数据科学,还可以在简历上展示项目!如今,招聘人员通过求职者的工作来评估其潜力,而不太重视证书。如果你只是告诉他们你知道多少,如果你没有什么可以展示给他们,那也没关系!这是大多数人挣扎和错过的地方。

你以前可能已经解决过几个问题,但如果你不能让它看起来很好看,很容易解释,那么别人怎么会知道你的能力呢?这就是这些项目将帮助你的地方。想想你将在这些项目上花费的时间,比如你的培训课程。你练习的时间越多,你就会变得越好!

我们确保为您提供来自不同领域的各种问题的体验。我们相信,每个人都必须学会巧妙地处理大量数据,因此包括了大型数据集。此外,我们还确保所有数据集都是开放的,可以免费访问。

  • 介绍
  • 有用信息
  • 初级数据科学项目
  • 中级数据科学项目
  • 高级数据科学项目
  • 结论
  • 常见问题

 

为了帮助您决定从哪里开始,我们将此列表分为3个级别,即:

  • 初级:该级别由数据集组成,这些数据集非常容易使用,不需要复杂的数据科学技术。您可以使用基本的回归或分类算法来解决这些问题。此外,这些数据集有足够多的开放式教程可以让您继续学习。在这个列表中,我们还提供了教程来帮助您入门。您也可以在这里查看AV的“数据科学导论”课程!
  • 中级:该级别由性质上更具挑战性的数据集组成。它由中大型数据集组成,这些数据集需要一些严肃的模式识别技能。此外,功能工程将在这里发挥作用。ML技术的使用没有限制;阳光下的一切都可以使用。
  • 高级级别:该级别最适合理解神经网络、深度学习、推荐系统等高级主题的人。这里还介绍了高维数据集。此外,现在是发挥创造力的时候了。看看最好的数据科学家在他们的工作和代码中所带来的创造力。

你想掌握机器学习和深度学习吗?这里有一个全面的计划,详细介绍了机器学习和深度学习的概念,以及25个以上的现实生活项目!

初级数据科学项目

1.虹膜数据集

这可能是模式识别文献中最通用、最简单、最有资源的数据集。没有什么比Iris数据集更简单的了,可以学习分类技术。如果你是数据科学的新手,这是你的起点。数据只有150行和4列。

问题:根据可用属性预测花朵的类别。

Start: Get Data | Tutorial: Get Here

让我们看看Iris数据,并在下面的实时编码窗口中建立一个Logistic回归模型。

'''
IRIS DATASET
'''

# required libraries
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import accuracy_score


# read the dataset
data = pd.read_csv('Iris.csv')
print(data.head())

print('\n\nColumn Names\n\n')
print(data.columns)

#label encode the target variable
encode = LabelEncoder()
data.Species = encode.fit_transform(data.Species)

print(data.head())

# train-test-split   
train , test = train_test_split(data,test_size=0.2,random_state=0)

print('shape of training data : ',train.shape)
print('shape of testing data',test.shape)

# seperate the target and independent variable
train_x = train.drop(columns=['Species'],axis=1)
train_y = train['Species']

test_x = test.drop(columns=['Species'],axis=1)
test_y = test['Species']

# create the object of the model
model = LogisticRegression()

model.fit(train_x,train_y)

predict = model.predict(test_x)

print('Predicted Values on Test Data',encode.inverse_transform(predict))

print('\n\nAccuracy Score on test data : \n\n')
print(accuracy_score(test_y,predict))


2.贷款预测数据集

在所有行业中,保险领域是分析和数据科学方法使用最多的行业之一。该数据集为您提供了使用保险公司数据集的体验——那里面临哪些挑战,使用了哪些策略,哪些变量影响结果等。这是一个分类问题。该数据有615行和13列。

问题:预测贷款是否会获得批准。

Start: Get Data | Tutorial: Get Here

让我们看看贷款数据,并在下面的实时编码窗口中建立一个逻辑回归模型。

'''
LOAN DATASET
'''
# required libraries
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import accuracy_score

# read the dataset
data = pd.read_csv('train_ctrUa4K.csv')
print(data.head())
print('\n\nColumn Names\n\n')
print(data.columns)
#label encode the target variable
encode = LabelEncoder()
data.Loan_Status = encode.fit_transform(data.Loan_Status)
# drop the null values
data.dropna(how='any',inplace=True)

# train-test-split   
train , test = train_test_split(data,test_size=0.2,random_state=0)

# seperate the target and independent variable
train_x = train.drop(columns=['Loan_ID','Loan_Status'],axis=1)
train_y = train['Loan_Status']
test_x = test.drop(columns=['Loan_ID','Loan_Status'],axis=1)
test_y = test['Loan_Status']
# encode the data
train_x = pd.get_dummies(train_x)
test_x  = pd.get_dummies(test_x)
print('shape of training data : ',train_x.shape)
print('shape of testing data : ',test_x.shape)
# create the object of the model
model = LogisticRegression()
model.fit(train_x,train_y)
predict = model.predict(test_x)
print('Predicted Values on Test Data',predict)
print('\n\nAccuracy Score on test data : \n\n')
print(accuracy_score(test_y,predict))


3.Bigmart销售数据集

零售业是另一个广泛使用分析来优化业务流程的行业。产品布局、库存管理、定制优惠、产品捆绑等任务正在使用数据科学技术巧妙地处理。顾名思义,这些数据包括销售商店的交易记录。这是一个回归问题。该数据包含8523行12个变量。

问题:预测商店的销售额。

Start: Get Data | Tutorial: Get Here

让我们看看大卖场的销售数据,并在下面的实时编码窗口中建立一个线性回归模型。

'''
The following code is for the Linear Regression
Created by- ANALYTICS VIDHYA
'''
# importing required libraries
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
# read the train and test dataset
train_data = pd.read_csv('train.csv')
test_data = pd.read_csv('test.csv')
print(train_data.head())
# shape of the dataset
print('\nShape of training data :',train_data.shape)
print('\nShape of testing data :',test_data.shape)
# Now, we need to predict the missing target variable in the test data
# target variable - Item_Outlet_Sales
# seperate the independent and target variable on training data
train_x = train_data.drop(columns=['Item_Outlet_Sales'],axis=1)
train_y = train_data['Item_Outlet_Sales']
# seperate the independent and target variable on training data
test_x = test_data.drop(columns=['Item_Outlet_Sales'],axis=1)
test_y = test_data['Item_Outlet_Sales']
'''
Create the object of the Linear Regression model
You can also add other parameters and test your code here
Some parameters are : fit_intercept and normalize
Documentation of sklearn LinearRegression:
https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
'''
model = LinearRegression()
# fit the model with the training data
model.fit(train_x,train_y)
# coefficeints of the trained model
print('\nCoefficient of model :', model.coef_)
# intercept of the model
print('\nIntercept of model',model.intercept_)
# predict the target on the test dataset
predict_train = model.predict(train_x)
print('\nItem_Outlet_Sales on training data',predict_train)
# Root Mean Squared Error on training dataset
rmse_train = mean_squared_error(train_y,predict_train)**(0.5)
print('\nRMSE on train dataset : ', rmse_train)
# predict the target on the testing dataset
predict_test = model.predict(test_x)
print('\nItem_Outlet_Sales on test data',predict_test)
# Root Mean Squared Error on testing dataset
rmse_test = mean_squared_error(test_y,predict_test)**(0.5)
print('\nRMSE on test dataset : ', rmse_test)


4.波士顿住房数据集

这是模式识别文献中使用的另一个流行数据集。数据集来自波士顿(美国)的房地产行业。这是一个回归问题。该数据有506行和14列。因此,这是一个相当小的数据集,你可以在这里尝试任何技术,而不用担心笔记本电脑的内存被过度使用。

问题:预测自住房屋的中值。

Start: Get Data | Tutorial: Get Here

5.时间序列分析数据集

时间序列是数据科学中最常用的技术之一。它有着广泛的应用——天气预报、预测销售额、分析同比趋势等。该数据集特定于时间序列,这里的挑战是预测一种交通方式的交通量。数据有**行和**列。

问题:预测新交通方式的交通量。

Start: Get Data  | Tutorial: Get Here

6.葡萄酒质量数据集

这是数据科学初学者最喜欢的数据集之一。它分为2个数据集。您可以对此数据执行回归和分类任务。它将测试您在不同领域的理解——异常值检测、特征选择和不平衡数据。该数据集中有4898行和12列。

问题:预测葡萄酒的质量。

Start: Get Data | Tutorial: Get Here

7.土耳其学生评估数据集

该数据集基于学生为不同课程填写的评估表。它具有不同的属性,包括出勤率、难度、每个评估问题的分数等。这是一个无人监督的学习问题。该数据集有5820行和33列。

问题:使用分类和聚类技术来处理数据。

Start: Get Data | Tutorial: Get Here

8.高度和重量数据集

 

这是一个相当简单的问题,非常适合刚开始从事数据科学的人。这是一个回归问题。该数据集有25000行和3列(索引、高度和权重)。

问题:预测一个人的身高或体重。

Start: Get Data | Tutorial: Get Here

如果你是数据科学世界的新手,Analytics Vidhya为初学者策划了一门全面的课程——“数据科学导论”!我们将介绍Python的基础知识,然后转到统计学,最后介绍各种建模技术。

本文地址
https://architect.pub
SEO Title
24 Ultimate Data Science (Machine Learning) Projects to Boost Your Knowledge and Skills :entry level

【机器学习】24个终极数据科学(机器学习)项目,提升您的知识和技能:高级

视频号

微信公众号

知识星球

Chinese, Simplified

介绍

数据科学(机器学习)项目为你提供了一种很有前途的方式来开启你在该领域的职业生涯。你不仅可以通过应用数据科学来学习数据科学,还可以在简历上展示项目!如今,招聘人员通过求职者的工作来评估其潜力,而不太重视证书。如果你只是告诉他们你知道多少,如果你没有什么可以展示给他们,那也没关系!这是大多数人挣扎和错过的地方。

你以前可能已经解决过几个问题,但如果你不能让它看起来很好看,很容易解释,那么别人怎么会知道你的能力呢?这就是这些项目将帮助你的地方。想想你将在这些项目上花费的时间,比如你的培训课程。你练习的时间越多,你就会变得越好!

我们确保为您提供来自不同领域的各种问题的体验。我们相信,每个人都必须学会巧妙地处理大量数据,因此包括了大型数据集。此外,我们还确保所有数据集都是开放的,可以免费访问。

  • 介绍
  • 有用信息
  • 初级数据科学项目
  • 中级数据科学项目
  • 高级数据科学项目
  • 结论
  • 常见问题

 

为了帮助您决定从哪里开始,我们将此列表分为3个级别,即:

  • 初级:该级别由数据集组成,这些数据集非常容易使用,不需要复杂的数据科学技术。您可以使用基本的回归或分类算法来解决这些问题。此外,这些数据集有足够多的开放式教程可以让您继续学习。在这个列表中,我们还提供了教程来帮助您入门。您也可以在这里查看AV的“数据科学导论”课程!
  • 中级:该级别由性质上更具挑战性的数据集组成。它由中大型数据集组成,这些数据集需要一些严肃的模式识别技能。此外,功能工程将在这里发挥作用。ML技术的使用没有限制;阳光下的一切都可以使用。
  • 高级级别:该级别最适合理解神经网络、深度学习、推荐系统等高级主题的人。这里还介绍了高维数据集。此外,现在是发挥创造力的时候了。看看最好的数据科学家在他们的工作和代码中所带来的创造力。

你想掌握机器学习和深度学习吗?这里有一个全面的计划,详细介绍了机器学习和深度学习的概念,以及25个以上的现实生活项目!

高级数据科学项目

1.识别您的数字数据集

该数据集允许您研究、分析和识别图像中的元素。这正是你的相机通过图像识别来检测你的脸的方式!轮到你构建和测试这项技术了。这是一个数字识别问题。此数据集有7000个28 X 28大小的图像,总计31MB。

问题:从图像中识别数字。

Start: Get Data | Tutorial: Get Here

2.城市声音分类

当你开始你的机器学习之旅时,你会遇到一些简单的机器学习问题,比如巨大的生存预测。但当涉及到现实生活中的问题时,你仍然没有足够的练习。因此,这个练习问题旨在向您介绍通常分类场景中的音频处理。该数据集由10个类别的8732个城市声音摘录组成。

问题:根据音频对声音类型进行分类。

Start: Get Data | Tutorial: Get Here

3.Vox名人数据集

音频处理正迅速成为深度学习的一个重要领域,因此这是另一个具有挑战性的问题。该数据集用于大规模说话者识别,包含名人从YouTube视频中提取的单词。这是一个用于隔离和识别语音识别的有趣用例。该数据包含1251位名人发表的10万条言论。

问题:弄清楚这个声音属于哪个名人。

Start: Get Data | Tutorial: Get Here

4.ImageNet数据集

ImageNet提供了各种问题,包括对象检测、定位、分类和屏幕解析。所有图片均免费提供。你可以搜索任何类型的图像,并围绕它构建你的项目。截至目前,这个图像引擎拥有超过1500万张大小高达140GB的多种形状的图像。

问题:要解决的问题取决于您下载的图像类型。

Start: Get Data | Tutorial: Get Here

5.芝加哥犯罪数据集

如今,每个数据科学家都有能力处理大型数据集。当公司有计算能力处理完整的数据集时,他们不再喜欢处理样本。此数据集为您提供了在本地机器上处理大型数据集所需的亲身体验。问题很简单,但数据管理是关键!该数据集有600万次观测。这是一个多分类的问题。

问题:预测犯罪类型。

Start: Get Data | Tutorial: Get Here

6.印度演员数据集的年龄检测

对于任何一个深度学习爱好者来说,这都是一个引人入胜的挑战。该数据集包含数千张印度演员的照片,您的任务是确定他们的年龄。所有图像都是从视频帧中手动选择和裁剪的,从而在比例、姿势、表情、照明、年龄、分辨率、遮挡和化妆之间产生高度的可变性。训练集中有19906幅图像,测试集中有6636幅图像。

问题:预测演员的年龄。

Start: Get Data | Tutorial: Get Here

7.推荐引擎数据集

这是对高级推荐系统的挑战。在这个练习问题中,你会得到程序员的数据和他们之前解决的问题,以及他们解决特定问题所花费的时间。作为一名数据科学家,你建立的模型将帮助在线评委决定向用户推荐的下一级问题。

问题:根据用户的当前状态,预测解决问题所需的时间。

Start: Get Data

8.VisualQA数据集

VisualQA是一个包含关于图像的开放式问题的数据集。这些问题需要理解计算机视觉和语言。这个问题有一个自动评估指标。该数据集有265016张图像,每张图像有3个问题,每个问题有10个基本事实答案。

问题:使用深度学习技术回答关于图像的开放式问题。

Start: Get Data | Tutorial: Get Here

结论

在上面列出的24个数据集中,你应该先找到一个与你的技能相匹配的数据集。比如说,如果你是机器学习的初学者,从一开始就避免使用高级数据集。不要贪多嚼不烂,也不要因为还有多少事情要做而不知所措。相反,要专注于循序渐进。

完成2-3个项目后,在简历和GitHub个人资料中展示它们(非常重要!)。如今,许多招聘人员通过查看他们的GitHub档案来招聘候选人。你的动机不应该是做所有的项目,而是根据要解决的问题、领域和数据集大小来挑选选定的项目。如果您想了解完整的项目解决方案,请参阅本文。

常见问题

Q1.如何提高我的数据科学技能?

A.你可以通过跟上行业的新趋势和技术来提高你的数据科学技能。练习不同类型的数据科学项目是磨练你技能的另一种方式。本文列出了24个不同难度级别的免费项目,供您测试和提高技能。

Q2.哪些好的机器学习项目?

A.以下是一些不同难度的良好机器学习实践项目数据集:

  • 初级项目:虹膜、贷款预测、大卖场销售、时间序列评估和学生评估。
  • 中级项目:人类活动识别、文本挖掘、旅行历史、人口普查收入和推特分类。
  • 高级项目:ImageNEt、数字识别、城市声音分类、年龄检测和推荐引擎。

Q3.一些初级数据科学项目是什么?

A.Iris数据集是一个很好的起点。其他初级数据科学项目包括贷款预测、大市场销售、时间序列评估、学生评估等。

本文地址
https://architect.pub/24-ultimate-data-science-machine-learning-projects-boost-your-knowledge-and-skillsadvanced-level
SEO Title
24 Ultimate Data Science (Machine Learning) Projects to Boost Your Knowledge and Skills:Advanced Level

【机器学习】8家公司改变机器学习的使用方式

Chinese, Simplified

8家公司改变机器学习的使用方式

1.ChattyPeople

ChattyPeople是一个客户服务机器人,您可以无缝地使用您的Facebook Messenger和您的业务页面上的评论。它还提供了一种按需发送促销和交易给您的客户的方式,并与所有主要支付系统(包括PayPal和Stripe)进行整合。它可以帮助许多类型的企业,包括餐馆和洗衣机,提供伟大的服务,而不必在每个客户的互动上放置人类。

2.Skycatch

Skycatch是机器学习的早期领导者,可帮助公司大规模收集数据以重写其业务模式。采用自主无人机,航空成像技术及其专有分析工具套件,Skycatch可以开采矿山,太阳能,农业和建筑公司,以降低成本,提高现场安全。

3.Botworx

Botworx是一个人工智能动力平台,可提供适用于所有类型即时消息系统的真实对话。目标是让您的客户真正感觉到有人与他们在一起,而不是处理一个自动化的响应系统,对于他们处理的人员没有任何个性或敏感性,这可能会影响客户体验。结果是真正的客户参与,而不必将人员分配给提供该体验的工作。

4.POC医疗系统

POC医疗提供了一个点护理解决方案。其Pandora CDx提供了一种检测某些生物标志物来筛选乳腺癌的方法,通过使用具有内置机器学习技术的内置阅读机制的紧凑型微流体系统。它进一步应用于筛选其他类型的癌症,传染病和心血管疾病。在创建一个高效,自主的筛选系统中,该公司已经能够提供一种非常低成本的解决方案,可以为更多的人提供早期检测筛选,从而可以节省许多生命。

5.笛卡尔实验室

笛卡尔实验室使用机器学习来帮助组织更好地了解和预测世界各地的作物产量,以更好地准备避免短缺所需的食物。机器学习应用于卫星图像数据,以提供这些见解。希望这项技术可以帮助农业企业,保险和金融等众多行业以及政府机构。

6.弗林特

Flint将机器学习整合到其发票和信用卡处理平台中,以方便您处理这些业务的许多耗时的任务。它包括自动化任务,如付款提醒,确认,优惠券优惠,折扣等。其支付安全功能还增加了机器学习功能,以帮助企业保持在任何可疑活动之上,并发现任何可疑的交易模式。

7. TrademarkVision

TrademarkVision在其图像识别工具中使用机器学习技术来确定新的公司标志是否可以接受或者是否违反了现有商标。现在,欧盟的商标局现在使用这个系统,以前是一个繁琐,耗时且并不总是准确的过程,现在是快速,高效,准确的。

8.Fanuc

Fanuc是一家为工厂制造机器人的日本公司。 然而,这些不仅仅是磨机厂的机器人。 这些机器人可以在工作中学习新的技能。 使用机器学习算法,这些机器人具有人造智能,使他们能够以90%的准确度工作并完成新任务。

这些只是许多令人兴奋的机器学习项目中的一些。 未来已经到来,正在改变我们的工作方式,提供用技术分享世界的新途径。

SEO Title
8 companies change the way they use machine learning

【机器学习】事件驱动架构与分析和机器学习集成

Chinese, Simplified

扩展架构扩展了基本参考架构,其概念展示了如何将数据科学,人工智能(AI)和机器学习整合到事件驱动的解决方案中。

为了获得机器学习模型或分析趋势和行为的数据,数据科学家必须从可以消费的形式开始使用数据。对于实时智能解决方案,数据科学家通常会检查系统中的事件历史记录和决策或操作记录。然后,他们将此数据减少为简化模型,该模型在新事件数据到达时对其进行评分。

获取数据科学家的数据



对于事件流,挑战在于处理无限数据或连续的事件流。为了使这些数据可供数据科学家使用,您必须捕获相关数据并将其存储,以便将其纳入分析和模型构建过程。

遵循事件驱动的参考体系结构,事件流可以是事件主干上的Kafka主题。从这里,您可以通过两种方式向数据科学家提供可用和可消耗的事件数据:

  • 事件流或事件日志可以直接通过Kafka访问并进入分析过程。
  • 事件流可以由流分析系统预处理并存储以供将来在分析过程中使用。您可以选择要使用的商店类型。 IBM Cloud Object Storage可用作经济高效的历史存储。

这两种方法都是有效的:通过流分析进行预处理,以便更好地处理数据或随时间存储数据以进行复杂的事件处理。更有趣的区别在于您使用预测机器学习模型来评估到达事件或流数据。在这种情况下,您可以使用流分析来提取和保存事件数据,以进行分析,建模,模型培训,以及根据到达的事件数据对派生模型进行评分。

事件和决策或行动数据在云对象存储中可用,用于通过流分析进行模型构建。可以通过调整和参数拟合,标准形式拟合,分类技术和文本分析方法来开发模型。

人工智能和机器学习框架越来越多地用于发现和训练有用的预测模型,作为手动参数化模型类型的替代方法。这些技术导致过程和数据流,其中预测模型通过使用来自事件和决策或动作存储的事件历史来离线训练,可能通过监督结果标记来增强。该流程通过从事件主干和流处理存储到“学习和分析”组件的路径来说明。

以这种方式训练的模型包括评分API,该评分API可以用新鲜事件数据调用以生成针对该特定上下文的未来行为和事件属性的基于模型的预测。然后将评分功能重新纳入流分析处理以生成预测和见解。

这些组合技术可以创建实时智能应用程序:

  • 事件驱动的架构
  • 通过使用事件风暴来识别预测性见解
  • 使用机器学习为这些见解开发模型
  • 使用流分析处理框架对洞察模型进行实时评分

这些应用程序具有可扩展性,可扩展性和适应性。他们近乎实时地回应新情况。由于事件驱动架构和流处理域中的松散耦合,您可以扩展它们以构建并从最初的最小可行产品(MVP)演变而来。

数据科学家工作台



要完成与分析和机器学习集成的扩展体系结构,请考虑数据科学家可用于派生模型的工具集和框架。 IBMWatson®Studio为数据科学家,应用程序开发人员和主题专家提供工具,以协作处理数据,以大规模构建和训练模型。有关更多信息,请参阅Watson Studio入门。

与传统系统集成



当您将数字业务应用程序创建为自包含系统时,您可能需要将传统应用程序和数据库集成到事件驱动系统中。传统系统可以通过两种方式直接进入事件驱动架构:

  • 在传统应用程序与IBM®MQ连接的情况下,您可以直接从IBM MQ连接到事件主干中的Kafka。有关更多信息,请参阅Event Streams入门IBM MQ。
  • 在数据库支持捕获数据更改的情况下,您可以将更改作为事件发布到Kafka和事件基础结构中。有关更多信息,请参阅没有更多孤岛:如何将您的数据库与Apache Kafka和CDC集成。

原文:https://www.ibm.com/cloud/garage/architectures/eventDrivenExtendedArchitecture

讨论:加入知识星球【首席架构师圈】

SEO Title
[Machine Learning] Event Driven Architecture and Analysis and Machine Learning Integration

【机器学习】人工智能和机器学习有何不同

Chinese, Simplified

 

在过去几年中,人工智能和机器学习这两个术语已经开始在技术新闻和网站中频繁出现。通常这两者被用作同义词,但许多专家认为它们具有微妙但真正的差异。

当然,专家们有时也不同意这些差异是什么。

然而,总的来说,有两件事情似乎很清楚:第一,人工智能(AI)这个术语比机器学习(ML)更早,其次,大多数人认为机器学习是人工智能的一个子集

这种关系的最佳图形表现之一来自Nvidia的博客。它为理解人工智能和机器学习之间的差异提供了一个很好的起点。

人工智能与机器学习 - 首先,什么是人工智能?

计算机科学家已经以多种不同的方式定义了人工智能,但从本质上讲,人工智能涉及的是思考人类思维方式的机器。当然,很难确定机器是否在“思考”,因此在实际层面上,创建人工智能涉及创建一个善于做人类擅长的事情的计算机系统。

创造像人类一样聪明的机器的想法一直追溯到古希腊人,他们有关于神创造的自动机的神话。然而,实际上,这个想法直到1950年才真正起飞。

那一年,艾伦·图灵发表了一篇名为“计算机器和智能”的开创性论文,提出了机器是否可以思考的问题。他提出了着名的图灵测试,该测试基本上说,如果人类法官无法判断他是在与人或机器进行交互,那么可以说计算机是智能的。

人工智能这句话是由John McCarthy于1956年创造的,他在达特茅斯组织了一次专门讨论该主题的学术会议。在会议结束时,与会者建议进一步研究“猜想学习的每个方面或任何其他智能特征原则上可以如此精确地描述,以便可以使机器模拟它。将尝试找到如何使机器使用语言,形成抽象和概念,解决现在为人类保留的各种问题,并改善自己。“

该提案预示了当今人工智能中主要关注的许多主题,包括自然语言处理,图像识别和分类以及机器学习。

在第一次会议之后的几年里,人工智能研究蓬勃发展。然而,在几十年内,显而易见的是,制造真正可以说是为自己思考的机器的技术已经有很多年了。

但在过去十年中,人工智能已从科幻小说领域转移到科学事实领域。有关IBM Watson AI赢得游戏节目的故事显示,Jeopardy和谷歌的人工智能在Go游戏中击败人类冠军,将人工智能带回公众意识的最前沿。

今天,所有最大的科技公司都在投资人工智能项目,每当我们使用智能手机,社交媒体,网络搜索引擎或电子商务网站时,我们大多数人每天都会与人工智能软件进行互动。我们最常与之互动的人工智能类型之一是机器学习。

人工智能与机器学习 - 好的,那么什么是机器学习?

“机器学习”这个短语也可以追溯到上个世纪中叶。 1959年,亚瑟·塞缪尔将机器学习定义为“没有明确编程就能学习的能力”。他继续创建了一个计算机检查器应用程序,这是第一个可以从自己的错误中学习并随着时间的推移改善其性能的程序之一。

与人工智能研究一样,机器学习在很长一段时间内都没有流行,但是当数据挖掘的概念在20世纪90年代开始起步时,机器学习又开始流行起来。数据挖掘使用算法来查找给定信息集中的模式。机器学习做同样的事情,但后来又向前迈进了一步 - 它根据学习内容改变了程序的行为。

最近变得非常流行的机器学习的一个应用是图像识别。首先必须训练这些应用程序 - 换句话说,人类必须查看一堆图片并告诉系统图片中的内容。经过数千次重复,软件可以了解哪些像素图案通常与马,狗,猫,花,树,房屋等相关联,并且可以很好地猜测图像的内容。

许多基于网络的公司也使用机器学习来为他们的推荐引擎提供动力。例如,当Facebook决定在您的新闻源中显示什么,当亚马逊突出您可能想要购买的产品时,以及当Netflix建议您可能想要观看的电影时,所有这些建议都基于现有数据中的模式所基于的预测。

目前,许多企业开始使用机器学习功能进行预测分析。随着大数据分析变得越来越流行,机器学习技术变得越来越普遍,并且它是许多分析工具中的标准功能。

实际上,机器学习已经与统计学,数据挖掘和预测分析联系在一起,有些人认为它应该被归类为与人工智能分开的领域。毕竟,系统可以展示AI功能,如自然语言处理或自动推理,而无需任何机器学习功能,机器学习系统不一定需要具有人工智能的任何其他功能。

其他人更喜欢使用术语“机器学习”,因为他们认为这听起来比“人工智能”更具技术性和可怕性。一位互联网评论者甚至表示,两者之间的区别在于“机器学习确实有效”。

然而,机器学习从一开始就是关于人工智能的讨论的一部分,而且这两者在今天上市的许多应用中仍然紧密相连。例如,个人助理和机器人通常具有许多不同的AI功能,包括ML。

人工智能和机器学习前沿:深度学习,神经网络和认知计算

当然,“机器学习”和“人工智能”并不是与计算机科学领域相关的唯一术语。 IBM经常使用术语“认知计算”,它或多或少是AI的同义词。

但是,其他一些术语确实具有非常独特的含义。例如,人工神经网络或神经网络是一种系统,旨在以类似于生物大脑工作方式的方式处理信息。事情会变得混乱,因为神经网络往往特别擅长机器学习,所以这两个术语有时会混淆。

此外,神经网络为深度学习提供了基础,深度学习是一种特殊的机器学习。深度学习使用一组在多个层中运行的机器学习算法。它可以部分地由使用GPU一次处理大量数据的系统实现。

如果你对所有这些不同的术语感到困惑,那么你并不孤单。计算机科学家继续辩论他们的确切定义,并可能在未来一段时间内。随着公司继续向人工智能和机器学习研究投入资金,可能会出现更多的术语,为问题增加更多的复杂性。

SEO Title
What is the difference between artificial intelligence and machine learning?

【机器学习】机器学习如何赋能智能企业

Chinese, Simplified

机器学习如何赋能智能企业

当Google的AlphaGo算法在2016年击败Go世界冠军时,显然机器学习已经到来,并将显着塑造未来。作为一种能够在没有被明确编程的情况下学习的新型软件,机器学习将能够以人类头脑难以掌握的复杂程度访问和分析结构化和非结构化数据。从现在的语音识别和图像识别软件的质量以及自驾车的能力来看,我们已经可以看到自学习算法如何影响我们的生活。

五十年代以来,计算机科学家一直在追求人工智能。现在,由于最新的技术进步,包括大数据处理,增加的计算能力和更好的算法,计算机已经开始与人类一样被认为是竞争,甚至超越了这种能力。机器正在学习在图像和视频中写,说,寻找意义。未来,智能机器将越来越多地支持人类。我们将进入智慧型企业的时代。

机器学习将以多种方式为企业带来好处。组织能够加速和优化业务流程。企业领导者将获得更大的能力来检测他们的运营模式和客户互动模式,从而使他们能够识别相关的见解。机器学习可以简化用户与设备的交互,减少人为干预,并自动执行重复任务,让人们更多的时间专注于需要创造力和复杂的解决问题的工作。

机器学习显示承诺的地方

公众对机器学习的关注往往侧重于消费者应用,如推荐引擎和智能设备。但对于企业对企业的使用也是很有希望的。在B2B上下文中,我们设想机器智能将首先应用于以下领域:

智能业务流程。今天的许多业务流程仍然依靠严格的规则运行,并且依赖于人的互动。通常,这些过程涉及高度重复的工作,例如检查发票和旅行费用的准确性,或通过数百份简历来填补职位。通过让自学习算法在数据中找到模式和解决方案,而不是遵循预编程规则,某些业务系统将达到新的智能和效率水平。

智能基础设施。我们的经济依赖于基础设施的各种因素,包括能源,物流和IT,以及支持社会的服务,如教育和医疗保健。但是我们似乎已经在这些领域达到了效率高原,正如我们在业务流程中所做的一样。机器学习有可能找到更好和更灵活的规则来运行为增长提供基础的复杂且快速变化的系统。

数字助理和机器人。机器学习技术的最新进展表明,运行自学习算法的设备将比现在更独立运行。他们可以在某些参数中得出自己的结论,开发上下文敏感的行为,并且更直接地与人类进行交互。我们的设备 - 已经能够对我们的声音做出反应 - 将成为互动的,持续的学习助手,通过安排会议,翻译文档或分析文本和数据来帮助我们实现日常业务。

起点

数据是机器学习的燃料。为了让企业准备好接受机器学习,企业领导者必须认真努力,消除数据孤岛,并从供应商,合作伙伴和客户的生态系统获取数据。这样做是成功的关键先决条件。此外,组织需要开始识别机器改进的甜点,例如高度重复的工作。

在时间上,机器学习将像我们的电 - 我们很难想象没有它的世界。它将为商业环境带来智慧,发现新的市场机会,并使人们能够专注于增加价值的工作,而不是花时间进行冗长乏味的重复任务。

SEO Title
How does machine learning empower smart companies?

【机器学习】机器学习工具总览

Chinese, Simplified

丰富的机器学习工具

当谈到训练计算机在没有明确编程的情况下采取行动时,存在大量来自机器学习领域的工具。学术界和行业专业人士使用这些工具在MRI扫描中构建从语音识别到癌症检测的多种应用。这些工具可在网上免费获得。如果您感兴趣,我已经编制了这些的排名(请参阅本页底部)以及一些区分它们的重要功能的概述。其中,从主页网站获取每种工具的描述,关注机器学习中的特定范例以及学术界和工业界的一些显着用途。

研究人员可以一次使用许多不同的库,编写自己的库,或者不引用任何特定的工具,因此很难量化每种库的相对采用。相反,搜索排名反映了5月份谷歌搜索每个工具的相对大小。该分数并不反映广泛采用,但为我们提供了一个很好的指示,表明正在使用哪些。注意*像“Caffe”这样的模糊名称被评为“Caffe机器学习”,不那么含糊。

 

 

机器学习工具总览

我已经将两个机器学习子领域Deep和Shallow Learning区分开来,这已成为过去几年中的一个重要分支。深度学习负责图像分类和语音识别的记录结果,因此由Google,Facebook和百度等大型数据公司牵头。相反,浅层学习方法包括各种不太前沿的分类,聚类和提升技术,如支持向量机。浅层学习方法仍然广泛应用于自然语言处理,脑计算机接口和信息检索等领域。

机器学习包和库的详细比较

此表还包含有关使用GPU的特定工具支持的信息。 GPU接口已经成为机器学习工具的一个重要特性,因为它可以加速大规模矩阵运算。这对深度学习方法的重要性是显而易见的。例如,在2015年5月初的GPU技术大会上,机器学习下的45个演讲中有39个是关于GPU加速的深度学习应用程序,这些应用程序来自31家主要的科技公司和8所大学。这一吸引力反映了Deep Networks对GPU辅助培训的巨大速度提升,因此是一项重要功能。

还提供了有关通过Hadoop或Spark在集群中分配计算的工具能力的信息。这已成为适合分布式计算的浅学习技术的重要论述点。同样,Deep Networks的分布式计算也成为一个讨论点,因为已经为分布式训练算法开发了新技术。

最后,附上一些关于学术界和工业界对这些工具的不同使用的补充说明。通过搜索机器学习出版物,演示文稿和分布式代码收集了哪些信息。 Google,Facebook和甲骨文的研究人员也支持了一些信息,非常感谢Greg Mori,Adam Pocock和Ronan Collobert。

这项研究的结果表明,目前有许多工具正在使用,目前还不确定哪种工具能够赢得狮子会在工业界或学术界的使用份额。

Search Rank Tool Language Type Description “quote” Use GPU acceleration Distributed computing
100 Theano Python Library umerical computation library for multi-dimensional arrays efficiently Deep and shallow Learning CUDA and Open CL cuDNN    Cutorch
78 Torch 7 Lua Framework Scientific computing framework with wide support for machine learning algorithms Deep and shallow Learning CUDA and Open CL, cuDNN Cutorch
64 R R Environment/ Language Functional language and environment for statistics Shallow Learning
RPUD
HiPLAR
52 LIBSVM Java and C++ Library A Library for Support Vector Machines Support Vector Machines CUDA Not Yet
34 scikit-learn Python Library Machine Learning in Python Shallow Learning Not Yet Not Yet
28

Spark

MLLIB

C++, APIs in JAVA, and Python Library/API Apache Spark’s scalable machine learning library Shallow Learning ScalaCL

Spark and

Hadoop

24 Matlab Matlab Environment/ Language High-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numerical analysis Deep and Shallow Learning Parallel Computing Toolbox (not-free not-open source)

Distributed Computing

Package (not-free not-open source)

18 Pylearn2 Python Library Machine Learning Deep Learning CUDA and OpenCL, cuDNN Not Yet
14

VowPal

Wabbit

C++ Library Out-of-core learning system Shallow Learning CUDA Not Yet
13 Caffe C++ Framework Deep learning framework made with expression, speed, and modularity in mind Deep Learning CUDA and OpenCL, cuDNN Not Yet
11
LIBLINEAR Java and C++ Library A Library for Large Linear Classification Support Vector Machines and Logistic Regression CUDA Not Yet
6 Mahout Java Environment/ Framework An environment for building scalable algorithms Shallow Learning JCUDA Spark andHadoop
5

Accord.

NET

.Net Framework Machine learning Deep and Shallow Learning CUDA.net Not Yet
5 NLTK Python Library Programs to work with human language data Text Classification Skits.cuda Not Yet
4

Deep

learning4j

Java Framework Commercial-grade, open-source, distributed deep-learning library Deep and shallow Learning JClubas Spark andHadoop
4 Weka 3 Java Library Collection of machine learning algorithms for data mining tasks Shallow Learning Not Yet

Distributed

Weka Spark

4 MLPY Python Library Machine Learning Shallow Learning Skits.cuda Not Yet
3 Pandas Python Library Data analysis and manipulation Shallow Learning Skits.cuda Not Yet
1 H20 Java, Python and R Environment/ Language open source predictive analytics platform Deep and Shallow Learning Not Yet Spark and Hadoop
0 Cuda-covnet C++ Library machine learning library forneural-network applications Deep Neural Networks CUDA coming in Cuda-covnet2
0 Mallet Java Library Package for statistical natural language processing Shallow Learning JCUDA Spark and Hadoop
0 JSAT Java Library Statistical Analysis Tool Shallow Learning JCUDA Spark and Hadoop
0 MultiBoost C++ Library Machine Learning Boosting Algorithms CUDA Not Yet
0 Shogun C++ Library Machine Learning Shallow Learning CUDA Not Yet
0 MLPACK C++ Library Machine Learning Shallow Learning CUDA Not Yet
0 DLIB C++ Library Machine Learning Shallow Learning CUDA Not Yet
0 Ramp Python Library Machine Learning Shallow Learning Skits.cuda Not Yet
0 Deepnet Python Library GPU-based Machine Learning Deep Learning CUDA Not Yet
0 CUV Python Library GPU-based Machine Learning Deep Learning CUDA Not Yet
0 APRIL-ANN Lua Library Machine Learning Deep Learning Not Yet Not Yet
0 nnForge C++ Framework GPU-basedMachine Learning Convolutionl and fully-connected neural networks CUDA Not Yet
0 PYML Python Framework Object oriented framework for machine learning SVMs and other kernel methods Skits.cuda Not Yet
0 Milk Python Library Machine Learning Shallow Learning Skits.cuda Not Yet
0 MDP Python Library Machine Learning Shallow Learning Skits.cuda Not Yet
0
Orange
Python Library Machine Learning Shallow Learning Skits.cuda Not Yet
0 PYMVPA Python Library Machine Learning Only Classification Skits.cuda Not Yet
0
Monte
Python Library Machine Learning Shallow Learning Skits.cuda Not Yet
0
RPY2
Python to R API Low-level interface to R Shallow Learning Skits.cuda Not Yet
0 NueroLab Python Library Machine Learning Feed Forward Neural Networks Skits.cuda Not Yet
0 PythonXX Python Library Machine Learning Shallow Learning Skits.cuda Not Yet
0 Hcluster Python Library Machine Learning Clustering Algorithms Skits.cuda Not Yet
0 FYANN C Library Machine Learning Feed Forward Neural Networks Not Yet Not Yet
0 PyANN Python Library Machine Learning Nearest Neighbours Classification Not Yet Not Yet
0 FFNET Python Library Machine Learning FeedForwad NeuralNetwors Not Yet Not Yet

帮助我们建立神经系统处理器的桥梁

Knowm Inc专注于开发像kT-RAM这样的神经系统处理器。 像杰弗里·辛顿这样的机器学习先驱者非常清楚,机器学习从根本上与计算能力有关。 我们称之为自适应电源问题,为了解决这个问题,我们需要新的工具来引领下一波智能机器。 虽然GPU(最终!)使我们能够展示在某些任务上接近人类水平的学习算法,但它们的能量和空间效率仍比生物学低100亿到10亿倍。 我们正把这个差距缩小到零。

我们有兴趣知道解决实际机器学习问题的人员,框架和算法最有用,因此我们可以集中精力构建kT-RAM和KnowmAPI的桥梁。 请在下面留言或联系我们告诉我们。

Misc. References

  1. Bryan Catanzaro Senior Researcher, Baidu” Speech: The Next Generation” 05/28/2015 Talk given @ GPUTech conference 2015

  2. Dhruv Batra CloudCV: Large-Scale Distributed Computer Vision as a Cloud Service” 05/28/2015 Talk given @ GPUTech conference 2015

  3. Dilip Patolla. “A GPU based Satellite Image Analysis Tool” 05/28/2015 Talk given @ GPUTech conference 2015

  4. Franco Mana. “A High-Density GPU Solution for DNN Training” 05/28/2015 Talk given @ GPUTech conference 2015</a

  5. Hailin Jin. “Collaborative Feature Learning from Social Media” 05/28/2015 Talk given @ GPUTech conference 2015

  6. Noel, Cyprian & Simon Osindero. “S5552 – Transparent Parallelization of Neural Network Training” 05/28/2015 Talk given @ GPUTech conference 2015

  7. Rob Fergus. “S5581 – Visual Object Recognition using Deep Convolution Neural Networks” 05/28/2015 Talk given @ GPUTech conference 2015

  8. Rodrigo Benenson ” Machine Learning Benchmark Results: MNIST” 05/28/2015

  9. Rodrigo Benenson ” Machine Learning Benchmark Results: CIFAR” 05/28/2015

  10. Tom Simonite “Baidu’s Artificial-Intelligence Supercomputer Beats Google at Image Recognition” 05/28/2015

 

 

SEO Title
Machine Learning Tools Overview

【机器学习】机器学习工程师的2020 路线图

Chinese, Simplified

受web开发人员路线图的启发,到2020年成为一名机器学习工程师。

下面是一组图表,展示了要成为一名机器学习工程师,你可以选择的路径和你想要采用的技术。我为我的一位老教授制作了这些图表,他想和他的大学生分享一些东西,给他们一个视角;在这里分享它们来帮助社区。

 

这些路线图的目的

这些路线图的目的是给你一个关于前景的概念,并在你对接下来要学习什么感到困惑时给你指导,而不是鼓励你去选择什么是流行的和流行的。您应该对为什么一种工具在某些情况下比另一种更适合有所了解,并且要记住,时髦和新潮并不意味着最适合这项工作。

写给初学者

这些路线图涵盖了下面列出的路径需要学习的所有内容。不要感到不知所措,如果你只是刚刚开始,你不需要一开始就学习。我们正在开发它们的初级版本,并将在2020年路线图发布后不久发布。

Backend Roadmap

原文:https://github.com/chris-chris/ml-engineer-roadmap

本文:

讨论:请加入知识星球【首席架构师圈】或者小号【jiagoushi_pro】

SEO Title
machine learning engineer in 2020

【机器学习】机器学习(ML)开发平台概述

Chinese, Simplified

Image for post

Azure ML是许多包含基于代码的模型开发特性的ML平台之一,但它也是一个“studio”(如下所示)

本文是机器学习平台系列的第一篇。它由数字弹射器和PAPIs支持。

对于所有ML成熟度级别的组织来说,模型开发平台极大地减少了创建ML模型的时间和成本。这些平台可以是现成的,也可以是定制的,基于开源或商业软件。其中一些还作为模型部署平台,在少数情况下作为模型生命周期管理平台,但是它们的核心是运行模型培训管道。

根据模型开发平台的不同,培训管道或多或少是可定制的,它们可以在您自己的机器或云基础设施上运行。我们可以将ML开发平台分为以下几种类型:

  • 半专用平台(例如用于文本或图像输入)
  • 高级平台即服务(主要用于表格数据)
  • 自托管工作室
  • 云机器学习IDE

这个平台类型列表是通过增加灵活性来排序的——但是请注意,这是以增加模型开发、配置和维护的时间为代价的。Cloud ML ide是最灵活的,可以用于任何类型的数据。然而,大多数高级平台和工作室只处理表格数据。目前有数百种ML平台,因此我们不会尝试引用所有的ML平台,而是为每种类型提供各种平台。就让我们一探究竟吧!

半专业化平台:语言和愿景

语言平台允许用户根据自己的数据训练定制文本模型。输入将是使用给定语言的文本。对于视觉平台,输入将是图像或视频。对于语言和视觉平台来说,输出都是标识“概念”的标签。如果您愿意,这些可以是“专有的”概念(例如,我们组织内部的引用,例如项目名称或团队名称)。您将向平台提供自己的训练数据(输入和输出),它将自动创建您自己的ML模型。请注意,模型训练过程可能是不可定制的,但至少您能够快速创建工作模型。

视觉平台的例子有:ClarifaiAmazon Rekognition, and Google AutoML Vision。下面我们将展示如何使用Clarifai在2个API调用中创建模型:一个用于发送训练数据,另一个用于实际创建模型。

$ curl  https://api.clarifai.com/v2/inputs 
  -H "Authorization: Key YOUR_API_KEY"
  -H "Content-Type: application/json"
  -d '{ "inputs": [
        { "data": {"image": {"base64": "'"$(base64 /home/user/object1.jpeg)"'"},
          "concepts": [ {"id": "defect", "value": true} ] }
      ] }'
$ curl https://api.clarifai.com/v2/models
  -H "Authorization: Key YOUR_API_KEY"
  -H "Content-Type: application/json"
  -d '{"model": {
        "name": "defect_detector",
        "output_info": {
          "data": {"concepts": [{"id": "defect"}]},
          "output_config": {
            "concepts_mutually_exclusive": true,
            "closed_environment": false }}}}'

然后您就可以检查您的模型并评估其性能。

Image for post

在Clarifai门户中进行模型评估和阈值调整

一些示例语言平台:Amazon understand、谷歌AutoML Natural Language和MonkeyLearn。Lateral是另一个有趣的API,它包括一个标记建议API(基于现有文本文档和标记)和一个推荐API,该API将类似的文档推荐给给定的文本文档。这使用了一种混合的方法,其中相关性是根据文本内容和用户行为决定的。

请注意,一些平台还提供数据注释服务,以帮助创建专有模型(例如,谷歌有一个众包数据标签服务)。如果您选择的平台没有这样的服务,则有专用的数据注释平台,如图8所示。

高级PaaS

作为服务的平台是最容易使用的,因为不需要安装,也不需要担心基础设施。高级功能包括:

  • 问题类型的自动检测(例如,分类或回归)
  • 数据的自动准备(如分类变量的编码、归一化、特征选择等)。
  • 学习算法的自动化配置(具有元学习和超参数智能搜索的自动化)

这些平台对不太了解ML算法的人特别有用,领域专家或软件开发人员也可以访问它们。可以说,它们对数据科学家也很有用,因为它们允许更快的实验和更少的错误。这反过来又允许我们关注在从数据中学习之前和之后发生的所有事情——这在实践中是最重要的:收集ml准备好的数据,评估预测,并在软件中使用它们。

BigML

BigML是一个平台,它为分类和回归(决策树、随机森林、增强树、神经网络、线性和逻辑回归)提供了各种内置算法,这些算法支持数字特性、分类特性以及文本特性。它还提供了非监督学习算法(使用K-means和G-means聚类,使用隔离森林的异常检测,PCA,主题建模)和时间序列预测(指数平滑)。它的“优化”功能实现了自动化技术,可以在给定的时间预算内为给定的训练集、验证/测试集和性能度量找到最佳模型。它的“融合”功能创建了模型集合。

Image for post

检查BigML自动创建的神经网络,带有交互式部分依赖图

BigML API允许用户在BigML云基础设施上大规模查询预测和触发模型训练。让我们假设BIGML_AUTH是一个包含BigML用户名和API密钥的环境变量。以下是调用API对给定的训练和测试数据集(通过其id识别)使用OptiML的方法,以最大化接受者操作特征(ROC)曲线(AUC)下的面积:

$ curl https://bigml.io/optiml?$BIGML_AUTH -d '{"dataset": "<training_dataset_id>", "test_dataset": "<test_dataset_id>", "metric": "area_under_roc_curve", "max_training_time": 3600 }'

该请求是异步的,将返回一个OptiML id。在一个小时(3600秒)后,可以点击API来获取创建的OptiML对象的信息,特别是包含为数据集找到的最佳模型的id的摘要。然后可以要求从这个模型进行预测:

$ MODEL_ID = curl https://bigml.io/optiml/<optiml_id>?$BIGML_AUTH | jq -r ".optiml.summary.model.best"$ 
curl https://bigml.io/predict?$BIGML_AUTH -d '{"model": "'"$MODEL_ID"'", "input_data": {"text": "I will never stay in this hotel again"}}'

BigML可能是本节介绍的平台中最容易使用的,但也是最不灵活的。ML实践者会发现缺失的功能,比如绘制学习曲线和使用自定义性能指标的能力。然而,BigML允许用户在他们的平台上用他们自己创建的称为WhizzML的语言执行脚本,这是一种专门用于机器学习的高级编程语言。这扩展了平台的功能。也是最封闭平台之一,因为它不与开源的,所以是有限的模型可以导出的格式,不可能导出脚本建模——然而,可以看到哪些算法和参数被用来创建一个模型。

谷歌的产品

谷歌AutoML表是一个beta版产品,与BigML有相似之处,但还不打算在关键应用程序中使用。它的UI更简单,而且该产品似乎更针对开发人员而不是领域专家。谷歌云推断API专注于时间序列预测。它是一个不包含UI的alpha产品,但更适合在生产中部署。

微软Azure ML

Microsoft Azure ML是一个MLaaS平台,提供了一个带有两个模型创作环境的工作室:自动化ML和设计器(以前称为“交互画布”)。该平台还可以将模型转换为可自动伸缩的预测api。设计者允许用户查看和可视化地编辑模型训练管道,即获取数据、准备数据和应用ML算法生成(和评估)预测模型的操作序列。通过避免接口捕获的潜在错误(例如,缺少数据操作的输入,或禁止的连接),设计器使理解管道变得更容易,但也使创建管道变得更容易。

Image for post

微软Azure ML的设计师

Lobe

Lobe是微软于2018年收购的一项服务,它也提供交互式画布和自动功能,但也允许用户处理图像功能。它提供了一个易于使用的环境来自动建立神经网络模型,通过一个可视化的界面。模型是由可以完全控制的构件组成的(波瓣建立在TensorFlow和Keras之上);一些构建模块是预先训练的,这允许迁移学习。培训可以通过实时的交互式图表进行监控。训练好的模型可以通过开发人API提供,或者导出到Core ML和TensorFlow文件,在iOS和Android设备上运行。

Image for post

图像和数字特征的ML模型的一系列操作的可视化编辑

自托管工作室

其他一些工作室也提供了不同名称的设计器——DataRobot称其为“蓝图”,Rapidminer和Dataiku称其为“工作流”——以及自动化功能。这里提到的ML开发平台被认为比以前的平台级别更低,因为它们不是“作为服务”提供的,需要安装并托管在我们自己的(集群)机器上。但是,它们具有在MLaaS产品中没有的有趣功能。

这些平台共有的一个共同点是它们都基于标准的开源ML库,并允许用户使用定制库和定制代码。它们允许用户将ML工作流/管道导出为Python脚本,并将经过训练的模型导出为各种开放格式,从而避免锁定。注意,上面提到的一些供应商还提供单独的部署和模型服务解决方案。

Dataiku

大泰库的数据科学工作室(DSS)有以下优势:

  • 连接到许多类型的数据库。例如,数据源可以从CSV文件更改为Hadoop文件系统(HDFS) URI,而不需要更改ML管道的其余部分
  • 可视化数据角力、特征工程和特征丰富,以改进数据,并帮助它在使用学习算法之前做好准备
  • 提供内置算法的不同ML后端。例如,后端可以从scikit-learn更改为Spark MLlib,而不需要更改ML管道的其余部分
  • 内置的聚类和异常检测算法

Image for post

在Dataiku的数据科学工作室中比较MLlib模型的性能

DataRobot

DataRobot有以下优点:

  • 自动功能工程
  • 模型检查特征和预测解释的可视化
  • 高级时间序列预测:几个内置算法(ARIMA, Facebook Prophet,梯度增强),回溯测试评估方法,平稳性自动检测,季节性,时间序列特征工程。

Image for post

在DataRobot中的预测解释

H2O

H2O的无人驾驶人工智能与DataRobot类似。两者都有Python API。下面是对H2O Python API的start_experiment_sync方法的调用,它在精神上类似于BigML的HTTP API的OptiML方法:

params = h2oai.get_experiment_tuning_suggestion(
                dataset_key=train.key,
                target_col=target,
                is_classification=True,
                is_time_series=False,
                config_overrides=None)experiment = h2oai.start_experiment_sync(
                dataset_key=train.key,
                testset_key=test.key,
                target_col=target,
                is_classification=True,
                scorer='AUC',
                accuracy=params['accuracy'],
                time=params['time'],
                interpretability=params['interpretability'],
                enable_gpus=True,
                seed=1234, # for reproducibility
                cols_to_drop=['ID'])

云机器学习IDE

我们最后一种类型的模型开发平台可以看作是托管在云上的用于机器学习的集成开发环境(IDE)。这些平台不提供以前提供的ML studio的高级功能,但是它们可以从云计算中获益。对于机器和深度学习从业者来说,使用云平台提供的强大的、配置了gpu的虚拟机(VMs)进行实验是一种常见的做法。这些云vm在创建特定于ml的云平台之前就已经可用了。这些平台使得实验运行速度更快,而且如果需要的话,也很容易24/7地进行。这些平台还可以对多核cpu、具有大量RAM的强大gpu和已经配置好的集群(例如,用于分布式学习、并行调优超参数和使用深度神经网络)进行大规模实验。用户只为他们使用的东西付费;无需预付购买昂贵硬件的费用。

新的特定于ml的云平台允许在预先配置的基础设施上访问Jupyter实验室环境,即基于web的ide。它们为云vm提供所有公共开放源码ML库。通常包括TensorBoard web服务器,用于监控基于tensorflow的实验的进程。Cloud ML ide的目标是使vm的可用速度比其他云服务更快(通常从几分钟到几秒),并使在这些(短期)vm上完成的工作更方便持久化。

Floyd

Floyd是一个很好的入门平台,因为它使用起来没有竞争对手那么复杂,但是仍然提供了一些不同的选项来运行ML实验。它提供了两种类型的cpu和两种类型的gpu的访问,根据我们的需要进行选择。实验可以通过两种不同的方式进行:

  • 工作区,这是一个基于Jupyter实验室的IDE,用于交互式实验。它还提供了对TensorBoard的访问,以及一个类似的称为Metrics的特性,可以与任何ML库(不一定是TensorFlow)一起使用,以监视模型训练的进度
  • 作业,用于作为脚本运行较长的实验。作业是从安装在我们自己机器上的命令行接口(CLI)工具启动的,与本地执行脚本的方式相同,但它们是在Floyd平台上运行的。CLI还允许用户标记作业和下载输出。浏览作业的历史记录、使用标记进行筛选以及查看历史记录中的结果摘要,这些功能都满足了实验跟踪器的功能。
  • 另一个有用的特性是能够在云平台上存储大型数据集并与整个团队共享,因此不需要在本地下载数据集并保持同步。Floyd的基础设施建立在亚马逊北美的公共云之上,但Floyd也可以安装在私有云和本地云上,这是它区别于谷歌和亚马逊产品的一个方面。

Image for post

谷歌AI平台笔记本

谷歌AI平台笔记本类似于Floyd工作区。它使用了该平台的深度学习VM映像和它的云TPUs(张量处理单元)。它内置了Git支持,并与谷歌AI Hub集成。谷歌AI Hub可以帮助发现其他人在组织内构建的内容(比如笔记本、管道和模型),在开始新的开发之前应该检查这些内容。由于笔记本是谷歌云产品,它提供了访问预配置/预安装的谷歌云平台库,如Dataflow和Dataproc来进行数据争论。GPU可以添加到平台使用的云VM中,也可以从云VM中移除,而Floyd被限制为每个VM只有1个GPU。

AWS SageMaker

SageMaker是Amazon的ML平台,它提供了类似的开发环境,便于在分布式模型训练和分布式超参数调优实验中使用集群计算。SageMaker允许用户通过其Python API和字典数据结构定义用于训练和验证的数据集,用于训练算法的超参数值,以及用于运行作业的资源,来定义模型训练作业。

training_params = \
{
    "AlgorithmSpecification": {
        "TrainingImage": image, # specify the training docker image
        "TrainingInputMode": "File"
    },
    "RoleArn": role,
    "OutputDataConfig": {
        "S3OutputPath": 's3://{}/{}/output'.format(bucket) 
    },
    "ResourceConfig": {
        "InstanceCount": 1,
        "InstanceType": "ml.p3.2xlarge",
        "VolumeSizeInGB": 50
    },
    "TrainingJobName": "model_a",
    "HyperParameters": {
        "image_shape": "3,224,224",
        "num_layers": "18",
        "num_training_samples": "15420",
        "num_classes": "257",
        "mini_batch_size": "128",
        "epochs": "2",
        "learning_rate": "0.2",
        "use_pretrained_model": "1"
    },
    "StoppingCondition": {
        "MaxRuntimeInSeconds": 360000
    },
    "InputDataConfig": [
        {
            "ChannelName": "train",
            "DataSource": {
                "S3DataSource": {
                    "S3DataType": "S3Prefix",
                    "S3Uri": 's3://{}/train/'.format(bucket),
                    "S3DataDistributionType": "FullyReplicated"
                }
            },
            "ContentType": "application/x-recordio",
            "CompressionType": "None"
        },
        {
            "ChannelName": "validation",
            "DataSource": {
                "S3DataSource": {
                    "S3DataType": "S3Prefix",
                    "S3Uri": 's3://{}/validation/'.format(bucket),
                    "S3DataDistributionType": "FullyReplicated"
                }
            },
            "ContentType": "application/x-recordio",
            "CompressionType": "None"
        }
    ]
}
sagemaker.create_training_job(**training_params)

 

 

该平台还为各种ML任务提供了项目模板,包括一些高级任务,如序列到序列学习和强化学习。

Databricks

Databricks统一分析平台允许用户访问亚马逊或微软云平台上的集群计算。Databricks维护Apache Spark,这是一个领先的开源集群计算框架。该平台还允许访问Databricks的另一个开源框架MLflow,它有一个实验跟踪组件。MLflow被设计成可伸缩到大型数据集、大型输出文件(例如模型)和大量实验。它支持并行地启动多个运行(例如超参数调优)和在Spark上执行单独的运行。它可以从分布式存储系统中获取输入,并向分布式存储系统写入输出。

接下来的内容是:更多类型的ML平台和限制

我希望这篇文章使您相信模型开发平台的强大功能,并使您知道哪种类型最适合您。

在下一篇文章中,我将介绍其他类型的ML平台(部署的、垂直的、预先培训过的),我将提供一些技巧来帮助您为您的组织选择最佳的ML平台,我还将讨论这些平台的不足之处,以便构建真实的ML系统。跟随我得到通知!

 

原文:https://medium.com/@louisdorard/an-overview-of-ml-development-platforms-df953060b9a9

本文:http://jiagoushi.pro/node/1137

讨论:请加入知识星球【首席架构师圈】或者小号【jiagoushi_pro】

SEO Title
An overview of ML development platforms

【机器学习】轻松看懂机器学习十大常用算法

Chinese, Simplified

通过本篇文章大家可以对ML的常用算法形成常识性的认识。没有代码,没有复杂的理论推导,仅是图解,介绍这些算法是什么以及如何应用(例子主要是分类问题)。

今天的算法如下:

  • 1、决策树
  • 2、随机森林算法
  • 3、逻辑回归
  • 4、SVM
  • 5、朴素贝叶斯
  • 6、K 最近邻算法
  • 7、K 均值算法
  • 8、Adaboost 算法
  • 9、神经网络
  • 10、马尔可夫

1. 决策树

根据一些 feature 进行分类,每个节点提一个问题,通过判断,将数据分为两类,再继续提问。这些问题是根据已有数据学习出来的,再投入新数据的时候,就可以根据这棵树上的问题,将数据划分到合适的叶子上。

轻松看懂机器学习十大常用算法

2. 随机森林

在源数据中随机选取数据,组成几个子集。

S 矩阵是源数据,有 1-N 条数据,A B C 是 feature,最后一列 C 是类别。

轻松看懂机器学习十大常用算法

由 S 随机生成 M 个子矩阵。

轻松看懂机器学习十大常用算法

这 M 个子集得到 M 个决策树。

将新数据投入到这 M 个树中,得到 M 个分类结果,计数看预测成哪一类的数目最多,就将此类别作为最后的预测结果。

轻松看懂机器学习十大常用算法

3. 逻辑回归

当预测目标是概率这样的,值域需要满足大于等于0,小于等于1的,这个时候单纯的线性模型是做不到的,因为在定义域不在某个范围之内时,值域也超出了规定区间。

轻松看懂机器学习十大常用算法

所以此时需要这样的形状的模型会比较好。

轻松看懂机器学习十大常用算法

那么怎么得到这样的模型呢?

这个模型需要满足两个条件大于等于0,小于等于1。

大于等于0的模型可以选择绝对值,平方值,这里用指数函数,一定大于0。

小于等于1用除法,分子是自己,分母是自身加上1,那一定是小于1的了。

轻松看懂机器学习十大常用算法

再做一下变形,就得到了 logistic regression 模型。

轻松看懂机器学习十大常用算法

通过源数据计算可以得到相应的系数了。

轻松看懂机器学习十大常用算法

最后得到 logistic 的图形。

轻松看懂机器学习十大常用算法

4. SVM

support vector machine。

要将两类分开,想要得到一个超平面,最优的超平面是到两类的 margin 达到最大,margin 就是超平面与离它最近一点的距离,如下图,Z2>Z1,所以绿色的超平面比较好。

轻松看懂机器学习十大常用算法

将这个超平面表示成一个线性方程,在线上方的一类,都大于等于1,另一类小于等于-1。

轻松看懂机器学习十大常用算法

点到面的距离根据图中的公式计算。

轻松看懂机器学习十大常用算法

所以得到 total margin 的表达式如下,目标是最大化这个 margin,就需要最小化分母,于是变成了一个优化问题。

举个例子,三个点,找到最优的超平面,定义了 weight vector=(2,3)-(1,1)。

轻松看懂机器学习十大常用算法

得到 weight vector 为(a,2a),将两个点代入方程,代入(2,3)另其值=1,代入(1,1)另其值=-1,求解出 a 和 截矩 w0 的值,进而得到超平面的表达式。

轻松看懂机器学习十大常用算法

a 求出来后,代入(a,2a)得到的就是 support vector。

a 和 w0 代入超平面的方程就是 support vector machine。

5. 朴素贝叶斯

举个在 NLP 的应用。

给一段文字,返回情感分类,这段文字的态度是positive,还是negative。

轻松看懂机器学习十大常用算法

为了解决这个问题,可以只看其中的一些单词。

轻松看懂机器学习十大常用算法

这段文字,将仅由一些单词和它们的计数代表。

轻松看懂机器学习十大常用算法

原始问题是:给你一句话,它属于哪一类。

通过 bayes rules 变成一个比较简单容易求得的问题。

问题变成,这一类中这句话出现的概率是多少,当然,别忘了公式里的另外两个概率。

举例:单词 love 在 positive 的情况下出现的概率是0.1,在 negative 的情况下出现的概率是0.001。

6. K 最近邻

k nearest neighbours。

给一个新的数据时,离它最近的 k 个点中,哪个类别多,这个数据就属于哪一类。

举例:要区分猫和狗,通过 claws 和 sound 两个feature来判断的话,圆形和三角形是已知分类的了,那么这个 star 代表的是哪一类呢。

轻松看懂机器学习十大常用算法

k=3时,这三条线链接的点就是最近的三个点,那么圆形多一些,所以这个 star 就是属于猫。

轻松看懂机器学习十大常用算法

7. K 均值

想要将一组数据,分为三类,粉色数值大,黄色数值小。

最开心先初始化,这里面选了最简单的 3,2,1 作为各类的初始值。

剩下的数据里,每个都与三个初始值计算距离,然后归类到离它最近的初始值所在类别。

轻松看懂机器学习十大常用算法

分好类后,计算每一类的平均值,作为新一轮的中心点。

轻松看懂机器学习十大常用算法

几轮之后,分组不再变化了,就可以停止了。

轻松看懂机器学习十大常用算法

轻松看懂机器学习十大常用算法

8. Adaboost

adaboost 是 bosting 的方法之一。

bosting就是把若干个分类效果并不好的分类器综合起来考虑,会得到一个效果比较好的分类器。

下图,左右两个决策树,单个看是效果不怎么好的,但是把同样的数据投入进去,把两个结果加起来考虑,就会增加可信度。

轻松看懂机器学习十大常用算法

adaboost 的栗子,手写识别中,在画板上可以抓取到很多 features,例如始点的方向,始点和终点的距离等等。

轻松看懂机器学习十大常用算法

training 的时候,会得到每个 feature 的 weight,例如2和3的开头部分很像,这个 feature 对分类起到的作用很小,它的权重也就会较小。

轻松看懂机器学习十大常用算法

而这个 alpha 角 就具有很强的识别性,这个 feature 的权重就会较大,最后的预测结果是综合考虑这些 feature 的结果。

轻松看懂机器学习十大常用算法

9. 神经网络

Neural Networks 适合一个 input 可能落入至少两个类别里。

NN 由若干层神经元,和它们之间的联系组成。

第一层是 input 层,最后一层是 output 层。

在 hidden 层 和 output 层都有自己的 classifier。

轻松看懂机器学习十大常用算法

input 输入到网络中,被激活,计算的分数被传递到下一层,激活后面的神经层,最后 output 层的节点上的分数代表属于各类的分数,下图例子得到分类结果为 class 1。

同样的 input 被传输到不同的节点上,之所以会得到不同的结果是因为各自节点有不同的 weights 和 bias。

这也就是 forward propagation。

轻松看懂机器学习十大常用算法

10. 马尔可夫

Markov Chains 由 state 和 transitions 组成。

栗子,根据这一句话‘the quick brown fox jumps over the lazy dog’,要得到 markov chain。

步骤,先给每一个单词设定成一个状态,然后计算状态间转换的概率。

轻松看懂机器学习十大常用算法

这是一句话计算出来的概率,当你用大量文本去做统计的时候,会得到更大的状态转移矩阵,例如 the 后面可以连接的单词,及相应的概率。

轻松看懂机器学习十大常用算法

生活中,键盘输入法的备选结果也是一样的原理,模型会更高级。

轻松看懂机器学习十大常用算法

SEO Title
Easy to understand the top ten commonly used algorithms for machine learning

【机器学习架构】一个真实世界机器学习系统的架构

Chinese, Simplified

本文是机器学习平台系列的第2部分。它由数字弹射器和 PAPIs支持。

在上一篇文章中,我概述了ML开发平台,它们的工作是帮助创建和打包ML模型。模型构建只是ML系统所需的众多功能中的一项。在这篇文章的最后,我提到了其他类型的ML平台以及构建现实世界ML系统时的限制。在我们能够讨论这些之前,我们需要回顾这些系统的所有组件,以及它们是如何相互连接的。

Image for post

上面的图表关注的是“监督学习”系统(例如分类和回归)的客户机-服务器架构,其中预测由客户机请求,在服务器上进行。(旁注:在某些系统中,最好有客户端预测;其他的甚至可能鼓励客户端模型培训,但是在工业ML应用程序中使其高效的工具还不存在。)

ML系统组件的概述

在进一步研究之前,我建议下载上面的图表,并分割屏幕,以便在阅读本文其余部分的同时可以看到图表。

让我们假设“数据库”在创建ML系统之前就已经存在了。深灰色和紫色的组件将是新的组件被建立。那些应用ML模型进行预测的用紫色表示。矩形用于表示有望提供微服务的组件,这些组件通常通过具象状态传输(representational state transfer, REST) api访问并在无服务器平台上运行。

ML系统有两个“入口点”:请求预测的客户端和创建/更新模型的协调器。客户端代表将从ML系统获益的最终用户使用的应用程序。这可以是你用来订晚餐的智能手机应用程序,例如UberEats请求预定的交货时间——这在COVID-19封锁期间是一个大用例!

Image for post

封锁前的照片,维基百科提供。有一个复杂的ML系统可以预测这个家伙什么时候到达他的目的地,每天成千上万次,在世界上数以百计的城市!希望这个系统使用的模型在过去几周内得到了更新……

协调器通常是由调度程序调用的程序(以便模型可以定期更新,例如每周更新),或者通过API调用(以便它可以成为持续集成/持续交付管道的一部分)。它负责在一个保密的测试数据集上评估模型构建器创建的模型。为此,它将测试预测发送给求值器。如果一个模型被认为足够好,那么它将被传递到模型服务器,通过API使其可用。这个API可以直接公开给客户端软件,但是通常需要在前端中实现特定于领域的逻辑。

假设有一个或多个(基线)模型可以作为api使用,但还没有集成到最终的应用程序中,您将通过跟踪生产数据的性能并通过监视器可视化来决定要集成哪个模型(以及它是否安全)。在我们的晚餐递送示例中,它将让您比较一个模型的ETD与刚刚交付的订单的实际交货时间。当新的模型版本可用时,客户端对预测的请求将通过前端逐步定向到新模型的API。这将为越来越多的终端用户完成,同时监视性能并检查新模型是否“破坏”了任何东西。ML系统的所有者和客户机应用程序的所有者将定期访问监视器的仪表板。

让我们以列表的形式重述一下上图中的所有组件:

  1. 事实(Ground-truth)收集器
  2. 数据贴标机
  3. 评估者
  4. 性能监视器
  5. Featurizer(特征化器)
  6. 协调器
  7. 模型构建器
  8. 模型服务器
  9. 前端

我们已经简单地提到了第3、4、6、7、8和9条。现在让我们提供更多的信息,复习一下#1、# 2和# 5!

# 1:事实收集器

在现实世界中,关键是能够不断获取新的数据供机器学习。有一种数据特别重要:地面真实数据。这与您希望ML模型预测的内容相对应,例如房地产的销售价格、与客户相关的事件(例如客户流失)或分配给输入对象的标签(例如传入消息中的“spam”)。有时候,你观察一个输入对象,你只需要等待一段时间来观察你想预测的对象;例如,您等待房产被出售,等待客户续订或取消订阅,等待用户与收件箱中的电子邮件交互。您可能希望用户在ML系统预测错误时让您知道(参见下面的插图)。如果您想让您的用户能够提供这种反馈,您将需要一个微服务来将其发送到其中。

Image for post

以防你认为ML平台不重要…(什么?!)

# 2:数据贴标机

有时,您可以访问大量的输入数据,但是您需要手动创建相关的ground-truth数据。构建垃圾邮件检测器或从图像构建对象检测器时就是这样。有现成的和开源的web应用来简化数据标注(如Label Studio),也有专门的外包手工标注数据的服务(如图8和谷歌的数据标注服务)。

Image for post

飞机分类:标签工作室在行动

# 3:评估者

当您有了供机器学习的初始数据集时,在开始构建任何ML模型之前,定义如何评估计划的ML系统是很重要的。除了测量预测精度,还需要通过特定于应用程序的性能指标和系统指标(如延迟和吞吐量)来评估短期和长期的影响。

模型评估有两个重要的目标:比较模型,以及决定将模型集成到应用程序中是否安全。评估可以在一组预先确定的测试用例上执行,因为它是已知的预测应该是什么(即基本事实)。可以检查错误分布,并将错误聚合到性能指标中。为此,评估者需要访问测试集的ground truth,这样当它在输入中得到预测时,它就可以计算预测错误并返回性能指标。

我建议在构建ML模型之前优先实现这个求值器。评估基线模型所作的预测,以提供参考。基线通常是基于输入特征(也就是特性)的启发式方法。它们可以是超级简单的、手工制作的规则……

  • 对于流失预测,你的基线可以说,如果一个客户在过去30天内登录少于3次,他们很可能会流失;
  • 对于食物送餐时间的预测,你的基线可以是上周所点餐餐厅和乘客的平均送餐时间。

在明天开发复杂的ML模型之前,看看你的基线今天是否能创造价值!

# 4: 性能监视器

决定是否可以将(基线)模型集成到应用程序中的下一步是在生产中遇到的输入(称为“生产数据”)上使用它,在类似于生产的设置中,并通过时间监控它的性能。

计算和监控生产数据的性能指标需要在数据库中获取和存储生产输入、基本事实和预测。性能监视器将由一个从数据库读取数据、调用评估器的程序和一个显示性能指标如何随时间发展的仪表板组成。一般来说,我们希望检查模型是否随时间运行良好,以及它们是否持续对集成它们的应用程序产生积极影响。还可以使用显示生产数据分布的数据可视化小部件对监视器进行增强,这样我们就可以确保它们符合预期,或者我们可以监视漂移和异常情况。

Image for post

搅和模型的监视仪表板(源)

# 5: FEATURIZER(特征化机器)

在设计预测API时,需要决定API应该采用什么作为输入。例如,在对客户进行预测时,输入应该是客户的全部特性表示,还是仅仅是客户id?

在任何情况下,完整的数字表示都是很常见的(就像文本或图像输入一样),但是在传递给模型之前必须对其进行计算。对于客户输入,有些特性已经存储在数据库中(例如,出生日期),而其他特性则需要进行计算。这可能是描述客户在某段时间内如何与产品交互的行为特性的情况:它们将通过查询和聚合记录客户与产品交互的数据来计算。

如果特性本质上不经常变化,则可以批量计算它们。但在ML用例中,比如UberEats的预期交付时间,我们可能会有快速变化的“热点”特性,需要实时计算;例如,某家餐厅在过去X分钟内的平均送餐时间。

这需要创建至少一个特性化微服务,它将根据输入的id为一批输入提取特性。您可能还需要一个实时的特性化微服务,但是这会增加ML系统的复杂性。

功能分析器可以查询各种数据库,并对查询的数据执行各种聚合和处理。它们可能具有参数(如上面示例中的分钟数X),这些参数可能会对模型的性能产生影响。

# 6 协调器

工作流

协调器位于ML系统的核心,并与许多其他组件交互。下面是它的工作流/管道中的步骤:

  1. 提取-转换-加载和分割(原始)数据到训练,验证,测试集
  2. 发送功能饱和化的培训/验证/测试集(如果有的话)
  3. 准备专用的训练/验证/测试集
  4. 将准备好的训练/验证集的uri以及要优化的指标发送到模型构建器
  5. 得到最优模型,应用于测试集,并将预测发送给评估者
  6. 获取性能值并决定是否可以将模型推到服务器(例如,用于对生产数据的卡纳塔测试)。

关于步骤3(“准备专用培训/验证/测试集”)的更多细节:

  • 增强训练数据(例如,过采样/过采样,或旋转/翻转/裁剪图像)
  • 预处理训练/验证/测试集,包括数据消毒(以便可以安全地用于建模或预测)和针对特定问题的准备(例如,图像去饱和和调整大小)。

运行工作流的方法

整个工作流可以手动执行,但是要频繁地更新模型,或者联合调优建模器和建模器的超参数,就必须实现自动化。这个工作流可以实现为一个简单的脚本并在单个线程上运行,但是通过并行运行可以提高计算效率。端到端ML平台允许这样做,并且可以提供一个环境来定义和运行完整的ML管道。与谷歌AI平台,例如,你可以使用谷歌云数据产品,如Dataprep (Trifacta争吵工具提供的数据),数据流(一个简化的流和批量数据处理工具),BigQuery (serverless云数据仓库),您可以定义一个培训应用程序基于TensorFlow或内置算法(例如XGBoost)。在处理重要的数据量时,Spark是一个流行的选择。Spark背后的Databricks公司也提供端到端平台。

或者,工作流的每一步都可以在不同的平台或不同的计算环境中运行。一种选择是在不同的Docker容器中执行这些步骤。Kubernetes是ML从业者中最流行的开源容器编排系统之一。Kubeflow和Seldon Core是开源工具,允许用户描述ML管道并将其转换为Kubernetes集群应用程序。这可以在本地环境中完成,并且应用程序可以运行在Kubernetes集群上,该集群可以安装在本地,也可以在云平台中提供——例如谷歌Kubernetes引擎,它被谷歌AI平台或Azure Kubernetes服务或Amazon EKS使用。Amazon还提供了一种与Kubernetes相对应的Fargate和ECS。Apache气流是另一个开源工作流管理工具,最初由Airbnb开发。气流已经成为协调一般IT任务(包括ML任务)执行的流行方式,它还与Kubernetes集成。

为更高级的工作流程的主动学习

正如前面所暗示的,可能需要领域专家访问一个数据标签器,在那里他们将被显示输入并被要求标记它们。这些标签将存储在数据库中,然后编配人员可以在培训/验证/测试数据中使用这些标签。提供标记的输入可以手动选择,也可以在协调器中进行编程。这可以通过观察模型正确但不确定的生产投入,或非常确定但不确定的生产投入——这是“主动学习”的基础。

# 7 模型构建器

模型构建器负责提供一个最佳的模型。为此,它在训练集上训练各种模型,并在验证集上评估它们,使用给定的度量,以评估最优性。注意,这与上一篇文章中探讨的OptiML示例相同:

$ curl https://bigml.io/optiml?$BIGML_AUTH -d '{"dataset": "<training_dataset_id>", "test_dataset": "<test_dataset_id>", "metric": "area_under_roc_curve", "max_training_time": 3600 }'

BigML通过它的API自动使模型可用,但是对于其他ML开发平台,您可能希望打包模型,将其保存为文件,并让您的模型服务器加载该文件。

Image for post

在Azure ML上进行的“自动化ML”实验的结果。您可以下载找到的最佳模型,或者在Azure上部署它。

如果您使用不同的ML开发平台,或者根本不使用平台,那么以一种由专用服务自动创建模型的方式来构建您的系统是值得的,该服务需要对训练集、验证集和性能度量进行优化。

# 8 模型服务器

模型服务器的角色是处理针对给定模型的预测的API请求。为此,它加载保存在文件中的模型表示,并通过模型解释器将其应用到API请求中的输入;然后在API响应中返回预测。服务器应该允许并行处理多个API请求和模型更新。

下面是一个情绪分析模型的请求和响应示例,它只接受一个文本特性作为输入:

$ curl https://mydomain.com/sentiment

-H 'X-ApiKey: MY_API_KEY'

-d '{"input": "I love this series of articles on ML platforms"}'

{"prediction": 0.90827194878055087}

存在不同的模型表示,如ONNX和PMML。另一个标准实践是将模型作为计算环境中的对象保存在文件中。这还需要保存计算环境的表示,特别是它的依赖关系,这样就可以再次创建模型对象。在这种情况下,模型“解释器”仅仅由像model.predict(new_input)这样的东西组成。

# 9 前端

前端可以服务多种用途:

  • 简化模型的输出,例如将一个类概率列表转换为最可能的类;
  • 添加到模型的输出中,例如使用黑盒模型解释器并提供预测解释(与Indico的方法相同);
  • 实现特定领域的逻辑,例如基于预测的决策,或接收到异常输入时的回退;
  • 发送生产输入和模型预测,以便存储在生产数据库中;
  • 测试新模型,通过查询预测(除了“实时”模型之外)并存储它们;这将允许监视器为这些新的候选模型绘制性能指标。

模型生命周期管理

如果一个新的候选模型在测试数据集中提供了比当前模型更好的性能,那么通过让前端返回这个模型对一小部分应用程序的最终用户的预测(金丝雀测试),就可以测试它对应用程序的实际影响。这要求评估者和监控器实现特定于应用程序的性能指标。测试用户可以从列表中选取,也可以通过他们的某个属性、地理位置选择,或者完全随机选择。在监视性能并确信新模型不会破坏任何东西时,开发人员可以逐步增加测试用户的比例,并执行A/B测试,进一步比较新模型和旧模型。如果新模型被证实更好,前端就会通过总是返回新模型的预测来“取代”旧模型。如果新模型最终破坏了系统,也可以通过前端实现回滚。

Image for post

逐步将流量导向模型B,逐步淘汰模型A(来源)

结论

如果您对真实的ML感到好奇,那么我希望本文能够帮助您说明为什么ML开发平台和模型构建通常不足以创建对最终用户有实际影响的系统。

原文:https://medium.com/@louisdorard/architecture-of-a-real-world-machine-learning-system-795254bec646

本文:http://jiagoushi.pro/node/1136

讨论:请加入知识星球【首席架构师圈】或者小号【jiagoushi_pro】

SEO Title
Architecture of a real-world Machine Learning system

【科普】机器学习

Chinese, Simplified

机器学习(ML)是对计算机系统用于执行特定任务的算法和统计模型的科学研究,不需要使用明确的指令,而是依赖于模式和推理。它被视为人工智能的一个子集。机器学习算法建立一个基于样本数据的数学模型,称为“训练数据”,以便在不显式编程执行任务的情况下做出预测或决策。[1][2]:2机器学习算法被广泛应用于电子邮件过滤和计算机视觉等领域,在这些领域,很难或不可行地开发一种传统的算法来有效地执行任务。

机器学习与计算统计学密切相关,计算统计学侧重于使用计算机进行预测。数学优化的研究为机器学习领域提供了方法、理论和应用领域。数据挖掘是机器学习中的一个研究领域,主要通过无监督学习对数据进行探索性分析。在它的跨业务问题的应用中,机器学习也被称为预测分析。

概述

机器学习这个名字是阿瑟·塞缪尔在1959年创造的。[5]汤姆·m·米切尔提供了广泛引用,更正式的定义算法研究机器学习领域:“据说计算机程序从经验中学习E对一些类的任务T和性能测量P T,如果业绩任务以P,改善与体验E .”机器学习所涉及的任务的这个定义提供了一个基本的操作性定义,而不是用认知的术语来定义这个领域。这与阿兰·图灵在他的论文《计算机器与智能》中提出的“机器能思考吗?”的问题相呼应。在图灵的提议中,揭示了思维机器可能具有的各种特征,以及构建思维机器的各种含义。

机器学习任务

支持向量机是一种有监督的学习模型,它将数据分成由线性边界分割的区域。这里,线性边界将黑圈和白圈分开。

机器学习任务可以分为几个大类。在监督学习中,该算法从一组包含输入和期望输出的数据构建数学模型。例如,如果任务是确定一个图像是否包含某个对象,用于监督学习算法的训练数据将包括有该对象和没有该对象的图像(输入),并且每个图像将有一个标签(输出)来指定它是否包含该对象。在特殊情况下,输入可能只部分可用,或者仅限于特殊反馈。半监督学习算法从不完整的训练数据中开发数学模型,其中部分样本输入没有标签。

分类算法和回归算法是监督学习的两种类型。当输出被限制在一组有限的值时,使用分类算法。对于筛选电子邮件的分类算法,输入将是传入的电子邮件,输出将是将电子邮件归档的文件夹的名称。对于识别垃圾邮件的算法,输出将是“垃圾邮件”或“非垃圾邮件”的预测,由Boolean值true和false表示。回归算法是根据它们的连续输出来命名的,这意味着它们可能在一个范围内具有任何值。连续值的例子是一个对象的温度、长度或价格。

在无监督学习中,该算法从一组只包含输入而不包含期望输出标签的数据构建数学模型。无监督学习算法用于发现数据中的结构,如数据点的分组或聚类。无监督学习可以发现数据中的模式,并可以将输入分组到类别中,就像在特征学习中一样。降维是减少一组数据中“特征”或输入的数量的过程。

主动学习算法根据预算访问有限输入集的所需输出(培训标签),并优化将获得培训标签的输入的选择。当交互使用时,可以将它们呈现给人类用户进行标记。在动态环境中,增强学习算法以正强化或负强化的形式给出反馈,并应用于自动驾驶汽车或学习与人类对手进行游戏。[2]:3机器学习中的其他专门算法包括主题建模,其中计算机程序被给定一组自然语言文档,并找到其他包含类似主题的文档。在密度估计问题中,机器学习算法可以用来寻找不可观测的概率密度函数。元学习算法根据以前的经验学习它们自己的归纳偏见。在发展型机器人技术中,机器人学习算法产生自己的学习经验序列,也称为课程,通过自我引导的探索和与人类的社会互动,积累新的技能。这些机器人使用主动学习、成熟、运动协同和模仿等引导机制。(需要澄清)

历史和与其他领域的关系

参见:机器学习时间表

美国计算机游戏和人工智能领域的先驱阿瑟·塞缪尔(Arthur Samuel)于1959年在IBM工作时创造了“机器学习”一词。作为一项科学研究,机器学习源于对人工智能的探索。早在人工智能作为一门学术学科的早期,一些研究人员就对让机器从数据中学习产生了兴趣。他们试图用各种符号方法,以及当时被称为“神经网络”的方法来解决这个问题;这些主要是感知器和其他模型,后来发现是对统计的广义线性模型的重新发明。采用了[9]概率推理,特别是在自动医疗诊断中。[10]:488

然而,对逻辑的、基于知识的方法的日益重视,导致了人工智能和机器学习之间的裂痕。概率系统一直受到数据采集和表示的理论和实际问题的困扰。[10]:488到1980年,专家系统开始主导人工智能,统计数据不再受欢迎。[11]关于符号/基于知识的学习的工作在人工智能中继续进行,导致了归纳逻辑编程,但是更多的统计线研究现在已经超出了人工智能本身的领域,即模式识别和信息检索。大约在同一时期,人工智能和计算机科学放弃了对神经网络的研究。这条线也被其他学科的研究人员,包括Hopfield, Rumelhart和Hinton,在AI/CS领域之外,作为“连接主义”继续延伸。他们的主要成功是在20世纪80年代中期,随着反向传播的重新发明

机器学习,作为一个独立的领域重组,在20世纪90年代开始蓬勃发展。该领域的目标从实现人工智能转变为解决具有实用性的可解决问题。它将注意力从从人工智能继承的符号方法转移到从统计学和概率论借鉴的方法和模型上。[11]资讯科技署亦受惠于数码资讯的日益普及,以及透过互联网分发资讯的能力。

与数据挖掘的关系

机器学习和数据挖掘通常采用相同的方法和大幅重叠,但是当机器学习关注预测,基于已知的属性从训练数据,数据挖掘的重点是发现先前未知的属性数据(这是数据库中知识发现)的分析步骤。数据挖掘使用多种机器学习方法,但目标不同;另一方面,机器学习也使用数据挖掘方法作为“无监督学习”或作为预处理步骤来提高学习者的准确性。混淆这两个研究社区的(经常有单独的会议和单独的期刊,ECML PKDD成为一个主要例外)来自他们的工作基本假设:在机器学习中,性能评价通常是对已知的繁殖能力的知识,在知识发现和数据挖掘(KDD)的主要任务是发现未知的知识。对已知知识进行评价时,一种不知情(无监督)方法很容易被其他监督方法超越,而在典型的KDD任务中,由于训练数据的不可用,无法使用监督方法。

关系优化

机器学习与优化也有密切的联系:许多学习问题被表述为在一组训练示例上最小化一些损失函数。损失函数表示被训练的模型的预测与实际问题实例之间的差异(例如,在分类中,希望为实例分配一个标签,而模型被训练来正确预测一组示例的预先分配的标签)。这两个领域的不同之处在于泛化的目标:优化算法可以使训练集上的损失最小化,而机器学习则是将不可见样本上的损失最小化

相关统计数据

就方法而言,机器学习和统计学是密切相关的领域,但它们的主要目标是不同的:统计学从样本中得出总体推断,而机器学习则找到可概括的预测模式。根据迈克尔·i·乔丹的观点,机器学习的概念,从方法论原理到理论工具,在统计学上有着悠久的历史。他还建议将“数据科学”一词作为整个领域的占位符

Leo Breiman区分了两种统计建模范式:数据模型和算法模型,其中“算法模型”指的是或多或少像随机森林这样的机器学习算法。

一些统计学家采用了机器学习的方法,形成了一个他们称之为统计学习的综合领域

理论

主要文章:计算学习理论和统计学习理论

学习者的一个核心目标是总结经验。[2][17]概括在这种情况下是一个学习机器的能力进行准确的新,看不见的例子/任务后经历了学习的训练示例数据集。通常来自一些未知的概率分布(被认为是代表出现的空间)和学习者必须建立一个一般模型关于这个空间,使它在新情况下产生足够准确的预测。

机器学习算法及其性能的计算分析是计算机理论的一个分支,被称为计算学习理论。由于训练集是有限的,未来是不确定的,学习理论通常不能保证算法的性能。相反,性能的概率界限非常常见。偏方差分解是量化泛化误差的一种方法。

为了在泛化上下文中获得最佳性能,假设的复杂性应该与数据下的函数的复杂性相匹配。如果假设没有函数那么复杂,则模型对数据的拟合不足。如果模型的复杂度随响应增加而增加,则训练误差减小。但如果假设过于复杂,则模型容易出现过度拟合,泛化效果较差

学习理论家除了研究学习的性能界限外,还研究学习的时间复杂度和可行性。在计算学习理论中,如果计算可以在多项式时间内完成,则计算是可行的。有两种时间复杂度结果。正结果表明,一类函数可以在多项式时间内学习。负结果表明,某些类不能在多项式时间内学习。

方法

学习算法的类型

机器学习算法的类型在它们的方法、它们输入和输出的数据类型以及它们打算解决的任务或问题的类型上有所不同。

监督式学习

主要文章:监督学习

监督学习算法建立一组数据的数学模型,其中包含输入和期望的输出。该数据称为训练数据,由一组训练示例组成。每个训练示例都有一个或多个输入和期望的输出,也称为监视信号。在数学模型中,每个训练实例由一个数组或向量表示,有时称为特征向量,训练数据由一个矩阵表示。通过目标函数的迭代优化,监督学习算法学习一个函数,该函数可用于预测与新输入相关的输出。一个最优函数将允许算法正确地确定不属于训练数据一部分的输入的输出。随着时间的推移,一种提高其输出或预测准确性的算法据说已经学会了执行这项任务

监督学习算法包括分类和回归。当输出被限制在一个有限的值集时,使用[21]分类算法;当输出在一个范围内可以有任何数值时,使用回归算法。相似性学习是监督机器学习的一个领域,与回归和分类密切相关,但目标是通过使用相似性函数从示例中学习,该函数度量两个对象的相似性或相关性。它在排名、推荐系统、视觉识别跟踪、人脸验证和说话人验证等方面都有应用。

在半监督学习算法中,一些训练实例缺少训练标签,但仍然可以用来提高模型的质量。在弱监督学习中,训练标签是噪声的、有限的或不精确的;然而,这些标签通常更便宜,导致更大的有效培训集

无监督学习

主要文章:无监督学习

参见:聚类分析

无监督学习算法采用一组只包含输入的数据,在数据中找到结构,比如对数据点进行分组或聚类。因此,这些算法从没有标记、分类或分类的测试数据中学习。非监督学习算法不响应反馈,而是识别数据中的共性,并根据每个新数据中是否存在这些共性做出反应。无监督学习的一个核心应用是在统计的密度估计领域,[23]虽然无监督学习包含了其他领域,包括总结和解释数据特征。

聚类分析是将一组观测值分配到子集(称为聚类)中,使同一聚类中的观测值根据一个或多个预先指定的标准相似,而来自不同聚类的观测值不同。不同的聚类技术对数据的结构做出不同的假设,通常由一些相似度度量来定义和评估,例如,通过内部紧密度,或相同集群成员之间的相似性,以及集群之间的差异。其他方法基于估计的密度和图的连通性。

强化学习

主要文章:强化学习

强化学习是机器学习的一个领域,它关注的是软件代理如何在环境中采取行动,从而最大化累积奖励的概念。由于其通用性,该领域的研究涉及博弈论、控制理论、运筹学、信息论、基于仿真的优化、多智能体系统、群体智能、统计和遗传算法等多个学科。在机器学习中,环境通常表示为马尔可夫决策过程(MDP)。许多增强学习算法使用动态规划技术。[24]强化学习算法不假设MDP的精确数学模型的知识,而是在精确模型不可行的情况下使用。强化学习算法用于自动驾驶汽车或学习与人类对手进行游戏。

Feature学习

主要文章:特征学习

几种学习算法的目的是发现更好地表示训练期间提供的输入。经典的例子包括主成分分析和聚类分析。特征学习算法,也称为表示学习算法,通常试图保存输入的信息,但也以使其有用的方式进行转换,通常作为执行分类或预测之前的预处理步骤。这种技术允许重构来自未知数据生成分布的输入,但不一定忠实于在该分布下不可信的配置。这取代了手工的特性工程,允许机器学习特性并使用它们来执行特定的任务。

特征学习可以是监督的,也可以是非监督的。在监督特征学习中,特征是通过标记输入数据来学习的。例子包括人工神经网络、多层感知器和监督字典学习。在无监督特征学习中,特征是用无标记的输入数据来学习的。例子包括字典学习,独立成分分析,自动编码器,矩阵分解[26]和各种形式的聚类

流形学习算法是在学习表示是低维的约束下进行的。稀疏编码算法试图在学习表示为稀疏的约束下实现这一点,这意味着数学模型有许多零。多线性子空间学习算法的目标是直接从多维数据的张量表示中学习低维表示,而不是将它们重新构造成高维向量。[30]深度学习算法发现多个层次的表示,或一个层次的特征,与高层次,更抽象的特征定义(或产生)较低层次的特征。有人认为,智能机器是一种学习一种表示方法的机器,这种方法能解开解释观测数据变化的潜在因素

特征学习的动机是这样一个事实,即机器学习任务(如分类)通常需要数学上和计算上方便处理的输入。然而,真实世界的数据,如图像、视频和感官数据,并没有屈服于通过算法定义特定特征的尝试。另一种方法是通过检查发现这些特性或表示,而不依赖于显式算法。

稀疏字典学习

主要文章:稀疏字典学习

稀疏字典学习是一种特征学习方法,训练实例用基函数的线性组合表示,假设为稀疏矩阵。该方法具有很强的NP-hard性质,难以近似求解。稀疏字典学习的一种常用启发式方法是K-SVD算法。稀疏字典学习已应用于多种语境中。在分类中,问题是确定一个以前未见过的训练示例属于哪个类。对于已经构建了每个类的字典,一个新的训练示例与对应的字典最稀疏表示的类相关联。稀疏字典学习也被应用于图像去噪。关键思想是一个干净的图像块可以用图像字典稀疏地表示,但是噪声不能

异常检测

主要文章:异常检测

在数据挖掘中,异常检测,也称为离群点检测,是指通过与大多数数据的显著差异来识别引起怀疑的稀有项目、事件或观测结果。通常,异常项表示一个问题,如银行欺诈、结构缺陷、医疗问题或文本中的错误。异常被称为异常值、新奇、噪声、偏差和异常

特别是在滥用和网络入侵检测的背景下,有趣的对象往往不是罕见的对象,而是活动中的突发事件。这种模式不符合将异常值定义为稀有对象的常见统计定义,许多异常值检测方法(尤其是无监督算法)将无法检测到此类数据,除非对其进行了适当的聚合。相反,一个聚类分析算法可能能够检测到这些模式形成的微簇

目前存在三大类异常检测技术。[37]无监督异常检测技术检测未标记测试数据集中的异常,假设数据集中的大多数实例都是正常的,通过寻找实例似乎符合最小剩余的数据集。监督异常检测技术需要一个数据集被贴上“正常”和“不正常”,包括训练一个分类器(其他统计分类问题的关键区别是孤立点检测)的固有的不平衡的性质。半监督异常检测技术从给定的正常训练数据集构建一个表示正常行为的模型,然后测试模型生成测试实例的可能性。

关联规则

主要文章:关联规则学习

参见:归纳逻辑编程

关联规则学习是一种基于规则的机器学习方法,用于发现大型数据库中变量之间的关系。它的目的是识别在数据库中发现的强规则,使用一些度量“兴趣度”的方法

基于规则的机器学习是任何机器学习方法的通称,它识别、学习或演化“规则”来存储、操作或应用知识。基于规则的机器学习算法的定义特征是识别和利用一组关系规则,这些关系规则共同表示系统捕获的知识。这与其他机器学习算法形成了对比,其他机器学习算法通常识别一个奇异模型,该模型可以普遍应用于任何实例,以便做出预测。基于规则的机器学习方法包括学习分类器系统、关联规则学习和人工免疫系统。

基于强大的规则的概念,Rakesh Agrawal,托马斯Imieliński和阿伦阁下介绍关联规则发现规律的产品之间在大规模事务记录的数据在超市销售点(POS)系统。例如,在超市的销售数据中发现的规则{displaystyle \{mathrm {onion,potatoes}} right tarrow \{burger}}}表明,如果顾客同时购买洋葱和土豆,他们也可能购买汉堡肉。这些信息可以作为决定营销活动的基础,如促销定价或产品植入。除了市场篮子分析之外,关联规则目前还应用于Web使用挖掘、入侵检测、持续生产和生物信息学等应用领域。与序列挖掘相反,关联规则学习通常不考虑事务内或事务间项的顺序。

学习分类器系统(LCS)是一组基于规则的机器学习算法,它将发现组件(通常是遗传算法)与学习组件组合在一起,执行监督学习、强化学习或非监督学习。他们试图确定一组上下文相关的规则,这些规则以分段的方式集体存储和应用知识,以便做出预测.

归纳逻辑规划(ILP)是一种使用逻辑规划作为输入示例、背景知识和假设的统一表示的规则学习方法。给定已知背景知识的编码和一组表示为事实逻辑数据库的示例,ILP系统将派生出一个假设的逻辑程序,其中包含所有正面和没有负面示例。归纳式编程是一个相关的领域,它考虑用任何一种编程语言来表示假设(而不仅仅是逻辑编程),比如函数程序。

归纳逻辑规划在生物信息学和自然语言处理中特别有用。Gordon Plotkin和Ehud Shapiro为逻辑环境下的归纳机器学习奠定了初步的理论基础。[42][43][44] Shapiro在1981年建立了他们的第一个实现(模型推理系统):一个Prolog程序,它从正反两个例子中归纳推理逻辑程序。这里的归纳法是指哲学上的归纳法,它提出一种理论来解释观察到的事实,而不是数学上的归纳法,来证明一个有序集合的所有成员的一个属性。

模型

执行机器学习包括创建一个模型,该模型根据一些训练数据进行训练,然后可以处理额外的数据进行预测。各种类型的模型已被用于机器学习系统的研究。

 

人工神经网络

主要文章:人工神经网络

参见:深度学习

人工神经网络是一组相互连接的节点,类似于大脑中巨大的神经元网络。这里,每个圆形节点表示一个人工神经元,箭头表示从一个人工神经元的输出到另一个人工神经元的输入的连接。

人工神经网络(ANNs),或称连接系统,是一种计算系统,模模糊糊地受到构成动物大脑的生物神经网络的启发。这类系统通过考虑实例“学习”执行任务,通常不需要编写任何特定于任务的规则。

人工神经网络是一种基于一系列被称为“人工神经元”的连接单元或节点的模型,这些单元或节点对生物大脑中的神经元进行松散的建模。每一个连接,就像生物大脑中的突触一样,都能将信息,即一个“信号”,从一个人工神经元传递到另一个。一个接收到信号的人工神经元可以处理它,然后向连接到它的其他人工神经元发出信号。在一般的人工神经网络实现中,连接人工神经元的信号是实数,每个人工神经元的输出由其输入和的非线性函数计算。人工神经元之间的连接称为“边缘”。人工神经元和边缘的重量通常会随着学习的进展而调整。重量增加或减少连接时信号的强度。人工神经元可能有一个阈值,只有当聚合信号超过该阈值时才发送信号。通常,人工神经元被聚集成层。不同的层可能对它们的输入执行不同类型的转换。信号从第一层(输入层)传递到最后一层(输出层),可能经过多次遍历这些层。

人工神经网络方法的最初目标是像人脑一样解决问题。然而,随着时间的推移,注意力转向执行特定的任务,导致偏离生物学。人工神经网络已被用于各种任务,包括计算机视觉、语音识别、机器翻译、社交网络过滤、玩棋盘和视频游戏以及医疗诊断。

深度学习由人工神经网络中的多个隐含层组成。这种方法试图模拟人脑将光和声音处理成视觉和听觉的方式。深度学习的一些成功应用是计算机视觉和语音识别

决策树

主要文章:决策树学习

决策树学习使用决策树作为预测模型,从对项目的观察(在分支中表示)到对项目目标值的结论(在叶子中表示)。它是统计、数据挖掘和机器学习中常用的预测建模方法之一。目标变量可以取一组离散值的树模型称为分类树;在这些树结构中,叶子表示类标签,分支表示导致这些类标签的特征的连接。目标变量可以取连续值(通常是实数)的决策树称为回归树。在决策分析中,决策树可以用来直观、明确地表示决策和决策制定。在数据挖掘中,决策树描述数据,但生成的分类树可以作为决策的输入。

支持向量机

主要文章:支持向量机

支持向量机(svm)又称支持向量网络,是一套用于分类和回归的相关监督学习方法。给出一组训练样本,每个样本都被标记为两类中的一种,SVM训练算法建立一个模型,预测一个新样本是否属于这两类。支持向量机训练算法是一种非概率的、二进制的、线性的分类器,尽管在概率分类设置中存在Platt缩放等方法来使用支持向量机。除了执行线性分类,支持向量机还可以使用所谓的内核技巧有效地执行非线性分类,隐式地将它们的输入映射到高维特征空间。

贝叶斯网络

主要文章:贝叶斯网络

一个简单的贝叶斯网络。雨水影响洒水器是否启动,雨水和洒水器共同影响草地是否湿润。

贝叶斯网络、信念网络或有向无环图模型是一种用有向无环图(DAG)表示一组随机变量及其条件独立性的概率图形模型。例如,贝叶斯网络可以表示疾病和症状之间的概率关系。给定症状,该网络可以用来计算各种疾病出现的概率。有效的算法可以执行推理和学习。贝叶斯网络是一种动态贝叶斯网络,它可以对语音信号或蛋白质序列等变量序列进行建模。能够表示和解决不确定性下决策问题的贝叶斯网络的推广称为影响图。

遗传算法

主要文章:遗传算法

遗传算法(GA)是一种模仿自然选择过程的搜索算法和启发式技术,利用突变和交叉等方法生成新的基因型,希望找到一个给定问题的良好解决方案。在机器学习中,遗传算法在20世纪80年代和90年代被使用。相反,机器学习技术被用来提高遗传和进化算法的性能

 

训练模型

通常,机器学习模型需要大量的数据才能运行良好。通常,在训练机器学习模型时,需要从训练集中收集大量具有代表性的数据样本。训练集中的数据可以是多种多样的,如文本语料库、图像集合和从服务的单个用户收集的数据。在训练机器学习模型时要注意过度拟合。

联合学习

主要文章:联邦学习

联邦学习是一种训练机器学习模型的新方法,它分散了训练过程,允许通过不需要将用户的数据发送到集中的服务器来维护用户的隐私。这还通过将培训过程分散到许多设备来提高效率。例如,Gboard使用联邦机器学习来训练用户手机上的搜索查询预测模型,而无需将单个搜索返回到谷歌.[51]

应用程序

机器学习有很多应用,包括:

2006年,在线电影公司Netflix举办了首届“Netflix大奖”(Netflix Prize)竞赛,目的是寻找一个程序,更好地预测用户偏好,并将其现有Cinematch电影推荐算法的准确度提高至少10%。一个由AT&T实验室的研究人员组成的联合团队与团队Big Chaos和Pragmatic Theory合作建立了一个集成模型,赢得了2009年的大奖,奖金100万美元。[52]颁奖后不久,Netflix意识到观众的评分并不是他们观看模式的最佳指标(“一切都是推荐”),于是他们相应地改变了推荐引擎。[53]中国英语学习网2010年,《华尔街日报》(The Wall Street Journal)报道了Rebellion Research公司及其利用机器学习预测金融危机的做法。2012年,Sun Microsystems联合创始人维诺德·科斯拉(Vinod Khosla)预测,未来20年,80%的医生工作将被自动化机器学习医疗诊断软件取代。[55] 2014年,有报道称,机器学习算法已经被应用于艺术史领域来研究美术绘画,这可能揭示了艺术家们之前未被认识到的影响。施普林格Nature在2019年出版了第一本使用机器学习的研究书籍。

 

限制

尽管机器学习在某些领域已经发生了革命性的变化,但机器学习程序往往无法提供预期的结果。造成这种情况的原因有很多:缺乏(合适的)数据、缺乏对数据的访问、数据偏见、隐私问题、选择不当的任务和算法、错误的工具和人员、缺乏资源以及评估问题。[61]

2018年,优步(Uber)的一辆自动驾驶汽车未能发现一名行人,该行人在碰撞后死亡。[62]即使经过多年的时间和数十亿美元的投资,将机器学习应用于IBM Watson系统的医疗保健尝试也未能成功。[63][64]

偏见

主要文章:算法偏差

机器学习方法尤其会受到不同数据偏差的影响。仅针对当前客户的机器学习系统可能无法预测未在培训数据中表示的新客户组的需求。当机器学习以人造数据为训练对象时,很可能会拾起已经存在于社会中的相同的结构性和无意识偏见。[65]从数据中学习的语言模型已被证明含有类似人类的偏见。【66】【67】用于犯罪风险评估的机器学习系统被发现对黑人有偏见。【68】【69】在2015年,谷歌的照片经常将黑人贴上大猩猩的标签,【70】而在2018年,这一问题仍然没有得到很好的解决,但据报道,谷歌仍在使用这种方法将所有大猩猩从训练数据中移除,因此根本无法识别真正的大猩猩。[71]在其他许多系统中也发现了类似的识别非白人的问题。【72】2016年,微软测试了一款从Twitter学习的聊天机器人,它很快学会了种族主义和性别歧视的语言。[73]由于这些挑战,机器学习的有效使用可能需要更长的时间才能被其他领域采用。[74]包括李飞飞在内的人工智能科学家越来越多地表达了他们对减少机器学习偏见、推动机器学习造福人类的担忧。它受到人们的启发,由人们创造,最重要的是,它影响着人们。这是一个强大的工具,我们才刚刚开始了解,这是一个深刻的责任。”

模型的评估

机器学习分类可以验证模型精度评估技术像抵抗的方法,将训练集和测试集的数据(训练集传统2/3和1/3测试集名称)和评估培训的性能模型在测试集上。相比之下,K-fold-cross-validation方法将数据随机划分为K个子集,每个子集分别考虑1个子集进行评估,其余的K-1子集进行模型训练。除了坚持和交叉验证方法外,bootstrap还可以用来评估模型的准确性,bootstrap从数据集中抽取n个实例进行替换。[76]

除了总体准确性外,研究人员还经常报告敏感性和特异性,分别表示真实阳性率(TPR)和真实阴阳率(TNR)。同样,调查人员有时报告假阳性率(FPR)和假阴性率(FNR)。然而,这些比率并不能揭示它们的分子和分母。总工作特性(TOC)是表达模型诊断能力的一种有效方法。TOC表示前面提到的费率的分子和分母,因此TOC提供的信息比常用的接收机工作特性(ROC)和曲线下ROC相关面积(AUC)更多。[77]

道德

机器学习提出了一系列伦理问题。对带有偏见的数据集进行训练的系统在使用时可能表现出这些偏见(算法偏见),从而将文化偏见数字化。[78]例如,使用一家实行种族主义招聘政策的公司的招聘数据,可能会导致机器学习系统复制这种偏见,根据应聘者与先前成功应聘者的相似度对他们进行评分。[79][80]负责收集系统使用的算法规则的数据和文档,因此是机器学习的关键部分。

因为语言中含有偏见,训练语言语料库的机器也必然会学习偏见。[81]

与个人偏见无关的其他形式的道德挑战在医疗保健领域更为常见。卫生保健专业人士担心,这些系统可能不是为公众利益而设计的,而是作为产生收入的机器。在美国尤其如此,在那里,改善医疗保健和增加利润是一个永恒的道德难题。例如,这些算法可以被设计为向患者提供不必要的测试或药物,而算法的所有者持有这些测试或药物的股份。机器学习在医疗保健领域有着巨大的潜力,它可以为专业人士提供一个伟大的工具来诊断、治疗,甚至为患者规划康复路径,但这要等到前面提到的个人偏见得到解决,而这些“贪婪”偏见得到解决之后才能实现。【82】

软件

包含多种机器学习算法的软件包包括:

Free and open-source software

Proprietary software with free and open-source editions

Proprietary software

See also

 

原文:https://en.wikipedia.org/wiki/Machine_learning

本文:https://pub.intelligentx.net/wikipedia-machine-learning

讨论:请加入知识星球或者小红圈【首席架构师圈】

SEO Title
Wikipedia Machine learning