DataCamp-博客中文翻译-二-

DataCamp 博客中文翻译(二)

原文:DataCamp Blog

协议:CC BY-NC-SA 4.0

如何成为一名数据架构师

原文:https://web.archive.org/web/20220627024316/https://www.datacamp.com/blog/how-to-become-a-data-architect

在相对较短的时间内,新冠肺炎危机彻底改变了所有行业公司的经营方式。麦肯锡全球公司的一项新调查发现,新冠肺炎已经加速采用数字技术好几年了——而且这些变化中的许多可能会持续下去。在疫情期间,消费者戏剧性地转向在线渠道,反过来,公司和行业也做出了回应。因此,这在各行各业的组织中产生了对数据相关角色的更多需求,其中一些行业受到的影响比其他行业更大。

根据 Monster 年度趋势报告,96%的公司正在计划或可能计划在 2022 年雇佣具有相关技能的新员工来担任未来的大数据分析角色。数据架构师是参与构建和支持组织大数据需求的关键人物之一。

在这篇博客中,您将了解到更多关于谁是数据架构师,更具体地说,数据架构师是做什么的。我们还将了解该角色与数据工程师有何不同,以及在 2022 年成为数据架构师需要哪些技能。

什么是数据架构师?

正如数据管理知识体系所报告的,数据架构师建立一个通用的业务词汇表,阐明策略驱动的数据需求,规划高级集成设计以符合这些需求,并确保企业策略和相关的业务架构相互一致。

虽然数据架构师的实际角色和职责可能会因公司而略有不同,但该角色的一般定义可以是组织中在技术数据方面扮演重要角色的高级人员。它们将业务需求转化为技术需求,并定义标准和框架,通过这些标准和框架在企业应用程序之间收集、存储、检索、存档和传输数据。根据 DAMA International 的数据管理知识体系,数据架构师还“提供标准的通用业务词汇,表达战略需求,概述满足这些需求的高级集成设计,并与企业战略保持一致”。

开放集团架构框架(TOGAF) 将数据架构师定义为一个职位,该职位负责制定数据架构原则,创建支持预期业务架构实现的数据模型,构建描述核心数据实体的图表,以及创建实现架构愿景所需的数据清单。

Data Architect Responsibilities
图片来源:https://spectra lops . io/WP-content/uploads/2021/04/data-architect . png

数据架构师是做什么的?

数据架构师具有广泛的组织职责,他们与组织内的许多其他角色和部门协作,包括:

  • 领域专家:数据架构师通常会直接与领域专家和业务负责人合作。它们在应用程序设计中起着关键作用,因为它们将业务需求转化为技术规范。
  • 首席信息/技术官:数据架构师与领导层密切合作,共同定义数据战略并将其传达给整个组织。
  • 其他与数据相关的角色:数据工程师、数据库开发人员和专家、数据库管理员和软件工程团队。

数据架构师职位的确切角色和职责可能会因公司、位置和组织规模的不同而有所不同,但概括地看,数据架构师职位的角色和职责可能是这样的:

  • 将业务需求转化为技术规格。
  • 定义和设计集成、数据库和数据仓库。
  • 定义数据架构框架、标准和原则,包括安全框架。
  • 定义数据流(例如,组织的哪些部分生成数据,哪些部分需要数据才能运行,如何管理数据流等)。
  • 以持续改进组织的数据架构为目标。
  • 与广泛的技术和非技术利益相关者以及外部合作伙伴和供应商协作。
  • 与领导层和高级管理层协作,设计和执行数据战略,以实现组织目标。
  • 维护所有数据架构蓝图和工件的企业存储库。
  • 不断努力改进可伸缩性、安全性、性能、数据恢复、可靠性等。

数据架构师与数据工程师

数据架构师和数据工程师的角色是相关的,但是在数据组织中担任两个不同的技术职位,这两个职位都非常重要。

| 数据架构师 | 数据工程师 |
| 设计和设想数据架构 | 执行愿景并根据规范开发架构 |
| 关注领导力和高级数据战略 | 专注于数据清理、数据争论以及为组织中的其他数据消费者(如数据科学家、数据分析师等)准备数据的日常任务。 |
| 数据架构师通常拥有大量数据管理工具的实践技能,包括数据仓库、数据管理、数据建模和各种 ETL 工具。 | 数据工程师通常需要具备关系和非关系数据库、ETL、自动化、大数据工具、云和生产级编码技能方面的专业知识。 |
| 数据架构师负责数据框架的概念化和可视化。 | 数据工程师致力于构建和维护这些框架。 |
| 入门级的角色不太可能。 | 入门级的角色是可能的。 |

一个关键的区别是资历。虽然数据工程角色是入门级的,但数据架构师角色大多是需要 8 年以上经验的高级职位。经验丰富的数据架构师来自许多领域;然而,数据工程是最常见的。数据科学是数据架构师职位的另一个切入点。

数据架构师的技能

数据架构师的技能

  • 关系和非关系数据库
  • 数据库
  • 应用服务器软件(例如 Oracle)
  • 数据库管理系统软件(如微软 SQL Server)
  • 用户界面和查询软件(例如 IBM DB2)
  • 企业应用集成软件(如 XML)
  • 敏捷方法
  • 数据建模工具(如 ERWin、企业架构师和 Visio)
  • ETL 工具
  • Python、C/C++ Java、Perl
  • 云(例如 Azure、AWS、GCP)
  • Hadoop

在数据架构师角色中非常重要的其他非技术技能

  • 促进与其他部门合作的沟通技巧
  • 保护数据完整性、组织性和安全性的分析和解决问题的技能
  • 时间管理和多任务处理能力,使您能够在快节奏的环境中完成任务和项目
  • 计划或项目管理技能——通常与管理企业内部的变化以及项目管理方法和工具等有关。
  • 业务技能和方法——通常包括业务案例、业务流程、战略规划等。
  • 其他软技能——通常包括领导力、团队合作能力、表达能力、人际交往能力等。

数据架构师的工资

据 Glassdoor 称,数据架构师的平均基本工资约为每年 129,000 美元。晋升到 EA 和管理职位会使他们的年薪增加到 200,000 美元或更多。数据架构师每年的奖金和其他收入平均为 25,000 美元。

Data Architect Salary
来源:https://www . glass door . com/Career/data-architect-Career _ ko0,14.htm

如何成为一名数据架构师

数据架构师不是一个受监管的职业,因此拥有学位不是一个固定的要求。然而,数据架构师拥有计算机科学、信息技术、软件工程或任何其他相关学科的本科学位是很常见的。自学的数据架构师并不少见,但是要达到同样的技能水平需要更多的时间和训练。在这个领域有大量的认证,你也应该在职业发展的道路上考虑。

获得大学学位

成为数据架构师的第一步是获得以下专业之一的学位:数据科学、计算机科学、信息技术或软件工程。参加数据库管理、数据架构、软件设计或计算机编程课程对数据工程职业非常有益。

获得专业认证

对于那些想进入数据工程领域的人来说,有无数的行业认证可供选择,例如:

认证数据管理专业人员(CDMP) 由国际数据管理协会(DAMA)开发,CDMP 是对数据架构师简历的一种通用认证。由于它不关注特定的平台或供应商,因此可作为一般数据库专业人员的可靠凭证。有四个级别(助理、从业者、硕士和研究员)将授予那些证明必要的经验和教育以及通过 CDMP 专业考试的候选人。

DataCamp 数据工程师与 Python 职业生涯 在这个全面的职业生涯中,您将学习如何构建有效的数据架构,如何简化数据的处理,以及如何维护大规模的数据系统。除了提高 Python 技能之外,随着您掌握数据工程管道创建、通用文件系统任务自动化和高性能数据库构建,您还将获得使用其他语言(如 Shell、SQL 和 Scala)的实践经验。

IBM 认证数据架构师-大数据 该认证计划要求具备必备技能,包括集群管理、复制数据、数据沿袭和 LDAP 安全性。期末考试重点是 Hadoop、BigSQL、BigInsights 和 Cloudant。

Salesforce 认证数据架构和管理设计师 数据架构和管理设计师认证考试专为具有 Salesforce 平台工作经验的候选人设计,测试您对大数据量风险和缓解策略、LDV 挑战、管理 LDV 环境以及设计权衡等的理解。

TOGAF 9 认证项目 TOGAF 专业认证有两个部分:基础和再认证。该证书的基础是验证候选人已经展示了 TOGAF 9 的术语和基本概念以及 TOGAF 和业务架构的核心原则的知识。

学习编程语言

大多数数据架构师首先是工程师,因此已经精通一些编程语言。最常见的有 SQLSpark 、Hive、 Python

其他与职业相关的数据

当您考虑成为数据架构师是否是您的正确道路时,与其他职业进行比较可能会有所帮助。要了解其他常见数据角色的更多信息,请查看以下博客:

下图对其他常见的数据角色进行了简单的直观比较:

Data Architect vs Other Roles
来源:https://www . techtarget . com/search data management/definition/data-architect

结论

数据架构是一个快速增长的职业领域:由于 COVID,各行业的数字化步伐不断加快,该行业在过去两年中呈指数级发展。因为它是不断进化的,所以在这条职业道路上你永远不会感到无聊。更重要的是,它具有很强的竞争力,而且报酬极高。

虽然数据架构师所需的每项技术技能都无法在一门课程中教授,但强烈建议您参加 Datacamp 上的使用 Python 的数据工程课程。该方向将为您提供成为数据架构师所需的基本技能,以及完成后的职业指导。

数据组织中的重要高级角色,他/她将业务需求转化为技术需求,并定义标准和框架,通过这些标准和框架在企业应用程序间收集、存储、检索、存档和传输数据。

数据架构师最常用的编程语言是 SQL、Spark、Hive 和 Python。

数据架构师设计和设想企业数据架构,而数据工程师执行愿景并根据规范开发架构。

数据架构师拥有计算机科学、信息技术、软件工程或任何其他相关学科的本科学位是很常见的。自学的数据架构师并不少见,但是要达到同样的技能水平需要更多的时间和训练。在线培训计划,如 DataCamp 的数据工程师与 Python 职业生涯跟踪,是用成为一名成功的数据架构师所需的基础知识武装自己的绝佳选择。

绝对不行。数据架构师不是一个受管制的职业,因此大学学位不是强制性的(尽管有时工作需要)。在线培训计划,如 DataCamp 的数据工程师与 Python 职业生涯跟踪,是用成为一名成功的数据架构师所需的基础知识武装自己的绝佳选择。

据 Glassdoor 称,数据架构师的平均年基本工资约为 129,000 美元。数据架构师还获得 25,000 美元的年度奖金和其他收入。

Python,SQL,关系型和非关系型数据库,ETL,Cloud,C++,Java,Hadoop。

数据架构师通常是高级专业人员,在大公司中受到高度重视,通常是所有数据角色中薪酬最高的;这些因素使它成为一个极好的职业选择。

数据架构师和数据工程师的头衔密切相关,因此经常混淆。这两种角色的区别在于他们的主要职责。值得注意的是,虽然你可以找到数据工程师的入门级职位,但数据架构师职位需要多年的经验。

如何成为一名数据工程师

原文:https://web.archive.org/web/20221210075939/https://www.datacamp.com/blog/how-to-become-a-data-engineer

数据工程师的角色正在数据科学生态系统中迅速占据一席之地。根据 2020 年 DICE Tech 工作报告,数据工程师是 2019 年增长最快的技术导向型职业。这份工作还出现在 2020 LinkedIn 美国新兴工作报告中,是过去五年中 15 个最杰出的新兴工作之一,自 2015 年以来,招聘增长率增加了 35%。

Fastest Growing Tech Occupations Chart
来源:骰子

你在考虑成为一名数据工程师吗?数据营是来帮助。在这篇博文中,我们将解释什么是数据工程师,他们在日常工作中做什么,以及为什么数据工程师是当今如此重要的选择。我们还将关注数据工程师通常具备的技能和资格。最后,我们将为您提供一些提示,帮助您获得作为数据工程师的第一份工作。

什么是数据工程师?

数据工程师负责为组织中数据的获取、存储、转换和管理奠定基础。他们管理数据库架构和数据处理系统的设计、创建和维护;这确保了后续的分析、可视化和机器学习模型开发工作可以无缝、连续、安全和有效地进行。简而言之,数据工程师是数据科学领域最具技术含量的职位,在软件和应用程序开发人员与传统数据科学职位之间起着至关重要的桥梁作用。

数据工程师负责传统数据科学工作流程的第一阶段:数据收集和存储的过程。它们确保从不同来源收集的大量数据成为其他数据科学专家(如数据分析师和数据科学家)可以访问的原材料。一方面,这需要开发和维护具有高可用性、高性能和集成新技术能力的可扩展数据基础设施。另一方面,数据工程师还负责监控这些系统中数据的移动和状态。


数据科学工作流程

数据工程师是做什么的?

在任何公司的数据架构的开发和维护中,数据工程师都是关键角色。他们是准备大型数据集供分析师使用的专家。当分析员需要解释信息时,数据工程师创建程序和例行程序,以合适的布局准备数据。

因此,数据工程师的日常工作基本上在两个过程之间进行:

  • ETL(提取、转换、加载)过程包括开发数据提取、转换和加载任务,以及在不同环境之间移动数据。
  • 数据清理流程,以便数据以规范化和结构化的方式到达分析师和数据科学家手中。

但是数据收集和存储的过程可能极其复杂。可能涉及不同的数据源,这些数据源可能有不同类型的数据。随着手头数据的数量、种类和速度的增加,数据工程师工作的复杂性也在增加。

为了确保执行的任务是及时的、健壮的和可扩展的,数据工程师开发了所谓的数据管道。数据管道将数据移动到定义的阶段,其中一个示例是将数据从本地数据库加载到云服务。一个关键的特征是管道自动化了这种移动。不再要求数据工程师在每次创建新数据时手动运行程序,他们可以将任务安排为每小时或每天触发一次,或者在某个事件发生后触发。由于该过程是自动化的,因此需要对数据管道进行监控。幸运的是,警报可以自动生成。数据管道并不是所有的数据科学项目都需要的,但是当处理来自不同来源的大量数据时就需要了,这在数据驱动的公司中是常见的情况。如果您有兴趣了解数据管道在实践中是如何工作的,我们建议您查看我们的课程用 Python 构建数据工程管道。

教育要求

数据工程是一个新兴的工作。因此,只有极少数大学和学院拥有数据工程学位。数据工程师通常具有数据科学、软件工程、数学或商业相关领域的背景。根据他们的工作或行业,大多数数据工程师在获得学士学位后会获得他们的第一份入门级工作。然而,鉴于执行数据工程师的任务需要高度专业化的技能,在许多情况下,知识和能力胜过教育。

因此,如果您想接受正规教育,请确保选择一个课程中包含系统架构、编程和数据库配置的学位。

数据工程师需要的技能

数据工程师需要一套重要的技术技能来处理他们高度复杂的任务。然而,要在任何数据工程角色中取得成功,都很难列出一份详细而全面的技能和知识清单;最后,数据科学生态系统正在快速发展,新的技术和系统不断出现。这意味着数据工程师必须不断学习以跟上技术突破的步伐。

尽管如此,以下是任何数据工程师都应该具备的技能的非详尽列表:

  • 数据库管理:数据工程师日常工作中相当一部分时间是在操作数据库,要么是收集、存储、传输、清理,要么只是查阅数据。因此,数据工程师必须具备良好的数据库管理知识。这需要熟练使用 SQL(结构化查询语言),这是与数据库交互的基本语言,并精通一些最流行的 SQL 方言,包括 MySQL、SQL Server 和 PostgreSQL。除了关系数据库,数据工程师还需要熟悉 NoSQL(“不仅仅是 SQL”)数据库,它正迅速成为大数据和实时应用的首选系统。因此,尽管 NoSQL 引擎的数量在增加,但数据工程师至少应该了解 NoSQL 数据库类型之间的差异以及每种类型的用例。如果你对 NoSQL 以及它与 SQL 有何不同感到困惑,我们的课程 NoSQL 概念是一个获得清晰的好地方。

  • 编程语言:和其他数据科学角色一样,编码是数据工程师的必修技能。除了 SQL,数据工程师还使用其他编程语言来完成各种任务。有许多编程语言可以用于数据工程,但是 Python 无疑是最好的选择之一。Python 是数据科学中的通用语言,非常适合执行 ETL 作业和编写数据管道。使用 Python 的另一个原因是它与数据工程中至关重要的工具和框架的高度集成,如 Apache Airflow 和 Apache Spark。许多这些开源框架运行在 Java 虚拟机上。如果你的公司使用这些框架,你可能需要学习 Java 或 Scala。

  • 分布式计算框架:近年来,分布式系统在数据科学中变得无处不在。分布式系统是一种计算环境,其中各种组件分布在网络上的多台计算机(也称为集群)上。分布式系统将工作分散到整个集群,协调工作以更有效地完成工作。分布式计算框架,如 Apache HadoopApache Spark ,是为处理海量数据而设计的,它们为一些最令人印象深刻的大数据应用程序提供了基础。对于任何有抱负的数据工程师来说,拥有这些框架中某一个的专业知识是必备的。

  • 云技术:云计算是数据科学最热门的话题之一。对基于云的解决方案的需求正在迅速改变格局。如今,作为一名数据工程师,在很大程度上需要将公司的业务系统连接到基于云的系统。随着亚马逊网络服务(AWS)、Azure 和谷歌云等服务的兴起,整个数据工作流都可以在云中进行。因此,一名优秀的数据工程师必须了解云服务的使用、优势、劣势以及在大数据项目中的应用,并具备相关经验。你至少应该熟悉 AWS 或 Azure 这样的平台,因为它们是最广泛的。

  • ETL 框架:数据工程师的主要角色之一是用 ETL 技术和编排框架创建数据管道。在这一部分,我们可以列出许多技术,但数据工程师应该知道或熟悉一些最著名的技术,如 Apache Airflow 和 Apache NiFi。气流是一个编排框架。这是一个用于规划、生成和跟踪数据管道的开源工具。NiFi 非常适合基本的、可重复的大数据 ETL 过程。

  • 流处理框架:一些最具创新性的数据科学应用使用实时数据。因此,对熟悉流处理框架的候选人的需求正在上升。这就是为什么,对于愿意让职业生涯更上一层楼的数据工程师来说,学习如何使用 Flink、Kafka Streams 或 Spark Streaming 等流处理工具是一个顺利的举措。

  • Shell: 云以及其他大数据工具和框架的大部分工作和例程都是使用 Shell 命令和脚本来执行的。数据工程师必须熟练使用终端来编辑文件、运行命令和导航系统。

  • 沟通技巧:最后但同样重要的是,数据工程师也需要沟通技巧来跨部门工作,了解数据分析师和数据科学家以及业务领导者的需求。根据组织的不同,数据工程师可能还需要知道如何开发仪表板、报告和其他可视化工具,以便与风险承担者进行交流。

如何获得数据工程师的第一份工作

数据工程是数据科学行业最受欢迎的职位之一。从硅谷的大型科技公司到各行各业的小型数据驱动型初创公司,企业都在寻求聘请数据工程师来帮助他们扩展并充分利用数据资源。与此同时,鉴于满足公司需求所需的广泛和高度专业化的技能组合,公司很难找到合适的候选人。

鉴于这种特殊的背景,没有完美的公式来获得你的第一份数据工程工作。在许多情况下,数据工程师是在从同一公司内的其他数据科学角色(如数据科学家或数据库管理员)转型后到达他们的职位的。

相反,如果你在工作门户网站中寻找数据工程机会,需要记住的一件重要事情是,有许多职位空缺与“数据工程师”的头衔相对应,包括云数据工程师、大数据工程师和数据架构师。具体的技能和要求会因岗位而异,所以关键是要找到自己所知道的和公司需要的更紧密的匹配。

如何增加获得这份工作的机会?答案很简单:不断学习。有许多途径可以加深你的专业知识,拓宽你的数据工程工具包。接受正规教育总是一个很好的选择,无论是数据科学或计算机科学(一个密切相关的领域)的学士学位,还是数据工程的硕士学位。数据科学的其他专门项目和电子平台也值得考虑。例如,DataCamp 用 Python 为数据工程师准备了一个职业轨迹,这将为你进入这个学科提供一个坚实的基础。

除了教育,实践是成功的关键。该领域的雇主正在寻找拥有独特技能、精通软件和编程语言的候选人。你在个人项目中训练编码技能越多,尝试大数据工具和框架越多,你在申请过程中脱颖而出的机会就越多。为了证明你的专业知识,一个好的选择是获得数据科学认证。

最后,如果你在寻找数据工程师的第一份工作时遇到困难,可以考虑申请其他入门级的数据科学职位。最后,数据科学是一个协作领域,有许多跨数据角色的主题和技能。这些职位将为你提供有价值的见解和经验,帮助你获得梦想中的数据工程职位。

在数据工程面试中期待什么

令人惊讶的是,尽管对数据工程师的需求越来越大,但关于数据工程面试中应该期待什么以及如何准备的资源仍然稀缺。

数据工程面试通常分为技术和非技术两部分。在技术部分,招聘人员将评估你的数据工程技能和你对工作的技术适应性。您可能会遇到与四个主题相关的问题:

  • 你的简历:招聘人员会想知道你与数据工程职位相关的经历。请确保在简历中突出您以前在数据科学职位和项目方面的工作,并准备提供有关这些工作的全部细节,因为这些信息对于招聘人员评估您的技术技能以及您的问题解决能力、沟通和项目管理至关重要。
  • 编程:这可能是数据科学面试中压力最大的部分。通常,您会被要求使用 Python 或 Spark 之类的数据框架,在短时间内用几行代码解决一个问题。例如,您的练习可能包括创建一个简单的数据管道来加载和清理数据。虽然问题不应该很复杂,但是紧张会对你的表现产生负面影响。如果你不熟悉这种测试,你可以试着事先练习一些编码问题。
  • 没有扎实的 SQL 专业知识,你在数据工程职业生涯中不会走得很远。这就是为什么,除了编程测试,你可能会被要求解决一个涉及使用 SQL 的问题。通常,该练习将包括编写高效的查询以在数据库中进行一些数据处理。
  • 系统设计: 这是技术面试中最概念性的部分,可能也是最难的。设计数据架构是数据工程师最有影响力的任务之一。在这一部分中,您将被要求设计一个端到端的数据解决方案,它通常包括三个方面:数据存储、数据处理和数据建模。鉴于数据科学生态系统的范围迅速扩大,设计的选择是无穷无尽的。你需要准备好讨论你的选择的利弊和可能的权衡。

一旦您完成了技术部分,数据工程面试的最后一步将包括与一个或多个潜在团队成员的个人面试。目标?发现你是谁,你如何融入这个团队。但请记住,这是一个双方面的对话,也就是说,你还应该向他们提出问题,以确定你是否可以将自己视为团队的一员。换句话说,进行一次正常的交流。

薪资期望

数据工程是一个新兴的工作,招聘人员并不总是很容易找到合适的候选人。公司之间对这种难以找到的人才的竞争非常激烈,这转化为数据科学职位中最高的工资。根据大多数就业门户网站,美国数据工程师的平均工资在 9 万美元到 11 万美元之间。

结论

我们希望你喜欢这篇文章。数据工程是数据科学领域最受欢迎的工作之一,对于有抱负的数据专业人士来说,无疑是一个很好的职业选择。如果你决心成为一名数据工程师,但不知道如何开始,我们强烈建议你跟随我们的职业轨迹Python 数据工程师,它将为你提供成为数据工程专家所需的扎实和实用的知识。

四到五年。大多数数据工程师在获得学士学位后会获得他们的第一份入门级工作,但也有可能在从另一个数据相关角色转型后成为一名数据工程师。

确实如此。这种事情经常发生。如果你证明你有技能和知识,没有学位不应该成为障碍。从一个完全的初学者到一个训练有素的数据工程师有很多途径。一个很好的选择是 DataCamp 的职业轨迹数据工程师与 Python

在美国,数据工程师的工资通常在 9 万美元到 11 万美元之间。如果你已经是一名经验丰富的数据工程师,你的报酬可以高得多。

数据工程师通常拥有数据科学、计算机科学、数学或商业相关领域的本科学位。目前,只有少数大学提供数据工程学位。

数据工程师管理数据库和处理系统架构的设计、创建和维护。他们确保收集的大量数据成为其他数据专家可以访问的原始材料。

数据工程师负责设计、构建和维护数据架构,而数据科学家使用数据来执行深入的数据分析,以解决业务问题。

DataCamp 是学习数据工程最好的在线平台之一。通过我们由一流讲师开发的实践课程,您将学到开始学习数据工程所需的一切。点击这里查看我们所有的数据工程课程。

数据工程师通常使用 SQL、Python 或 R、Java 或 Scala。

如何通过 8 个步骤成为数据科学家

原文:https://web.archive.org/web/20221210075939/https://www.datacamp.com/blog/how-to-become-a-data-scientist

Data Science Concept Vector Image

数据科学现在无处不在。世界各地的公司一个接一个地转向数据科学来解决各种各样的问题。这种情况使数据科学家在就业和薪酬方面处于有利地位。

很自然,很多人对学习如何成为一名数据科学家感兴趣。如果你正在读这篇文章,你可能就是这些人中的一员。在这里,我们将向您展示成为数据科学家所需了解的一切,包括一种有效且有吸引力的方式来了解您在数据科学领域的入门知识。

数据科学家是做什么的?

我们有一整篇文章致力于理解数据科学。在这里,我们探讨了数据科学家可能扮演的角色。本质上,数据科学家致力于深入理解和分析数据,以提供可操作的见解。

在业务环境中,他们跨多个团队工作,为强大的分析奠定基础。这意味着制定策略来从一系列来源中捕获、收集和清理数据。在组织和探索这些数据之后,他们可以构建解决方案,并将他们的发现传达给更广泛的企业。

数据科学家经常与其他专业人员合作,包括数据工程师、分析师、IT 架构师、应用程序开发人员和业务利益相关者。

为什么要成为数据科学家?

人们选择从事数据科学职业的原因有很多。这是一个回报丰厚的行业,提供了一个充满智力挑战和刺激的环境。数据科学家必须保持领先于最新的技术趋势和发展,通常在动态环境中工作。

因此,如果你有求知欲,有分析头脑,喜欢与数据和技术打交道,成为一名数据科学家可能适合你。

此外,在就业市场上,有才华的数据科学家有很多机会。来自 statista 的数据显示,大数据市场规模预计将在未来几年大幅增长,预计到 2027 年将达到 1030 亿美元,而 2022 年将达到 700 亿美元。

类似地,美国劳工统计局预测【2021 年至 2031 年间,数据科学行业的工作岗位将增长 36%,远高于 4%的全国平均水平。

这种增长反映在数据科学职业的受欢迎程度上,像美国新闻&世界报道这样的组织将数据科学家列为第三大最佳技术工作、第六大最佳 STEM 工作和第六大最佳综合工作。同样,Glassdoor 将其列为 2022 年美国第三好工作

如果你仍然不相信为什么你应该考虑这个职业,数据科学家的平均工资可能很有吸引力。年薪中位数为 10.2 万美元,显而易见,数据科学家的需求得到了丰厚的薪酬。

数据科学家需要什么资质?

对于一个人成为数据科学家是否需要学位,存在一些争议。许多专业人士已经通过其他途径进入该行业,但大学学历肯定是有益的。

大多数毕业生计划和毕业生工作寻找在计算机科学、数据科学、数学、统计、工程甚至物理等领域有资格的个人。然而,一些计划将培养任何有学位的人成为数据科学家。

我们将在后面更详细地介绍具体的技能,但是掌握 Python、R、SQL 和/或 Julia 等编程语言的工作知识会很有帮助。

其他人会发现,他们可以依靠自己的自我导向学习,在自己的时间里获得必要的技能和经验,并在面试阶段给雇主留下深刻印象。例如,我们的数据科学家和 Python track 可以帮助您学习在数据科学领域开始职业生涯的所有必要技能。

您还可以获得 DataCamp 的数据科学家认证,向潜在雇主证明您的数据科学知识。

数据科学家需要哪些技能?

我们已经在另一篇文章中更详细地介绍了15 大数据科学家技能,因此我们将在此进行总结。本质上,要在数据科学领域取得成功,你需要软硬技能的组合。

硬技能

这些是成为一名成熟的数据科学家所需的技能:

  • 计算机编程语言
  • 稀有
  • 统计和数学
  • SQL 和 NoSQL
  • 数据可视化
  • 机器学习
  • 深度学习
  • 自然语言处理
  • 大数据
  • 云计算

软技能

这些现在通常被称为“权力技能”或“人际技能”,它们是跨职能的技能,不是特定的工作,但仍然是必要的。对于数据科学家来说,这些包括:

  • 沟通
  • 讲故事
  • 批判性思维
  • 商业头脑
  • 解决问题
  • 协力

数据科学家的平均工资是多少?

我们已经在另一篇文章中详细介绍了数据科学薪资,给出了基于各种因素的薪资明细。然而,简单总结一下:

  • 不同来源的平均工资数据不同。例如,在美国,Glassdoor 根据 18,000 份薪水样本给出的平均年薪为 117,212 美元,而 PayScale 根据 7,280 份薪水档案估计的年薪为 97,318 美元。
  • 数据科学经理通常是收入最高的人,年薪范围为 11.3 万美元至 23 万美元。
  • 数据科学家和数据工程师的工资往往差不多,科学家年薪 8.2 万-16.7 万美元,工程师年薪 7.6 万-16.6 万美元。
  • 公司规模很重要;超过 1000 名员工的公司每年支付的中位工资在 9 万美元到 11 万美元之间,相比之下,中型公司(26 到 1000 名员工)大约为 8 万美元,小公司和初创公司(2-25 名成员)为 6 万美元。

如何成为一名数据科学家

到目前为止,您可能已经迫不及待地开始了成为数据科学家的旅程。但是从哪里开始呢?下面,我们强调了从零开始成为数据科学家需要采取的八个步骤。

正如我们已经讨论过的,数据科学家的确切要求取决于多种因素,但以下是一些最常引用的步骤:

1.了解数据争论、数据可视化和报告

当你努力成为一名数据科学家时,你会经常遇到大型复杂的数据集。为了理解这些信息(为了你自己和他人),你需要学习如何处理它们。这就是数据争论技巧派上用场的地方。在这里,您将清理、组织原始数据,并将其转换为一种您可以分析并从中得出结论的格式。

有各种各样的工具可以用来处理数据争论,但是像 Python 中的 pandas 这样的库通常是首选。你可以查看我们的数据争论与熊猫小抄以获取更多信息。

当要呈现有影响力的数据时,您需要掌握报告和数据可视化。你可以找到更多关于一些最好的数据可视化工具的信息,根据你的最终目标给你一系列的选择。

2.努力提高你的统计、数学和机器学习技能

虽然你不一定需要一个涵盖这些领域的学位,但你需要这些领域的实用知识。一般来说,你会想涵盖诸如微积分、线性代数和统计学等领域。然而,评估你学习这些东西背后的意图是值得的。

例如,学习微积分可以帮助您学习为机器学习创建优化算法,尽管 Python 和 R 中都有函数可以为您处理微积分。作为一个具体的例子,理解像梯度下降这样的主题可以帮助你在调整输入时测量函数输出的变化,这有助于完善机器学习模型。

如果您希望重温您的线性代数技能,我们 R 课程中的数据科学线性代数可以帮助您处理向量和矩阵,求解矩阵向量方程,执行特征值/特征向量分析,并使用主成分分析对现实世界数据集进行降维。这些领域对应用数学和数据科学都是有用的。

同样,R 中的中级统计建模涵盖了一些基本的机器学习统计主题,帮助你在关键领域取得进步。

3.学习编码

在我们关于面向数据科学家的顶级编程语言的文章中,我们详细探讨了一些你现在应该考虑学习的最佳语言。鉴于 Python 和 R 的通用性和普遍性,它们是数据科学家最明显的选择。

当然,处理数据也意味着处理数据库,所以 SQL 是另一种必不可少的编程语言。谢天谢地,一旦你学会了 Python 和 r,这是一门相对简单的语言。

一旦你学会了 Python、R 和 SQL,Julia 是个不错的选择。使用 Julia,您可以获得一种为数据科学而从头构建的语言,使其快速而直观。如果您开始处理非常大的数据集,您可能需要其他语言,但在此之前,这四种语言已经足够了。

使用像 Java 这样的语言,你会得到一种以效率和性能著称的开源语言。对于数据科学来说,Java 虚拟机为流行的大数据工具,如 Hadoop、Spark 和 Scala,提供了一个坚实而高效的框架。

对于数据集非常大的数据科学,其他值得学习的编码语言有 Scala、C/C++、JavaScript、Swift、Go、MATLAB 和 SAS。

4.了解数据库

我们在上面的主题中提到了 SQL,这一点值得重复。关系数据库允许数据科学家以快速有效的方式存储结构化数据。在收集和组织数据时,您经常会发现 SQL 是您的首选工具。

SQL 允许您处理结构化数据、查询数据库、争论、准备和试验数据,等等。此外,SQL 通常与 Python 一起部署,SQLite、PostgreSQL 和 MySQL 等库可以帮助您连接不同的数据源。

5.学会使用大数据

我们已经简单介绍了这样一个事实,作为一名数据科学家,您将经常处理大量的数据。在一个任何事物、任何人都在产生比以往任何时候都多的数据的时代,这些数据集越来越庞大,使得它们更难收集、维护和处理。

然而,从这些庞大的数据集,一个熟练的数据科学家可以提取新的和详细的见解。因此,学习使用云平台,如 AWS、微软 Azure 和谷歌云,对你作为数据科学家的职业生涯都有好处。同样,像 Apache Spark 这样的工具可以帮助大数据处理、分析和机器学习。

您可以通过我们的课程学习 PySpark 的大数据基础知识,该课程涵盖了处理大量数据进行分析时的一些基本知识。

6.获取经验、实践并结识数据科学家同行

与任何职业一样,要成为数据科学家,你需要尽可能多的经验和实践。幸运的是,有很多方法可以让你参与社区、参与项目并发展你的数据科学技能。

例如, DataCamp Workspace 提供了一个基于云的协作笔记本,允许您分析数据、与其他人协作以及分享见解。Workspace 旨在带您从学习数据科学到从事数据科学。它还内置了数据集,因此您可以在几分钟内开始分析数据。

您还可以将您的知识应用于各种数据科学项目,让您通过浏览器解决现实世界中的问题。

7.参加实习或申请工作

一旦你掌握了上面提到的所有技能,你会想把它们应用到更专业的环境中。一旦你确信自己具备了满足某个角色期望所需的数据科学家技能,你就可以开始申请实习或工作了。

查看我们关于申请数据科学工作的完整指南,并学习如何让自己从其他候选人中脱颖而出。你可能需要一份相当全面的作品集来展示一系列技能,你还需要提前为数据科学家面试做准备。

8.关注并参与社区活动

如果你想成为一名数据科学家,你需要跟上快速发展的行业。要了解数据科学的发展,最好的方法就是加入一个慷慨而专注的社区。

除了 LinkedIn、Twitter、Discord 和 Reddit 等社交媒体网站,还有各种各样的小众网站、博客和数据科学领导者可以关注。寻找和你在相同领域感兴趣的人,寻求建议并参与讨论,参与正在发生的事情。当然,请查看数据框架播客,从众多数据专业人士那里获取行业新闻。

从原地起步可能很难,但你可以自学数据科学。在学习如何用 Python、R 和 SQL 编码之前,先从掌握统计学和数学的基础开始。接下来,努力理解关系数据库以及如何利用它们来组织和分析数据。您还想学习如何有影响力地展示您的数据,掌握一些数据可视化技术。在使用大数据和机器学习后,你会希望获得尽可能多的经验,设定目标,承担项目,并加入数据科学家社区。

虽然许多顶级数据科学家的工作需要大学学历,通常是硕士学位,但没有学位也有可能进入这个领域。你需要耐心、奉献精神、一些天赋以及灵活敏捷的能力,但是如果你下定决心,你可以在这个领域开创一番事业。

正如我们在 数据科学常见问题 中概述的那样,平均而言,对于一个之前没有编码经验和/或数学背景的人来说,要成为一名入门级的数据科学家需要大约 7 到 12 个月的密集学习。然而,数据科学中有如此多的技能,你可以在整个职业生涯中不断学习。

这个职业的性质适合那些好奇、善于分析、对信息充满热情的人。这往往需要解决问题的技巧,以及坚韧和自我激励。那些能够以简洁易懂的方式沟通复杂问题的人通常能胜任这一角色。

数据科学家的很多角色都专注于数据探索、建模和部署。数据科学家通常会概述问题,收集和清理数据,并对他们收集的信息得出结论。更多阅读尽在我们的 数据科学使用案例指南

如何成为一名自由数据科学家(pt。2)

原文:https://web.archive.org/web/20221129044300/https://www.datacamp.com/blog/how-to-become-a-freelance-data-scientist-pt-2

Data Scientist working from home.

在第一部分中,我们讨论了选择这条道路的利弊,讨论了你需要的各种硬技能和软技能,并介绍了一些与潜在客户联系的最佳平台。在第 2 部分中,我们将概述开始您的旅程需要采取的具体步骤,并为初学者提供一个提示列表。

完整的自由职业者数据科学路线图

以下自由职业者数据科学路线图是帮助你踏上自由职业之旅的有用指南。你不需要从第一步开始——你可以直接跳到符合你当前经历的那一步。否则,如果你没有经验,又是从零开始,可以从头开始。

  • 开始学习 Python 或 R
    Python 和 R 是被数据科学家广泛使用的编程语言。我们建议您从 Python 开始,因为作为初学者,您将能够找到更多的机会。从 DataCamp 的Python 介绍课程开始学习 Python。如果您已经了解了基础知识,请参加我们的快速 Python 评估 ,我们将为您提供个性化的学习计划,以便您可以专注于获得您最需要的技能。你也可以查看我们的 为产品分析 项目编写函数,这会给你编写干净的、可维护的 Python 函数的经验。

  • 获得高级编程技能
    学习基础知识通常不足以获得你的第一份工作。你应该熟悉 Python 流行的编程包如 NumPy,SciPy,Pandas,Scrapy,Matplotlib 等。你还应该知道它们背后的理论,并练习数据结构、算法和面向对象编程。

    参加我们的中级 Python 课程可以提高你的 Python 技能。我们还为您提供我们项目 的实践经验,调查网飞电影和《办公室》中的客串明星

  • 学习 SQL
    现在是时候学习 SQL(结构化查询语言)以及关系和非关系数据库了。这样,您将能够学习如何检索、写入和操作数据库中的数据。

    从 DataCamp 的SQL 简介 课程开始学习 Python,该课程将教你如何通过编写高效和优化的数据库查询来过滤、分组和排序数据等基础知识。或者,如果您已经了解基础知识,请参加我们的 SQL (PostgreSQL) 评估中的快速 数据分析,我们将为您提供个性化的学习计划。

  • 学习如何可视化数据
    在这一步,你应该熟悉 Python 中的一些可视化库,并练习最常用的技术。

    从 DataCamp 的面向所有人的数据可视化 课程开始学习,该课程将教您如何为数据集选择最佳的可视化技术,以及如何解释常见的绘图类型,如直方图、散点图、折线图和条形图。如果您已经掌握了更高级的数据可视化技能,请尝试Matplotlib数据可视化介绍,其中包含时间序列绘图、定量比较和统计可视化方面的课程。通过学习本课程,您将获得 Matplotlib(最流行的数据可视化软件包之一)的实践经验,并提高您的 Python 技能。

  • 创建你的第一个自由职业者档案
    你现在已经准备好申请基本任务了。选择一个自由职业平台,创建你的个人资料。设置你的时薪,并开始申请基本的 Python 和可视化工作。

  • 再努力一点
    找到第一份工作可能需要时间,你可能会感到沮丧,但不要放弃。申请尽可能多的简单任务。与客户取得联系。即使你现在还找不到工作,也要利用这段时间熟悉这个平台,熟悉其中共享的任务类型,并练习与客户交谈。你找到第一份工作后,其他人也会跟着来。即使需要几个月,也要有耐心,不断尝试。

  • 填补数学和统计知识的空白
    您可能需要扩展现有的数学和统计知识,以便能够理解数据科学的基础知识。

    从 DataCamp 的Python 统计入门 开始学习,它会教你简单的概率计算、分布、中心极限定理等基础知识。如果你已经有了更高级的概率和统计技能,试试 Python 中的 统计模拟,有模拟和概率分布的课程。您还将获得 Python 的 NumP y 包的实践经验。

  • 是时候继续学习机器学习了
    一旦你达到这个水平,你就会对了解机器学习的基础知识感到舒服。不要忘记在示例项目中测试你的新知识,以便在可能的情况下舒适地应用机器学习。

    从 DataCamp 的面向所有人的机器学习AI 基础 开始学习,它会教你基础知识,帮助你理解机器学习是如何工作的。如果你已经有了更高级的机器学习技能,可以试试 线性分类器聚类分析 课程,课程包括逻辑回归、支持向量机(SVMs)和 K-Means。

  • 学习深度学习的基础知识
    创建更深层次的网络或使用现有的预先训练好的网络可能有助于更成功地解决问题。这就是为什么学习深度学习的基础知识在数据科学中很重要。

    从 DataCamp 的深度学习入门 课程开始学习。

  • 更新你的个人资料
    现在你已经获得了更多的技能,这是用你的新能力和经验更新你的自由职业者个人资料的好时机。

  • 专注于样品和个人项目
    你可能仍然很难找到你的第一份自由职业。完全没问题。在这一点上,您可能应该将您的重点转移到样本项目上,或者,如果您在数据科学领域有任何项目想法,那么通过从事这些工作来获得更多经验可能是一个很大的动力。

    订阅关于新技术的文章也能帮助你跟上该领域的任何更新。客户会议并不总是关于他们的项目,你可能经常会发现自己在谈论新技术和趋势。能够就此类话题展开对话,可以帮助你极大地改善与客户的关系,并让他们感觉到你真正投身于自己的领域。

  • 每天或每小时查看工作机会
    找到适合自己的工作需要付出努力。不幸的是,作为一名没有客户评论的自由职业者,当客户寻找新的候选人时,你会排在队伍的最后。如果可能的话,你应该每天或每小时检查一次新工作。如果你比其他自由职业者更早申请工作,你将首先被看到。

  • 让你的客户开心
    有时候,查看你的客户以前的工作岗位并向他们提供建议或想法是很有用的,即使他们已经把这些工作分配给了别人。你的客户可能会欣赏这一点,并更有可能在未来的工作中记住你。

  • 合法创业
    此时,你可能已经意识到,如果你努力尝试并成功完成任务,你就能获得自由职业者的工作。现在你有信心合法地开始你的自由职业生涯。对你所在国家的税收、自由职业者费用和其他法律要求做一些研究。然后你就可以正式开始你的业务,并要求支付一直存储在你最喜欢的自由职业者平台直到现在的款项。

给初级自由数据科学家的 13 条建议

  1. 选择一个自由职业平台并坚持下去
    建议选择一个自由职业平台并坚持下去,因为你在平台上获得的评论和推荐数量将是获得其他工作的关键,从而确保你的收入。让你的自由职业档案变得强大需要时间,所以你需要努力。尤其是在第一年,你的收入会成倍增长。如果你把你的努力分成几个平台,你可能会付出更大的努力来获得同样多的成功,甚至更少。

  2. 创建漂亮的个人资料
    当自由职业者申请工作时,客户会通过检查候选人的个人资料来评估他们。你的简历需要脱颖而出,对你申请的公司有吸引力,无论是你提供的信息还是你的工作方法。你应该详细展示你的经历,包括你的大学学位和证书,你以前工作过的公司,以及你所扮演的角色。

  3. 以低时薪开始
    当你第一次在自由职业平台上创建账户时,你不会有任何评论或推荐,所以你首先需要证明自己。以相当低的时薪开始,先专注于获得好评。你能要求的价格取决于几个参数,比如双方居住的国家,自由职业者的经验,以及客户的预算。建议你也研究一下其他自由职业者的时薪,以帮助你决定自己最初的时薪。

  4. 与你的客户交谈时,要始终保持尊重。你有时需要和他们谈判,但是你的首要任务应该是让他们开心和满意。

  5. 不要承诺概率性任务的特定精度
    与数据相关的任务往往基于概率。您可能需要应用机器学习,并且您可能不太了解数据,或者客户端可能没有与您共享数据集。即使你知道这些数据,你也不能准确地预测你的任务的最低精确度,除非你已经制定了你的解决方案。然而,现实世界的问题或提供给你的数据可能与你以前处理过的不同。

    为了得到第一份工作,你可能会忍不住许诺某项任务 99%的准确率,但即使你以前完成过类似的任务,你也不应该把自己置于这种境地。总有出错的风险,你可能无法兑现你的承诺。

  6. 让客户知道你在做什么
    最好让你的客户知道。如果他们没有要求,你不应该给他们发垃圾邮件,但是告诉他们你正在采取的步骤,谈论你的想法和你下一步要做的事情总是好的。

  7. 在自己的能力范围内申请工作
    你将与你的客户就有约束力的合同条款达成一致。不要申请你没有把握能完成的工作。然而,这并不意味着你不应该自信,不应该去申请你的舒适区之外的职位。即使你以前从未做过类似的工作,你仍然可以申请那些需要你的技能和研究的工作。你不必事先知道所有的事情,承担你以前没有做过的新角色是一种很好的学习方式。如果你认为你能完成一项任务,那么你应该申请它。

  8. 如前所述,如果你是一个自由职业平台的新手,你应该首先考虑获得好评。完成任务后,提供一些额外的资产是个好主意,即使客户没有要求。例如,你可以准备一份文件,用视觉效果来解释你的工作和建筑。这可能是客户给你积极评价和推荐的原因。

  9. 寻求反馈和推荐
    作为一名初学自由职业者,你可能会在寻求推荐或反馈时遇到困难。然而,如果你认为你做得很好,那就没什么好担心的。大多数客户都非常乐意留下反馈,尤其是当你已经帮他们解决了问题并且很好地完成了工作的时候。

  10. 保护你的身心健康
    众所周知,自由职业者有一些缺点。例如,自由职业者通常独自在家工作,这会让他们感到孤独。此外,这可能会导致久坐不动的生活方式,这可能会对他们的健康和健身产生不利影响。永远把你的身心健康放在第一位。

  11. 不断提高你的语言技能
    如果英语不是你的母语,提高你的英语水平可能是个好主意。你对这门语言越有信心,你就能更好地与你的客户交流,这可能是招聘者在选择过程中寻找的一项关键技能。

  12. 自信
    因为你在提供服务,所以你需要对自己提供服务的能力有信心。作为一个第一次从事自由职业的人,你可能会把你的客户看作某种形式的主管,但是在自由职业者和他们的客户之间的关系中,这是一种罕见的动态。你应该能够提出改进建议,并在整个过程中指导他们;毕竟你是专家。

  13. 不要放弃
    你可能会发现很难找到自己的第一份自由职业。第一个永远是最难的,当然也能感觉到力不从心,但是不要放弃。改善你的个人资料,提高你的技能,并尝试尽早申请工作,这样你至少是前五名申请人中的一员。继续努力,你将最终获得你的第一个角色,在此之后,其他人肯定会紧随其后。

结论

在不断变化和发展的技术世界中,我们也在改变和发展自己。不管我们的年龄和经验水平如何,在选择和发展自己的职业时,互联网的接入为我们提供了无限的可能性。对许多人来说,作为一名自由职业的数据科学家是一条很有吸引力的职业道路,因为它提供了很大的灵活性和自我发展空间。

阅读完本文后,您已经向成为一名自由数据科学家迈出了第一步。记住这里给出的信息,我们建议你计划好下一步,努力达到你梦想的工作和生活方式的要求。

开始新的职业生涯可能会很困难,因此在数据营,我们的目标是让你成为自由数据科学家的旅程尽可能简单愉快。如果您想要更多资源来帮助您的旅程,请查看我们的数据科学家 Python 职业跟踪和我们的数据科学家认证。

自由数据科学家的收入高度依赖于他们的技能、经验和好评。初级和高级数据科学家之间的范围相当广泛。每小时的费用从 10 美元到 300 美元不等。根据这份的研究,新手数据科学家平均每小时收费 50 美元左右,有经验的硕士或博士学位的每小时收费 100 美元左右。

第一部分 中,我们回顾了所有自由数据科学家应该具备的技能。在大学里,你可以获得大部分所需的硬技能和软技能,这意味着如果你有学位,你就有证据证明你学会了这些技能。然而,如果你从新兵训练营或通过教育视频获得这些知识,那也没什么,如果做得正确,就足以确保并成功提供高标准的数据科学工作。

如前所述,这个职业最具决定性的因素是你的个人资料中有足够多的正面评价。当大多数客户检查你的评论时,你会获得他们的信任,但有些客户可能会要求你拥有学士、硕士甚至博士学位。拥有一个学位会为你打开许多大门,让你感到更加自信。在任何情况下,没有一个不会是成功的主要障碍,只要你擅长你所做的。

这取决于你的技能和你在求职中付出的努力。如果你真的很努力,找到第一份工作可能需要几天到几个月的时间。第一步是要有一个信息丰富的个人资料,包括你的正规教育和经历的所有细节。写一份好的简历也很有帮助,这样客户就能了解你是谁。

建议从小项目开始,目标应该是获得积极的评价。平台也鼓励这个系统。例如,如果你在 Upwork 上获得了大约 7-8 条评论,并且你以 100%的分数成功完成了这些评论,那么Upwork会给你分配一个“顶级自由职业者”徽章,这将大大增加你获得新工作和更大项目的机会。

我们在 第一部分 提到了几个自由职业网站。这些为自由职业者和客户之间的互动提供了一个平台,客户可以发布工作,自由职业者可以申请工作。

根据活跃的数据科学职位发布数量和高技能活跃自由职业者数量评估的前三大数据科学平台是 Upworktop talFiverr。您可以在这些平台上轻松创建个人资料。然而,其中一些不允许你直接申请工作,可能需要你事先通过技术技能面试和英语水平测试。然而,其他一些人只是出于安全原因验证您的身份,并验证您的支付和税务信息。之后,你可以直接申请你喜欢的工作。

好几个平台都对求职收费,但通常数额都很小。此外,当你第一次创建个人资料时,这些平台通常会为你提供一些免费的工作申请令牌来帮助你入门。如果你想申请更多的工作,那么这些平台要求你支付这些代币。在某些情况下,像 Upwork ,如果你与客户有良好的沟通,并且你回应了工作邀请,平台会给你免费的代币,以换取成为一名积极的自由职业者。

如何成为一名自由数据科学家(第一部分)

原文:https://web.archive.org/web/20221129044300/https://www.datacamp.com/blog/how-to-become-a-freelance-data-scientist-pt1

简介

成为自由数据科学家的优势和劣势

数据科学自由职业者的技能

寻找自由数据科学工作的顶级平台

结论

介绍

Glassdoor 报道,远程工作的需求增长了 360%。世界的工作方式已经发生了重大变化,尤其是在数据科学和软件开发领域。从统计数据中可以看出,许多专业人士目前正在努力赶上这一变化带来的变化。

许多公司已经转向远程工作模式,这种模式允许员工在保持工作效率和对公司忠诚的同时,在个人生活上投入更多时间。至于那些一直在积极寻找工作的人,他们不仅在自己的国家,而且在国外都遇到了广泛的新工作机会。可以说,雇主和雇员在灵活性和信任的基础上找到了双赢的局面。

随着在家工作的优势越来越广为人知,越来越多的人想知道现在是否是尝试自由职业的时候了。因此,像 Upwork 这样的在线自由职业者平台已经非常受欢迎。

目前, Upwork 有大约 900 个数据科学工作岗位。这已经是一个相对较高的数字,但作为一名数据科学家,你还可以参加其他类型的软件开发项目,而不仅限于数据科学,这为潜在的自由职业者提供了更好的前景。

作为一名数据科学自由职业者,你会发现公司和个人都可以申请各种有趣的项目职位。招聘启事已经写明了工资和期望的完成日期,这使得决定是否值得接下这个项目变得非常容易。当然,你不需要一次只做一个项目。你可以制定自己的规则,按照自己的喜好管理时间,以便在不牺牲工作/生活平衡的情况下达到最高效率。

然而,作为一名自由职业者,也有一些缺点,比如没有公司福利,在采取行动之前,值得认真考虑这一点。

做一名自由数据科学家的优势和劣势

作为一名自由职业者,你实际上是在创造自己的品牌。除了完成您接受的任务,您还有责任确保您品牌的发展,规划您的收入和支出,并做出每个决定,如选择您将使用的程序许可证。

成功的自由职业者意味着大量的艰苦工作,但是,就像其他就业选择一样,做一名自由职业者有利也有弊。

优势

  1. 只要能上网,你可以在任何地方工作。
  2. 你选择你想做的工作和适合你的工作条件。
  3. 你可以自己计划你的工作量和假期,你可以在你的精力和时间允许的情况下工作。如果你想成为一名自由职业的数据科学家作为兼职,你也将能够找到只占用你一天几个小时的工作。
  4. 由于自由职业者在全球范围内工作,他们有时可以受益于比在本国获得更高收入的机会。
  5. 鉴于你接受的任务的多样性,作为一名自由职业者,你可以用不同的方式提高你的能力,而不是像员工一样完成单调的任务。此外,你的研究和开发技能可以快速发展,因为你每天都在积极的任务搜索中训练它们。

不足之处

  1. 自由职业者有一定的纳税义务,他们需要自己去记录,这可能会让人不知所措,尤其是对新自由职业者来说。
  2. 利益缺失。由于你将经营自己的企业,将没有公司为你提供通常的员工福利。这意味着你需要为自己提供某些东西,比如健康保险。
  3. 项目花费的时间可能比您预期的要长,或者您的客户可能希望提前完成项目。这最终会让你发展自己的适应能力,但短期内,你也可能会觉得自己的商业生活缺乏稳定性。
  4. 你会遇到好客户,也会和可能给你带来麻烦的客户一起工作。无论如何,你需要让你的客户开心。他们在自由职业平台上给你的分数,以及他们可能分享的公众评论,会极大地影响你未来被其他机构聘用的可能性。
  5. 时区。在某些情况下,你可能需要适应客户所在国家的时区,这可能会影响你的私人生活。
  6. 通常你不会有同事在你旁边工作,这有时会让你感到孤独。关注自己的精神状态和社交需求很重要,否则,你可能会发现自己的动力和健康都在逐渐下降。
  7. 总有一种风险,你可能会遇到客户不坚持他们最初同意的条件,包括付款。这种可能性通常很小,但你仍然需要记住这一点,并采取必要的预防措施,以确保你总是受到公平对待。

数据科学自由职业者的技能

作为一名自由职业者,你需要很好地结合软技能和硬技能。你的技术知识当然会发挥非常重要的作用,但其他方面,如你的社交技能,你的语言能力,你的基本会计知识,也将是至关重要的。

硬技能

技术

大多数数据科学技能来自计算机科学、IT、数学和统计背景。然而,它并不局限于这些领域,因为它们也可以从不同种类的工程职业道路中获得。每位数据科学家都需要具备以下基本技能:

  1. 编程和包
  2. 数据可视化
  3. 机器学习
  4. 概率与统计
  5. 线性代数
  6. 数据角力

语言技能

熟练的语言技能是良好沟通的基础。作为一名自由职业者,你会经常与不同国家的客户打交道。如果你看一下任何一个自由职业者平台上的招聘信息,你会发现大部分(如果不是全部)都是英文的。

这将有助于你有一个英语水平,让你理解给定的工作,并以书面形式回应客户。然而,在某些时候,有限的英语水平可能是不够的。在中型和大型项目中,您通常需要在项目之前、期间和之后进行视频通话。客户会优先考虑在招聘过程中能够顺畅沟通的候选人。由于这个原因,如果英语不是你的母语,提高这项技能会非常有利。

会计

自由职业者要交税和自由职业者费用,这取决于他们居住的国家。随着你业务的增长,你必须支付的税的种类可能会改变。拥有良好的会计技能并跟踪税收立法的变化是至关重要的,因为不遵守这些法律可能会导致法律问题。

软技能

被认为是“软技能”的能力是赢得客户信任的关键。为了成为一名成功的自由职业者,你需要学会掌握以下几点:

沟通

所有优秀的自由职业者都有一个共同点,那就是他们独特的交流方式。在接受一份工作之前,自由职业者和客户理解彼此的要求和需求是很重要的。双方需要清楚地沟通,以避免从一开始就含糊不清或误解。

谈判

学习如何谈判需要经验。谈判有时可能是一个敏感的话题,必须始终以尊重的方式进行。自由职业者只有通过实践才能学会这一点。不要太唐突地说出你的需求和期望是很重要的,如果发生了错误,从错误中吸取教训是至关重要的。理想的结果应该总是对双方都公平的合同条款。

情商

能够预测客户在面对问题时的感受将有助于你计划你可以建议的解决方案,以及如何向他们展示这些方案。也可能有这样的情况,你的客户因为不同的原因不能表达他们的想法。在这种情况下,自由职业者的同理心会让客户感到被理解和受到良好的照顾。

抽象

抽象是工程师和科学家广泛使用的一种技能,它包括思考一个复杂的问题,并将它分成几个高级别的简单组件。然后,仅仅通过关注这些简单的组件,就可以更容易地处理复杂的问题。

客户可能没有自由职业者那么多的技术知识,即使他们有,他们也可能很难完全理解工作的每一步。这就是为什么自由职业者需要能够对他们的方法和项目架构提供一个清晰的总结,这也是抽象发挥作用的地方。当客户清楚地了解整个过程时,他们会很感激,这有助于在双方之间建立一座牢固的桥梁。

寻找自由数据科学工作的顶级平台

自由职业者网站为求职者和自由职业者提供了一个互动的平台。这些平台允许你筛选工作机会,以便根据你的技能调整搜索。项目的所有阶段都发生在这些平台上,包括最终付款,这使它们成为专业人士非常有用和可靠的工具。下面列出了当前数据科学工作的热门平台。

向上工作

这个平台上大约有 900 个与数据科学相关的公开招聘职位,如 Upwork 的数据科学网页所示。在 T2,工作机会通常会很快敲定。谈判可能会持续几分钟到一周。这意味着你每周可以申请大约 1000 份数据科学的工作。

总面积

与其他自由职业者平台不同, Toptal 对所有自由职业者候选人进行严格的技术面试。作为这次面试的结果,只有前 3%的申请人被该网站接受。这就保证了只有最成功、最专业的自由职业者才能在这个平台上做生意。

五元

与众不同的是,在这个平台上,自由职业者通常提供他们可以在基本、标准和高级计划中完成的特定工作。因此,商业动态在某些方面比其他平台更稳定,因为自由职业者可以明确规定他们将执行什么任务,确切的时间和费用。

结论

作为一名自由职业数据科学家开始你的旅程可能具有挑战性,但可以在数据科学领域获得有益的职业生涯,在那里你可以享受作为自己老板的独立性。请继续关注第 2 部分,我们将提供成为数据科学家的详细路线图、其他有用的提示以及常见问题的答案。与此同时,您可以通过注册我们的数据科学家职业道路开始您的旅程。

如何成为一名机器学习工程师

原文:https://web.archive.org/web/20220627024316/https://www.datacamp.com/blog/how-to-become-a-machine-learning-engineer

机器学习(ML)是人工智能(AI)和计算机科学的一个子领域,专注于通过利用数据和算法来模仿人类的学习方式。机器学习的主要目标是识别数据中的模式。在监督学习中,对输入数据实施算法以学习函数,并基于示例输入-输出对将输入映射到输出。通过学习函数,我们可以将看不见的观察结果传递给模型,让它对结果进行预测。另一方面,无监督学习从未标记的数据中学习模式。

据我们所知,人们高度相信人工智能将改变商业,这场革命已经在几个行业开始了。因此,几家公司正在向该领域投资数十亿美元:截至 2019 年 9 月,美国的机器学习应用公司已经筹集了 370 亿美元的累计资金,随着对 ML 应用需求的增加,需要人才来开发产品。机器学习工程师就是这种推动所必需的角色之一。想要成为机器学习工程师有几个令人信服的理由:

  • 这是一个有利可图的职业选择。
  • 这是一个令人兴奋的领域,总是会出现新的挑战,需要不断学习。
  • 人工智能的职业生涯让你处于现代工业中最前沿的技术游戏规则改变者的中心。

既然我们已经建立了成为机器学习工程师的“为什么”,我们将分解机器学习工程师做什么以及你如何才能成为一名机器学习工程师。

什么是机器学习工程师?

机器学习工程被认为是软件工程的一个子领域,所以可以说他们的生活方式非常相似。像软件工程师一样,雇主希望机器学习工程师是熟悉 IDEs、GitHub 和 Docker 等软件工程工具的熟练程序员。

主要区别在于,机器学习工程师主要专注于创建程序,为计算机提供必要的资源,使其能够自我学习。机器学习工程师通过将他们的软件工程知识与机器学习知识相结合来进行这种区分。

机器学习工程师的目标是将数据转化为产品。因此,机器学习工程师可以被描述为研究、构建和设计自学软件以自动化预测模型的技术上可靠的程序员。

机器学习工程师是做什么的?

许多人可能听说过数据科学家——特别是在哈佛商学院称之为 21 世纪的性别歧视角色之后;与数据科学家相比,机器学习工程师似乎在项目中稍微靠后一些。换个角度来看,数据科学家会分析数据以产生商业见解,而机器学习工程师会将数据转化为产品。

机器学习工程师会更加专注于编写代码,这些代码采用理论数据科学模型,并将它们扩展到生产层面,作为机器学习产品进行部署。然而,机器学习工程师的职责细节可能会根据两个关键因素而变化:1)组织的规模和 2)项目的类型。

作为一名机器学习工程师,仍然有一些你可以期待的一般职责。这些责任包括:

  • 设计、研究和开发可扩展的机器学习管道,实现机器学习工作流程的自动化
  • 扩展数据科学原型
  • 寻找和提取适合解决手头问题的数据集;这可以与数据工程师合作完成
  • 验证他们提取的数据质量良好,并对其进行清理
  • 利用统计分析提高机器学习模型的质量
  • 构建数据和模型管道
  • 管理将模型投入生产所需的基础设施
  • 部署机器学习模型
  • 监控生产中的机器学习系统,并在必要时对其进行再培训
  • 构建机器学习框架

Chip Huyen 是一位作家,也是机器学习领域的杰出人物,他建议不要纠结于角色定义,这是一个好习惯,因为它们通常会不准确地反映出你可能正在做的事情。例如,可能会遇到两个人在同一个团队中工作,他们执行着截然不同的任务。不过,你也可能遇到不同公司的两个人,他们做着类似的事情,但头衔却大相径庭。

一个机器学习工程师需要什么技能?

机器学习工程师坐在软件工程师和数据科学家的交叉点上。由于它的跨学科性质,你必须精通基础数据科学技能,并牢固掌握软件工程原理。

值得注意的是,大多数机器学习工程师角色不需要学位,尽管一些职位描述仍然将它列为一项要求。如果你能够在你的投资组合中展示机器学习工程师所需的必要技能,你仍然可以被考虑。让我们更深入地了解教育、技能和经验,让你更好地了解你需要展示什么。

技术

编程语言:最明显的要求是写代码的能力;Python 和 R 是最受机器学习从业者欢迎的语言;然而,一些公司可能要求你了解其他语言,如 C++和 Java。

数学、概率和统计:数学、概率和统计在机器学习中起着重要的作用。例如,线性代数[数学的一个子领域]重点关注向量、矩阵和线性变换,这些都是机器学习中关键的基础方面;我们经常在描述算法如何工作的符号中看到它,当我们用代码实现算法时,必须对它有很好的了解。其他重要的技术需要很好地理解概率,以帮助我们处理现实世界中的不确定性,以及统计学,以帮助我们建立和验证我们的模型。

机器学习算法和框架:很难说你必须从头开始实现一个机器学习算法。几个知识渊博的人创造了各种机器学习框架(即 Scikit-learn、TensorFlow、Pytorch、抱抱脸等。)使得机器学习变得容易实现。然而,选择合适的模型并针对任务进行优化需要对机器学习算法、其超参数以及其超参数如何影响学习有很好的了解。你还必须意识到在解决问题时采用每种相对方法的利弊,这也需要对各种机器学习算法的内部工作原理有很好的了解。

软件工程和系统设计:机器学习工程师的最终成果是可工作的软件。在开发机器学习系统时,必须仔细考虑如何设计系统,以便随着数据的增加而很好地扩展。此外,机器学习系统是一个较小的组件,需要适应一个更广泛的系统。因此,机器学习工程师必须了解各种软件工程最佳实践(即版本控制、测试、文档、模块化编码等)。)以及不同的部分如何形成一个系统。你需要为你的机器学习模型建立一个合适的接口,这样它就可以有效地与系统中的组件进行通信。

MLOps:机器学习操作(MLOps)是机器学习工程的核心功能之一。它专注于简化将机器学习模型投入生产的过程,以及在生产后维护和监控它们的必要资源。它仍然是一个相当新的功能,但它开始作为创建高质量机器学习应用程序的实用方法而受到关注。

软技能

沟通:机器学习工程师必须与各种利益相关者合作:这些利益相关者中的一些将是非常技术性的(即数据科学家),而其他人可能不是(即产品团队)。因此,有效地调整你的沟通方式以适应你所接触的利益相关者是至关重要的。

解决问题:尽管在机器学习的前沿有各种新奇的工具,但机器学习项目的主要目标是解决问题。这意味着创造性地和批判性地思考问题是机器学习工程师非常需要的品质。

快速学习者:机器学习是一个快速发展的领域:当你阅读这篇文章时,某个地方的研究人员正在研究如何改进一些模型或过程。要保持在前沿,你必须有快速学习新工具的诀窍,知道它们如何工作,它们在哪里工作得好,在哪里不好。简而言之,成为机器学习工程师的决定是对持续学习的隐含承诺。

如何获得你的第一份机器学习工作

你如何找到你的第一份工作?这可以分为两个阶段:1)投资组合的建立和 2)推广。投资组合构建阶段应该发生在你学习机器学习的时候。一部分拓展应该发生,但当你有一个强大的投资组合时,它会加速。因此,让我们更深入地了解每个阶段。

投资组合构建阶段

申请机器学习职位的最大挑战之一是获得面试机会。由于该领域相对较新,因此没有通用的验证标准,公司可以用来解读候选人是否适合机器学习工程师的角色。当然,大多数职位空缺每天收到数百份申请也无济于事。为了弥补积压,候选人的简历通常会通过 ATS 系统,该系统会根据特定的关键字过滤申请。不幸的是,人们很快就发现了这一点,并在简历中填入关键词来击败 ATS 系统。那么,你如何确保公司注意到你呢?

一个解决办法是从事展示你的技能并帮助你建立投资组合的项目。这些项目可能是一些精心制作的博客帖子,详细介绍了解决问题的方法或如何实现特定工具(例如,为生产就绪的机器学习模型设置监控)。一个项目也可能是一个端到端的系统,你设计它是为了在给定一些输入的情况下预测一个结果。最重要的是你能展示出雇主想要的能力。

如果你不确定要构建什么项目,你可以参加在 DataCampKaggle 等平台上举办的数据科学竞赛。许多雇主都非常重视参与此类竞赛,这也是建立投资组合的一个很好的方式。通过这篇 Kaggle 比赛教程,你可以了解一下参加比赛是什么感觉。

外联阶段

一旦你有了自己的投资组合,下一步就是拓展。一些人更喜欢传统的求职方式,即使用求职公告板,用同一份简历申请尽可能多的职位。虽然这可能会取得一些成功,但它更像是一种暴力方法。

找到工作的一个更具战略性的方法是列出一系列你希望成为雇主的公司。例如,你更喜欢使用机器学习的公司还是增强当前系统的公司?你希望你的理想公司有多大?开始问自己类似这样的问题,来分解你理想中的雇主是什么样的,并列出来。

一旦你有了一份理想公司的名单,你就可以开始利用 LinkedIn 和 Twitter 等社交媒体平台寻找这些组织的决策者(即招聘经理、首席数据科学家、团队领导)。试着附上一条友好的信息来增加他们的价值,因为他们很有可能已经从寻找机会的人那里收到了大量的信息。从给予的角度出发,更有可能让他们产生兴趣。

嗨【插入姓名】,
我看了您推荐系统的系统设计文章,很佩服您处理冷启动问题的方式。鉴于你团队的高水平专业知识,你可能已经想到了这一点:推荐热门文章对于帮助人们做出决定非常有用。我进行了一个项目来解决这个问题——这是链接[插入链接]。你有时间和我简单聊聊我在这个项目中采用的方法吗?请让我知道你的首选发言时间。这是我的空闲时间[插入空闲时间]。

问候,

【你的名字】

请注意,上述建议需要满足两个关键要求:

  1. 它假设你有一个在线的存在;如果你没有,确保你至少创建了一个 LinkedIn 账户并优化了你的个人资料。
  2. 它假设你已经对公司的机器学习部门进行了积极的研究,因为如果你想增加价值,你需要参与进来。

但是不要止步于此。招聘人员对你获得第一份工作非常有帮助,所以你也要尝试通过 LinkedIn 这样的平台与招聘人员联系,这一点非常重要。建立关系,让招聘人员知道你感兴趣的工作类型,这样他们就可以留意你了。

一个重要的免责声明是,这并不能保证你能找到工作。然而,系统的求职方法可以让你更好地跟踪你的进步,并在你做得不太好的地方有所改进。例如,如果你联系某人但没有收到回复,你可以修改信息并发送给其他人。如果它得到了回应,你可以修改这个信息,并把它用于其他人。理想情况下,你会不断调整它,直到你收到越来越多的回应。

薪资潜力

作为一名机器学习工程师,你能挣多少钱取决于你所在的位置。例如,根据前景展望公司的数据,一名毕业生在英国的年薪大约是 35,000 英镑,而全国平均年薪是 52,000 英镑。然而,根据 Payscale 的报告,在美国,入门级机器学习工程师的平均年薪为 94771 美元,的平均年薪为 112513 美元。

显而易见,这可能需要一些改进,因为许多公司现在接受越来越多的远程员工。鉴于远程工作的增加,如何公平地支付员工工资一直是一个争论的话题:一些公司已经决定根据员工的位置支付工资,这意味着如果你在一个经济欠发达的国家工作,而他们是在职的,你可能会比同样职位的人挣得少。其他公司决定不管地点在哪里,都坚持这个工资标准。要点是公司对支付远程员工有不同的政策,所以你必须尽职调查。

对机器学习工程师的面试有什么期待

不同的公司有他们偏好的进行面试的方式,找到每种方式都很有挑战性。一个好的做法是在你第一次面试之前询问面试过程是如何进行的,但是这些信息通常是给你的。此外,大多数公司倾向于从跨国组织(如谷歌、脸书、苹果等)那里获取他们的方法。)然后加上他们的扭动,这样才适合他们。因此,我们可以了解很多关于大多数公司如何进行机器学习工程师面试的信息,并通过查看跨国组织的流程来更好地了解预期会发生什么。

谷歌面试

谷歌寻求只雇佣最聪明的人才。因此,他们极具挑战性的面试过程旨在筛选出不符合他们高标准的候选人。

面试过程也是针对 Google(即 Google cloud)的,范围极其广泛,涵盖了从数据结构和算法到系统设计和测试的各种主题。你可能会经历几轮面试,包括招聘人员筛选、一两次技术电话筛选和四至六次现场面试。

亚马逊访谈

和谷歌一样,亚马逊的面试流程是亚马逊特有的(即 AWS),难度极高。面试包括招聘人员电话筛选、某些情况下的在线评估、一到两次电话筛选,以及四至六次现场面试。

涵盖的主题包括行为问题、软件工程问题(即系统设计)和机器学习特定问题。然而,面试官可能会问你一些机器学习项目,并要求你解决一个编码问题。

梅塔(前脸书)采访

Meta 的机器学习工程师面试流程是相当整体的。你将通过招聘人员筛选、编码面试和五次现场面试来确定你是否合适。招聘经理可能会给你一份带回家的作业,看看你实际上是如何解决问题的。

需要注意的是,并不是所有公司的招聘过程都像上面列出的跨国公司那样漫长或紧张。例如,一些公司认为没有必要钻研数据结构和算法。尽管如此,大多数人会同意机器学习系统设计是必不可少的,并将包括一个测试你在该部门的知识的部分。因此,在做出决定之前,你应该期待多轮面试——通常是筛选轮,然后是技术轮,接着是行为面试。

结论

机器学习工程师工作流程的成果是工作软件;作为一名机器学习工程师,要有效地工作,你必须是一名技术过硬的程序员,在数学、统计、概率和软件工程方面有坚实的基础。虽然在职位描述中经常要求,但大多数公司通常不要求学位,但用一个作品集展示你的能力是必要的。

DataCamp 有两条优秀的职业道路,可以帮助你开始你的旅程:

你不必完成这两个课程,因为雇主通常更喜欢 Python 或 R 的知识;这两方面的能力都很好,但不是必须的。

2023 年如何成为量化分析师

原文:https://web.archive.org/web/20221210075939/https://www.datacamp.com/blog/how-to-become-quantitative-analyst

现代工作场所中有许多数据角色,其中许多角色专门从事某一特定领域。定量分析师就是这样一个职业。这个角色使用数学和统计技术来帮助组织做出财务决策。如果你想知道如何成为一名定量分析师,这篇文章将探索你需要知道的一切。

我们将研究定量分析师做什么,为什么它是一个如此重要的角色,并探索进入该行业所需的教育水平和技能。

什么是量化分析师?

定量分析师是金融专业人士,他们使用数学和统计技术来分析和模拟数据,以帮助做出投资决策。他们通常在金融行业从事风险管理、投资组合管理和交易。

定量分析师(有时被亲切地称为“定量分析师”)利用他们在数学和统计学方面的技能来帮助组织做出明智的财务决策。

定量分析师是做什么的?

与任何此类数据角色一样,定量分析师执行的具体任务因其职位、行业和组织而异。但是,它们可能涉及的一些常见功能包括:

  • 开发和实施数学模型,以帮助预测金融市场和确定投资机会
  • 分析财务数据以确定趋势和模式
  • 构建和测试金融交易算法
  • 设计和实施风险管理策略
  • 与其他专业人士(如交易员和投资组合经理)合作,做出投资决策

正如你所看到的,定量分析师的工作涉及一系列不同的职能,必须有广泛的知识才能成功。

为什么要成为量化分析师?

这是许多现代企业必不可少的角色。因此,有很多原因可以解释为什么有人会决定成为定量分析师。其中包括:

  • 高收入潜力。量化分析师往往薪水很高,尤其是在金融行业。根据 Payscale 的数据,在美国,定量分析师的基本年薪从 61000 美元到 129000 美元不等。这取决于角色、组织、行业以及你的经历和教育程度。
  • 智力挑战。这个角色包括使用先进的数学和统计技术来解决复杂的问题,这可以激发那些喜欢这种工作的人的智力。
  • 对金融市场的影响。作为定量分析师,你可以对金融市场和组织的投资决策产生直接影响。
  • 职业发展的机会。对定量分析师的需求很高,拥有合适技能和经验的人往往能在职业生涯中快速晋升。根据 LinkedIn 的数据,在撰写本文时,美国有超过 15,000 个定量分析师职位正在发布广告。
  • 工作种类。定量分析师可以在各种行业和组织中工作,他们的任务可以根据具体的角色和公司而有所不同。这可以为职业多样化和成长提供机会。金融、科技、保险、零售、能源、媒体等行业都需要定量分析师。

如何成为定量分析师:成功的 5 个步骤

我们已经列出了一些你需要采取的步骤,来获得一份定量分析师的工作。同样,这些将取决于你现有的技能和知识,以及你的职业抱负。

1.从你的教育开始

从我们上面概述的定量分析师的工作描述中可以看出,这个角色通常需要很强的教育背景。你需要熟练掌握数学和统计学,并具备计算机编程的实用知识。

对许多人来说,定量分析师的职业道路始于数学、统计学、计算机科学或工程学的学士学位。从那里,计算金融或金融工程硕士学位是下一步。一些人还选择攻读数学或统计学博士学位。

所以,如果你想成为一名定量分析师,教育是一个很好的起点。许多量化分析师从学习 R 或 Python 这样的编程语言开始,你可以参加我们的 R track 的量化分析师和 Python 中的量化风险管理的课程开始学习。如果你完全是这个领域的新手,统计学的介绍也是一个很好的起点。

2.发展你的技能

无论是作为你正规教育的一部分,还是作为你自己的个人项目,你都需要学习几项技能来成为一名成功的量化分析师。正如我们已经提到的,你需要数学和统计技能来开发金融模型。除了牢固掌握微积分(导数、积分和最优化)和线性代数(矩阵、向量和线性方程),你还需要理解概率(随机变量、分布和假设检验)和其他数值方法。

除了这些技能,你还需要:

  • 编程技巧。我们已经介绍过 R 和 Python 对于定量分析是有用的。他们可以帮助你建立和实现你的模型和算法。
  • 批判性思维技能。作为一名定量分析师,你在工作中会经常遇到相当复杂的问题。你需要创造力和批判性思维来克服它们,通常需要创新的解决方案。
  • 沟通技巧。定量分析师与各种其他专业人士一起工作,如交易员和投资组合经理,来做出投资决策。你需要清晰有效地交流你的发现和建议,无论是口头还是书面的。
  • 关注细节。鉴于您将处理大型数据集,您需要能够从数据中得出结论并发现模式、错误和不一致之处。
  • 金融市场知识。除了你的技术技能和权力技能,你还需要熟悉金融世界,紧跟潮流。

3.获得一些实践经验

与数据世界中的许多职业一样,经验通常与你的资历同等重要。如果雇主看到你已经对自己的职位有了实际的了解,这在申请和面试过程中会给你很大的帮助。有几种方法可以获得和展示这种经验:

  • 创建投资组合。我们有一整篇关于创建数据科学投资组合的文章,其中很多建议也适用于定量分析师。拥有一个展示你作品的空间是必不可少的,无论是来自你的教育还是个人项目。
  • 做一些个人项目。你可以通过从事个人项目来获得经验,比如建立自己的金融模型或交易算法。这可以提供一个在自我指导的环境中应用他们的技能和知识的机会,也可以成为你简历或作品集的一个有价值的补充。
  • 参加在线课程或挑战。像这样的课程在 R one 中级投资组合分析可以给你机会提高你的技能金融技能回测,分析和优化金融投资组合。这样的工作可以放入你的文件夹。

4.寻找职业机会

一旦你确信自己已经为定量分析师的工作做好了准备,你就会想要开始深入了解现有的角色类型。要获得一些初步经验,有几条路线可以考虑:

  • 实习。许多组织,尤其是金融行业的组织,为对定量分析感兴趣的学生提供实习项目。实习可以为你提供宝贵的实践经验,帮助你发展在这个领域取得成功所需的技能和知识。
  • 自由职业者或合同工。你甚至可以通过兼职或合同工获得经验,比如做研究助理或数据分析师。这可以让你接触真实世界的场景,并帮助你熟悉专业环境。
  • 联网。和业内其他专业人士在一起总是有帮助的。通过社交活动和在线工具与其他定量分析师保持联系可以帮助你建立关系,并可能带来潜在的职业机会。

5.完善你的简历和申请

当申请初级职位时,你需要做几件事。看看一些定量分析师的职位描述,开始根据要求定制简历。这里有一些技巧可以让你创建一份优秀的定量分析师简历:

  • 专注于你的技术技能。作为一名定量分析师,你的技术技能可能是你成功的最重要因素。一定要突出你在数学、统计学和计算机编程等领域的熟练程度,并附上任何相关的证书或课程。
  • 展示你的经历。如果你以前有定量分析的工作经验,一定要把它写进简历。包括你参与的项目的细节,你使用的技术和工具,以及你取得的成果。你应该链接到你的作品集,如果你有相关的实习或兼职工作,也包括这些。
  • 突出你解决问题的技巧。定量分析包括使用数学和统计技术解决复杂的问题。一定要包括你在以前的情况下如何运用你的解决问题的技能的例子,例如通过开发和实现财务模型或算法。

努力成为一名定量分析师吧

正如我们所见,获得定量分析师工作的道路可能会相当漫长,但它可能是一个非常有益的职业。首先要从职业生涯的基础技能和知识开始,比如数学、统计学和编程语言。我们的 R track 定量分析师是一个理想的起点,为您提供超过 60 小时的内容。

一旦你掌握了必要的技能,你就可以开始从事各种项目来发展你对该领域的实际理解。通过建立工作组合和获得一些实践经验,你将处于一个很好的位置去寻找实习和初级职位。

这是一个令人兴奋的职业,有着巨大的潜力,从今天开始可以在未来几年中获得回报。祝你好运!

量化分析师是运用数学和统计技术分析金融数据并做出预测或决策的专业人士。他们通常在金融行业工作,但也可以在依赖复杂数据分析的其他行业找到他们,如保险、医疗保健和技术。

定量分析师的职业通常至少需要相关领域的学士学位,如数学、统计、计算机科学或金融。许多雇主也更喜欢拥有研究生学位的求职者,比如金融数学硕士或相关领域的博士。

一个成功的定量分析师需要很强的分析和解决问题的能力,以及对相关软件和编程语言的熟练程度,比如 R 和 Python。他们还应该对金融市场和产品有很好的理解,并有能力将他们的发现传达给非技术受众。

对定量分析师的需求很高,拥有合适技能和经验的人往往能在职业生涯中快速晋升。许多定量分析师从初级职位做起,一步步升到更高级的职位,比如投资组合经理或风险经理。

定量分析师通常收入很高,尤其是在金融行业。根据 Glassdoor 的数据,美国定量分析师的平均年薪为 11.3 万美元。

如何从零开始建立数据科学团队

原文:https://web.archive.org/web/20221129033335/https://www.datacamp.com/blog/how-to-build-a-data-science-team-from-scratch

https://web.archive.org/web/20220818204008if_/https://embed.podcasts.apple.com/gb/podcast/95-how-to-build-a-data-science-team-from-scratch/id1336150688?i=1000569519181

DataCamp 播客 DataFramed 的主持人 Adel Nehme 最近采访了 StoneX 的全球数据科学主管 Elettra DaMaggio

介绍 Elettra DaMaggio

Adel Nehme:大家好。这是数据营的 Adel 数据科学布道者和教育家。随着数据科学对组织的成功越来越重要。现在,各种类型和规模的组织都在构建数据科学功能,以充分利用他们生成的数据。然而,我认为考虑到我们今年到目前为止报道的所有数据框架事件,从头开始启动数据科学功能绝对不是一件容易的事情。所以我很高兴今天的播客中有 Elettra Damaggio。

伊莱克特是 StoneX 的数据科学总监。她在数据和数字转型领域以及金融服务领域有着深厚的根基,并在 StoneX 数据科学职能的启动中发挥了至关重要的作用。

在这一集中,我们讨论了与启动数据科学功能相关的主要挑战,数据领导者如何在唾手可得的成果和长期愿景之间确定路线图的优先顺序,如何赢得组织内利益相关方的信任,作为数据领导者,她处理过的用例,她对有抱负的从业者的建议等等。

如果你喜欢这一集,一定要评价,订阅和评论,但只有当你喜欢它,现在让我们开始吧。Elettra,你能上节目真是太好了。

Elettra Damaggio:谢谢你们邀请我。

Adel Nehme:我很高兴能和你谈论你的工作。在 StoneX 领导数据科学,从头开始启动数据科学功能的最佳实践,如何管理短期目标和长期优先事项,等等,但在此之前,您能给我们介绍一下您自己的背景吗?

是的,当然。所以我很久以前就开始学习计算机科学。我毕业了,获得了计算机科学的理学学士和理学硕士学位。然后在硕士期间,我主修人工智能和数据库,并于 2009 年毕业。所以是的,很久以前。当时我不得不说数据科学还不存在。

虽然我经历了所有你可能想象的神经网络、视觉和 NLP 类型的项目。所以我开始从事咨询工作,但过了一段时间后,我厌倦了这份工作,于是我想在巴黎获得奖学金,并获得了 MBA 学位。做生意真的很有趣。我也有商业教育背景。

这实际上对我来说非常有用。一家公司如何运作,一家公司实际提供的产品或服务背后有什么。在那之后,我回到了意大利,在 Gartner 咨询公司工作。所以,在咨询行业,这只是一个,当时对我来说有点诅咒。但后来我最终加入了 BMP Paribas,加入了客户服务部门,也就是他们常说的咨询部门,加入了一家金融机构,主要是零售部门。所以首先是零售银行业务,数字化转型中的 BMP,然后是汇丰。最后我搬进了 Gain 又名 StoneX。现在,它在 2020 年被收购,然后更名为 StoneX,我实际上从一个更零售的银行服务类型转变为您的交易服务。你可能知道或不知道,斯通克斯在英国和全球 FOREX.com 和城市指数拥有两个品牌。是啊。为人们提供交易服务。

启动数据科学功能的关键要素

Adel Nehme:那真是太棒了。我想为今天的谈话搭建舞台。你让 StoneX 的数据科学团队。你在 StoneX 也领导过数据科学部门。

与在组织内发起数据团队或实践中扮演关键角色的人交谈总是很有趣。因为我认为从业者和加入组织中相对成熟的数据团队的数据科学家经常会忽略许多成长中的痛苦故事。那么,在组织内成立数据科学团队或职能部门的关键要素是什么?

Elettra Damaggio:所以当我在 Stonex 开始工作的时候,我仍然是 GAIN,那是 2019 年。我开始是一名首席分析师,我的老板希望我在一家没有真正使用任何这类应用程序的公司内开始关于使用数据科学和机器学习的对话。我开始时手下有两名分析师,现在有 9 名。

所以这是一个相当长的旅程,我不得不说,我很高兴看到组织准备好以某种方式使用数据。而这是重点之一。因此,数据需要随时可供使用。如果你没有,你肯定不能很快开始数据科学,因为,首先,你需要好的数据。

我很幸运,其他团队和企业数据系统团队中的所有其他人都花了很多时间和精力来建立一个好的数据集,一个好的后端,从数据的角度来看,这非常有用,这绝对是关键。我知道,有时在大型组织中,你会遇到所谓的数据沼泽问题,很多人只是将他们的数据转储到云中。然后他们说,好吧,现在做点什么。这确实是数据科学实践中最大的难点之一。也就是说,当你开始数据科学实践时,你需要理解的第一件事是你的行动范围。您的行动范围与您在该范围内拥有的数据质量直接相关。

所以,在我的例子中,我认为这个配方的好的,秘密的成分是理解,好的,我能在哪里带来价值基于什么是准备好被使用的。所以不要从你不能自上而下开始,因为如果你自上而下,你说,哦,你知道吗,我们应该有一个机器学习算法,你知道吗,X,Y,Z,然后你只是,你把这个要求折叠到报税单上,当你去报税单时,你会明白“哇!要做到这一点,我们基本上需要处理所有这些数据集。如果所有这些数据集都非常混乱,你将花费数月甚至数年时间来解决问题。”所以在这种情况下,你需要聪明点,明白“好吧!我可以利用现有资源发挥最大价值的地方?”。就像你打开你的冰箱,你有,我不知道,鸡蛋,你可能有一个鳄梨,你有一些“好吧,我可以做这个,而不是拿着食谱说,你知道吗?做个胡萝卜蛋糕就太棒了。”然后,你知道,你说你没有什么可以做胡萝卜蛋糕的。基本上是一样的。你只需要从你现有的东西开始,并尝试,我会说,我知道从数据的角度来看这听起来可能不太好,但通常从业务的角度来看,能立即带来价值的很多东西是好的数据或与数据相关联的数据或集成的数据视图。

构建数据科学功能的技术挑战

Adel Nehme:那真是太棒了。我真正想从您的一些回答中确定的是与启动新的数据科学功能相关的挑战。所以你肯定提到了数据质量的技术挑战。与从头构建新的数据科学功能相关的其他类别或挑战是什么?

Elettra Damaggio:肯定是人才招聘。我还想说,要了解你想从事的技术。我们这样做的方式是逐步寻找我们知道会的用例,或者我们,我们相当确定我们会为业务提供价值,尝试交付这些用例的试点,然后从公司获得更多的资金,更多的投资。不是“那是所有的钱。去吧!”。我们必须赢得所有的微小进步,我们对此没有意见,因为大爆炸方法可能不是最好的,因为我认为机器学习的要点是它非常受实验驱动。

你需要理解你能处理的所有事情。你需要运行你所有的实验。你需要理解,学的越多,理解的越多。你需要多少人?你需要什么类型的技术?也许有人知道,但就我个人而言,如果你刚刚加入一家公司,你对数据的状态、组织的状态、业务的状态一无所知,或者你还不知道任何事情。就本质而言,我的意思是,就我而言,尽管我在一家金融机构,但我来自零售银行业。所以交易对我来说是一件新鲜事。所以我必须学习一种新的服务方式。所以如果是一种新型的服务,一个新的行业,可能不是一个行业,而是一个新的行业领域。你也需要理解这一点。

因此,数据、组织和业务理解真的深入你的大脑。很难说,我需要这些人。我需要这种技术,我需要这种能力。因此,在我看来,你需要做的就是学习并重新调整它。这是一种精益创业型思维。你只需要从一个有 MVP 的试点开始,然后你继续努力,你只需要在上面发展和添加,并了解你是否仍然在正确的轨道上。如果你正在做的事情对企业有用或没用,并且你不断地重新调整,你增加了你自己,你只是喜欢微调。所以我绝对是这么做的。我建议的方法是。其他人来做这件事。

做到这一点的挑战无疑是不仅要在您的团队中找到合适的人,而且对于数据科学团队来说,拥有一个非常优秀的开发团队、一个可以为您提供支持的架构团队也非常关键,他们可以根据您的需求建议合适的工具、建议合适的架构、建议您需要的一切。例如,处理数据流。交付数据科学产品有很多方面,一个人很难了解所有的事情。因此,你需要确保在你不擅长的所有步骤中都有优秀的人给你建议。

作为数据领导者如何建立信任?

Adel Nehme:那真是太棒了。让我们来谈谈组织挑战,无论是建立自己的团队,你能更详细地向我介绍一下吗?作为一个组织中的新数据领导者,当你与不同的利益相关方(如开发团队和业务利益相关方)合作时,你如何赢得信任,对吗?这是第一组问题,但这里的第二组问题也是,你如何建立一个团队,知道它仍然处于早期阶段,你希望相对有纪律,你向新团队添加的资源类型和数量,同时保持你正在增加价值的事实。但是你也要确保你有最好的雇员。那么,在早期的数据团队中,你需要什么类型的资料呢?

Elettra Damaggio:正如我所说的,那些你可以在最初的 6-12 个月中推动的成功故事,是你建立信任的关键。比如说,如果你能在第一年的工作中创造一个成功的故事,那可能是。人们会说,“哦!你猜怎么着那个送东西的人是谁?他们可以把你和某种类型的可交付物联系起来。因此,开始建立这种类型的信任,实际上有直接的内容,就像他们说的那样,由能力来领导。所以确保每个人都把你的名字和有用的东西联系起来。这绝对是第一步。然后你从那开始。我想说,如果你能保证这一点,那就太好了。与我突然闯进来说,哦,我们应该这样做相比,一切都会变得更加平稳。我们应该这么做。诸如此类。

关于第二点,你应该在早期的数据团队中雇佣什么样的人?因此,因为技术栈在开始时非常简单,非常非常简单,因为我们正在构建实践,比方说,这也与迭代方法相关。如果你从一个非常复杂的文本堆栈开始,你知道吗?哦,非常,从你的云,你的机器学习和操作平台,你的数据工程,ETL,和所有的工作的一个完整的,全技术栈。好吧。你所有的作品都在 GCP 或 AWS 或 Azure cloud 上,你的电子邮件上也有。当然,你需要精通所有这些技术的人来提供一些东西,所以你会自动需要更多的人,因为你需要,你不可能有一个人知道所有这些技术的一切。

如果你从一个简单的技术栈开始,对吗?我们从 Python 开始,有一个服务器运行我们的专利脚本,在伦敦进行测试。但是,假设我们与另一个开发团队合作,在生产中交付一些模型。所以我们没有在生产中交付,但我们把它交给了其他拥有另一个技术堆栈的开发团队。因此,考虑到这一点,我首先雇用的那类人,我会说,嗯,数据科学家,有一点点编码经验,如果不是编码经验,只是编码爱好。所以他们不介意设置专利脚本,只是从 API 抓取网站或其他地方获取数据,以获取他们需要的数据来开发他们的机器学习模型,或者只是测试和实验我们心目中的机器学习模型。

一旦我们开发出几个,我想是两个,几个成功的故事。我们终于开始有自己的开发平台了。我们已经完全包含在开发运维流程中,因为当我组建分析团队时,并不被视为开发运维的一部分。这是一个老派的优秀团队。这就是它报道的全部内容。大多数时候,它只是报告,但当然,有一个演变的胃口。所以我们从 2020 年开始,他们说,你们知道吗,伙计们,你们正在开发软件。很高兴你能加入我们的 DevOps。所以我们开始加入 DevOps。

所以我们接受了一些训练。我已经知道一点点 GIT 和 BitBucket 或 BitLab 之类的东西。我们在两者之间交换了存储库,但是其他人是那种非常渴望学习的人。当然,从统计学和数学的角度来看,他们需要有一个坚实的基础,但是他们需要有我所说的那种开发事物的欲望,不仅仅是分析事物,而是真正开发出一种产品。所以它更多的是,它更多的是一种你需要联系到一个强大的量化背景的东西。这就是我一开始雇佣的那种人。

数据科学家招聘实践的演变

Adel Nehme:那真是太棒了。随着团队的成长,它变得更加成熟并提供投资回报,你的招聘实践或你寻找的东西是如何演变的?

Elettra Damaggio:现在这个团队更加成熟了,我组建团队的方式是,我让一些人更加专注于数据工程和机器学习,实际上是工程方面的东西,因为我们最终要建立我们的 MLops 技术堆栈。

所以我不知道这是不是一种非常刻薄的区分,但我认为你。有些人被驱使去写一些所谓的产品代码。他们像其他人一样,更倾向于分析实验和观察事情,比如我如何看待我团队中的数据科学家目前在很大程度上是一个研发职能。

所以这个人需要有商业头脑,需要了解这个行业,或者需要能够理解这个行业。所以有很强的商业组织和商业理解。当然也有统计学和机器学习的知识,所以你知道,只要把这些点连接起来,然后说,哦,你知道吗?我可以用这些数据来解决这个问题。但我说过,数据科学家塑造了无限的解决方案空间,并将其禁锢在一个更易于管理的空间中。那件事是通过机器学习工程和工程功能,将工业化和建立管道和一切需要做的事情,以操作和制造模具,一个可靠的,可持续的,可重复使用的产品。

除了我团队中的这两组人之外,我还有一个 BA。支持我和 BA 的方式,我认为这真的很有用,因为 BA 是这样一种人,他首先与不同的利益相关者保持稳定的关系,是他们产品的客户,能够收集需求。然后与数据科学家或机器学习工程师交谈,说,你知道吗,也许我们应该做些什么,要么以这种方式改变产品,现有的产品,要么设计一些新的东西,包括解决这种类型的问题。也是真正帮助你在业务中嵌入产品的人,你知道,培训业务利益相关者,与他们交谈,可能在一开始就指导他们如何使用和如何解释数据以及如何解释模型工作。因为当你开发一个机器学习模型时,很难向非数据人员解释这些。

所以你需要让那个人和他保持这种持续的关系,这样他就可以,或者她可以用一种可以理解的方式来总结。这样你就可以在团队之外找到赞助商。这是关键。你总是需要团队之外的赞助商。

克服“缺乏数据文化”等障碍

Adel Nehme:我喜欢这个答案。我喜欢你在数据科学团队中从更多的研究和开发类型、转变其输出的小型迷你数据团队以及将许多数据科学家所做的工作工业化的更应用的工程团队中创建的界限。但在这里重复一下最后一点,当谈到业务分析师角色以及与其他利益相关者建立关系并收集需求和反馈时,通常在与数据领导者交谈时,他们在提供数据科学价值时面临的一个大障碍是,分析是数据文化,或分析思维,或组织内缺乏这种文化。

我很想听听您的看法,您是如何与组织内其他利益相关者进行对话的,这些利益相关者可能有也可能没有思维模式或数据文化,或者您是否了解数据科学的价值,以及您是如何克服这些障碍的,无论是通过使用 BA 还是在您自己的团队中,以及您是如何进行这些对话的?

Elettra Damaggio:所以,首先,这和你的数据技能无关。然后把这个作为免责声明放在最上面,这是关于,呃,你的。我会说是政治技巧或者关系技巧。所以,就像我说的,开始了解在哪里可以找到你的赞助商是很关键的。所以,首先,你需要有一个对话。例如,在我们的案例中,我们的公司由商业领袖组成,我们也有全球团队。商业领袖,当然,有最大地区的商业领袖,也有较小地区的商业领袖。你需要了解在高管群体中谁的推动作用最大。我敢肯定,如果公司里有一个数据科学团队,你将能够从第一天就找到你的赞助商,那些真正热衷于参与其中的人。在某些情况下,这可能更容易或更难。所以,第一件事,试着理解什么是你最容易的资助人,那些可能最热衷于资助你的人。但是他们可能还在观望,因为你还没有交付任何东西。我对数据感兴趣。我会喜欢数据科学。所以试着理解他们的关键需求是什么。就像我说的,我记得当我开始的时候,我想,这是你的一点绝地技巧。

“所以你不想那样。你想要这个。”因此,当你与他们交谈时,你知道你可以提供什么,你需要以一种聪明的方式,出售对他们有用的东西,但你可以在合理的时间内提供。所以你试着让他们接受这种解决方案。这些是你个人的谈判技巧。

一旦你找到了你的好赞助商,你的大赞助商,你就可以一个一个地说服他们。有道理。我知道这看起来没问题,但是当我交付模型时会发生什么,我必须向他们解释。这不相关吧?这实际上是非常相关的,因为如果你知道他们已经在资助你,当你去找他们解释的时候,他们会以不同的态度听你说。所以你有机会向他们解释。我要说的是,不要居高临下,永远不要做那里的讲师。总是尝试,你知道吗,我交付这个是因为它的主要目标。为你提供额外的好处。我在用这个。你想要我浏览模型的细节吗?我可以。大多数时候我不得不说我们对了解表演感兴趣。所以不管你想用什么样的性能指标。试着为业务涉众,那些最容易理解的人,保存所有你曾经理解的绩效 KPI。如果模型是可持续的,如果模型是稳健的,也许就留给分析师吧。

但最终,商业利益相关者想知道这种方法多久有效一次,如果无效,会有什么风险?例如,我们开始分享一个客户流失预测模型。这是我们的第一个 XG boost,随机森林,真正的真实机器学习类型的模型。我们试着去解释这些特征。我们向商业领袖解释了混淆指标。这已经太多了,因为这对他们来说是一件新鲜事。我们和他们讨论的方式是平均模型,90%的时间预测正确。但是错误的是,我们,我们工作的方式。我们高估了动荡,因为归根结底,我们略微高估了动荡。

这就是为什么我们没有更高的性能,因为在一天结束时,我们不会花费太多来发送另一封电子邮件或打电话给另一个有流失风险的人。失去一个我们没有打电话的人可能会付出更大的代价。这对他们来说是可以理解的。他们对此非常满意。它需要多种解释,就像要经历多次。但在那之后,你只是建立信任,这越来越容易,因为他们开始信任你。他们说,好吧,你知道,我没有完全理解,但如果你说这很有效,那也没关系。“我们会看到,我们将在几个月后审查我们的运行情况。”所以这就是我所说的按摩类型。这是你一开始就必须做的,你需要耐心,不要匆忙或咄咄逼人。绝对没有攻击性。

将北极星与短期目标结合起来

Adel Nehme:那真是太棒了。我认为,到目前为止,你所做的许多不同回答的关键是,我认为成功组建数据团队的一个关键核心要素是管理短期优先事项和你可以获得的短期成功。但同时也要确保你朝着一个长远的愿景努力。因此,总有一颗北极星是我们希望在长期和季度 okr 和目标中所处的位置,它指导数据团队的短期目标。

你能告诉我这两个目标的优先顺序吗?

Elettra Damaggio:我不得不说,这不是你一个人能做的事情,尤其是如果你要加入一个新的企业。你想做的第一件事就是和在这个行业工作了很长时间的人谈谈。这样他们就可以和你分享了。什么,我在这行干了 20 年还是 15 年。我认为真正会扰乱我们的事情之一将是如何预测,理解,然后就好了。哇哦。永远不要低估这样一个事实,如果这个人已经在那里工作了 15 年,但他们没有成功做到这一点,这并不意味着因为你在一年内成为了一名数据科学家,你就会因为你有机器学习或其他东西而做到这一点,这可能比那更难。

所以你只要把它放进去,把所有的想法都集中起来,你就明白了,好吗?你知道吗,让我们来定义一个路线图。例如,我们从我们的内部演讲者那里收集到的一件事情是,我们可以应用于在线交易流的应用程序。当然,能够将机器学习模型应用于在线数据流。这需要一个我们正在建设的技术堆栈。但是如果我们从第一天就开始这样做,我们就不会交付任何有价值的东西。这对企业来说只是一种成本。三年后我们可能还会继续工作。因为这需要时间。所以你有那个。如果你愿意,这就是你自上而下的清单。而这让你明白了什么是道路路线图?所以我们现在所拥有的。现在我有了自己的桌面、SQL 数据仓库和 Excel,因为我们就是这样开始的。而我,我需要去哪里?机器学习在线流。设置这个,我需要做什么?你可以自己做。

我总是建议在架构方面与其他人交流,收集他们的观点,因为我相信其他人也会考虑这个问题。你开始定义你的路线图和里程碑。我们至少需要一个协调器,比如 airflow 来运行我们的脚本和 Python 以及所有这些东西,我们需要一个 DevOps 流程,这是第一步。然后你说,好吧,你知道吗?我们可能需要一种基于云的方法来运行我们的机器学习,而不是在我们的桌面上,在云上,一台可扩展的计算机上,我们不需要离开笔记本电脑通宵运行来训练模型。我们会在云上做一些事情。并拥有一些连接不同数据源的平台。例如,我不知道数据砖块或这种类型的 over Azure Cloud 和所有的,所有的这个平台。然后要真正得到一个数据流,你需要像卡夫卡一样的东西,然后你开始使用圆周率公园和所有这些东西。

所以你有这个。计划。而这就是你从某个角度来看总是很容易的愿景规划。你只是,你计划然后说,好吧,我需要什么?我需要你购物清单上的所有这些东西。另一方面,你有短期的。就像我之前说的,短期内,你需要从你所拥有的开始。我有什么,我能用它做什么?你从赞助商或商业利益相关者那里得到的商业优先权的优先权是什么?因此,你可以从业务中获得优先级。当我加入的时候,我得到了两个优先权。我们需要了解我们在收购营销上花费了多少,以及我们从这些花费中获得了多少。因为目前我们还不知道。所以这是一个优先事项。

另一方面,我们不知道如何定位我们的客户。我们需要一种方法来细分我们的客户,并根据我们的细分来定义旅程。所以非常注重收购。我不得不说,拥有一个 MBA 学位或者其他什么,比如商业课程或者营销课程,你真的可以在这方面帮助我,因为我知道一个营销人员会如何考虑这些事情。

将人物角色定义为定义用户旅程就是定义所有这些东西。这是我得到的知识。在我的 MBA 和之前在零售银行的工作中,因为我曾经在 UX 团队工作,担任定量 BA,我与用户体验设计师一起分析数据和定义旅程。

所以我知道购买艺术品对设计师和市场营销有多重要。所以多亏了这个。我能够捕捉到这一点,但我不得不说,他们非常直言不讳地说,他们有这些问题。我说,好吧,我们能做到吗?我看了一下我们的数据仓库,正如我所说,在开始时,它真的很关键。我非常幸运地拥有一个整洁的数据仓库,即使它只是我们的反手后端内部部署的数据仓库。我们的入职系统和客户活动。我很幸运有一个非常整洁的数据集来开始工作。当然,在这个过程中有一些小故障,但没有什么太乱。

所以,这是我们最初成功的关键。所以我就这样开始优先考虑更多的短期目标。

为您的数据团队赢得早期成功的框架

Adel Nehme:那真是太棒了。如果你想抽象出这一点,并提出一个框架,使其他数据领导者能够提取小胜利,以及证明数据团队早期价值的低挂果实,你会怎么做?

Elettra Damaggio:所以我们进行这项工作的方式,我会从数据开始。不要独自做那件事。从你的商业利益相关者开始。问他们,你在日常工作中使用的数据集是什么,你如何使用它们?因为如果,他们如何使用它们,你可以理解,哦,你知道吗?你可以自动让我做一些事情,帮助你以更有效的方式使用这些数据。

通过这种方式,首先,您能够立即了解流程中涉及的数据源,并查看数据源是否可用,其次,您有了自己的用例。即使这不是最奇特的用例,您也可以很快开始交付一些东西,因为您有一个可用的数据源。

通过这样做,你开始建立你的赞助商。一旦你开始建立你的赞助商,即使是很小的交付品,你也可以开始在另一边建立东西。我会说,基于公司的数据情况有多混乱,你可以开始让其他团队参与进来,提高意识。如果还没有准备好,可能是他们已经意识到了,但是提高了意识并投入时间和资源来修复数据,这样数据将使您能够生产出更有价值的东西。这是我会做的方式。正如我所说的,这是一个非常创业,精益创业型的方法 MVP 优先。然后你就建立起来了。你的巅峰之路。

数据科学在交易中的价值

Adel Nehme:我完全同意偏向行动,这种精益方法对许多数据团队来说非常有用。现在,当我们结束 Elettra 这一集时,我不能不谈谈您在 StoneX 的工作,尤其是在为金融服务提供价值的数据科学用例方面。随着最近的乌克兰战争、COVID 使用供应链问题和经济不确定性,我认为从数据科学家的角度来看,理解数据科学在商品交易、外汇交易等方面发挥的作用从未如此重要。我很想了解数据科学在行业中提供价值的一些方式。

我不得不说我们还没有被邀请。对我们来说,是整个国际形势。他们不会直接影响太多。当然,我们知道有些人受到了制裁。所以账户被封了 StoneX 在这一点上没有太大的影响。所以我们很幸运,但作为一家贸易公司,我们当然经历了市场的大量波动,这使得我们的业务在数据团队方面非常活跃。

在我们的案例中,除了确保我们在系统中看到的不会影响业务中的其他流程之外,我们没有涉及太多。但是,就做任何事情而言,我们还没有做任何事情,因为当你有这种情况时,我会说这是微妙的情况,它留给了人类处理,因为你永远不知道你是否自动化,你容易发生的事情-我会说令人尴尬的错误。当然,这是任何公司都不想要的,因为我的意思是,因为我们有可管理的客户量,可管理的帐户量,数据团队并没有真正参与做任何具体的事情。

数据科学在该领域的应用和发展

Adel Nehme:作为 StoneX 的数据主管,您参与过哪些主要的用例?

Elettra Damaggio:所以我们肯定有很多与营销相关的事情。所以细分、归因建模、流失预测、终身价值预测。去年,我们做了第一个 NLP 应用程序来对客户通信进行分类。此刻。我们也在研究交易中的客户情绪。正如我之前所说,我们肯定会致力于在线数据流,但我还没有可行的用例来分享,我们需要为此奠定基础。

Adel Nehme:太棒了。所以在我们结束这一集的时候,我想看看你特别感兴趣的未来趋势和创新?

Elettra Damaggio:目前,我觉得我们正在实现一种..数据科学一直是一个非常狂野的领域——有很多偏见,没有多少公司能够理清数据科学实践。

因此,目前,我的重点是尝试将这种方法产业化,并使数据科学实践变得坚实。因此,例如,我们正在寻找的技术类型肯定是 ML ops 和管道技术。比如纯粹的创新和机器学习。老实说,没有什么纯粹的创新,我们正在寻找。

在我们做一些更具创新性的事情,尤其是针对市场的事情之前,我们有太多的地方需要恢复和努力。在结合多种模式方面有很多创新。因此,例如,集成,但也结合多种模型来动态选择广告。这是我们心中的想法,我们肯定会这样做。

所以使用内部和外部数据来了解什么是趋势,什么是此刻真正抓住人们思想的东西,并动态选择你的广告内容,在正确的时间将它们提供给正确的人。这肯定是机器学习变得越来越重要的事情,尤其是随着所有 cookie 政策变得越来越严格。

所以这绝对是我心中的想法。不知道什么时候能实施。但这绝对是我脑子里想的事情之一。

行动呼吁

Adel Nehme:太棒了。最后,Elettra,在我们结束之前,你有什么行动要求吗?

我只能说,这需要耐心和努力。所以,如果你还没有准备好要有耐心,并且你知道你的时间去获取你的成功故事,那就做点别的吧。

但是它给了你很多满足感,但是最后绝对给了你很多满足感。这是值得的,但这是一条通往巅峰的艰难道路——如果你想摇滚,就像他们说的,是的。

Adel Nehme:百分之百。非常感谢 Elettra 来到播客。

Elettra Damaggio:谢谢你邀请我。

如何在数据科学领域建立有意义的职业生涯

原文:https://web.archive.org/web/20230101103339/https://www.datacamp.com/blog/how-to-build-a-meaningful-career-in-data-science

需要一些灵感来引导您的数据科学职业朝着最有影响力的方向发展吗?

数据科学家的角色通常被称为 21 世纪最性感的工作。也许你被这个职业吸引是因为你热爱数学、编程和一切技术。但我敢打赌,你们中的许多人也对使用数据产生真正的影响感兴趣。

在调整数据和建立机器学习模型的漫长一天结束时,你会想说,“今天我创造了一些将积极影响某人生活的东西。”换句话说,你希望看到你的工作在现实世界中展开。

Omdena ,我们提供了一个协作学习环境,初级人才和经验丰富的导师可以在这里一起应对现实世界的人工智能挑战。我们的使命是将理论教育与实践联系起来,使世界各地的个人能够应对人类面临的一些最大挑战。

我们很荣幸与 DataCamp 合作,帮助我们不同经验水平的合作者利用互联网上最好的课程,按照他们自己的进度学习。

来自创伤后应激障碍(PTSD)挑战的三个鼓舞人心的故事

Albert、Kulsoom 和 Anam 都获得了两个月免费参加所有 DataCamp 课程的机会,这是因为他们出色的表现和社区精神。在我们的 PTSD 人工智能挑战赛中,他们与 32 名人工智能爱好者合作了两个月,构建了一个智能聊天机器人,帮助在低资源环境中面临可怕情况的个人诊断 PTSD,例如在战争和难民区。他们都使用了 DataCamp 的课程来提高他们的个人技能,从而真正改变世界。

艾伯特

17 岁的 Albert 是我们最年轻的合作者,但他对数据的热情和渴望激励了我们 AI 挑战赛中的其他 32 名合作者。用他自己的话说,这是他对这次经历的看法。

你对数据科学中有意义的职业的定义是什么?

我对有意义的 DS 职业生涯的定义是用一个人的知识和技能让世界变得更好。数据科学是一个极其强大的工具,善用它非常重要。像任何东西一样,它可以被用于善意或恶意的目的。

利用 DS 来解决诸如应对气候变化、提高农业产量和检测深度造假等问题,才是真正有意义的影响。

在你加入我们的挑战之前,你是如何看待学习 AI 的?

在加入 Omdena PTSD 挑战赛之前,学习 AI 感觉就是上一堆课,看视频,看论文,编程模型。一旦挑战开始,我意识到我错过了一个重要的方面:社区。加入数据科学从业者社区对于获得帮助、被激励以及学习团队合作和协作的技能非常重要!

你在这次挑战中学到的最重要的技能是什么,你将应用它来建立你未来的职业生涯?

这个挑战真的教会了我如何在团队中好好工作。在过去,我主要是单独从事我的机器学习项目。在这次 PTSD 挑战中,能够与世界各地的队友合作对于协调不同的任务至关重要。我可以把这段经历带到我未来的职业生涯中。

库苏姆

Kulsoom Abdullah 在 2011 年世界锦标赛上成为第一位代表巴基斯坦参赛的女子举重运动员。

你在举重生涯中学到的最重要的经验是什么,可以应用到生活中?

我想说我得到的教训是,我低估了自己的能力。很可能我们都低估了自己的能力。

作为人工智能中的一名女性,你必须克服的最大挑战是什么?

冒名顶替综合症——感觉自己很失败,觉得自己不配获得成功!

在大学里,我不得不学习并意识到这不是我的错,而是我的环境造成的。我还识别并处理了微侵犯和明目张胆的行为。我通过寻找积极的空间,如信任的家人、朋友、导师,以及照顾好自己来克服它。通过冒险,拥抱我的恐惧,“假装直到你成功”。

“我没有什么可失去的”帮助我向媒体介绍了我的举重比赛挑战和学术/工作情况。

这仍然是一项正在进行的工作。我希望我能继续进步,并帮助别人不处理我不得不做的事情。

如果你可以在广告牌上写一句话给正在挣扎的人,你会给他们什么建议?

恐惧和怀疑都是暂时的,继续走下去,享受旅程就好。

阿南

当 Anam 加入我们的 PTSD 人工智能挑战赛时,她几乎没有人工智能经验,但却有着长期与 PTSD 作斗争的个人经历。她加入了我们的 AI 挑战赛,并晋升为初级机器学习工程师。

是什么让你加入了 Omdena 的 PTSD AI 挑战赛?

亲身体验 PTSD 的生活对我来说是一个完美的挑战。成为它的一部分比一个人自己的收获更大,比如学习 ML 或增加他们在 it 方面的经验。这意味着帮助那些因创伤后应激障碍而在生活中面临许多障碍的人们。如果这意味着我能在如此大的事业中扮演哪怕是一个小角色,我已经准备好成为这个挑战的一部分。

你在这次挑战中学到了什么,你将应用于建立你未来的职业生涯?

通常,作为一所大学的学生,我们会收到一些有明确答案和固定范围的问题。和 Omdena 一起应对这个挑战是完全不同的。它帮助我理解了如何利用我们的知识来解决现实世界的问题并有所作为。这也让我明白,与我们习惯的方法相比,如此大规模和真正影响的问题需要一种不同的方法。一次奇妙的经历!

想成为 Omdena 的合作者,加入我们的一个 AI 来迎接好的挑战吗?在此申请

如何建立一个成功的数据团队

原文:https://web.archive.org/web/20221129054701/https://www.datacamp.com/blog/how-to-build-a-winning-data-team

组织需要获胜的数据团队

当今的组织产生的数据比以往任何时候都多。福布斯声称2018 年每天产生超过 2.5 万亿字节的数据,世界上超过 90%的数据是在文章发表前的两年内产生的。单个国家正在产生更多的数据。2018 年,美国消费者新闻与商业频道报告称,中国产生了 7.6 吉字节的数据。预计到 2025 年,这一数字将扩大到 48.6 ZB。美国也产生类似数量的数据。

这些数据中有许多可操作的见解没有被利用。根据 Forrester 的调查,60%到 73%的组织数据没有在分析中得到利用。

成功的数据驱动型组织正在大规模利用数据来创造价值。例如,优步投入巨资创建了一个平台,通过一个简单的接口高效地向他们的数据团队提供超过 100 的可用数据,对其进行了扩展,以提供超过 10 亿份 Uber Eats 订单,覆盖超过 2400 万英里。通过 A/B 测试,网飞通过改变与电影或电视节目相关的图片,增加了 20%到 30%的浏览量。

对于能够成功驾驭复杂的大型数据环境的组织来说,显然存在高价值的见解。这种类型的价值创造只能通过高性能和全面的数据团队来实现。

获胜数据团队的数据角色

建立一个成功的数据团队需要许多关键角色。在本白皮书的中,DataCamp 描述了在任何数据驱动的组织中都可以找到的八个角色或人物角色。虽然职位名称可能因组织而异,但我们将概述组成强大数据团队的五个角色:业务分析师、数据分析师、数据科学家、机器学习科学家和数据工程师。

商业分析员

业务分析师通过数据洞察提高盈利能力和效率。他们用数据分析和可视化技能补充他们在业务领域的深厚知识,并向数据消费者报告见解。

关键技能:数据操作、数据可视化、报表、基本统计工具:电子表格(Excel、Google Sheets)、商业智能工具(Tableau、PowerBI)、SQL

课程推荐:SQL 介绍电子表格中的数据分析 / Excel电子表格中的营销分析电子表格中的财务分析

数据分析师

数据分析师在从数据中分析和提取洞察力以推动业务成果方面扮演着与业务分析师相似的角色。因此,他们的技能也有重叠;然而,数据分析师回答定义较少的问题,这些问题需要对数据分析工作流有更深的理解,并利用编码和非编码工具的组合

关键技能:数据操作、数据可视化、报告、导入和清理数据、概率和统计

工具: R 或 Python、电子表格(Excel、Google Sheets)、商业智能工具(Tableau、PowerBI)、SQL

课程推荐:数据分析师职业生涯中的轨迹( R - 16 课程 / Python - 16 课程),清洗数据中的 R / Python 中的时间序列分析中的 SQL

数据科学家

数据科学家在组织中扮演着更具技术性的角色,他们主要使用编码工具来调查、提取和产生对数据的见解和价值。数据科学家需要对数据分析和机器学习工作流有深刻的理解,并能够使用非标准数据类型和大数据工具。

关键技能:数据操纵、数据可视化、报告、导入和清理数据、概率统计、机器学习、

工具: R,Python,Scala,大数据工具(Airflow,Spark),SQL,命令行工具(Git,Shell)

课程推荐:数据科学家职业轨迹( R - 22 课程 / Python - 23 课程),Python 中的情感分析Git 入门

机器学习科学家

机器学习科学家负责大规模开发机器学习系统。他们使用各种类型的机器学习模型从数据中获得预测,以解决预测客户流失和客户终身价值等问题,并负责部署这些模型供组织使用。

关键技能:数据操纵、数据可视化、导入和清理数据、概率统计、机器学习、数据工程工具: R、Python、Scala、大数据工具(Airflow、Spark)、SQL、命令行工具(Git、Shell) 课程推荐:机器学习科学家职业轨迹( R - 14 课程 / Python - 23 课程)、图像处理中的 Python机器学习用

数据工程师

数据工程师负责创建数据管道,帮助组织将正确的数据传递给正确的人。它们将来自不同来源的大量数据合并到一个集中的位置,使各种数据角色能够处理干净、相关、合规和可操作的数据。

关键技能:数据操纵、导入和清理数据、数据工程、高级编程工具: Python、Scala、大数据工具(Airflow、Spark)、SQL、命令行工具(Git、Shell)、云平台(如 AWS) 课程推荐: 数据工程师与 Python 职业生涯轨迹(25 门课程)Python 中的 Airflow 入门流数据与 AWS Kinesis 和 Lambda

如何创建一个成功的数据团队

个案研究

在对每个角色的职责有了较高层次的理解之后,现在让我们通过一个真实的例子来研究这些角色如何在业务环境中相互作用以推动价值,在这个例子中,一个数据团队从客户流失模型中提取价值。

在这种情况下,数据工程师确保数据科学家和机器学习科学家能够访问他们开发和运营模型所需的高质量数据。他们将确保数据的质量和每个数据集的正确权限。他们还将以易于访问的方式提供数据,包括有效分析所需的元数据和变量。

接下来,数据科学家和机器学习科学家将合作创建一个准确的模型来预测客户流失。他们需要确保模型是准确的、可解释的,并且可以在业务流程中部署,并且一旦部署,就要努力确保模型对看不见的数据保持准确。

最后,数据分析师和业务分析师将一起工作,利用模型的输出来做出推动业务价值的决策。他们可以根据哪些客户更有可能流失来分配营销支出,并向决策者提供基于事实的推理,说明为什么某一部分客户更有可能流失。

像大多数数据项目一样,每个角色都参与了从数据中提取价值的过程。

通往高效数据团队的道路始于您的员工

尽管最近疫情导致招聘减少,但数据职位的需求仍然很高,在 LinkedIn 的年度新兴就业报告中两次排名前三。2020 年底,德勤声称23%的组织在人工智能需求和当前能力之间存在重大或极端差距。2021 年,德勤发表了一份报告,认为面对数据职位招聘的短缺,组织必须实行选择性招聘和有针对性的技能提升。

鉴于数据人才短缺,组织必须将选择性招聘与提升技能相结合,以创建能够创造价值的高技能数据团队。组织可以通过为他们的员工提供专门为这些角色定制的个性化学习路径来实现这一点。在 DataCamp,我们根据学习者的技能组合和期望的学习成果为他们提供个性化的学习旅程,让他们拥有评估、学习、实践和应用新数据技能的工具。借助 DataCamp for Business,学习者可以受益于定制的学习课程,使组织能够根据其特定目标和挑战定制学习计划。了解有关如何利用 DataCamp 转变您的才能的更多信息。

DataCamp for Business 为需要提高和重新提高员工数据技能的公司提供了一个互动学习平台。主题从数据素养、数据科学到数据工程和机器学习,超过 1,600 家公司信任 DataCamp for Business 来提升他们的人才技能。

如何说服您的经理购买企业数据营

原文:https://web.archive.org/web/20230101103145/https://www.datacamp.com/blog/how-to-convince-your-manager-to-buy-datacamp-for-business

DataCamp For Business

需要回答的重要数据问题

做一些研究是构建你的推销的关键,因为你必须证明在你的工作场所使用 DataCamp 的理由与你的组织的目标和学习文化是一致的。

在此阶段要问的一些问题是:

  • 我的组织/团队目前如何使用数据?我们目前使用什么技术(Python、R、SQL、BI 工具、电子表格)?与此相关,有没有我们计划或可能采纳的?

  • 我的组织是否有数据战略或数据转换计划?大多数组织都了解更多数据驱动的重要性,但许多组织没有工具或技能来帮助他们实现这一目标。如果您的组织已经宣布了一项数据转型战略,那么人才转型在该计划中处于什么位置?

  • 我的组织目前如何提高技能?是否有学习和发展预算?这是通过个人预算还是通过集中的学习和发展团队决定的?您过去是否使用过数据技能培训提供商?如果是,结果是什么,为什么会出现这种结果?

以上问题的答案可以帮助你准备一个符合你的公司和团队目标的案例。例如:如果你的工作场所已经有了一种数据驱动的文化,那么就把你的推销定位在 DataCamp 上,这是变得更加数据驱动的下一步。如果您的组织尚未制定数据转型计划,DataCamp 的技能提升可能是开始制定计划的绝佳机会。

根据 NewVantage Partners 的数据,99%的组织都在投资人工智能和数据科学,但只有 29%的组织有培训目标。据报道,成为数据驱动的最大障碍是缺乏数据技能和文化。

组织你的推销

根据组织的文化和规模,这一步可以采取的形式可以是办公室里的快速推介,也可以是封装在文档中的结构化提案。不管是哪种方式,都要简明扼要。

1.这里有几个方法可以让你组织你的推销。

解释为什么 DataCamp 对您的团队有用

阐明为什么购买新工具或技能提升解决方案对团队或组织有益总是很重要的。这里有几个项目可以解释你为什么要推销 DataCamp。

借鉴个人经验

如果你曾经使用过个人 DataCamp 帐户,并发现它很有价值,请讨论你在整个学习过程中获得了哪些技能,以及它们如何帮助你在当前工作中取得进步。这将有助于将潜在的学习成果与组织的目标联系起来。

讨论数据升级的好处

您可以在 DataCamp 资源中心上找到大量信息,解释在所有类型的团队中获得数据技能的重要性。然而,根据您使用的工具堆栈和您在组织中所处的位置,讨论数据升级的重要性是很重要的。这里有一些你可以分享的有价值的资源:

基于数据科学工具的资源:

数据科学团队资源:

将数据技能提升与您组织的战略联系起来

您的组织可能计划变得更加数据驱动,并转型为数据组织。通常情况下,人才转型和使成员具备数据技能是至关重要的组成部分。

DataCamp 提供大多数主要数据工具和概念的课程,可以帮助团队和组织在数据素养领域取得进步。查看数据表部分,获取可与您的团队分享的快速资源,并探索 DataCamp 的案例研究,了解各行各业组织转变其数据技能的成功案例。

2.解释 DataCamp 对企业的价值

在强调了 DataCamp for Business 为什么会对您的组织有益之后,再来概述一下 DataCamp for Business 提供的一些功能。

根据埃森哲和 Qlik 的研究,认为自己懂数据的员工更有可能感到被信任并有权做出更好的决策。

DataCamp for Business 为团队和组织提供单一平台来评估、学习、应用和试验数据。我们的在线平台允许学习者随时随地按照自己的节奏获得所需的数据技能,从概念上的非编码基础知识到数据科学和机器学习。不需要安装或下载软件。学习者观看简短的视频教程,并在无风险的环境中完成动手编程练习,这样他们就可以在浏览器中开始使用自己喜欢的工具和主题。这种现代化的学习方法是我们平均课程完成率达到 60%的原因,远远高于传统的在线课程提供商。

DataCamp 行之有效的学习方法为学习和保持提供了一个循环过程。

以下是一些需要强调的关键特性:

  • 交互式学习体验使任何人都能够通过定时评估来评估他们的数据技能,通过提供定制反馈的交互式课程来获取新技能,并通过有指导和无指导的项目来保留和应用他们的知识。所有这些都在浏览器中,无需安装。
  • 一流的数据技能内容库。DataCamp 提供 350 多门课程、10 多项评估和 90 多个项目,由行业和学术界的领先数据科学家提供。
  • 预先定制的学习路径旨在为您提供数据科学、数据分析等方面的所有必要技能。管理人员还可以指定定制的学习路线和任务,从而轻松创建适合您组织的业务和技术挑战的课程。
  • 对于经理而言,简单的团队管理—您可以从您的企业仪表板集中管理您帐户的所有方面,无需安装。
  • 通过 DataCamp 的学习排行榜,轻松可视化您组织的数据技能发展,使您能够跟踪每个人的学习进度,报告您的学习计划的影响,并了解您朝着目标的进展情况。

https://web.archive.org/web/20220529062128if_/https://fast.wistia.net/embed/iframe/m052ohmwqx?videoFoam=true

右键单击复制此视频的链接,并与您的经理分享。

如果您需要更多证据,您可以将下面这句话直接复制并粘贴到您的推介中:DataCamp 得到了 2000 多家组织和《财富》1000 强企业中 80%以上企业的信任。通过 DataCamp 学习的公司,包括谷歌、优步、安联、汇丰和诺华,完成率比行业平均水平高出 6 倍。

3.讨论定价

当然,你的老板需要知道 DataCamp 的成本——你可以这样讨论这些问题:

  • DataCamp 的专业计划是我们面向企业的年度会员。每个座位起价 300 美元(至少 2 个座位),你可以以低于每人每天一杯咖啡的价格提升你的团队或组织的技能。
  • 在我们的企业计划中,我们还提供了更多高级功能。如果你想了解更多,你可以和我们一起安排一次免费演示

如果您觉得需要更全面的提案,您仍应涵盖这些要点,但现在您可以更详细地介绍数据升级的好处和投资回报。以下是您可以使用的一些资源:

讨论 DataCamp for Business 的额外灵活性和便利性,例如:

你设法说服你的老板了吗?立即让您的团队开始使用商业数据营

DataCamp for Business

如何合乎道德地使用机器学习来推动决策

原文:https://web.archive.org/web/20221129040116/https://www.datacamp.com/blog/how-to-ethically-use-machine-learning-to-drive-decisions

关注坚实的数据基础和工具

拥有高质量的数据本身就是一个巨大的挑战。我们建议希望利用机器学习、人工智能和数据科学的公司考虑 Monica Rogati 的 人工智能需求层次 ,它将机器学习作为拼图的最后一块。

来源:黑客月

这种层次结构表明,在机器学习发生之前,您需要坚实的数据基础和用于提取、加载和转换数据(ETL)的工具,以及用于清理和聚合来自不同来源的数据的工具。

这需要强大的数据工程实践——你需要利用数据库,了解如何正确处理数据,安排工作流程,并利用云计算。

所以在你雇佣你的第一个机器学习工程师之前,你应该首先设置你的数据工程、数据科学和数据分析功能。

当心你的数据和算法中的偏见

机器学习只能和你给它的数据一样好。如果你的数据有偏差,你的模型也会有偏差。例如,亚马逊开发了一个 ML 招聘工具来预测申请人的成功,该工具基于具有十年培训数据的简历,这些数据有利于男性,因为整个科技行业历史上男性占主导地位,这导致 ML 工具也对女性有偏见。

这就是为什么数据伦理近年来成为如此重要的话题。随着越来越多的数据生成,如何使用这些数据的影响也急剧扩大。这需要原则性的考虑和监测。正如谷歌的首席决策科学家 Cassie Kozyrkov 所类比的那样,一个老师的好坏取决于他们用来教学生的书。如果书有偏见,他们的教训也会有偏见。

密切关注你的模型并改进它

请记住,当您的模型投入生产、进行预测或执行分类时,机器学习的工作并没有结束。已经部署并正在工作的模型仍然需要被监控和维护。

如果您有一个基于交易数据预测信用卡欺诈的模型,那么每次您的模型做出预测并根据预测采取行动时,您都会获得有用的信息。除此之外,您试图监控和预测的活动(在本例中是信用卡欺诈)可能是动态的,会随着时间的推移而变化。在这个过程中,生成的数据不断变化,这被称为数据漂移——这证明了定期更新模型是多么重要。

来源:数据块

如何将 Power BI 数据导出到 Excel

原文:https://web.archive.org/web/20221129052847/https://www.datacamp.com/blog/how-to-export-power-bi-data-to-excel

Power BI 是当今使用最广泛的商业智能工具之一。由微软开发的 Power BI 可以让您管理、分析和可视化大量数据,而无需编码。使用 Power BI 的另一个主要优势是 Excel 专家能够从 Power BI 切换到 Excel,反之亦然。

Power BI 和 Excel 的工作方式有哪些不同?在本教程中,我们将探索将 Power BI 数据和报告导出到 Excel 的常见用例。我们开始吧!

将 Power BI 数据和报告导出到 Excel 的常见使用案例

出于几个原因,您需要将数据和报告从 Power BI 导出到 Excel:

  • 在 Excel 中分析数据:即使 Power BI 在存储和处理数据方面拥有优于 Excel 的能力,使用 Power BI 的在 Excel 中分析功能,Excel 仍可用于创建报告和仪表板。而且,Excel 专家在不完全抛弃 Excel 的情况下,逐渐学习 Power BI 可能更直观。
  • 数据导出:一位同事对报告背后的数据感兴趣,但他们没有安装 Power BI。将基础数据导出到 Excel 是一个简单的解决方案。
  • 跨工具使用:如果你在一个有各种类型数据从业者的团队中工作。某些团队成员可能会使用其他工具,比如 R 或 Python。将 Power BI 数据和报告导出到 Excel 将允许他们这样做。

从 Power BI 仪表板导出数据

Exporting Data from a Power BI Dashboard

Power BI 仪表板允许您将可视化、报告和表格放在一个地方,一目了然。但是,您可能经常想要研究仪表板中可视化背后的底层数据,或者将其发送给同事。以下是从 Power BI 仪表板导出数据的步骤:

  • 转到 您的 Power BI 实例,使用您的帐户凭证登录。如果您没有帐户,您需要创建一个。
  • 转到有问题的 Power BI 仪表板,选择您有兴趣从中导出数据的数据可视化。
  • 点击所选数据可视化右上角的更多选项(…)
  • 选择选项导出到. csv.
  • 然后你可以打开这个。Excel 中的 csv 文件。

从 Power BI 报告中导出数据

Exporting Data from a Power BI Report

Power BI 报告经常与仪表板混淆,因为它们都包含数据可视化和表格。报告可以有多个页面,并允许查看者找到不同的方式来过滤、突出显示和切片数据。此外,它们是创建您的综合摘要以与利益相关者共享的绝佳选择。

从 Power BI 报告中导出数据的步骤如下:

  • 从 Power BI 桌面访问报告。如果您没有安装 Power BI Desktop,请转到此处
  • 选择您有兴趣从中导出数据的数据可视化。
  • 单击所选数据可视化的切片设置
  • 选择选项导出数据

将功率 BI 表复制到 Excel 中

Copying Power BI Tables into Excel

将 Power BI 表复制到 Excel 的步骤非常简单直观:

  • 转到 Power BI Desktop。
  • 选择您想要的功率 BI 表,并转到左侧面板上的数据视图选项。
  • 右键单击所选的表;在这种情况下,它被称为“销售”
  • 选择“复制表格”选项
  • 在 Excel 中创建一个新的工作表,点击粘贴图标或 Ctrl + V 粘贴表格内容

使用“在 Excel 中分析”功能从 Power BI 导出到 Excel

在 Power BI 服务中,有一个附加功能可以将 Power BI 数据集导入 Excel。这对于将数据处理到 Excel 中,然后使用 Excel 中已处理的数据生成数据可视化效果非常有用。这是利用 Power BI 的“在 Excel 中分析”功能的三种不同方式。

1.我的工作区中的 Excel 分析功能

Analyze in Excel feature from My Workspace

Power BI 中的“我的工作区”是一个视图,包含您过去创建的数据集、报告和仪表板的集合。您可以使用 Excel 中的分析功能将这些数据集和报表中的任何一个导出到 Excel 中。方法如下:

  1. 前往app.powerbi.com,在那里你所有的作品集都会出现在你的 Power BI 账户上。
  2. 从菜单中选择下载。如果您还没有这样做,请点击在 Excel 中分析更新。此操作是强制性的,否则,在 Excel 中分析功能将不起作用。
  3. 准备就绪后,选择要在 Excel 中分析的 Power BI 数据集。
  4. 选择数据集旁边的更多选项(…) ,然后点击“在 Excel 中分析”。
  5. 打开新的 excel 文件时,启用编辑和内容。如果您在 Excel 更新中安装了 Analyze,应该不会有问题。但如果您仍有问题,请查看此文章以获得进一步的指导。

2.从数据集视图分析 Excel 功能

Analyze in Excel feature from the view of the dataset

另一种方法是在工作场所中单击数据集的名称。将打开一个新页面,您可以在页面上方的菜单栏中选择“在 Excel 中分析”。

3.报表中的 Excel 分析功能

Analyze in Excel feature from the report

第三种也是最后一种方法是打开一个 Power BI 报告,并在菜单栏中选择 Export → Analyze in Excel。

更多电源 BI 资源

我们希望本教程对你有用。本文讨论了将 Power BI 数据导出到 Excel 的不同方法。当您希望在 Power BI 之外存储和分析数据时,该功能非常有用。您可以利用 DataCamp 的资源更深入地了解 Power BI。

如何获得 10 年以上的免费数据营(如果你是教师或学生)

原文:https://web.archive.org/web/20230101103026/https://www.datacamp.com/blog/how-to-get-10-years-of-free-datacamp-if-youre-a-teacher-or-student

不,这不是一个黑客或好得令人难以置信。DataCamp 认为教育是一项基本人权。虽然我们的许多企业客户都是学术机构,但我们绝不会向教师和年轻人收取任何服务费。我们甚至不会问你要信用卡。这就是你如何在你的整个学术生涯中,不用花一分钱就可以访问几乎所有的数据:

学生如何免费访问 DataCamp:

  1. 年满十六岁。这是你在 DataCamp 上创建免费帐户的年龄(如果你住在美国,则为 13 岁)。
  2. 请教师申请教室数据营账户,这样他们就可以给你访问权限。提醒他们这是完全免费的,不需要信用卡。科学和数学老师是你最好的选择,但是任何有合格学校电子邮件地址的老师都有资格参加这个项目。
  3. 与你的老师联系,看看他们是否提交了申请。一旦他们获得批准并有权访问他们在 DataCamp 上的教室,让他们通过点击“邀请成员”,输入您的电子邮件地址,然后点击“发送邀请”来邀请您成为成员
  4. 在您的电子邮件收件箱中找到邀请,然后单击链接加入您的教师群(检查您的垃圾邮件文件夹)。如果您尚未创建 DataCamp 帐户,您需要创建一个与教师发送邀请的电子邮件地址相同的帐户。恭喜你!您现在可以访问 DataCamp 的所有课程内容(包括 Tableau!)直到您的老师的课堂结束日期(从他们的活动日期起六个月)。
  5. 每六个月或更短时间重复一次,直到你离开学校工作。你也可以让同一个老师重新申请或者把这个项目推广给新老师。你可以向课堂数据营推荐的教师数量没有限制,这意味着你可以对数百名甚至数千名像你一样的学生产生相当大的积极影响。

教师如何免费访问 DataCamp(剧透:更简单)

  1. 使用您有效的学校电子邮件地址向 DataCamp 申请教室。永远不需要信用卡。
  2. 等待 2-3 个工作日,等待批准消息。DataCamp 支持人员也可能会发送关于您、您的班级和/或您的学校的其他问题,以确定资格。请回复这些邮件,否则我们可能无法处理您的申请。
  3. 通过登录您的 DataCamp 帐户并点按顶部导航栏中的“群组”,获取您的批准电子邮件并访问您的教室。恭喜你!您现在可以访问 DataCamp 的所有课程内容(包括 Tableau!)六个月。你可以开始邀请学生,组建团队,分配内容。
  4. 每六个月重复一次。你可以在课堂上使用 DataCamp 的学期数没有限制!

你是一名学生,但你不能等待你的老师来通过离合器?查看我们价格实惠的学生优惠计划。只需 149 美元(比正常价格低 50%以上),您就可以获得 DataCamp 根据您的条件提供的一年服务。你只需要一个有效的学院或大学的电子邮件地址就可以得到这个特价。

您是否刚刚毕业,但仍然需要免费或负担得起的数据科学教育,以便获得第一份工作?请继续关注我们的社交 媒体 频道和我们的推广页面,因为我们定期以大幅折扣出售我们的年度订阅。还需要帮手吗?请访问 DataCamp 捐赠合作伙伴页面查看我们的非营利合作伙伴组织是否在您的社区开展业务。直接联系这些组织,看看你是否能加入他们的会员行列,并免费访问同一个伟大的数据营。

如何雇佣数据科学家和数据分析师

原文:https://web.archive.org/web/20220627024316/https://www.datacamp.com/blog/how-to-hire-data-scientists-and-data-analysts

DataCamp Recruit - Simplify how managers find and hire data talent

数据角色需求巨大并不是什么新闻。大量的统计数据显示了市场是如何增长的,并将继续增长。研究公司 Fortune Business Insights 预测, 全球大数据分析市场将在 2028 年增长至 5497 亿美元。 随着数据市场的不断扩大,该领域对员工和专业知识的需求也在不断扩大。自 2016 年以来,数据科学工作岗位增加了 480%,需求来自金融、医疗保健、共享经济服务甚至娱乐等顶级行业。尽管数据工作供过于求,但截至 2020 年,数据科学专业人才 短缺 25 万人 。 为什么?因为很难找到和雇佣合格的人才。本指南解释了原因,以及 DataCamp 如何帮助您的企业更好地招聘员工。

有兴趣与我们的专家交流吗?使用此链接立即预订免费演示。

为什么聘请数据科学家这么难?

在公司招聘数据科学家和分析师时面临的许多困难中,有三个压倒一切的趋势:工作供需不匹配,数据科学工作缺乏特异性,以及不合适的招聘流程。这个问题基本上可归结为三个因素。

1.对数据人才的需求

首先,对数据人才的需求远远超过合格候选人的供应。这个问题影响并催化了数据雇佣过程中的许多问题。这是一个简单的供求问题:没有足够的候选人来匹配不断增长的数据工作。然而,围绕数据工作产生了很多兴趣和炒作。例如,在 Glassdoor 的榜单上,数据科学家排名第三,高薪(数据分析师和科学家的平均工资在 75,000-120,000 美元之间)等激励措施引起了许多人的兴趣。然而,这产生了我们的下一个问题:公司从对该角色感兴趣的候选人中进行选择,但不一定是数据科学的正确候选人。数量重于质量。

2.不具体的招聘广告

因此,现在公司从一大群申请者中挑选,许多人不适合手头的职位。但是这个角色被宣传的正确吗?通常情况下,不确定的广告会吸引一系列类似的应用。为什么这种情况一直发生?工作岗位通常对这些数据角色含糊其辞,因为他们背后的公司并不完全了解什么是数据科学,也无法区分不同的角色及其要求。围绕数据科学,它包括什么样的工作,以及需要什么样的经验或技能来满足角色,仍然有很多模糊之处。招聘经理和招聘人员必须分别寻找分析师和科学家所需的技术和商业技能的正确组合。如果没有对他们要招聘的角色的正确理解,企业如何才能招聘到最好的数据团队呢?

3.不合适的招聘流程

没有对数据科学的基本理解,招聘过程往往会错失目标。首先,公司仍在使用 LinkedIn messenger 和其他消息平台作为接触候选人的主要工具。虽然这是猎头潜在员工的常见途径,但对于发掘数据科学家来说,这不是最有效的。有这么多的角色需要填补,候选人淹没在类似的信息中,你的企业在这些接触中脱颖而出的可能性不大。

这就引出了我们手头的下一个问题:招聘经理不知道如何评价数据科学家。量化数据科学方面的经验并不像看起来那么简单,招聘经理通常会关注一种技能,而不是另一种。学术背景比实践经验更受推崇。科学和数学技能是重点,而解决问题和软技能,包括商业头脑,客户管理和数据故事,被忽视。这些经验和技能对数据科学至关重要,但在选择过程中却被忽视了。这也意味着资深候选人与那些经验少得多的人没有区别。

我们如何解决这个问题?

这些问题看起来很棘手,但 DataCamp 可以帮助您简化企业的招聘流程。我们知道数据角色的招聘可能会令人困惑和耗时,这就是我们推出 DataCamp Recruit 的原因。

1.专攻数据

DataCamp Recruit 是一个帮助您招聘数据角色的平台。当然,现在有很多招聘平台,包括 LinkedIn 和 Google For Jobs。但是是什么让 DataCamp 新兵特别呢?DataCamp 的平台只关注数据角色,忽略了寻找不合适的候选人。DataCamp Recruit 让您可以接触到您正在寻找的候选人:数据科学家和分析师。

2.访问工作就绪的候选人

选择过程已经为你简化了。DataCamp recruit 不仅帮助您专注于数据科学家和分析师,还提供了数千名预先认证、准备就绪的候选人。这使得找到高质量的、经过验证的候选人变得更加容易。根据您输入的工作标准,我们的算法会为您匹配最佳候选人。

3.筛选您需要的技能

通过我们的匹配和过滤算法,您可以直接找到符合您工作要求的候选人。这些过滤工具侧重于技能和经验,有助于您不带偏见地聘用最优秀的数据科学家和数据分析师候选人,从而实现更轻松、更公平的招聘。

4.认证完毕,准备就绪

最重要的是,你可以接触到 DataCamp 认证的候选人。DataCamp 学员在获得认证之前都经过了严格的测试,包括技术评估以及对他们整合和展示分析能力的测试。这些评估将他们培养成日常的数据专业人员,具备数据故事讲述的实践经验和技术技能。

因此,即使你是数据世界的新手,你仍然可以雇佣精英。 今天免费上手 。让 DataCamp Recruit 消除雇用数据驱动团队的猜测,并更快地填补您的开放数据角色。

如果您有兴趣了解更多信息,请于 2022 年 6 月 23 日加入我们的 DataCamp Radar。这一天,行业领袖齐聚一堂,帮助您驾驭数据角色招聘的未来。

今天就保留您的座位!

如何学习熊猫

原文:https://web.archive.org/web/20221129034451/https://www.datacamp.com/blog/how-to-learn-pandas

pandas 是最流行的 Python 数据科学包之一,是在 Python 中处理表格数据的标准工具。幸运的是,一个完全的初学者可以在几周内学会并开始用熊猫编程。以下是开始的方法。

开始之前需要知道什么

熊猫是什么?

pandas 是您应该学习的第一批 Python 包之一,因为它易于使用、开源,并且允许您处理大量数据。它允许快速有效的数据操作、数据聚合和旋转、灵活的时间序列功能等等。

pandas 具有许多与 SQL 或 Excel 相同的功能,并且可以接受各种数据类型——从 CSV 和文本文件到 Microsoft Excel 文件、SQL 数据库等等。它还有一个额外的好处,允许您将它们转换为 DataFrame 对象,data frame 对象只是表示类似于 Excel 中的表格数据的列和行——但在 Python 中。

活动中的熊猫数据框

熊猫如何融入 PyData 生态系统?

当使用 Python 分析数据时,pandas 通常与其他包和工具结合使用。这些软件包包括用于对数据进行预测的机器学习软件包,如 scikit-learn ,数据可视化软件包,如 Matplotlibseaborn ,以及工具,如 Jupyter Notebooks ,用于创建和共享包含代码、可视化和文本的报告。所有这些工具构成了通常所说的 PyData 生态系统。但是你不需要担心一下子学会所有这些工具——从关注熊猫开始。

熊猫学习之旅的六个步骤

1)学习基本的 Python 语法

pandas 是一个为 Python 构建的包,所以在开始使用 pandas 之前,您需要牢固掌握基本的 Python 语法。学习语法时很容易陷入困境,因为入门课程通常只关注 Python 语法,这让学习变得很麻烦。

根据经验,您应该在语法上花费尽可能少的时间,并学习足够的语法来开始使用 pandas 完成简单的任务。这里有一个纯 Python 资源列表,可以帮助您入门:

2)设置您的 Python 环境

在使用 pandas 之前,您需要在您的机器上设置一个 Python 环境。这将允许你应用你的新技能,并用你自己的数据对熊猫进行实验。

要为数据科学设置 Python 环境,我建议安装一个 Anaconda 发行版,以便方便地安装 pandas 以及相关的数据科学包和工具,如 Jupyter 笔记本。

要获得关于使用 Anaconda 设置 Python 环境的入门知识,请观看我的实践培训的分步教程。你也可以按照初学者指南在 WindowsMac OS X 上安装 Anaconda。

3)边做边学

在 DataCamp,我们相信边做边学是学习和应用编程技能的最佳方式。将您的熊猫技能应用于指导项目将帮助您走出舒适区,学习如何调试和阅读文档,并获得使用真实数据的信心。

要精通 pandas,需要知道如何导入和导出不同类型的数据、操作和重塑数据、透视和聚合数据、从数据框架中获得简单的见解等等。以下是涵盖这些主题及更多内容的资源列表,包含易于实施的指导项目形式的熊猫代码:

  • 熊猫网站提供了大量的入门教程。更重要的是,它有许多社区教程来帮助新用户入门。
  • 熊猫食谱是一本优秀的书籍,提供了丰富的代码,基于项目的方法来与熊猫一起工作。它还介绍了 PyData 生态系统中熊猫经常使用的其他包,如用于数据可视化的 seaborn。
  • 数据营提供从初级到高级的一系列熊猫课程。熊猫基金会课程向您展示如何从浏览器导入数据框架、进行基本的探索性分析以及分析时间序列。

4)使用真实世界的数据处理项目

在真实世界的数据上练习你所学的熊猫技能是一种很好的方式来保留你的技能,并在日常工作中自信地应用它们。

开始你自己的项目有很多种方法。首先,如果您的日常工作需要您处理表格数据,请开始使用 pandas,而不是像 Google Sheets 和 Microsoft Excel 这样的电子表格软件。虽然这最初可能需要更多的时间,但它将帮助你提高和保持你的熊猫技能,从长远来看,使你更快更熟练。

Kaggle 包含一系列真实世界的数据集和机器学习竞赛。虽然我鼓励你学习机器学习,但它最适合更高级的学习者,所以确保最初专注于专注于数据分析和探索熊猫的项目。你可以通过在 Kaggle 或者像 Medium 这样的博客平台上写数据分析笔记本来做到这一点。

5)掌握调试的艺术

任何有抱负的程序员需要磨练的最容易被忽视的技能之一是调试。每一个 Python 和 pandas 的实践者,不管技术水平如何,都面临着代码的错误和问题。当您在 pandas 代码中遇到错误时,这些资源可供您使用:

6)不断拓展你的熊猫技能

继续建立和扩大你的熊猫技能。许多资源涵盖了先进的熊猫主题。例如,Ashish Kumar 的掌握熊猫涵盖了加速和简化你的熊猫工作流程的技术。这篇真正的 Python 博客文章涵盖了高级用户的技巧和诀窍。你也可以开始学习 PyData 生态系统中的其他软件包如何扩展你的熊猫能力,如 seabornplotly ,用于创建交互式情节。

用 Plotly 制作的互动情节

扩展您的 pandas 技能的一个很好的方法是重温您在学习之旅开始时编写的一些 pandas 代码。尝试寻找机会来简化您的代码,采用最佳实践,并利用 PyData 生态系统中的其他包。

我希望你能从这篇博文中受到启发,并且这些资源对你有用。掌握熊猫是一个终生的学习之旅——我自己仍在努力。在 DataCamp,熊猫涵盖了我们的核心课程,我们正在不断改进和增加我们的内容。最后,我邀请你加入数千名学习者的 DataCamp Slack 社区,为你的熊猫之旅获得支持!

Adel Nehme 是 DataCamp 的数据科学传播者。他以前是一名内容开发人员,在那里他与讲师合作了一系列 Python 课程,并创建了我们的课程用 Python 清理数据。

如何学习 Python

原文:https://web.archive.org/web/20221129034451/https://www.datacamp.com/blog/how-to-learn-python

Python 是当今最流行的编程语言,广泛应用于软件和 web 开发、游戏开发、数据科学、机器学习等垂直领域。对于有抱负的数据科学家、数据分析师、数据工程师和机器学习科学家来说,学习 Python 势在必行。

好消息是,一个完全的初学者可以在几周内学会并开始用 Python 编程。以下是开始的方法。

在你开始之前知道你的动机

Python 是一种高度通用的编程语言,有许多用例。在开始学习 Python 的过程中,有一个明确的动机是很重要的。瞄准感兴趣的领域将帮助你更快地开始,并过滤掉不适合你的用例的学习资源。当我需要在学校使用 Python 进行数据科学项目时,我开始了自己的 Python 学习之旅。我没有 Python 或编程经验,需要快速上手。幸运的是,通过一些在线资源,我能够在短短几个月内熟练掌握。这里列出了 Python 有帮助的相关领域:

1.数据科学和机器学习

Python 受欢迎程度的上升可以归因于其丰富的数据科学和机器学习包和工具集。研究人员使用像 pandas 这样的数据分析包来分析 Covid 数据,从业者可以通过像 scikit-learnKerasPyTorch 这样的库来快速应用机器学习,以检测欺诈行为、对图像进行分类并产生产品建议。

2.桌面和移动软件开发

无论是构建简单的软件应用程序,如计算器,还是更复杂的软件应用程序,如文档编辑器和社交网络。Python 提供了大量的工具来原型化、开发和运行桌面或移动应用程序,例如 wxWidgetsKivy

3.Web 开发

你知道像优步、网飞和 Spotify 这样的网络应用是用 Python 开发的吗?Python 上有多种简化网站开发的 web 框架。诸如 FlaskDjangoBottlePyramid 之类的软件包都提供了快速原型化和构建可扩展 web 应用的工具。

4.游戏开发

这可能令人惊讶,但像模拟人生 4 和文明 4 这样的游戏都是用 Python 开发的。Python 库如 PyGameTurtle 简化了游戏的原型和开发。

5.物联网

嵌入式系统和物联网(IoT)的兴起推动了跨领域的创新和业务流程改进。Python 提供了一套软件包,使得在 ArduinoRaspberry Pi 和其他物联网设备如 Alexa 和 Google Home 上设计、创建和部署物联网设备变得容易。

Python 学习之旅的 6 个步骤

1.在基本语法上花尽可能少的时间

当学习任何编程语言时,学习语法很容易陷入困境。入门课程通常将重点放在纯 Python 语法上,而不是 Python 如何解决特定问题,这使得学习变得很麻烦。不要误解我的意思:学习 Python 语法对于任何初学 Python 的人来说都是必不可少的,但是根据经验,您应该学习足够的语法来开始处理简单的项目。当我开始我的 Python 数据科学之旅时,我学到了足够的语法,能够使用 pandas 完成简单的数据分析任务。以下是语法资源列表:

2.设置您的 Python 环境

在处理项目之前,您需要在您的机器上设置一个 Python 环境。能够在自己的机器上进行项目是应用新技能的最好方式。为了设置您的数据科学环境,我建议安装一个 Anaconda 发行版,它可以方便地安装所有相关的数据科学包,以及一个用于编辑 Python 代码的集成开发环境,名为 Spyder

要获得关于使用 Anaconda 设置 Python 环境的入门知识,请观看我的实践培训的分步教程。你也可以按照初学者指南在 WindowsMac OS X 上安装 Anaconda。

Spyder 集成开发环境的图像

3.实践中学习

在 DataCamp,我们相信边做边学是学习和应用编程技能的最佳方式。无论你关注的领域是什么,参与项目都会帮助你走出舒适区,学会如何调试和阅读文档,并向潜在雇主展示你的技能。

数据科学和机器学习

数据科学和机器学习是当今发展最快的重点领域之一。在线数据技能培训有许多解决方案:

  • DataCamp 提供超过 130 门交互式 Python 课程和 39 个项目,涵盖广泛的数据科学和机器学习主题。您将通过直接在浏览器中编码来从头开始构建您的技能,并将您的技能应用于金融、营销、体育、历史等各种数据集。
  • Python 数据科学手册提供了 Python 中主要数据科学包和技术的极好概述。方便的是,所有的内容都可以在 GitHub 上以 Jupyter 笔记本的形式获得。
  • Coursera 上的 IBM 数据科学专业证书专业化包含九门课程,涵盖了数据分析、数据可视化、机器学习等领域的一系列技术。专业化的最终课程是一个在 Foursquare 数据上结合这些技术的顶点项目。
  • Codeacademy 数据科学家路径提供了一系列关于数据科学和使用 Python 进行机器学习的课程,最终形成一个最终的作品集项目。

桌面和移动软件开发

Python 提供了一系列工具来原型化和开发桌面和移动应用程序。以下是帮助您入门的学习资源列表:

  • ZetCode wxWidgets 教程提供了用 wxWidgets 构建图形用户界面的分步介绍,并向学习者展示了如何构建一个简单的俄罗斯方块游戏。
  • Kivy 提供了一系列关于如何在 Python 上用 Kivy 构建简单移动应用的教程。

Web 开发

Python web 开发的两个主要包是 Flask 和 Django。虽然对这两个包的利弊还有讨论,但这里列出了这两个包的学习资源:

  • 烧瓶教程页面解释了如何建立一个简单的博客网站。如果你是一个视觉学习者,这个 YouTube 视频是一个很好的用 Flask 建立网站的介绍。
  • 使用 Django 教程页面学习构建 web 应用程序。 Real Python 也很好地解释了这一点,并包括一个 web 开发人员组合的样本项目列表。

游戏开发

虽然现代游戏开发由虚幻引擎和 Unity 等游戏引擎主导,但大多数开发人员使用 JavaScript、C#、C++或 Java,以下 python 包是进入游戏开发的好方法:

  • PyGame 教程页面向你展示了如何用 PyGame 构建一系列不同的游戏。视觉学习者可以按照这个 YouTube 视频用 Python 制作一个太空入侵者游戏。
  • Real Python 为 Python 中的游戏开发提供了一个极好的海龟包概述,以一个海龟赛跑游戏作为最终项目结束。

物联网

物联网设备在我们周围无处不在,收集关于我们环境的数据,并且预计数量只会增加,以下是涵盖如何使用 Python 对物联网设备进行编程的资源列表:

4.学习如何调试代码和寻求帮助

任何有抱负的程序员需要磨练的最容易被忽视的技能之一是调试。每个 Python 实践者,不管技术水平如何,都面临着代码的错误和问题。当您在代码中遇到错误时,请确保使用以下资源:

  • 当我的代码遇到错误时,谷歌几乎总是我第一个去的地方。我的 Python 查询的答案几乎总是在前 10 个搜索结果中。
  • Stack Overflow 是最大的开发者社区,从业者可以通过提问和回答编程问题来寻求代码调试方面的帮助。很多时候,你的 Python 问题已经被问过了,回答了。如果你想自己发布一个问题,请确保在措辞问题时遵循他们的最佳实践
  • 文档永远是你的朋友。无论是使用内置的 Python 函数,还是使用像熊猫这样的下载包,你总能在你正在使用的包的网站上找到详细描述功能、可能的错误和教程的文档。

5.扩展您的学习资源

既然您已经设置了 Python 环境,参与了指导性项目,并学习了如何调试,那么是时候扩展您的知识并不断提高您的技能了。这里有一个资源列表可以帮助你做到这一点:

  • 博客可以帮助你跟上 Python 的最新趋势和技术。我最喜欢的一个是 Real Python ,因为它在我不会使用的包中托管了入门和教程。他们还有一份包含 Python 技巧和窍门的小型时事通讯。
  • 在提高您的 Python 技能时,阅读他人的代码非常有用。对于数据科学和机器学习来说, Kaggle 是一个极好的资源,可以看到经验丰富的数据科学家如何解决问题。也可以在 GitHub 上看看自己喜欢的开源包的源代码。
  • 参加会议聚会,以及其他有更多经验的从业者参加的社区聚会。这将给你机会与更有经验的 Python 程序员交流和学习。

6.构建项目组合

现在你已经准备好开始处理复杂的开放式项目,并将它们展示在未来雇主的投资组合中。当处理开放式项目时,最好从简单的开始,处理与您的工作直接相关的 Python 项目。如果你正在寻找灵感,这篇 Edureka 博客文章包含了游戏开发、网页开发、数据科学和机器学习领域的开放式项目列表。

你可以通过在 Github 上托管你的代码并写关于你的项目的博客文章来开始建立你的投资组合。这让你有能力展示你的技术写作能力,并教初学者你如何开发你的项目。你可以通过开发自己的网站或者使用像 Medium 这样的博客托管服务来写博客。

我希望你能从这篇博文中受到启发,并且这些资源对你有用。掌握任何编程语言都是一个终生学习的过程——我自己仍在努力。在 DataCamp,Python 是我们核心课程的一部分,我们不断改进和增加我们的内容。最后,我邀请您加入到数千名学习者的 DataCamp Slack 社区中,在您的 Python 之旅中获得支持!

Adel Nehme 是 DataCamp 的数据科学传播者。他以前是一名内容开发人员,在那里他与讲师合作了一系列 Python 课程,并创建了我们的课程用 Python 清理数据。

R 怎么入门

原文:https://web.archive.org/web/20221129034451/https://www.datacamp.com/blog/how-to-learn-r

r 是 2020 年最流行的语言之一,广泛应用于金融、商业和学术界。对于一个完全的初学者来说,在几周内学会并开始用 R 编程是可能的。以下是开始的方法。

1.消费 R 内容

Stack Overflow 对于任何有抱负的数据从业者来说都是一个很好的资源——他们有最大的关于 R 的链接集合和一个 r-faq 标签,其中包含学习 R 的重要问题和答案。通读这些问题是了解如何解决常见任务和避免常见陷阱的好方法。

CRAN 提供了一个类似的 FAQ 资源,以及任务视图,其中列出了所有在特定领域使用的 R 包。例如,财务任务视图列出了应用财务的所有包。

找到关于 R 的博客的主要地方是 R 博客作者。最好的(而且免费!)关于学习 R 的入门书籍是由 Garrett Grolemund 和 Hadley Wickham 所著的数据科学的 R。

对于视觉学习者来说,YouTube 有许多很棒的解释者视频来帮助你开始。R 节目 101 频道有一位非常热情的主持人。从为什么你应该使用 R 视频开始。我还喜欢动态数据脚本 R 系列,里面有更长的 R 编程新手教程

2.参加在线课程

显然,在 DataCamp,我们是学习数据科学的在线课程的忠实粉丝!关于 R,需要知道的一件重要事情是,它的功能是跨包划分的。R Core 团队开发了一组核心包,称为“base-R”。下载 R 时会包含这些软件包。其他软件包可以由任何人创建——R 生态系统是由社区驱动的。一组特别重要的包装被称为“tidyverse”这些包被设计成能很好地协同工作,并使数据操作和可视化更容易。

  • DataCamp 采用边做边学的方法,包括短视频和动手编码练习。我们的 R 课程从快速介绍 base-R 开始,一直到介绍 R ,但是我们的大部分课程都是建立在 tidyverse 包之上的,从介绍 Tidyverse 开始。
  • Coursera 的 R 编程涵盖了 R 语言的基础知识,深入到具有挑战性的概念,并使用了具体的例子。
  • LinkedIn Learning 的数据科学硕士 R路径最适合已经有编程或数据科学经验的学习者。

interactive visualization with R

r 包使得创建像这样的交互式可视化和地图变得容易。来源:传单 | OpenStreetMap 投稿人, CC-BY-SA

3.设置您的 R 环境

要使用 R,我们建议安装 R、RStudio 和 git,您可能还需要定制 RStudio 和您的 R 概要文件。观看我的实践培训获得如何做到这一点的分步指南。

如果你喜欢遵循书面说明,你也可以遵循初学者指南在 Windows、Mac OS X 和 Ubuntu 上安装 R。

如果你想在不安装任何东西的情况下使用 R,你可以免费注册 RStudio Cloud

4.从事研发项目

没有什么可以替代使用真实数据的实践经验——您可能想要构建自己的数据科学项目组合。

如果你想下载自己的数据,并在数据清理、探索性数据分析和数据可视化方面建立技能, R4DS 在线学习社区有一个名为整洁星期二的伟大项目,它给你一个新的数据集,让你每周尝试分析。更有经验的用户可能希望从 Kaggle 下载并导入公共数据集。

当然,如果你能接触到你公司的真实数据,你应该使用它。最好使用你感兴趣的数据,或者对你的职业生涯有影响的数据。接受创造性的、开放式的挑战是掌握新技能的最佳方式。

5.继续拓展你的 R 技能

继续建立和拓展你的 R 技能——但是要小心常见的陷阱。帕特里克·伯恩斯的《地狱》是一本关于常见陷阱的经典著作,读起来很轻松愉快。

如果你遇到困难,邮件列表是一个提问的好地方。虽然邮件列表现在可能感觉完全过时了,但主要的好处是列表中有很多使用 R 几十年的人会给你回复,包括开发 R 的 R-Core 团队。

和任何其他语言一样,你需要练习和完善你的 R 技能,以便变得舒适和流利。温习一下 R 编程机器学习中的常见面试问题。保持积极的态度,坚持下去,你会在数据科学和分析领域找到一份工作。

如何在不损失生产力的情况下腾出时间来学习

原文:https://web.archive.org/web/20230101103301/https://www.datacamp.com/blog/how-to-make-time-for-learningwithout-losing-productivity

全球转向远程工作可能预示着灵活工作安排的正常化,取代典型的朝九晚五、五天工作制。随着这一转变,我们有机会重新思考如何平衡生产力和技能发展。办公室工作人员面临的挑战是如何安排他们的一天,以有效利用他们的时间,而不是浪费时间。

持续学习的好处

持续学习是为了获得技能,使职业成长和职业目标成为现实。对于那些想要在当前职位上表现得更好的人,以及那些想要改变职业道路的人来说,这都是事实。

我们的一名学员 Cameron White 能够将他在 DataCamp 中学到的数据技能应用到他在 Fruit of the Loom 新成立的数据科学团队中的工作中。在五年的时间里,他完成了超过 200 门课程,超过 10,000 次练习,获得了超过 100 万的 XP,并完成了 DataCamp 上几乎所有的技能赛道和职业赛道。

卡梅伦每天都在 DataCamp 上练习学习,并且能够用他获得的编码技能节省 196 个工作日。他“在许多场合,有时甚至就在第二天”将他的知识直接应用到工作中

现在想象一下,如果你公司的每个人都能够抽出一天或一周的一小部分时间来学习。学习经常被不优先考虑,而倾向于眼前的任务——但是那些优先考虑学习的人经常看到对商业和职业结果的巨大影响。关键是鼓励个人在通往关键里程碑的道路上,立即将他们获得的技能应用到现实世界的项目中。

如何腾出时间学习

不断的学习能推动商业的发展。这里有三个建议,告诉你如何让自己和整个公司养成学习的习惯。

1.试试网上学习。

对个人来说

许多人被授予学位或证书的学习项目所吸引,这需要投入大量的时间和金钱。与其报名参加训练营或等待硕士课程在秋季开始,为什么不从今天开始通过在线学习平台学习呢?自定进度的学习通常比传统的学习环境更经济实惠,还有一个额外的好处是允许你按照自己的方式学习,而不需要遵守严格的时间表。

对于企业

在我们最近的网络研讨会从现场培训转向在线培训中,DataRobot 可信人工智能副总裁 Ted Kwartler 解释了转向在线培训的三大好处:

  • 通过向更多人提供培训来节省时间
  • 省钱——在线培训比面授课程更实惠,可扩展性更强
  • 增加灵活性和获得培训的机会

2.确保学习支持系统。

对个人来说

确保向你的支持系统——也许是你的老板、家人和密友——传达学习对你很重要。如果他们了解你打算如何运用你所学的技能,他们就更有可能支持你的学习目标。像卡梅伦一样,把你学到的东西运用到日常工作中。如果你正在 DataCamp 上学习,利用我们的技能评估来衡量你的进步并交流你所学到的东西。

对于企业

最成功的公司采用学习文化,因为今天的工作性质要求对新信息做出适当反应的能力。对于数据技能来说尤其如此。对整个公司的数据工具和资源的基本了解极大地提高了同事之间的交互质量,允许团队提出更好的请求,并使每个人能够自主做出决策。

一些经理可能不愿意鼓励他们的团队成员为技能发展留出时间,担心日常工作会被忽视。但是给员工时间和工具来投资技能发展可以让你的企业保持竞争力。提高员工技能可以带来更好的数据驱动型决策和业务成果。投资于学习就是投资于商业。学习通常会使人们更有效率——例如,当应用数据技能来自动化日常任务时。随着数据技能的提高,生产力也会提高!

3.创建学习计划。

对个人来说

在日历上留出时间,确保你能专注于学习。用定时拳击或番茄工作法来打破你的一天可能会有帮助。对你的时间表能容纳多少要现实一点。你可以从每周 30 分钟的短时间开始,理想的情况是像卡梅伦一样坚持每天学习。

对于企业

我们的许多客户是关心建立学习文化的公司,由尊重学习过程的经理领导,由愿意投入时间和精力学习的员工组成。这些公司通常将培训新员工作为入职流程的一部分,并有正式的学习计划,许多经理鼓励他们的团队在日程安排中留出时间来学习。

DataCamp 对学习者的独特价值

为了做出明智的决策,您需要投资于构建数据技能。这是一条通往有意义的职业发展和更好的商业成果的必经之路。

DataCamp 提供了一种边做边学的方法来获取和练习数据技能。我们的方法非常适合每个人——对于那些有能力投入大量时间学习的人,以及那些需要灵活学习的人。

你可以随时随地在 DataCamp 上学习。你们做得很好,把所有东西都放进了可消化的模型里。你有练习,课程,视频。人们可以系统地在平台上度过 30 分钟。—Andrew He,SVP,汇丰银行全球风险分析部

在 datacamp.com/groups/business 了解更多信息。

如何有效管理人工智能项目

原文:https://web.archive.org/web/20221129054701/https://www.datacamp.com/blog/how-to-manage-ai-projects-effectively

87%的数据科学项目从未投入生产。一些失败是因为缺乏管理支持,另一些是因为缺乏高质量的数据和适当的基础设施。希望从人工智能和机器学习中获得价值的组织应该知道在界定和管理人工智能项目时的常见陷阱。然而,说起来容易做起来难。即使是那些熟悉实现传统软件项目的人,由于其独特的性质,在实现人工智能项目时可能仍然会面临困难。

人工智能项目与传统的软件项目有很大的不同。

在传统的软件项目中,程序员显式地编写程序的逻辑,它接受输入产生输出。一个例子是一个银行软件,当借款人申请大额贷款(投入)时,该软件会扣除借款人的信用评分(产出)。

另一方面,利用机器学习的人工智能项目不需要显式编码的逻辑。在基于输入预测输出之前,机器学习算法系统地学习输入和输出之间的模式。一个例子是根据借款人的信用评分和贷款总额来预测他们的违约风险。

当一个组织第一次实施和管理它的 AI 项目时,这会引入相当大的惰性。因此,这篇文章旨在为你的下一个可部署且可盈利的人工智能项目提供一些指导。

寻找可行的、简单的、有价值的人工智能项目

这三个特征为公司的第一批人工智能项目的成功奠定了基础。原因如下。

AI 项目应该可行

在开始新的人工智能项目之前,组织应该在将资源投入到不可行的项目之前,衡量自己的数据成熟度。数据成熟度的支柱包括基础设施、人员、工具、组织和流程。围绕这些支柱的有用问题可以使组织更好地确定哪些项目是最可行的:

  • 公司有能力可靠地收集数据吗?
  • 公司是否拥有存储和清理数据的基础架构?
  • 团队是否具备交付可靠、准确的模型结果的必备技能?
  • 公司是否有流程、工具和技能来监控生产中的模型?

AI 项目要简单

对于数据成熟度相对较低的组织来说,技术上简单的项目更容易管理。快速交付的简单项目有助于产生立竿见影的效果,积累团队的经验。这为未来的人工智能项目建立了动力,刺激了一个良性循环,在公司中建立了兴奋感,为技术上更先进的人工智能项目产生了买入。随着公司在人工智能成熟度方面的进步,它可以从低挂的水果转向更复杂的项目。

AI 项目应该是有价值的

《哈佛商业评论》声称,强大的人工智能项目的特征之一是它创造的价值。这可以有三种形式——人工智能可以帮助做出更好的决策,通过自动化重复的手动任务来降低成本,或者用于新产品。从成功的人工智能项目中获得的这种价值可以帮助说服利益相关者投资于公司的人工智能能力。

寻找一个简单的、有价值的、可行的项目并不简单。为了找到符合要求的项目,Veljko Krunic,与 AI 的作者提出了以下步骤。

  1. 识别业务问题。
  2. 头脑风暴 AI 解决商业问题的方案。
  3. 评估项目的技术可行性和复杂性。
  4. 确定业务指标来衡量人工智能项目的价值。
  5. 根据业务指标评估业务价值。

执行这些步骤在理论上很简单,但在实践中却很微妙。特别是,业务指标的选择可能不会立即显现出来。下一节概述了如何选择业务指标。

用商业度量来衡量人工智能项目人工智能项目的商业价值可以用适当的商业度量来衡量。然而,用业务指标来衡量人工智能系统的性能,这种做法对许多人工智能从业者来说可能是违反直觉的。

机器学习模型通常用评估指标来衡量,这些指标衡量它们在数据集上的技术性能,而不是量化其在业务上的价值的业务指标。这是学术界的常见做法,机器学习算法的进展与可量化的客观技术基准挂钩。然而,现实世界中的人工智能系统依赖于超出准确性的有形结果,如收入、成本和客户满意度。

因此,有必要将人工智能系统的技术性能与业务指标联系起来。通常,这种联系并不明显。谷歌大脑的联合创始人吴恩达表示,商业领袖和人工智能专家应该合作,就可以用来衡量和优化人工智能系统性能的商业指标达成共识。

在这个过程中,利润曲线的使用有助于定量地建立业务和技术指标之间的关系,正如《商业数据科学》一书中所建议的那样。这将技术进步转化为商业术语,使领导者能够回答诸如“准确度提高 1%会产生多少额外收入?”

Figure 1: An illustration of a profit curve that links the accuracy of an AI system with the resulting profit

传达人工智能项目的价值和业务成果

机器学习实践者之间的交流通常涉及围绕机器学习模型的技术术语,这是理所当然的。然而,这对于非技术受众来说没有意义,他们更关心模型的业务影响,而不是 1%的准确性增量改进。

人工智能从业者可以通过在讨论人工智能项目的更新时牢记目标受众来避免这样的陷阱。特别是,他们应该注意,对于业务涉众来说,业务指标的改进比技术指标的改进具有更高的优先级。他们还可以从数据故事讲述技术中受益,传达人工智能项目如何帮助商业指标——无论是客户体验的改善,保留率的增加,还是成本的降低。

实现人工智能系统和机器学习(ML)管道齐头并进

我们已经看到了人工智能系统与传统软件系统的不同之处。特别是,人工智能系统不需要程序员显式编码其逻辑,因为它能够从数据中学习模式。要做到这一点,首先需要建立一个管道,接收必要的数据,对其进行转换,并将其提供给人工智能系统。

因此,人工智能系统不仅包括机器学习算法,还包括机器学习(ML)管道。这个管道描述了从开始到结束的数据流,包括如何获取、转换、使用、呈现和监控数据。

机器学习管道是更大的软件系统的一部分。开发一个机器学习流水线和一个典型的软件系统的程序很大程度上是相似的。在其他事情中,对有能力的数据工程师的需求,使用类似于 DevOps 的软件开发过程,以及安全性的重要性是开发 AI 和软件项目的共同主题。

这是一个计算机视觉系统的 ML 流水线的例子,它检测手机制造过程中的异常。这种简化的 ML 管道使用照片检测手机缺陷,并促进质量保证团队的工作。

Figure 2: A simplified ML pipeline of a phone manufacturer

从这个例子中,我们可以看出机器学习管道的设计高度依赖于数据、算法和业务用例。很少有放之四海而皆准的机器学习管道。

据谷歌极具影响力的论文称,一个完整的管道还包括数据收集、特征提取、数据验证、结果监控等,这使得它庞大而高度复杂。这就是为什么机器学习工程团队通常致力于建立和维护管道。

从一开始就构建强大的 ML 系统,以减少代价高昂的变更

机器学习系统的部署可能不会像预期的那样进行,这可能是由于数据的变化、模型中的弱点或管道中的缺陷。当这种情况发生时,希望改进系统的从业者可能会对现有管道提出激烈的更改,但他们会沮丧地发现,一旦实现了机器学习管道,它们很快就会变得抵制更改。

Veljko Krunic 称这个过程为“ML 管道的僵化”。改变的惰性来自于修改如此技术复杂的项目的代码的挑战。预见到管道变化对业务运营的连锁反应的业务团队也可能反对这些变化。在上面图 2 的例子中,如果算法自动标记异常电话的能力急剧下降,人工电话检查所需的替换人员可能需要数周才能填补。

对僵化的人工智能项目进行大刀阔斧的改革代价高昂。当不可扩展的概念验证机器学习流水线被实现用于生产时,改造可能是必要的。也就是说,ML 管道的僵化常常是不可避免的。

因此,旨在管理人工智能项目的公司应该从一开始就致力于实现正确的管道。机器学习模型操作化管理(MLOps)是一个新兴的领域,可以帮助组织实现这样的目标。MLOps 工具和实践提供了一个端到端的机器学习开发过程,以设计、构建和管理可重复、可测试和迭代的 ML 支持的软件。这使得数据团队能够为他们的机器学习管道实现持续集成和持续交付,监控数据漂移,并维护他们管道的可解释性。

培养您团队的能力

管理一个人工智能项目绝非易事。一个组织不仅仅是合适的技术人才来构建人工智能项目。它还需要普遍的数据文化和强大的数据素养来催化人工智能的采用。就像实施人工智能项目需要时间一样,教授数据素养的项目也需要很长时间。

这就是 DataCamp for Business 可以提供帮助的地方,它为那些需要提高和重新提高员工数据技能的公司提供了一个交互式学习平台。主题从数据工程到机器学习,超过 1,600 家公司信任 DataCamp for Business 来提升他们的人才技能。

如何协商数据工作的薪水

原文:https://web.archive.org/web/20230101102924/https://www.datacamp.com/blog/how-to-negotiate-your-salary-for-a-data-job

简介

数据在商业中的应用正在迅速扩展。随之而来的是劳动力市场对稀缺数据人才的激烈竞争。德勤报告称,组织正面临 数据人才短缺 ,23%的组织面临其数据需求和当前能力之间的重大或极端差距。还有数据岗位在 LinkedIn 的新兴岗位报告 中两次排名前三。这对那些申请数据角色的人来说非常好,因为这使他们的技能更有价值,更受欢迎。

了解你在这个市场中的价值和稀缺技能,对于在数据市场中要求你应得的东西至关重要。即使这是你的第一个数据角色,为一份公平的薪水进行谈判也是必不可少的。

对很多人来说,谈判一份合同和薪水是不舒服的,但最终,它会是非常有益的。例如,如果你得到的薪水比这份工作的预期薪水低 5%,而你希望每年加薪 3%,那么你需要两年时间才能在这份工作中获得合理的薪水。这相当于你在职业生涯中应得的数千美元的薪酬没有得到支付。随着时间的推移,这种情况只会随着你角色的转换或升职而加剧。

经理们也希望进行这样的对话。 本次调查 发现,2800 名被调查的管理者中有 70%的人期望应聘者进行谈判。在这篇文章中,我们提供了在数据中协商你的薪水的最佳实践,包括新职位和现有雇主。

协商薪资的最佳实践

做研究,了解你的市场价值

谈判过程的第一步是了解你的市场价值。这将帮助你确定在这些对话中你应该提出什么要求。你的市场价值可以根据类似角色的其他人的平均工资来确定,在和类似规模的类似行业的公司。

你在这些谈话中的目标是向你的雇主证明你应该得到更高的工资。这从了解其他人在该角色中的表现开始。这些见解和数据将有助于你为自己辩护做好准备,并补充你对自己技能和经验价值的论证。

要开始这个研究过程,你可以看看类似于LinkedIn SalaryBlindglass door sales,以及really这样的网站。这些网站都会给你不同职位的工资范围、平均工资和其他数据。你也可以向同事、类似职位的朋友或你关系网中的其他人询问工资和福利信息。

重要的是要明白,你的论点不应该是别人赚了你要的钱,所以这是你应得的。这个值旨在让你对市场如何评价类似技能有一个方向性的了解。鉴于你的经验、技能和你所担任的特定角色,这些数据将作为一个基准来指导你,帮助你了解你的个人价值。

确定你的理想工资,以及你的不可协商的最低工资

一旦你完成了最初的调查并确定了你自己的个人价值,你就应该考虑谈判中所有重要的个人因素,比如你的财务义务、经验、技能、以前的工资、获得那个级别后的进步等等。这些个人因素都有助于你在那个角色中提供价值,并应该给你信心去要求你应得的。

一旦确定了这个数字,就要看公司(例如,地点、规模、资金、运营预算、行业等。).从这两件事出发,设定你的期望,并记住两个数字:基于市场价值和你的经验,你希望获得的薪水(现实一点,但不要害怕定高目标,这样才有妥协的余地),以及低于这个数字会导致谈判结束和你离开谈判桌的数字。

这两个数字由你决定。在网上找不到简单的答案。基于你的市场价值既现实又公平是最重要的。对于第一次进入数据领域的人来说,记住这一点很好,因为缺乏经验可能会导致工资较低。

另一个重要注意事项是,工资只是薪酬方案的一个组成部分。其他因素如 PTO、保险、职业和个人发展机会等。可以通过协商来弥补货币差异。

练习你的谈判

现在你已经具备了谈判所需的一切,与朋友、家人、同事或你关系网中的人练习谈判会很有帮助。这有助于巩固你的论点和陈述,让你在这个过程中更加自信。你应该让与你一起工作的人给你反馈,并问一些困难的问题来帮助巩固你的谈话要点。

如果可能的话,向招聘人员寻求帮助,并从他们那里获得一些建议,会对强化谈话要点、还价、策略等有很大帮助。

这样的书,或者像西北大学凯洛格商学院的这样的课程,都是学习谈判技巧的宝贵资源。

设置正确的音调

在谈判中,设定正确的基调非常重要。大多数人认为谈判是一种消极的经历,这会导致讨论中的紧张气氛。然而,重要的是要记住你已经收到了一份工作邀请,这表明公司既希望你和他们一起工作,也希望你成为他们团队的一员。该组织也希望你在大多数情况下进行谈判。因此,当你收到一个提议时,你应该总是谈判。

你不应该因为要求加薪而感到尴尬,不应该担心你潜在的新雇主会生气,也不应该担心你可能配不上你所要求的。做上面建议的研究应该消除任何怀疑或事后批评,并创造一个积极的心态向前迈进。你应该得到你想要的,你只需要提出要求,并在价值观上与你的雇主保持一致。

你应该有自信,而不是为自己辩护。给人留下自大、傲慢或需求不足的印象会损害你的案例和你与公司的未来关系。记住,如果你接受了这个职位,你将来需要和这些人一起工作,所以你的行为方式既要有助于你的案子,又要和你的雇主保持良好的关系。就你的技能和经验而言,公司已经认为你很适合,所以没有必要敌视你。开诚布公、乐于交谈会有更大的帮助。

为了协商更高的初始报价,让雇主提出第一笔金额,这样你就不会局限于自己的估计。通常,在薪酬讨论中,雇主会首先告诉你,你收到了一份工作机会,然后向你宣读薪酬,并询问你是否有任何问题。这是谈判应该开始的时候。在听到工作机会之前要求具体的薪水会给人以有权的印象,并可能损害你与雇主的长期关系。听到他们的报价也有助于你了解你的潜在雇主目前认为对你来说什么是好的价值,这将有助于开始讨论。

铁证如山

一旦谈判开始,关键是你要证明你将如何为公司提供非凡的价值。你需要用真实的数字和结果来支持你的论点,并强调你能提供什么。他们提供给你的待遇很可能与他们提供给组织中所有类似角色的人的待遇相似。你必须争辩为什么你应该得到更多。

谈判的这一部分应该由强大的数据科学产品组合提供支持,详细说明一切,包括您的项目带来的影响。就像你正在谈判的这个数据角色是你最适合的角色一样。不要把一切都放在别人的工资上,利用你的技能、经验和资历来展示你是如何超越别人的。

以批判的眼光看待报价

你不应该当场决定一个提议。不管它是好是坏,比你预期的好多少,或者看起来不可能谈判,后退一步,花些时间考虑这个提议是必要的。这一步可能会不舒服,但很多事情必须从更大的角度考虑,什么对你来说是重要的(职业轨迹,福利等。).它可能不总是关于你银行账户上的数字——假期、健康保险等等。所有这些加起来就是总的补偿方案。这些附加项目可能会弥补较低的薪资数字。如果你没有花时间去批判性地评估报价,当报价看起来不错的时候马上接受可能会把价值留在桌面上。

无论如何都要谈判

即使你对最初的提议很满意,你也应该一直协商,因为你永远不知道你还能要求什么。一切都有待协商。如果你还没有准备好你想要的号码,那就准备好,并把你要离开的号码记在心里。如果你的雇主在薪资方面不能灵活变通,那么其他方面可以协商,比如假期、奖金、个人发展、设备等。,那可以抵消少一点的工资。举个例子,可以用另一种方式给他们的银行账户加钱。

证明你对公司和职位的热情是很重要的。重复你的价值以证明你所要求的数字,以及你将给公司带来的好处。如果你有任何竞争报价,请提及。这将表明你是诚实和透明的,也是其他公司所希望的。你的雇主会欣赏你的热情和诚实,这将有助于加强你与他们的长期关系。

准备好离开

重要的是要记住,一旦谈判过程开始,你需要准备好要么接受提议,要么走开。果断是最重要的,因为你不想离开一家公司,给他们留下不好的印象。

应该避免太多的来回,你应该提前计划,知道你想要什么,你认为什么是不能接受的。确保你接受的提议是你满意的。前面步骤中的所有准备工作应该让你清楚地知道你在这次谈话中想要什么,应该得到什么,并帮助你迅速做出决定。

如果有人给你提供了一份不符合你最低要求的工作,而你确信你所要求的远远超出了你的市场价值,那么感谢他们的考虑,礼貌地拒绝。这在当下可能具有挑战性,但不值得去做一份工作,而且得到的报酬低于你愿意为之工作的报酬。

结论

谈判薪水是非常困难的。许多人认为这是一个消极和有压力的讨论。然而,这是一个不容错过的宝贵机会。你准备得越充分,你就越有可能成功。记住管理你的期望,不要因为一些微不足道的事情而拒绝可能是一生的数据角色。同时,确保你的工作和价值得到合理的补偿。

谈判过程从研究你申请的职位和工作的市场价值开始。接下来,根据这项研究和你自己的个人技能、经验和个人需求,确定你的理想和不可协商的最低价值。然后你可以和某人一起练习来强化你的论点。一旦谈判开始,设定正确的基调是富有成效的对话的关键。清楚地陈述你的论点,根据你将为组织提供的附加值为自己辩护。当你收到报价时,你应该批判性地看待它,不管报价有多高都要谈判,如果你无法达成一个适合你的价值,就愿意走开。

本文最初发布在 DataCamp 认证社区,这是一个专为所有成功完成 DataCamp 认证的学员提供的平台。要访问该社区以获取更多有助于您站在数据行业前沿的内容,立即获得认证

如何策划一次成功的数据马拉松

原文:https://web.archive.org/web/20230101103227/https://www.datacamp.com/blog/how-to-plan-a-successful-datathon

什么是数据马拉松?与黑客马拉松类似,数据马拉松是参与者聚集在一起,通过应用数据科学工具和技术来解决实际问题的活动,通过团队合作来产生见解和潜在的解决方案。

数据马拉松的好处

随着世界向数字化转变,数据马拉松的想法正迅速成为主流。无论是由公司还是志愿者组织的数据马拉松都有很多好处。

鼓励团队合作:这些活动创造了一种特殊的目的感,以实现更大的集体成就,激发了创造力和新的视角,这些往往是在有时间限制的环境下紧张工作时出现的。

促进协作:在传统的层级结构中,决策是基于职位权威的。在横向设置中,决策基于能力和价值贡献,这些属性在高绩效团队中很常见。这种结构也促进了透明度和坦诚,要求团队成员展现出更高程度的情商。将更多的时间投入到问题识别上,而不是担心“被蒙在鼓里”。团队倾向于更加自主,依靠彼此来实现承诺。创造了一个流动的环境,在这个环境中,想法被公开分享,测试想法的步骤快速发生。一些想法“很快失败”,无法产生有价值的学习,而另一些想法则进入可行性的下一阶段。

促进创新:传统的企业文化,尤其是石油和天然气行业的企业文化,是一种促进安全和可靠性的意识,对该行业的成功至关重要。然而,这样的思维定势无意中扼杀了创新。这是一种害怕“可能出错”的心态,而不是害怕好的事情不会发生。在数据马拉松中,心态是企业家的心态。

数据马拉松是如何组织的?

首先,您应该确保这些关键组件都已到位-一个结构良好的数据集,可以推动对需要解决的业务问题的见解,一个让参与者学习新数据技能的积极环境,一个让参与者建立专业联系的机会,以及一个让每个人都开心的机会!其次,数据马拉松可以面对面进行(当然,在疫情期间要遵守当地卫生当局的指导方针),也可以完全虚拟地进行。当活动包容并欢迎初学者和经验丰富的数据科学家时,参与者将获得最佳体验。围绕信息丰富、引人入胜的会议来组织活动,这可能包括让参与者知道会发生什么的启动活动、开始比赛的开幕式以及庆祝比赛结束的闭幕式。从学习和网络的角度来看,中间的活动可以提高参与度,例如通过学习研讨会和社交网络聚会。通过在活动的社交媒体渠道上发布帖子,整个活动期间的沟通保持较高水平,而通过使用类似 IRC 的平台,如 Slack、Discord 或 Teams,可以实现近乎实时的沟通。

赞助不仅提供了急需的资金支持,还增加了你的活动的可信度,赞助商也可以提供奖励来激励你的参与者。

寻找有趣的活动是人类的天性。游戏化是游戏的应用(例如得分、与他人竞争、游戏规则)来鼓励参与和激励。它也能导致一种不同的,甚至意想不到的,解决商业问题的方式。包容性,它不应该是主要的焦点,但它是一个令人愉快的特性。

数据马拉松有多长?

数据大会可以在一天、几天或一个周末举行,甚至可以持续一个月。选择合适的时间段在整个活动中保持参与度非常重要。面对面的活动非常有利于建立持久的网络联系,尽管虚拟活动可以吸引更广泛甚至全球的观众。更长的活动也需要计划团队付出更多的努力,尽管计划一个成功的一天数据马拉松的努力与计划一个多天数据马拉松的努力是相似的。

想看看实际的数据马拉松吗?

欢迎参加 2021 年 4 月 20 日至 2021 年 6 月 25 日举行的GTX 2021-地热数据马拉松。在加拿大卡尔加里举办的这一虚拟活动将吸引来自世界各地的人们。由石油工程师协会(卡尔加里和美国墨西哥湾海岸分会)和“未开发能源”组织的这次数据马拉松,是由使用真实数据解决真实问题、提升数据素养和建立新的专业联系的愿望所驱动的,同时还能获得乐趣!问题是:老化的油气井代表了向低碳能源世界过渡的一种选择,也代表了钻井工程师的未来。地热是一种合适的方法,也将是本次数据马拉松的焦点。所有参与者都享有:

  • 使用大量能源行业数据集。
  • 参加一系列数据科学训练营和研讨会。
  • 通过 DataCamp 访问令人难以置信的自定进度在线数据科学课程库。
  • 参加 datathon 竞赛,测试和证明数据技能。
  • 有机会与其他数据爱好者会面并一起解决现实世界中的问题。
  • 赢得一系列大奖的机会。

关于这次活动的更多细节:speuntapped.com

数据营-学习平台和学习竞赛

所有注册的参与者都可以在数据马拉松期间访问整个数据营平台,其中包括该平台的 350 多门课程、90 个项目和 10 项技能评估。此外,DataCamp 正在赞助一项学习竞赛:在整个 datathon 中完成最多课程的参与者将获得 DataCamp 一年的高级订阅。

我希望这篇文章有助于激发人们对运行第一次数据马拉松的兴趣。请随时在 LinkedIn 上与我联系,并随时向我更新您的数据。祝你好运!

如何准备数据分析师面试

原文:https://web.archive.org/web/20221210075939/https://www.datacamp.com/blog/how-to-prepare-for-a-data-analyst-interview

平均而言,全球数据分析师的职位空缺多达 10 万个,需求来自顶级行业,包括 金融、医疗保健和娱乐。 如果你正在寻找你的第一份数据分析师工作,或者希望在你的职业生涯中有所提升,使用本指南来帮助你准备面试并获得你梦想的工作。

典型的数据分析师面试流程

数据分析师访谈流程通常包括以下步骤:

  1. 人力资源面试: 你的第一步是与招聘人员进行面试,了解你的经历、兴趣和期望薪资,并向你提供该职位的详细信息。
  2. 招聘经理面试: 下一次电话通常是和招聘经理。他们可能会问更多关于你的直接经历,以及你为什么对这个职位感兴趣。
  3. 技术画面: 该部分是数据分析师角色专用的。技术面试可能涉及 SQL 和 Python 问题或带回家的测试。
  • 现场面试: 最后一步倾向于关注你的商业头脑。

一旦你通过了面试过程中的这些核心部分,你可能还要等一段时间才能得到工作。你可能会得到一个反馈的机会,但是如果你几个星期都没有收到回复,那就很正常了。

这些步骤可能看起来势不可挡,也很陌生。技术屏?招聘经理面试?这里有一些在一般面试和技术面试中问你的典型问题,让你更好地了解什么是期望和如何准备。

数据分析师面试问题以及如何处理这些问题

一般数据分析师面试问题:

什么使你成为这份工作的最佳候选人?

虽然这可能是一个宽泛的问题,但请记住,面试官希望听到的是你作为一名数据分析师的情况。所以考虑一下你的数据分析之旅,首先是什么让你感兴趣,你以前的经历,以及你为什么特别申请这个职位。

告诉我你是如何应对一个具有挑战性的数据分析项目的?

他们询问你如何克服挑战,并给你一个机会在行动中凸显你的优势。确保包括优点和缺点。诚实地说出哪里出了问题,或者你发现什么困难,并努力突出这个职位的工作要求中列出的任何技能。

您处理过哪些类型的数据?

这个问题要求你尽可能具体。关注你处理过的数据的大小和类型,无论是来自以前的工作经验还是你自己的项目和程序。许多招聘经理会看你是否能处理大量复杂的数据。

数据分析流程问题:

什么是数据清理,你如何做?

作为一名数据分析师,数据清理占据了你很大一部分工作时间。这是一个向面试官展示你如何处理这个过程的机会,包括缺失数据、重复数据、异常值等等。一定要解释为什么它很重要,以及你在过去的项目中是如何处理的。

你如何向非技术人员传达技术概念?

许多数据分析都包括将你的发现整理成叙述,并向技术和非技术受众清楚地解释。这就是你的软技能发挥作用的地方:沟通和讲故事。举例说明你是如何从数据中获得洞察力并传达给听众的。这些可能包括对股东的陈述或你投资组合中的书面交流。

你会如何评估我们公司的绩效?

当面试官提出一个关于公司的问题时,这是一个展示你对他们工作的研究以及你如何与他们合作的机会。考虑你的分析技能如何能带来对这家公司的洞察力,特别是考虑到他们的问题和目标。

技术技能题:

你熟悉哪些数据分析软件?

你以前用过什么 你有什么认证 ?你使用这些软件有多久了?这个问题有助于面试官评估你的经验水平,以及你需要多少培训来胜任这个职位。

准备时,在工作描述中列出你曾经使用过的任何软件,提及软件解决方案以及你如何在数据分析过程的不同阶段使用它们。一定要包括相关的术语,以便跟踪。

软件可能包括 R、Python、Tableau 和 Microsoft Excel。确保 在项目 中尝试一些额外的训练,如果你不确定这些的话。

你的统计知识是什么?

这个问题通常是问你对统计学是否有基本的了解,以及你在之前的数据分析工作中是如何使用的。

如果你是入门级,不熟悉统计方法,一定要研究以下概念:

  • 标准偏差
  • 差异
  • 回归
  • 样本量
  • 描述性和推断性统计
  • 表示

如果你有一些知识,请具体介绍一下 统计分析如何与商业目标联系起来。列出你过去使用过的统计计算的类型,以及这些计算产生了什么样的商业洞察力。

你能定义这个术语吗?

这要求你理解分析中使用的术语。所以让自己熟悉以下:

  • 常态分布
  • 数据角力
  • KNN 插补方法
  • 聚类
  • 异常值
  • N-grams
  • 统计模型

准备数据分析师面试的技巧

以下是 DataCamp 的顶级技巧,可以帮助你准备这些问题,以及你的数据分析师面试:

  • 研究业务 :找出公司的问题或潜在问题是什么。例如,他们当前的数据问题可能是什么?他们的目标受众是谁?通过这项研究,计划如何利用你的经验解决这些问题。

  • 研究面试形式: 在面试过程的开始,抓住机会向招聘人员询问方向。寻找面试经验和指导,使用像盲信或讨论帖子这样的资源。

  • 确定你的顶级技能: 在面试过程中,有些会议会比其他会议更关注某些特质。例如,在一次技术面试中,你需要展示你在 SQL 等数据库语言方面的经验。把你的技能看作是组合的和独立的。准备好讨论技术技能、分析和可视化,以及商业头脑和软技能。

  • 学习和练习面试问题: 利用 Datacamp 等程序来练习技术技能,或者积累你的项目经验,以及业务和分析案例研究。

面试前后要记住的几件关键事情

之前: 尽可能多地研究和实践,让自己、技能和经验与他们提供的业务和角色相匹配。考虑一下面试是否是面对面的,如果是在网上进行,确保你对你的视频和声音进行技术检查。

期间: 对你被问到的问题保持警惕。面试官可能会问一些一般性的问题,比如“谈谈你自己吧”,但是记住所有的问题都要回到数据分析上来。

之后: 在面试之后,给招聘人员和招聘经理发感谢信。利用面试后的机会与他们联系,寻求反馈或任何你在会议中没有机会问的问题。

如何快速交付数据科学项目

原文:https://web.archive.org/web/20221129045128/https://www.datacamp.com/blog/how-to-ship-data-science-projects-quickly

数据科学项目有许多组件需要协作才能成功部署。有了这些相互关联的部分,敏捷方法对于开发和部署过程是必要的。这种方法允许组织快速学习和迭代。在最近的 DataCamp 网络研讨会中,Lucid Software 内部工程部门的工程经理 Brian Campbell 讨论了成功部署数据科学项目的最佳实践。

允许敏捷开发的早期步骤

Brian 解释说,在一个项目的早期,可以采取两个关键步骤来实现模型开发和部署的并行进展:使用基线模型和创建原型。虽然这些方法使时间表变得复杂,但它们会带来更快、更好的结果。

使用基线模型

成功发布机器学习项目的一个有用步骤是创建基线模型。基线模型的输出与最终模型的输出相同。然而,它是在开发过程的大部分之前建立的,并且可能基于启发式或随机数据。这个基线为未来的迭代提供了一个目标。

随着团队开发新的模型,新的结果可以与基线进行比较,并为学习提供信息。基线和期望状态之间的差距告知项目需求,并帮助团队识别最有价值的数据和问题的解决方案。

使用原型

原型是接收相同输入并提供与最终模型相同格式输出的模型。该模型可以由基线模型提供信息。一旦原型准备就绪,负责部署的人员就可以开始将模型集成到其预期目的中。原型支持模型上的并行进展;数据科学家改进模型,而实现团队研究如何将模型打包给客户或在业务流程中打包。

只有当最终模型的行为与原型相同时,原型才起作用。因此,在创建原型之前,有必要了解可用的数据和预期的输出格式。这需要除了最初的问题公式化之外的一些项目知识,以及与问题专家的密切合作。

基线和原型的真实用例

Brian 讨论了他在 Lucid 的团队如何使用基线和原型来加速产品、设计和工程团队使用的便笺产品的集群模型的开发。这些团队经常举行设计思考会议,在会议中,主持人需要手动将相似类型的便笺聚集到给定的类别下。该系统的目标是通过自动将想法分类并删除重复项来减少头脑风暴和讨论之间的时间。

基线模型接受随机的想法,并为它们生成随机的类别。然后,他们创建了这个模型的原型,使实现专家能够在开发过程的早期开始工作。随着时间的推移,他们通过利用自然语言处理和机器学习将类似的便笺聚集在一起,改进了基线模型。

沟通对这些模型很重要

这个项目的第一次迭代遇到了一些问题,因为在部署团队和处理模型的数据科学家之间缺乏一致的协作。这种团队合作的缺乏导致了模型性能问题、不准确的测试和糟糕的产品体验。他们无法实现并行开发模型的协同作用。

当他们重新启动项目并有效合作时,他们解决了这些问题并设定了现实的期望。部署团队拥有一个原型模型,可以与开发模型的数据科学团队并行工作,这使得协作成为可能。

要了解从项目中学到的经验教训,以及如何有效地管理复杂的数据科学项目,请务必收听点播网络研讨会

如何从 Excel 过渡到 Power BI

原文:https://web.archive.org/web/20230101103007/https://www.datacamp.com/blog/how-to-transition-from-excel-to-power-bi

微软 Excel 可以说是地球上使用最广泛的数据工具。其易用性和简单的界面使任何人都可以几乎无障碍地处理数据,并执行不同类型的操作,如编辑数据集、应用公式和函数、可视化数据等。然而,随着数据量和复杂性的增加,在 Excel 中进行有效的数据工作将变得更加困难。这就是微软的另一个工具 Power BI 发挥作用的地方。

Power BI 是一款高效而强大的商业智能工具,旨在管理和分析数据,并创建可轻松与其他人共享的动态交互式仪表盘。虽然拥有与 Excel 类似的界面,Power BI 增强了 Excel 在数据驱动时代为非编码专业人士提供支持的能力。幸运的是,这意味着 Excel 专家可以轻松掌握 Power BI 并扩展他们的数据技能。在本文中,我们将通过以下问题来分析 Excel 用户如何开始使用 Power BI:

什么是 Power BI?

Power BI 是一个强大的商业智能工具,使您能够通过易于使用的可定制数据可视化来有效地报告见解。它的拖放界面使非编码专业人员能够设计、部署和共享复杂的可定制仪表板。越来越多的组织正在使用 Power BI,目前有超过 250,000 个组织在使用它。

BI 有三个主要组件,每个组件都有不同的用途:

  • Power BI Desktop—提供数据分析和创建工具的桌面应用。它是免费使用的,你可以在这里下载
  • Power BI 服务—基于云的 Power BI 版本,提供轻量级报告编辑,以及共享和分发报告的能力。
  • Power BI Mobile—Power BI 的移动版本,允许您在旅途中创作、查看和共享报告。

还有 Power BI 的付费版本,如 Power BI Pro 和 Power BI Premium,它们支持协作、数据治理、访问移动应用程序等附加功能。Power BI Pro 也是 Microsoft Office 365 E5 计划的一部分,这意味着如果您的组织使用 Microsoft Office,您很有可能已经获得了它。

不过,出于入门的目的,你肯定可以坚持使用 Power BI Desktop,因为你可以在 Desktop 中应用的一切也适用于 Power BI Pro

如果你对 Power BI vs Tableau 如何叠加感兴趣,请查看我们的独立文章。

Power BI 相对于 Excel 的优势

鉴于 Power BI 的流行和从业者使用它的不同方式,它相对于 Excel 的主要优势是什么?虽然我们可以列举很多,但这里是 Power BI 优于 Excel 的三大优势。

1.存储和处理大量数据

使用 Power BI 的一个主要优势是能够快速处理大数据集。事实上,如果一个文件的大小超过 500 MB,或者长度超过 100 万行,那么在 Excel 中工作是很困难的。此外,Power BI 可以轻松地连接单独的表,扩展了轻松连接数据集的能力。这是 Power BI 胜过 Excel 的另一个特点。

Related tables in Power BI

2.设计强大的仪表板和可视化

虽然 Excel 提供了基本的数据可视化功能,但在 Power BI 中工作的主要优势是它能够设计和部署有吸引力的、交互式的、可定制的报告和仪表板。为了体验这些报告的作用,您可以查看 Power BI 社区图库,它拥有由从业者开发的各种仪表板和报告。数据可视化在 Power BI 中有多么强大的一个例子就是交叉过滤特性——它允许数据消费者基于数据的一个或多个维度过滤报告。

Cross filtering in Power BI

3.更好、更简单的协作功能

Power BI 相对于 Excel 的另一个关键优势是其协作和共享特性。例如,分析师可以在仪表板和可视化工具上协同工作,这些工具具有评论和注释等功能。此外,您可以为仪表板及其底层数据集设置细粒度的访问级别,这是一种称为行级安全性的功能,或者防止在报告中共享过期数据。这使得 Power 阿碧比 Excel 更适合现代的分布式数据工作流。

Commenting feature in Power BI

Power BI 入门

既然我们已经介绍了 Power BI 相对于 Excel 的主要优势,那么让我们来分析一下任何 Excel 专家如何开始他们的 Power B 学习之旅。此部分分为以下步骤:

  • 从基础开始
  • 构建一个简单的报告
  • 练习你自己的数据
  • 将您的 Excel 技能与 Power BI 相结合

学习基础知识

当然,在过渡到任何新工具时,学习基础知识总是很重要的。然而,很容易陷入单纯关注基础知识和使用 Power BI 背后的理论的困境。作为一个经验法则,学习足够的基础知识来开始简单的分析和可视化工作,并从那里增长你的信心和技能。出于学习基础知识的目的,这里列出了您可以使用的资源:

构建一个简单的报告

一旦你觉得你有足够的基础知识可以开始学习,开始学习的最好方法是通过构建简单的仪表板和报告开始练习。你可以通过下载免费的 Power BI 桌面应用立即开始这样做。虽然在内存和协作方面存在一些限制,但对于小型数据集来说,这已经足够了。下面是在 Power BI 中构建简单仪表板的分步指南。

获取和加载数据

将数据加载到 Power BI 主要有两种方式。第一种方法是单击菜单中的“获取数据”按钮,然后决定要导入的数据类型。Power BI 支持各种数据类型,从 Excel 工作簿到 SharePoint 文件,甚至可以连接到数据库。

Load data into Power BI

如果您还没有任何数据集可供使用,您也可以尝试一个样本数据集,可以在位于中心的红框中突出显示的部分访问该数据集。

在本教程中,我们将从 Power BI 下载一个示例,名为财务数据示例工作簿。下载完成后,您只需使用“获取数据”按钮并选择“Excel 工作簿”选项。然后,选择名为 financials 的表,并按 Load 按钮。

一旦你加载了表格,你可以点击“数据视图”来查看它,如下图所示。你会注意到 Power BI 的数据视图界面和 Excel 的用户界面非常相似。此外,您还可以应用类似的操作,比如重命名、添加和删除列、过滤数据、替换列的值等等。例如,我们可以过滤“国家”列以删除“美国”。还可以按升序或降序对列进行排序。

Visualize a data table and filter operation in Desktop Power BI

构建报告

现在数据已经加载到 Power BI 中,我们可以构建一个简单的报告。要构建报告,您可以转到下面 gif 中突出显示的报告视图。

build a report in power bi

在这个窗格中,您可以在右侧看到表格的名称及其对应的列。在本例中,我们可视化了一些与销售和国家字段相关的数据。为此,您可以选择这两个字段,并从可视化效果窗格中选择不同类型的可视化效果。您还可以可视化数据分组,例如“按国家的销售额”。

发布报告

完成报告后,您就可以分享一些漂亮的交互式数据可视化效果了!要共享此报告,您首先需要在 Power BI 服务中发布它。做这件事有三个步骤:

  1. 在菜单中单击“文件”后选择“发布”
  2. 编译一个目的地,比如我的工作区,然后按 Select 按钮
  3. 此时,您需要在 Power BI 中选择打开“您的文件名”链接。它还会要求您登录。如果你还没有注册帐户,它会让你创建一个新的。


就这样!我们的报告现已发布在 Power BI 在线应用程序中。如果您想与其他人共享报告,您需要点击顶部的共享按钮。有两种分享方式。第一种可能是复制报告的链接,并将其发送给同事。另一种方法是通过 Outlook 或团队来分享。然而,只有订阅了 Power BI Pro 或 Power BI Premium 的服务,才可以与其他人共享报告。

在你自己的数据上练习

Power BI 应用程序的简短示例展示了它如何加速基于 Excel 的数据从业者的工作流程。更广泛地说,Power BI 拥有一系列功能,在处理日常数据任务时可以提高生活质量。为了让你的商务智能技能更上一层楼,从日常工作中的项目开始练习。这可以是在工作中使用自己的数据时使用 Power BI 而不是 Excel,或者在您感兴趣的数据集上构建项目组合。关于建立项目组合的最佳实践,你可以听听尼克·辛格和凯文·霍在 DataFramed 播客上的发言。

不要停止使用 Excel

即使我们指出 Power BI 与 Excel 相比具有更优越的功能,但这并不意味着您必须停止使用 Excel。相反,Excel 是对 Power BI 的极大补充,它们绝对可以一起使用。使用这两种工具的一种方法是在 Excel 中进行简单的预处理,保存修改,并使用 Excel 的发布功能直接发布到 Power BI。您还可以利用 Power BI 的Excel 分析功能深入了解 Power BI 报告的底层数据。结合使用这两种工具进行有效的数据处理有很多种方法,因此请确保采用最适合您正在执行的任务的工具。

更多电源 BI 资源

我们希望本教程对你有用。本文旨在提供一个快速概述,让您毫不费力地开始学习 Power BI。让我们重复一下,虽然 Power BI 对于获得高级功能非常重要,但 Excel 有自己的实用程序,最好与 Power BI 结合使用。

本教程还为您提供了学习更多专业应用的基础知识。为了更深入地学习,DataCamp 提供了 Power BI 中的数据可视化和 Power BI 中的数据建模课程。如果你喜欢在商业案例中直接应用知识,你也可以看看案例研究:在 Power BI 中分析就业市场数据。

想要从事数据方面的职业?在微软能源商务智能职业跟踪中发现我们的数据分析师,您将立即为工作做好准备。

如何撰写商业分析师职位描述

原文:https://web.archive.org/web/20221129035725/https://www.datacamp.com/blog/how-to-write-business-analyst-job-descriptions

如何撰写业务分析师职位描述

对于跨行业的团队来说,业务分析师正变得越来越有价值。IBM 在其 2017 年报告中预测,到 2020 年,美国数据专业人员的工作岗位数量将从 36.4 万个增长到 272 万个。角色的激增是由数字革命推动的,这使得善于分析的同事对业务增长非常重要。

所有这些需求带来了公司、招聘人员和经理之间的竞争,以吸引优秀的候选人。那么,如何为你的工作场所雇佣最好的商业分析师呢?继续读下去,你会看到一份关于撰写职位描述的最佳实践的综合指南,它能增加招聘人员和经理的有机流量。

商业分析师是做什么的?为什么你的团队需要他们?

自从 20 世纪 40 年代第一台可编程计算机问世以来,商业分析师的角色就一直存在。80 多年后,商业分析师从未像今天这样因其对企业的贡献而受到重视。

如今,业务分析师理解数字,通过将数字与业务需求联系起来解决问题。他们的工作有助于在定价、时间安排、运营等方面做出战略决策。总之,商业分析师身兼多职。以下是它们如何帮助您实现业务增长最大化:

  • 业务分析师为利益相关者当前和未来的问题创造解决方案
  • 业务分析师通过在客户和开发者之间进行翻译,使数字化转型变得更加容易 。他们通过将业务涉众的需求转换成开发团队能够理解的语言来弥合差距,反之亦然。将业务细节翻译给技术部门使他们成为业务如何为各方工作的联系点。
  • 业务分析师通过帮助员工适应来支持变革管理 。业务分析师帮助团队为即将到来的公司变革做准备,确保他们在变革发生时理解变革。
  • 商业分析师通过最小化项目成本来降低公司成本 。雇佣一个商业分析师可以让你的商业项目更有效率,并且把整个公司的工作交给一个专家。

业务分析师的工作描述应该包括什么内容

在业务分析师的工作描述中,你应该包括哪些软技能?

正如我们所看到的,商业分析师在日常工作中会用到很多软技能,从批判性思维到商业敏锐度。设定你对候选人软技能的期望是很重要的。以下是商业分析师需要的典型软技能:

  • 沟通: 业务分析师与所有部门互动,必须能够清晰地表达自己的见解,并理解传递给他们的信息。这包括对描述数据信息和传达业务策略的技术术语的高度理解。沟通应该包括很强的写作和公开演讲技能,以传达有关项目的信息。
  • 解决问题: 商业分析师的主要工作是帮助公司解决问题。顶级分析师可以发现模式,应用逻辑思维、统计和预测分析来实施解决方案的计划。
  • 批判性思维: 商业分析师必须能够评估多种选择、问题和可能性,从而做出自信的决策。
  • 谈判: 业务分析师必须在业务和客户之间、IT 和业务用户之间、以及他们自己和其他同事之间使用谈判技巧。拥有有说服力的谈判技巧有助于保持公司内部和外部的健康关系。
  • 团队合作: 商业分析师必须既是领导者,也是合作者。这需要优秀的团队精神,能够与行政人员和计算机技术人员一起工作,并能够组织或协调团队取得成功。

在业务分析师的工作描述中,你应该包括哪些技能?

业务分析师还必须具备高质量的技术技能和知识。当写下对这个角色的期望和要求时,确保专门为业务分析师设计,而不是列出一般的数据科学技能。

  • 软件测试技能: 业务分析师经常将测试作为他们职责的一部分,尤其是在敏捷团队环境或小公司中。BA 在测试中的角色可以从帮助开发测试用例到报告解决方案中的缺陷。商业分析师应该明白:

  • 测试用例或手工测试

  • 测试脚本

  • 自动化测试

  • 基本办公应用熟练程度:

  • 文字处理

  • 电子表格

  • 演示文稿

  • 图表和图解

  • 电子邮件

  • 数据分析: BAs 不需要知道如何存储所有的数据或者编写代码,那是更技术性的 IT 工作。然而,由于 BAs 编译和分析数据,所以理解 Python 和 R 等基本编程语言以及 MySQL 等数据库类型和函数非常重要。

  • 文档: BAs 必须能够将需求和规范记录在纸上,以尽可能好的方式与他们的团队沟通。这将包括应用相关的标记语言,以及图片、数据和任何媒体来帮助传递信息。

  • 计算机和软件流畅度: BAs 需要以对整个价值链的理解来看待项目和流程,以便在团队之间进行交流并获得结果。这意味着理解大量的技术术语,包括:

  • 中央处理器

  • 主存储器

  • 二次存储

  • 输入/输出设备(I/O 设备)

撰写引人注目的职位描述的额外技巧

即使有一套完美的工作描述和期望,大量的招聘广告也会让你的求职者看不到。为了让你的工作描述引人注目,可以点击,考虑以下几点:

  • 定义角色的资历及其要求 :例如,初级角色是否可以在工作中学习硬技能,或者高级角色是否需要管理经验等。
  • 包括薪资范围 :一项由SMART Recruit Online进行的研究发现,当招聘广告中包括薪资范围时,他们的申请人会多出 30%以上。提供一个与要求和资历相匹配的业务分析师薪资范围,以获得理想的候选人。查看我们的跨地区、行业和级别的商业分析师薪酬指南以获得基准。
  • 包括福利 :如今,像 Linkedin 和 Google Jobs 这样的工作网站提供与职位相关的福利。用这些来增加交易的甜头,让你对公司的工作和生活平衡有一个更全面的了解。
  • 洞察职场文化: 分享职场团队、文化和价值观的细节。这将有助于候选人想象自己与你一起工作,并检查他们是否符合你的文化和精神。
  • 与人力资源部一起确定招聘流程 :求职者非常想知道招聘流程会涉及哪些内容,以便为面试和会议做准备。这对于技术面试和他们需要磨练的硬技能尤为重要。
  • 让招聘信息简洁明了: 避免冗长的信息列表,保持简洁明了,抓住注意力。

招聘商业分析师?

如果这让你兴奋地欢迎业务分析师加入你的团队,那么开始在数据营招聘上发布职位,在那里你可以接触到顶尖的数据人才。

  • 描述你的工作并列出所需的技术组合
  • Access 当您的工作上线时,具备您正在寻找的能力的求职者会收到通知
  • 根据技术技能和能力筛选候选人
  • 请求与合格候选人聊天
  • 直接面试和聘用候选人

我们如何切换到 Workspace 进行内部分析

原文:https://web.archive.org/web/20221212135909/https://www.datacamp.com/blog/how-we-switched-to-workspace-for-our-internal-analytics

当 DataCamp Workspace 首次推出时,我们努力确保它是执行数据科学和数据分析工作的最佳体验。这意味着构建一个快速、轻量级的编辑器,实现实时协作,并生成专业的只读报告。

同时,我们依靠第三方工具来执行我们的内部分析。使用 Workspace 的用户数量和在平台上花费的时间等产品指标使用其他工具进行跟踪。我们意识到,如果我们想认真地将 Workspace 作为专业工作的工具,我们需要自己使用它。

本文将深入探讨我们过去如何进行内部分析,以及我们如何过渡到 Workspace。它还将涵盖我们从过渡中获得的优势和经验。

我们的工作区前分析

在 Workspace 之前,我们对产品进行内部分析的主要工具是元数据库。Metabase 是一个商业智能工具,它连接到一个包含工作区内容和活动信息的数据湖。有了元数据库,我们可以快速运行 SQL 查询,生成报告,甚至创建动态仪表板。

元数据库在团队中被广泛使用。我们使用它来监控用户对不同类型内容的参与程度,用户在 Workspace 上花费的时间,以及每天、每周和每月有多少用户与 Workspace 进行交互。

在这一点上,使用 Workspace 进行分析并不常见。只有当我们遇到 SQL 或 Metabase 的无代码可视化能力的限制时,才会发生这种情况。在这些情况下,我们将导出原始数据,手动将其添加到新的工作空间,然后继续使用 Python 进行分析。然而,这一过程非常繁琐,使得更新数据变得非常困难。

为什么我们过渡到工作空间

随着 Workspace 的发展,我们想要回答的关于用户及其在 Workspace 上的时间的问题变得越来越复杂。尽管元数据库非常方便,但我们的许多问题都需要 Python 和 r。

我们也知道,如果我们想提供最好的用户体验,我们需要自己使用它,这种做法叫做“狗食”。事实上,要理解 Workspace 的局限性和令人沮丧的地方,还有什么比我们自己使用它更好的方法呢?

出于这两个原因,我们设定了从 2022 年夏天开始将大部分分析从元数据库转移到工作空间的目标。

转变

当我们在 Workspace 中启动 SQL 单元时,这种转变就开始了。现在,我们能够查询我们在元数据库中访问的相同数据,但是查询结果立即转换成 Python 或 R DataFrame(取决于我们使用的工具)。我们可以很容易地在查询数据库和使用我们选择的工具分析结果之间切换。几周之内,我们将大部分现有查询从 Metabase 迁移到 Workspace。

截至撰写本文时,我们有 141 名不同的 DataCamp 用户在 Workspace 中花费了 30 分钟或更长时间。从图表中可以看出,这是一个稳定的进步!

DataCamp Workspace at DataCamp

我们不断招募新的数据营员加入 Workspace!

切换到 Workspace 的优势

自从切换到 Workspace 后,我们在日常工作中发现了几个关键优势:

  1. 完全可定制的可视化:虽然元数据库提供了许多可视化和可定制的属性,但可能性并不是无限的。使用 Workspace,我们的 SQL 查询结果将作为数据帧返回。这意味着我们可以使用 Python 库(如 Plotly)来创建带有注释、自定义主题和独特绘图类型的图表。

DataCamp Workspace Usage

我们通过访问内部数据在 Workspace 中创建了一个可视化示例。

  1. 高级分析:通过将 SQL 与 Python 或 R 相结合,我们可以使用 SQL 无法实现的技术即时分析我们的数据。这使我们能够对用户进行细分,并训练分类模型来预测用户在工作区内的工作方式。
  2. 描述性报告:仪表板对于熟悉产品的用户来说是非常好的。然而,对于新来的人或者团队之外的人来说,解释一个仪表板是有挑战性的。借助 Workspace,我们可以在整个报告中嵌入书面摘要,供相关利益相关方日后阅读。
  3. 可共享和社交出版物:共享已发布工作区链接的能力已经变得非常有价值。发布的分析最终会到我们的首席执行官和其他高管手中,然后他们会以评论和问题的形式添加反馈。结合已发布工作空间的描述性质,管理层可以在闲暇时通读分析工作,而无需面对面的简报。
  4. 无代码图表:大多数数据营员都有 SQL 技能,但并不是每个人都能熟练地使用 Python 或 r。图表单元格使不太懂技术的用户能够使用高质量的可视化工具交流他们的见解,而无需编写一行代码。

DataCamp Workspace Visual Cells

我们的无代码图表单元格在行动!

到目前为止我们所了解到的

截至 10 月中旬,DataCampers 已经在 Workspace 中累计工作了 4132 小时!我们现在已经将所有与季度目标和产品使用相关的集中报告迁移到 Workspace。以下是我们的主要经验总结,以及这些经验对工作空间产品的影响:

  1. 速度至关重要:工作区加载、代码执行或查询返回结果的等待时间比预期的要长,这很烦人。这种体验应该至少和在本地运行的 Jupyter 笔记本上工作一样快,甚至更快。我们的团队在减少笔记本和出版物加载时间方面取得了长足的进步。他们还努力确保代码执行与本地笔记本相当。
  2. 不是每个人都想看代码:过去,我们的出版物会包含充满复杂 SQL 查询和密集 Python 代码的大单元格。虽然这有助于同事们审查报告的技术方面,但它往往会妨碍对报告的真实见解。您可以通过切换到 Workspace 中的 JupyterLab 编辑器来隐藏单元格和出版物,但这并没有反映在 DataCamp 笔记本编辑器中。了解到这一点,我们已经发布了一种方法,可以毫不费力地在您的工作空间中隐藏代码和 SQL 单元格。这允许您确保一个漂亮的只读报告,您可以与任何利益相关者共享。我们的用户喜欢它。
  3. 重新运行笔记本电脑可能会令人沮丧:在我们的大部分跟踪中,我们严重依赖于用户数量、活动水平和功能采用情况的每日更新。与有新数据时刷新的动态控制面板不同,工作区每次都必须重新运行。根据我们自己的经验,我们计划支持工作区执行调度。这将确保报告始终包含最新的见解。

这些学习不包括自从我们切换到 Workspace 以来对编辑器所做的许多小调整。在内部和外部用户反馈的推动下,用户界面、仪表板和图表单元格等功能正在不断改进。

前进

虽然使用我们自己的产品的过程揭示了我们可以改进的许多方面,但我们知道这只是故事的一半。结合我们内部收到的反馈,我们的团队一直在努力采访 Workspace 用户。这些访谈补充了我们的发现,并帮助我们抓住内部测试中可能遗漏的内容。

我们还在 9 月下旬发起了一项用户调查,作为我们双周简讯的一部分。这项调查使我们能够从用户那里收集定量信息。这些结果有助于我们确定工作空间的高优先级计划,并了解我们的产品是如何使用的。当然,调查数据是用 Workspace 分析和可视化的!

DataCamp Workspace Use Cases

我们的用户报告使用 Workspace 的主要原因是为了快速试用代码示例。你如何使用 Workspace?

在接下来的几个月里,我们计划向工作区专属的分析环境更进一步。随着我们的工程团队对产品的每一项新功能和改进,这种过渡变得更加容易。

如果您对使用 Workspace 来满足您自己的内部数据分析和数据科学需求感兴趣,您可以在此阅读更多相关信息。或者更好的是,跳到一个空的 PythonR 工作区,现在就开始编码吧!

工作空间如何促进学习者的个人发展

原文:https://web.archive.org/web/20230101103145/https://www.datacamp.com/blog/how-workspace-empowers-learners-personal-development

在这篇博文中,我们采访了三位学习者,以了解使用 Workspace 如何让他们的学习之旅受益,并帮助他们提升职业前景。

完美的技能提升环境

Muhammad Salman 是新加坡的一名行为科学从业者,他一直使用 Datacamp 作为一种提高 r。

在出于对人工智能的兴趣开始使用 DataCamp 后,他意识到自己的兴趣与 r 更一致。使用 DataCamp,他做出了改变,并从今年年初开始勤奋练习,共完成了 15 门课程!

Muhammad 使用 Workspace 作为工具来继续他的学习之旅,并应用他新获得的数据技能。

理想的个人发展环境

edX 的产品经理 Nathan 在 2017 年初开始使用 DataCamp。当时,他将它作为发现 Python 和分析的一种手段,并完成了超过 15 门课程和数据科学职业生涯!

Workspace 发布后,他开始将它作为一个有双重目的的文件夹使用:首先,能够将他学到的所有东西联系起来作为实践,其次,建立一个学习者记录,记录他所有的课程和完成的工作,可以在他的个人资料中查看。他继续解释说,他的主要目标是创造一个他思考的产物——“我能做什么”和“我不能做什么”。

对于内森来说,工作空间的概念不仅仅是获取知识,而是保留和练习。这是他在纽约 Airbnb 上的工作空间出版物中看到的,该出版物基于来自 Kaggle 的数据集,鉴于他正在预订蜜月,它感觉离家很近。正是这些小事情让练习和应用你的技能变得更有价值。

Workspace 是我真正突破数据科学知识极限的理想工具。内森

Nathan 将于今年秋天在密歇根大学攻读应用数据科学硕士学位。他认可 DataCamp 帮助他被录取,我们迫不及待地想看到他将要完成的惊人的事情!

便捷的在线编码工具

Ray 一开始有制药背景,但目标是进入数据科学领域。为此,他报名参加了加州大学博尔德分校的研究生学位课程,开始了他的职业生涯。

Ray 主要使用 Workspace 作为工具,为职业发展目的构建他的投资组合。他利用自己的技能发表了大量见解,从对全球健康和财富的分析到掷骰子游戏。Ray 一直使用 Workspace 作为他练习和应用代码的首选工具。

Workspace 提供的独特价值主张,如无需安装的基于云的编码环境,是 Ray 最感兴趣的:

我最喜欢 Workspace 的一点是,我几乎可以在任何地方设置一点伪云...登录单点并继续(工作)。-雷

有兴趣了解 Workspace 如何改善您的学习之旅吗?立即开始使用工作空间

Workspace 如何帮助全球的学习者

原文:https://web.archive.org/web/20230101103202/https://www.datacamp.com/blog/how-workspace-is-enabling-learners-across-the-globe

我们与 DataCamp Workspace 用户坐下来,详细了解他们在使用该工具时的独特体验..谁会想到一个简单的浏览器内工具可以过渡到这样一个多功能的平台?请继续阅读,找出方法。

创建投资组合的理想工具

我们的第一站是理查德·帕朗约,他来自坦桑尼亚,目前居住在美国。在成功完成本科学位后,他现在希望从事数据科学和软件方面的职业。

通过他在 DataCamp 上的学习之旅,Richard 发现了 Workspace:“只要我能访问互联网,我想我会更喜欢使用 Workspace。”我们完全同意!Richard 总共有九份工作空间出版物,他用这些出版物为各种工作面试建立了一个文件夹。在他的一次采访中,他利用他的 DataCamp 档案分享了他广泛的投资组合。

“他们发现我的一个项目非常有趣,希望我在采访中谈谈这个项目。”理查德·帕朗约

数据可视化的机会

接下来,我们采访了生物物理学博士后豪尔赫·罗德里格斯·拉莫斯。在 Jorge 的学术界,最常用的编程语言通常是 MATLAB,但在最初发现 R 之后,他遇到了 Python,并且再也没有回头。

Jorge 是通过一个同事的推荐开始 DataCamp 的,最后完成了 14 门课程!。

在 DataCamp 上提升技能后,Jorge 利用 Workspace 来测试他的新发现。他使用 Workspace 创建简单但非常清晰的数据可视化,以便与同事分享,作为学术界仍经常使用的更传统的静态图的替代方案。Jorge 认识一些仍然使用 Fortran 90 和 77 来编码的人,所以通过使用 Workspace 来创建易读的可视化,他真的“走在了曲线的前面”

将新获得的数据技能付诸实践

最后,我们采访了桑杰,他是印度的一名预科生,在攻读数学和计算机专业的同时,他还是一名概率和统计领域的专家,从事自由职业。

他的朋友向他介绍了 DataCamp,他很快成为了技能和职业轨迹的粉丝:“导师们知识渊博,一切都以实践为导向——这太棒了。”他的朋友还提醒他,DataCamp 有一个名为 Workspace 的新产品,他随后开始探索这个产品。(我对此的两点看法?桑杰有好朋友。)

Sanjay 关于新冠肺炎数据的 Workspace 出版物基于 Kaggle 的数据集,并且完全是为了教授给他的学术任务而创建的。他开始在 Workspace 之外工作,并很快意识到 Workspace 会让他的生活轻松很多。他根据自己在 DataCamp 的学习成果创建了一份深度分析,发表了这些分析,并通过给他的教授发送一个链接提交了这些分析。

“我从 DataCamp 的技能跟踪和职业跟踪中学到了大部分信息。我在我的工作空间项目中运用了这些技能。”桑杰·恩。

下一步是什么?

Workspace 是您编写、运行和共享分析的一站式解决方案。有了这样一个灵活多样的工具,机会是无穷无尽的。

[信息图表]建设数据学院的 5 个最佳实践

原文:https://web.archive.org/web/20221210085053/https://www.datacamp.com/blog/infographic-5-best-practices-for-building-a-data-academy

随着组织试图在数据驱动的时代蓬勃发展,数据科学技能变得越来越需要。根据普华永道对 32,000 多名员工的调查,在对自动化和使用自动化系统的需求越来越关注的情况下,77%的员工正在寻找机会重新掌握数字和数据技能。

因此,组织正在建立内部数据科学技能学院,以提高数据流畅性,并将学习嵌入工作流程。该信息图将展示从面向企业客户的 DataCamp 中学到的构建数据学院的 5 个最佳实践。

Best Practices for Building a Data Academy_final.png

构建数据学院的 5 个最佳实践

1.将学习与变革成果联系起来

确保你的学习目标与你的业务目标一致,避免设定“基于技能”的结果。这将有助于您更好地衡量培训的影响,并确保高投资回报计划得到优先考虑。

| 基于技能的结果示例 | 转型成果示例 |
| 1000 个人需要用 Python 升级技能 | 通过提高一线员工在 Tableau 和 SQL 上的技能,减少发送给数据团队的传票 |
| 一线工人需要提升机器学习技能 | 利用时间序列分析技巧提高供应链计划的预测准确性 |

2.专注于推动参与度

学习者的参与和投入对于推动数据学院的采用至关重要。采用一种无摩擦的学习环境,戴上你的营销帽子,以最大化影响。以下是一些你可以采用的策略:

  • 在所有宣传材料中链接到您的数据学院主页
  • 启动内部播客
  • 制作学员证词视频
  • 开始月度最佳学员计划
  • 面向学员的专属活动和福利
  • 与内部专家一起启动午餐和学习计划
  • 确保您的学习资源适合从数据消费者到技术学习者的所有技能水平
  • 优先考虑让学习者应用技能的体验式学习经历

3.使用不同的学习方式

超越基于视频的学习,创建一个融合不同学习模式的学习生态系统。学习模式包括:

  • 在线课程:选择能够帮助从业者做好应用准备的供应商
  • 实践社区:创建一个学习者可以讨论他们学习历程的地方
  • 多模态学习:将播客、网络研讨会、白皮书、博客文章和信息图表作为学习者旅程的一部分
  • 混合学习:将自学和教师指导的学习相结合,扩展您自己的学习计划
  • 黑客马拉松&专家讲座:利用您组织的数据专家来进一步加强社区

4.创建个性化的学习路径

数据素养不是放之四海而皆准的技能。为组织内的不同角色创建个性化的学习路径。在本白皮书中了解有关数据角色的更多信息。

5.衡量你的培训的影响并重复

根据您在步骤 1 中定义的转型成果来衡量 data academy 的表现非常重要。以下是您可以采用的常用测量策略。

  • 评估:评估是了解学习者技能随时间演变的好方法
  • 采用:学习资源完成情况、从课程中获得的经验以及在平台上花费的时间都是衡量参与度的重要指标
  • 参与度和保持度指标:参与率和注册率,以及电子邮件参与度指标,可以让您对学员如何参与您的项目有一个清晰的印象。
  • 行为变化:衡量学习者如何与组织中的数据互动、对转型成果的影响以及学习者相对于非学习者的保留率是行为变化和投资回报率的重要指标

[信息图表]仪表板设计清单

原文:https://web.archive.org/web/20230101102817/https://www.datacamp.com/blog/infographic-dashboard-design-checklist

仪表板是分析过程中的一个关键组件,因为它们以易于理解的形式为各种利益相关者提供了信息的简要概述。仪表板的最终目标是帮助用户做出最佳决策,并利用这个不断增长的数据池。此清单包含设计以下仪表板时需要记住的关键信息。

dashboard_design_checklist_final.png

了解您的仪表板类型

有多种方法对仪表板进行分类。仪表板可以按其包含的详细程度或其目的是浏览还是解释数据来分类。

按详细程度划分的仪表板

  1. 战略仪表板:包含高级业务指标和长时间跨度(例如,过去 12 个月的财务表现),最适合高管和执行领导。
  2. 战术仪表板: 包含特定团队的详细业务指标。(例如,数字标记支出仪表板)。最适合团队领导或经理。
  3. 运营仪表板: 包含特定业务问题的详细信息(例如,客户服务票据仪表板)。最适合现场分析师。

按用例划分的仪表板

  1. 探索性仪表板:用于探索数据集,以生成供讨论或进一步分析的问题。通常用于探索性数据分析。
  2. 解释性仪表盘: 用于显示关键结果或见解。通常用作数据故事或演示的一部分。

了解你的受众

了解受众的需求是创建成功仪表板的关键。在设计下面的仪表板之前,这里有一些需要考虑的要求。要问的关键问题:

  1. 观众希望回答什么问题?
  2. 他们有多少技术知识?
  3. 他们多久看一次仪表盘?

在设计你的仪表板时,要考虑到叙事

通过设计叙述或流程,确保您的用户以正确的顺序查看仪表板部件。以下是在设计一个记叙文仪表板时的一些注意事项。

  1. 从顶部的高级指标和图表开始,然后让您的用户向下钻取更多的细节。
  2. 通过将仪表板拆分成窗格或选项卡来创建故事板。
  3. 用颜色和文字吸引观众的注意力

用文字和颜色引导你的观众

通过强调或不强调仪表板中的元素来集中观众的注意力。

强调

  • 鲜艳的颜色
  • 高光或低光
  • 大文本
  • 字体或斜体文本

去强调

  • 浅色或柔和的颜色
  • 没有背景颜色
  • 小型文本
  • 常规字体

减少认知负荷

通过减少您的受众为获得数据洞察力而必须进行的思考量,使仪表板更容易理解。以下是在减少认知负荷时需要考虑的一些问题。

  1. 在整个仪表板上重复相同的颜色、尺寸和其他设计元素。
  2. 折叠或隐藏部分仪表板,以最小化一次显示的内容。
  3. 删除或弱化边框、背景图像和其他不传达信息的元素。
  4. 选择文本足够大的易读字体,以提高可读性。
  5. 用足够有用的有效数字来格式化数字。
  6. 垂直排列元素—垂直滚动比水平滚动更自然。

选择您的仪表板布局

仪表板可以有多种布局,从单栏布局到多栏布局,甚至是报表布局。查看页面顶部的信息图,了解详细的概述。

为更复杂的可视化提供上下文

注释更复杂的可视化效果并为您的受众提供上下文可能会有所帮助。在为复杂的可视化提供上下文时,需要记住以下一些注意事项。

  1. 适用时,为清晰起见,标注轴和标题
  2. 围绕标题或副标题中的见解提供有用的上下文
  3. 如果适用,尝试用标签回答常见的观众问题
  4. 必要时标注重要的数据点
  5. 突出显示标签中的特定消息时,调整字体大小
  6. 并排绘制表格和可视化

[信息图]数据和机器学习工具前景

原文:https://web.archive.org/web/20221129033335/https://www.datacamp.com/blog/infographic-data-and-machine-learning-tools-landscape

数据科学和机器学习从未如此受欢迎。随着该领域的发展,今天从业者可以使用的整个工具范围也日趋成熟。

值得注意的是,出现了各种各样的新工具、初创公司和旨在解决从业者和组织所面临的具体问题的整个类别。在这张信息图中,我们概述了 2022 年数据科学和机器学习领域的工具前景。

The MLOps Tooling Landscape.png

点击上面的图片,获取该信息图的下载版本。

下面,您将看到上面信息图中提到的工具的详细概述。

数据管理

在过去几年中,工具状态的一个巨大进步是许多工具的出现,这些工具允许从业者更好地管理数据科学和机器学习工作流的数据。这些工具包括允许生成数据的合成数据生成工具、监视生产中的数据管道的数据可观察性工具、提供数据版本控制的数据版本化工具、让从业者编排工作流的数据管道化工具和编排工具、展示组织的消费数据的数据目录等等。

综合数据

数据可观察性

数据版本化

数据标记

数据流水线

数据编排

数据目录

端到端机器学习平台

机器学习平台正逐渐成为常态。这些平台提供了从功能处理到部署的端到端机器学习能力,某些工具提供了自动化机器学习和部署的能力。

建模

在数据科学生态系统中,有大量的工具,包括笔记本和 ide、数据分析包和软件、数据可视化、用于存储机器学习中使用的功能的功能存储、深度学习和机器学习库、超参数优化库、模型调试工具等。

笔记本和 ide

数据分析

数据可视化

功能商店

机器学习框架

深度学习框架

超参数优化

模型可解释性

模型调试

部署

过去两年见证了 MLOps 的兴起以及在生产中部署机器学习模型的重要性。这刺激了工具的发展和演变,允许从业者将模型打包到应用程序中,监控生产中的模型,大规模跟踪实验,并将模型应用到生产中。

模型包装

模型监控

实验跟踪

模型服务

[信息图表]数据清理清单

原文:https://web.archive.org/web/20220627024316/https://www.datacamp.com/blog/infographic-data-cleaning-checklist

数据清理占据了数据科学工作流程的 80%。这就是我们创建此清单的原因,以帮助您识别和解决数据的任何质量问题。如果你想了解更多关于清理数据的知识,请分别查看我们关于用 Python 和 R 清理数据的课程。

data cleaning checklist

点击上图 下载该信息图

数据约束问题

1.数据类型约束

  • 是什么:在开始分析之前,确保不同的列具有正确的数据类型。
  • 实例:一个revenue_usd列,它是一个字符串,而不是数字数据类型。
  • 可能的解决方案:转换成正确的数据类型

2.数据范围约束

  • 是什么:确保不同的列有正确的范围。对于有限制的列尤其如此。
  • 实例:一个gpa列应该被约束为[0.0,4.0]
  • 潜在解决方案:
    • 检查错别字,比如小数点在错误的位置。
    • 删除数据点违反范围约束的行
    • 将打破范围约束的数据点设置为最大值或最小值
    • 将违反范围约束的数据点视为缺失,并对其进行估算

3.唯一性约束

  • 是什么:确保您的行中没有完全相同或几乎完全相同的重复项。
  • 实例:一个重复的行,其中namephone_number列相同,但height_cm列不同
  • 潜在解决方案:
    • 仅保留一个完全相同的重复行
    • 合并具有不完全相同的重复行的行

文本和分类数据问题

1.分类数据的隶属约束

  • 什么是:确保分类列有正确和一致的类别
  • 实例:city列中有两个不同的“New York”条目
  • 潜在解决方案:
    • 删除受不一致类别影响的行
    • 将不一致的类别重新映射到正确的类别名称
    • 如果不清楚应该如何重新映射,则根据其他数据点推断类别

2.文本数据的长度冲突

  • 什么是:确保遵循特定标准的文本列具有相同的字符串长度
  • 实际例子:美国的phone_number列是 9 个字符而不是 14 个字符
  • 潜在解决方案:
    • 删除受长度冲突影响的行
    • 将受影响的观察设置为缺失

3.格式不一致的文本数据

  • 什么是:确保遵循特定标准的文本列具有相同的字符串长度
  • 实际例子:美国的phone_number列是 9 个字符而不是 14 个字符
  • 潜在解决方案:
    • 删除受长度冲突影响的行
    • 将受影响的观察设置为缺失

数据一致性问题

1.数字列的单位一致性

  • 是什么:确保数字列有相同的单位(所有观测值的温度都是摄氏度或华氏度。当连接来自不同国家或来源的数据集时,这一点尤其重要。)
  • 运行中的示例:以摄氏度为单位的温度列,它具有荒谬的高温或低温值
  • 潜在解决方案:
    • 删除没有出现单元上下文并且没有通过健全性检查的行
    • 尽可能使单位标准化

2.日期列的单位一致性

  • 是什么:确保日期列具有相同的日期时间格式
  • 实例: birthday列,其中dd-mm-yyyymm-dd-yyyy中有日期
  • 潜在解决方案:
    • 尽可能标准化日期时间格式
    • 删除没有出现日期时间格式的上下文并且没有通过健全性检查的行

3.数字列的跨字段验证

  • 什么是:跨字段验证是指我们在一个数据集中使用多个字段来确保另一个字段的有效性。例如,确保部分到全部的列相加得到相关的总数。
  • 实例:每个等级的航班预订量加起来就是记录的预订总量
  • 潜在解决方案:
    • 删除健全性检查失败的行
    • 在了解数据的基础上应用领域知识中的规则

4.日期列的跨字段验证

  • 是什么:确保日期和时间列通过完整性检查(例如,确保网上研讨会注册日期总是在网上研讨会出席日期之前)
  • 实例:age列不对应的date_of_birth
  • 潜在解决方案:
    • 删除健全性检查失败的行
    • 在了解数据的基础上应用领域知识中的规则

缺失数据问题

1.完全随机失踪

  • 是什么:当缺失值与数据集中的其他值之间没有系统关系时
  • 实例:数据集中缺失数据和其他值之间没有观察到的关系
  • 潜在解决方案:
    • 删除缺少的行
    • 使用中心性度量(如中位数或平均值)估算缺失行
    • 用基于算法和机器学习的方法估算缺失的行
    • 收集新的数据点和要素

2.随机缺失数据

  • 是什么:当缺失数据与其他观测值之间存在系统关系时
  • 实例:缺少特定地区的人口普查数据,因为邮政服务没有覆盖该地区
  • 潜在解决方案:
    • 删除缺少的行
    • 使用中心性度量(如中位数或平均值)估算缺失行
    • 用基于算法和机器学习的方法估算缺失的行
    • 收集新的数据点和要素

3.不随意丢失数据

  • 是什么:当缺失数据与其他未观测值之间存在系统关系时
  • 实例:由于温度过低或过高,传感器的温度读数丢失
  • 潜在解决方案:
    • 删除缺少的行
    • 使用中心性度量(如中位数或平均值)估算缺失行
    • 用基于算法和机器学习的方法估算缺失的行
    • 收集新的数据点和要素

[信息图]数据团队的剖析——不同的数据角色

原文:https://web.archive.org/web/20221129033335/https://www.datacamp.com/blog/infographic-the-anatomy-of-a-data-team-different-data-roles

数据科学和机器学习从未如此受欢迎。随着对数据角色需求的增长,从事数据职业的可能性是无限的。该信息图高度概括了数据团队中的不同数据角色、取得成功所需的不同技能、实现成功的提升途径等等。

The Anatomy of a Data Team

点击上面的图片,获取该信息图的下载版本。

数据消费者

数据消费者使用数据做出数据驱动的决策,并积极地与数据从业者进行明智的对话。

最常用的工具

可能的职位

数据消费者可以有各种各样的头衔。任何使用数据驱动洞察的人都属于数据消费者类别。可能的职位包括:

  • 首席营销官
  • 人力资源经理
  • 销售和业务发展主管

技能水平

初级技能水平

  • 了解数据科学家、机器学习科学家和数据工程师的工作
  • 知道哪些问题可以(和不可以)用数据来回答
  • 解释数据项目的结果,包括计算和可视化。

中级技能水平

  • 能够计算描述性统计数据
  • 可以绘制常见的数据可视化
  • 了解数据的业务应用

高级技能水平

  • 对商业智能的基础有着深刻的理解

技能提升路径

技能轨迹

课程

商业分析员

业务分析师负责将数据洞察与可提高盈利能力或效率的可操作结果联系起来。他们对业务领域有深入的了解,经常使用 SQL 和非编码工具来交流从数据中获得的见解。

最常用的工具

可能的职位

  • 商业分析员
  • 营销分析师
  • 数据分析师
  • 供应链分析师

技能水平

初级技能水平

  • 能够计算描述性统计数据。
  • 可以绘制常见的数据可视化。
  • 了解数据的业务应用。

中级技能水平

  • 对业务领域有深入的了解。
  • 能够使用数据进行报告和交流。

高级技能水平

  • 可以创建仪表板。
  • 组织数据以解决业务问题。

工资幅度

  • 根据 Glassdoor 的数据,美国商业分析师的平均年薪为 7.7 万美元,从 5.5 万美元到 10.8 万美元不等

技能提升路径

技能轨迹

职业轨迹

课程

数据分析师

与业务分析师类似,数据分析师负责分析数据,并根据他们的分析报告见解。他们对数据分析工作流有着深刻的理解,并通过结合使用编码和非编码工具来报告他们的见解。

最常用的工具

可能的职位

  • 商业分析员
  • 营销分析师
  • 数据分析师
  • 供应链分析师

技能水平

初级技能水平

  • 能够计算描述性统计数据。
  • 可以绘制常见的数据可视化。
  • 了解数据的业务应用。

中级技能水平

  • 执行数据分析工作流,包括导入、操作、清理、计算和报告业务数据
  • 对商业智能工具有很强的掌握

高级技能水平

  • 可以创建仪表板
  • 组织数据以解决业务问题

工资幅度

  • 根据 Glassdoor 的数据,美国数据分析师的平均年薪为 6.9 万美元,从 4.6 万美元到 10.6 万美元不等

技能提升路径

技能轨迹

职业轨迹

数据科学家

数据科学家调查、提取并报告组织数据中有意义的见解。他们将这些见解传达给非技术利益相关者,并对机器学习工作流以及如何将它们与业务应用联系起来有很好的理解。他们几乎只使用编码工具,进行分析,并且经常使用大数据工具

最常用的工具

可能的职位

  • 数据科学家
  • 分析工程师
  • 数据分析师
  • 营销数据科学家

技能水平

初级技能水平

  • 执行数据分析工作流,包括导入、操作、清理、计算和报告业务数据
  • 了解数据的业务应用

中级技能水平

  • 理解基本统计学,包括分布、建模和推理
  • 设计简单的实验,如 A/B 测试
  • 可以创建仪表板

高级技能水平

  • 将分析应用于金融、营销和医疗保健等业务应用
  • 了解有监督和无监督的机器学习工作流
  • 使用非标准数据类型,例如时间序列、文本、地理空间和图像。

工资幅度

  • 根据 Glassdoor 的数据,美国数据科学家的平均年薪为 11.7 万美元,从 8.2 万美元到 16.7 万美元不等

技能提升路径

职业轨迹

机器学习科学家

机器学习科学家设计和部署机器学习系统,这些系统根据组织的数据进行预测。他们解决诸如预测客户流失和终身价值等问题,并负责部署模型供组织使用。他们专门使用基于编码的工具。

最常用的工具

可能的职位

  • 数据科学家
  • 研究科学家
  • 机器学习工程师

技能水平

初级技能水平

  • 执行数据分析工作流,包括导入、操作、清理、计算和报告业务数据

中级技能水平

  • 执行监督和非监督的机器学习工作流,包括特征工程、训练模型、测试拟合优度、进行预测
  • 将分析应用于金融、营销和医疗保健等业务应用

高级技能水平

  • 执行深度学习工作流
  • 使用非标准数据类型,例如时间序列、文本、地理空间和图像
  • 在生产中部署机器学习模型

工资幅度

  • 根据 Glassdoor 的数据,美国机器学习科学家的平均年薪为 13.7 万美元,从 9.7 万美元到 19.4 万美元不等

技能提升路径

技能轨迹

职业轨迹

统计员

与数据科学家类似,统计学家从事高度严格的分析工作,包括设计和维护 A/B 测试和假设检验等实验。他们专注于量化不确定性,并展示需要极高严谨度的发现,如在金融或医疗保健领域

最常用的工具

可能的职位

  • 数据科学家
  • 推理数据科学家
  • 临床数据分析师

技能水平

初级技能水平

  • 执行数据分析工作流,包括导入、操作、清理、计算和报告业务数据
  • 了解数据的业务应用

中级技能水平

  • 执行统计建模工作流,包括特征工程、训练模型、测试拟合优度和推断重要性
  • 测试假设并设计简单的实验,如 A/B 测试

高级技能水平

  • 设计更复杂的实验并理解贝叶斯统计
  • 理解专家模型,如生存模型、广义加法模型、混合模型、结构方程模型

工资幅度

  • 根据 Glassdoor 的数据,美国统计人员的平均年薪是 8.8 万美元,从 6.1 万美元到 13.1 万美元不等

技能提升路径

技能轨迹

职业轨迹

方案

程序员是在数据团队中工作的高度技术性的个人,当访问和使用组织的数据时,致力于自动化重复的任务。他们弥合了传统软件工程和数据科学之间的差距,并对大规模部署和共享代码有着透彻的理解。

最常用的工具

可能的职位

  • 软件工程师
  • 数据科学家
  • 开发运营工程师

技能水平

初级技能水平

  • 编写函数以避免重复代码
  • 基准测试和优化代码以提高性能

中级技能水平

  • 开发测试代码的最佳实践
  • 使用 web APIs
  • 开发用于共享代码的包

高级技能水平

  • 开发数据管道并使用并行编程
  • 理解编程范例,例如函数式编程和面向对象编程

工资幅度

  • 根据 Glassdoor 的数据,美国程序员(软件工程师)的平均年薪为 10.8 万美元,从 7.3 万美元到 16 万美元不等

技能提升路径

课程

职业轨迹

数据工程师

数据工程师负责将正确的数据送到正确的人手中。他们创建并维护基础设施和数据管道,这些管道将来自不同来源的万亿字节的原始数据放入一个集中的位置,为组织提供干净、相关的数据。

最常用的工具

可能的职位

  • 数据工程师
  • 软件工程师
  • 开发运营工程师

技能水平

初级技能水平

  • 高效地提取、转换和加载数据

中级技能水平

  • 使用命令行处理数据和自动化数据流
  • 在云端处理数据
  • 管理、优化和处理大数据集和大数据库

高级技能水平

  • 开发数据管道并使用并行编程
  • 理解编程范例,例如函数式编程和面向对象编程

工资幅度

  • 根据 Glassdoor 的数据,美国数据工程师的平均年薪为 11.2 万美元,从 7.6 万美元到 16.6 万美元不等

技能提升路径

职业轨迹

技能轨迹

推动数据转型、提升技能和构建数据文化的见解、趋势和最佳实践

原文:https://web.archive.org/web/20230101103145/https://www.datacamp.com/blog/insights-trends-and-best-practices-in-driving-data-transformation-upskilling-and-building-data-cultures

每个组织都在努力成为数据驱动型组织。要做到这一点,您需要用最新的见解和趋势来武装自己,了解如何构建数据转换计划,在团队中扩展数据素养,以及构建可持续的数据文化。在过去的一年中,我们发布了各种网络研讨会和白皮书,其中包含了在创建数据驱动型组织方面开拓创新的行业思想领袖的见解。

网络研讨会

在您的组织中扩展数据科学(第 1 部分第 2 部分第 3 部分)

在这个由 3 部分组成的网络研讨会系列中,DataCamp 产品研究副总裁 Ramnath Vaidyanathan 概述了我们的专有 IPTOP 框架(基础设施、人员、工具、组织和流程)以成为数据驱动型组织。第 1 部分提供了框架所有元素的概述,第 2 部分深入探讨了基础设施和工具,第 3 部分深入探讨了人员、组织模型和流程。所有这些网络研讨会都不需要电子邮件注册,页面上有精彩的花絮和文字记录。

用数据素养弥合沟通鸿沟

在本次网络研讨会中,彭博的数据素养冠军和高级风险架构师 Marc Wintjen 讨论了数据素养如何使各种技术技能的团队更好地协作,并挖掘数据背后的原因。他还提供了关于何时和哪些数据可视化提供了最多见解,以及如何在这个过程中成为一个熟练的数据故事讲述者的令人敬畏的见解。这个网上研讨会不需要电子邮件注册,文字稿中嵌入了一系列令人惊叹的可视化内容。

构建数据文化

在本次网络研讨会中,安联比荷卢经济联盟的区域首席数据和分析官讨论了将大型企业转变为数据驱动型企业的来龙去脉。提出的主要论点是,成为数据驱动不仅仅是一项技术投资,它还需要一个文化转型计划。该网络研讨会提供了大量的见解和经验,其他数据领导者可以将其应用于自己的组织,特别是关于如何运营数据技能学院。这个网上研讨会不需要电子邮件注册,文字稿中嵌入了大量的可视化、电影参考和示例。

讲述更有影响力的数据科学

没有适当的打包和呈现,就没有数据洞察力。这就是为什么数据故事正在成为区分创造影响的数据团队和其工作未被采纳的团队的关键能力。在本次网络研讨会中,Deloitte Gert de Geyter 的 ML Lead 和 Deloitte Bhavya Dwivedi 的数据科学家讨论了通过引人注目的可视化和叙述技巧来提供优秀数据故事的来龙去脉。这个网上研讨会不需要电子邮件注册,文字记录中嵌入了一系列令人惊叹的可视化和案例研究。

数据治理如何实现可扩展的数据科学

如果数据不可信,就不会被使用,而数据治理是在组织范围内建立数据信任的方法。在本次网络研讨会中,微软庄文希·斯塔伯菲尔德的高级数据科学家概述了如何在组织内建立数据治理计划,以及数据素养在为成功的数据治理计划创建公共数据语言时所扮演的角色。本次网上研讨会不需要电子邮件注册,文本中嵌入了各种各样的可视化和案例研究。

利用商业智能充分利用您组织的数据

不是每个人都需要在数据驱动的组织中编码,但这并不意味着你的人不能利用大量的数据洞察力。在本次网络研讨会中,DataCamp 的高级课程经理 Carl Rosseel 概述了商业智能在实现大规模数据驱动决策中的作用。更具体地说,他概述了业务分析师和数据分析师如何成为数据驱动型组织的支柱,以及 BI like Tableau 和 Power BI 工具如何加速他们的工作流。本次网络研讨会不需要电子邮件注册,并且在文本中有各种各样的可视化效果和仪表板示例。

实现数据流畅的途径

上述扩展数据科学网络研讨会系列出色地概述了向数据驱动型组织转型时的增长杠杆。然而,你应该优先考虑哪个杠杆,什么时候?这就是数据成熟度的用武之地。并非所有组织都生来平等,也没有组织在数据成熟度谱上处于同一位置。这就是为什么在本次网络研讨会中,我们根据不同的成熟度等级,概述了您在基础设施、人员、工具、组织和流程方面应该采取的不同步骤。本次网络研讨会不需要电子邮件注册,并且在文本中有各种各样的可视化效果和仪表板示例。

Panel: L & D 为数据驱动时代

对于要成为数据驱动的组织,他们需要提高他们的数据素养。在与来自彭博和 NatWest 的学习和发展领导者的小组讨论中,我们讨论了他们如何通过有针对性的技能提升计划来提高组织的数据素养,并概述了他们构建学习文化的最佳实践。

MLOps 实用指南

新冠肺炎证明了在生产中监控模型的数据漂移以及确保可扩展的方法和途径以减少从实验到部署的时间的重要性。这就是 MLOps 的用武之地。在本次网络研讨会中,Noah Gift 概述了 MLOps 的重要性及其对数据团队日益增长的重要性,并展示了 AWS 中部署 ML 模型的简单工作流程。

数据科学如何改变医疗保健

医疗保健是数据最密集的行业之一,这意味着数据科学有巨大的潜力来改变这一领域。除了为医疗保健组织提供加速实现价值的能力,以及提供为消费者创造价值的新方法之外,医疗保健领域的数据科学还有可能拯救成千上万人的生命。然而,如果没有懂数据的医疗保健人员,这是不可能的。在本次网络研讨会中,我们概述了数据科学如何改变制药、患者护理、保险等行业的医疗保健。然后概述该领域的组织如何变得更懂数据。

发展人工智能文化国家

世界各国都在推出人工智能战略,目的是成为第四次工业革命的领导者。其中的一个关键部分是让今天的劳动力具备明天成功所需的技能。在这次炉边谈话中,我们与人工智能新加坡公司人工智能创新总监 Laurence Liew 和人工智能新加坡公司人工智能创新高级副总监 Koo Sengmeng 讨论了他们如何启动一项覆盖社会各阶层的大规模全国性人工智能提升计划。

使政府机构的数据民主化

就像私营部门一样,政府机构可以通过民主化数据科学获得巨大收益。在本次网络研讨会中,新南威尔士州政府的 Senio 数据科学家 Alex Scriven 讨论了数据访问和技能的民主化如何使政府机构能够以更少的资源做更多、更快的事情。

白皮书

贵组织的数据成熟度指南

并非所有组织都生来平等,也没有组织在数据成熟度谱上处于同一位置。这就是为什么在本白皮书中,我们概述了组织经历的不同成熟度阶段,并讨论了您应该根据不同的成熟度级别在基础架构、人员、工具、组织和流程方面采取的不同步骤。

来自数据领导者的见解

在 70 多集的课程中,DataFramed 已经接待了行业思想领袖,涵盖了行业中的数据科学、创建数据文化、组织数据团队、创造影响等等。在这份白皮书中,您可以找到过去一年中我们最喜爱的剧集的精华见解。您将听到来自数据创业公司 CEO、企业和政府 CDO、数据领导者的广泛话题。

L&D 领导人正着手实施过去几十年来最大的技能提升计划。数据流畅性是组织在未来几年希望培养的最重要的技能。在本白皮书中,我们提供了一本无术语指南,概述了数据科学中的八个学习者角色及其需要了解的内容,描述了数据专业人员需要了解的所有工具,

用于数据科学的中级 Python:Matplotlib

原文:https://web.archive.org/web/20230101103415/https://www.datacamp.com/blog/intermediate-python-for-data-science-matplotlib

课程摘录:面向数据科学的中级 Python-Matplotlib

下面是摘自数据科学中级 Python 课程第一章的视频和文字记录。这里的是全章,包括互动练习。

使用 matplotlib 的基本绘图

https://web.archive.org/web/20220817160401if_/https://www.youtube.com/embed/SiCyTcudoSE

大家好,我叫菲利普,是 DataCamp 的一名数据科学家。在这个中级 Python 课程中,您将进一步提高数据科学的 Python 技能。您将学习如何可视化数据和在新的数据结构中存储数据。在这个过程中,您将掌握控制结构,您将需要这些结构来定制您的脚本和算法的流程。我们将以一个案例研究来结束这一章,在这个案例中,你将把你所学到的一切融合在一起,来解决一个很酷的问题。

这第一章是关于数据可视化,这是数据分析非常重要的一部分。首先,您将持续使用它来探索您的数据集。你对数据理解得越好,你就能更好地获得洞察力。一旦你发现了这些洞见,同样,你将需要视觉化来与其他人分享你宝贵的洞见。举个例子,看看这幅美丽的图。

它是由瑞典教授汉斯·罗斯林制造的。他关于全球发展的演讲已经被观看了数百万次。让它们如此吸引人的是,通过制作美丽的情节,他让数据讲述它们自己的故事。这里我们看到一个气泡图,每个气泡代表一个国家。泡沫越大,这个国家的人口就越多,所以这里最大的两个泡沫是中国和印度。

有两个轴。横轴显示以美元计的人均国内生产总值。纵轴显示预期寿命。我们清楚地看到,在人均 GDP 较高的国家,人们寿命更长。尽管如此,收入水平相同的国家之间的预期寿命仍存在巨大差异。

为什么我要告诉你这些?嗯,因为到这一章结束的时候,你就能自己构建这个美丽的情节了。

Python 中有许多可视化包,但它们的鼻祖是matplotlib。您将需要它的子包pyplot。按照惯例,这个子包是作为plt导入的,就像这样。

对于我们的第一个例子,让我们试着了解一下世界人口的演变。我这里有一个年的列表,和一个相应人口的列表,以十亿为单位,pop。例如,在 1970 年,37 亿人生活在地球上。

为了将这些数据绘制成折线图,我们调用 plt.plot()并使用我们的两个列表作为参数。第一个参数对应于水平轴,第二个对应于垂直轴。你可能认为现在会弹出一个情节,但是 Python 非常懒惰。它将等待**show()**函数实际显示图形。这是因为在实际显示之前,您可能希望向绘图添加一些额外的成分,例如标题和标签定制。我稍后会再谈及此事。只要记住这一点:**plot()** 函数告诉 Python 要绘制什么以及如何绘制。**show()**实际显示情节。

当我们看我们的图时,我们看到横轴显示的是年份,纵轴显示的是人口数量。有四个数据点,Python 在它们之间画了一条线。1950 年,世界人口约为 25 亿。2010 年在 70 亿左右。因此,世界人口在 60 年里几乎增加了两倍,这相当可怕。如果人口继续这样增长会怎么样?世界会变得人口过剩吗?你会在练习中发现的。

让我先给你介绍另一种类型的图:散点图。要创建它,我们可以从之前的代码开始。不过,这一次,您将绘图函数改为散点图。生成的散点图简单地绘制了所有单个数据点;Python 不是用一条线把点连接起来。对于许多应用程序,散点图通常是比折线图更好的选择,所以请记住这个散点图函数。你也可以说这是一种更诚实的绘制数据的方式,因为你可以清楚地看到这个图仅仅基于四个数据点。

现在我们已经了解了matplotlib的基础知识,该轮到你构建一些令人敬畏的情节了!

 # define a simple function
import matplotlib.pyplot as plt
year = [1950, 1970, 1990, 2010]
pop = [2.519, 3.692, 5.263, 6.972]
plt.plot(year, pop)
plt.show()

import matplotlib.pyplot as plt
year = [1950, 1970, 1990, 2010]
pop = [2.519, 3.692, 5.263, 6.972]
plt.scatter(year, pop)
plt.show() 

直方图

https://web.archive.org/web/20220817160401if_/https://www.youtube.com/embed/Pqu8md5rt-k

在这个视频中,我将介绍直方图。直方图是一种非常有助于探索数据的可视化形式。它可以帮助你了解变量的分布。为了了解它是如何工作的,想象一下 0 到 6 之间的 12 个值。我把它们放在这里的数字线上。要构建这些值的直方图,您可以将线分成相等的块,称为条块。假设你有 3 个箱子,每个箱子的宽度为 2。接下来,计算每个箱中有多少个数据点。第一个箱中有 4 个数据点,第二个箱中有 6 个数据点,第三个箱中有 2 个数据点。最后,为每个箱子画一条横线。条形的高度对应于落在该条柱中的数据点的数量。结果是一个直方图,它给我们一个关于 12 个值如何分布的很好的概述。大多数值都在中间,但是低于 2 的值比高于 4 的值多。

当然,matplotlib也能够构建直方图。和以前一样,你应该从导入matplotlib里面的pyplot包开始。接下来,您可以使用**hist()**功能。让我们打开它的文档。你可以指定很多参数,但这里的前两个是最重要的。x应该是您要建立直方图的数值列表。您可以使用第二个参数bins来告诉 Python 应该将数据分成多少个箱。基于这个数字,**hist()**将自动为所有的容器找到合适的边界,并计算每个容器中有多少个值。如果不指定bins参数,它将默认为 10。

因此,要生成您之前看到的直方图,让我们首先构建一个包含 12 个值的列表。接下来,您只需调用**hist()** 并将这个列表作为输入传递,因此它与参数x匹配。我还将bins参数指定为 3,这样这些值就被分成三个部分。如果您最终调用 show 函数,就会得到一个漂亮的直方图。直方图对于给出一个更大的图像非常有用。举个例子,看看这个所谓的人口金字塔。显示了欧洲联盟男性和女性的年龄分布。请注意,直方图翻转了 90 度;箱子现在是水平的。40 至 44 岁年龄组的人数最多,其中有 2000 万男性和 2000 万女性。他们就是所谓的婴儿潮一代。

这些是 2010 年的数据。你认为 2050 年会发生什么变化?让我们看一看。分布更加平坦,婴儿潮一代已经变老。眨眼间,你就可以很容易地看到人口统计将如何随着时间的推移而变化。这就是直方图在这里发挥作用的真正力量!现在开始练习,亲自用直方图做实验!

 values = [0,0.6,1.4,1.6,2.2,2.5,2.6,3.2,3.5,3.9,4.2,6]
import matplotlib.pyplot as plt
plt.hist(values,bins=3)
plt.show() 

用户化

https://web.archive.org/web/20220817160401if_/https://www.youtube.com/embed/aS4WlOJQ4mQ

创造情节是一回事。制作正确的情节,使信息非常清晰,是真正的挑战。对于每个可视化,您有许多选择。首先,有不同的情节类型。对于每个地块,您可以进行无限数量的定制。您可以更改颜色、形状、标签、轴等。选择取决于,第一,数据,第二,你想用这些数据讲述的故事。因为有这么多可能的定制,最好的学习方法是通过例子。

让我们从这个脚本中的代码开始,构建一个简单的线图。它类似于我们在第一个视频中创建的线图,但这一次年度和流行列表包含更多数据,包括联合国预测的 2100 年前的预测。如果我们运行这个脚本,我们已经得到了一个非常好的图:它显示了正在发生的人口爆炸,将在本世纪末放缓。

但是有些东西是可以改进的。首先,我们应该更清楚地显示哪些数据,尤其是对于第一次看到图表的人。第二,这个情节确实需要引起人们对人口爆炸的注意。你需要做的第一件事就是给你的坐标轴贴上标签。让我们通过添加xlabel ()ylabel () 函数来实现这一点。作为输入,我们传递应该放在轴旁边的字符串。确保在调用**show()**方法之前调用这些函数,否则您的定制将不会显示。如果我们再次运行脚本,这一次轴被注释。我们还将使用标题功能为我们的图添加一个标题。我们通过实际的标题,“世界人口预测”,作为一个论点。还有就是标题!

因此,使用xlabelylabel、和title,我们可以给读者更多关于图中数据的信息:现在他们至少可以说出图是关于什么的。为了正确看待人口增长,我想让 y 轴从零开始。您可以使用**yticks ()** 功能来完成此操作。第一个输入是一个列表,在这个例子中,数字从 0 到 10,间隔为 2。如果我们运行这个,图将会改变:曲线上移。很明显,在 1950 年,这个星球上已经有大约 25 亿人了。

接下来,为了清楚地表明我们在谈论十亿,我们可以向yticks()函数添加第二个参数,这是一个包含刻度显示名称的列表。该列表应该与第一个列表的长度相同。滴答 0 得到名称 0,滴答 2 得到名称 2B,滴答 4 得到名称 4B,以此类推。顺便说一下,B 在这里代表十亿。如果我们运行这个版本的脚本,标签会相应地改变,太好了。

最后,让我们添加一些历史数据来强调过去 60 年的人口爆炸。在维基百科上,我找到了 1800 年、1850 年和 1900 年的世界人口数据。我可以把它们写成列表的形式,用加号把它们添加到列表popyear中。如果我现在再次运行脚本,三个数据点被添加到图形中,给出了一个更完整的图像。现在,这就是你如何把一个普通的线条图变成一个有清晰故事可讲的视觉效果!现在交给你了。开始练习,逐步定制世界发展图,成为下一个汉斯·罗斯林!

 import matplotlib.pyplot as plt
import pandas as pd
year = list(range(1950, 2101))
pop = [2.53,2.57,2.62,2.67,2.71,2.76,2.81,2.86,2.92,2.97,3.03,3.08,3.14,3.2,3.26,3.33,3.4,3.47,3.54,3.62,3.69,3.77,3.84,3.92,4.,4.07,4.15,4.22,4.3,4.37,4.45,4.53,4.61,4.69,4.78,4.86,4.95,5.05,5.14,5.23,5.32,5.41,5.49,5.58,5.66,5.74,5.82,5.9,5.98,6.05,6.13,6.2,6.28,6.36,6.44,6.51,6.59,6.67,6.75,6.83,6.92,7.,7.08,7.16,7.24,7.32,7.4,7.48,7.56,7.64,7.72,7.79,7.87,7.94,8.01,8.08,8.15,8.22,8.29,8.36,8.42,8.49,8.56,8.62,8.68,8.74,8.8,8.86,8.92,8.98,9.04,9.09,9.15,9.2,9.26,9.31,9.36,9.41,9.46,9.5,9.55,9.6,9.64,9.68,9.73,9.77,9.81,9.85,9.88,9.92,9.96,9.99,10.03,10.06,10.09,10.13,10.16,10.19,10.22,10.25,10.28,10.31,10.33,10.36,10.38,10.41,10.43,10.46,10.48,10.5,10.52,10.55,10.57,10.59,10.61,10.63,10.65,10.66,10.68,10.7,10.72,10.73,10.75,10.77,10.78,10.79,10.81,10.82,10.83,10.84,10.85]
pop = [1,1.262,1.650] + pop
year = [1800,1850,1900] + year
plt.plot(year, pop)
plt.xlabel('Year')
plt.ylabel('Population')
plt.title('World Population Projections')
plt.yticks([0,2,4,6,8,10],['0','2B','4B','6B','8B','10B'])
plt.show() 

介绍 DataCamp 竞赛!

原文:https://web.archive.org/web/20230101103145/https://www.datacamp.com/blog/introducing-datacamp-competitions

我们为什么要发起数据科学竞赛?

我们创办了 DataCamp,通过边做边学来帮助每个人培养数据技能。我们不断创新,让学习者更容易从学习到运用技能解决现实世界的挑战。例如,我们已经创建了 80 多个不同的项目,我们已经推出了浏览器内工具工作区,并且我们已经设计了两个认证评估,这两个评估基于学习者应用他们所学知识的能力。

我们现在很高兴地宣布启动数据科学竞赛,在比赛中,您将根据数据集和问题陈述进行分析。这种数据分析将在工作空间笔记本中执行和呈现,然后将通过 upvote 系统和经验丰富的数据科学家小组进行评估。从今天开始,将会有丰厚的奖品等着您去赢取,这将会是一件经常发生的事情!

首届 DataCamp 数据科学大赛是什么?

我们的第一次数据科学竞赛“为一家饮料公司设计促销策略”现已开始,如果你很好奇,可以去看看。

在这个挑战中,你需要根据俄罗斯各地区以前的促销和历史酒精消费数据,为一家饮料公司创建促销建议。

参加数据营比赛对你的职业生涯有什么帮助?

DataCamp 竞赛旨在帮助用户获得真实世界的数据科学经验,类似于数据分析师在工作场所通常会遇到的情况。所有学习者都可以通过参与来加强他们的数据科学经验和编码技能,并有机会建立一个强大的作品集,其内容将作为评判过程的一部分得到一个向上投票的分数。此外,非参与者将有机会通过看到其他人如何找到复杂数据问题的创造性解决方案,从提交的出版物中学习。

需要什么样的比赛

每周,我们的团队都会根据真实世界的数据集和问题陈述发起新的挑战。一旦竞赛启动,学习者有两周时间完成分析,并使用我们的在线数据科学笔记本 Workspace 发布分析结果。

一旦你提交了你的分析,你就可以在你的社交媒体上和你的朋友分享你的出版物来获得投票。这也将使他们能够在更广泛的公众投票开始之前,尽早投赞成票。

提交截止日期后,评审过程开始。这一步是双重的:

  • 数据营学习者和其他数据科学爱好者给出版物投票,最受欢迎的将由评委评审。
  • 评委们将在接下来的一周评估这些出版物,并从中选出他们自己的前五名。

在“为一家饮料公司设计促销策略”的案例中:

  • 提交将于 2021 年 10 月 31 日下午 11:59 PT 结束,投票将于 11 月 1 日开始。在这一天,所有 workspace 笔记本出版物都将开放给更广泛的公众投票,您将能够投票支持您最喜爱的出版物,以增加其获奖的机会。
  • 投票将于 11 月 7 日结束。
  • 评委将确定 5 名获胜者,然后在 11 月 12 日宣布。

什么技能水平的数据营比赛?

数据营竞赛是开放式的挑战,旨在测试您的分析、讲故事和可视化技能。作为建议,我们建议您完成与您将在分析中使用的工具相关的技能课程。DataCamp 竞赛在某些方面类似于 Kaggle,尽管它们将更加关注现实世界的分析,因此更容易获得更广泛的受众。

接下来还有什么?

如果你还没有,一定要关注脸书、Twitter、LinkedIn 和 Instagram 上的 DataCamp,每周我们都会宣布新比赛的启动和主题!

好奇?您可以在这里了解有关我们的数据科学竞赛的更多信息,如果您想要一些灵感,您可以查看我们的工作空间竞赛的获奖出版物。

推出 DataCamp 无限计划

原文:https://web.archive.org/web/20221212135909/https://www.datacamp.com/blog/introducing-datacamp-unlimited-plan

在 DataCamp,我们的使命是为每个人普及数据技能。

多年来,我们观察到高管一直低估内部对数据技能培训的需求。同样,我们也看到员工,无论是数据专家还是数据消费者,都表达了对学习资源的需求和渴望。无论是希望磨练新兴技术技能的数据专业人员,还是希望培养数据能力的非专家,都明显需要这种数据流畅性。

不幸的是,几乎每个在线教育提供商所采用的典型的基于座位的标准模型危及了数据教育计划。它为员工提供了不平等的数据培训机会,限制了组织全面培养数据技能的能力。

这些观察要求我们按照我们的使命行动。

在数据流畅的时代,数据技能的民主化意味着每个组织,无论规模大小,都应该接受培训。因此,我们提出了 DataCamp Unlimited,这是一个经济高效的计划,我们已经在一些客户中进行了测试。

DataCamp Unlimited 为各种规模的企业客户提供了在其整个运营过程中使用 DataCamp 学习平台的机会。我们提供可预测的固定年费,没有隐藏费用,没有使用或座位限制,消除了典型的基于座位的许可证计划的摩擦和管理负担。

在试验过程中,我们看到参与度比预期惊人地增长了 4 倍。特别是,一位客户在短短几个月内帮助 10,000 多名员工开始了他们的数据流畅之旅。这一转变极大地提高了组织利用数据洞察力、进行数据驱动的决策以及利用新方法来理解和使用数据的能力。

今天,我们很高兴向所有企业客户推出 DataCamp Unlimited。

对数据流畅性的需求

在过去的十年里,商业世界发生了巨大的变化。

每个行业的组织都开始生成大量数据。那些能够利用这些数据的人已经获得了突破性的洞察力和相当大的竞争优势。

这种向数据导向型企业的转变将我们带入了一个新时代:

数据流畅的时代

当商业世界转变时会发生什么?以前的专业技能一夜之间变成了赌注。突然间,几乎每个人都需要这些技能来保持相关性,无论是专业人士还是组织。

如果我们回到 40 年前,计算机改变了我们的生活和工作方式。对所有专业人士来说,计算机知识变得至关重要,不仅仅是在 IT 领域,在金融、人力资源、市场营销等领域也是如此。

二十年后,互联网和软件做了同样的事情;互联网和软件素养成为所有员工的必备技能,而不仅仅是电脑极客。

今天,我们看到数据流畅性是新的必备技能。它不再仅仅是数据科学家和专家所需要的;也是数据洞察的消费者和所有希望以数据驱动的方式做出决策的人的需求。这种需求意味着每个人都需要获得这些技能的机会,就像每个人都有机会学习如何使用电脑、浏览互联网或发送电子邮件一样。

Data fluency shift

DataCamp 无限计划:适合所有企业

DataCamp 无限制计划允许各种规模的企业客户无限制地使用 DataCamp 学习平台及其所有功能,以提高数据流畅性。与座位计划不同,它的价格是固定的,每年的费用是可预测的,没有隐藏的费用。

如今,几乎每个数据领导者,以及 L&D 的部门和执行团队,都在思考如何最好地为他们的团队配备必要的数据工具和技能,为数据流畅时代做好准备。

因此,从现在开始,DataCamp 将为其企业客户提供 DataCamp 无限计划的选项,作为基于座位的计划的替代方案。

这个 DataCamp 无限计划允许我们的客户在整个组织中最大限度地访问和使用 DataCamp 学习平台。凭借可预测的固定年费、无隐藏费用、无使用或席位限制,我们消除了典型的基于席位的许可计划的摩擦和管理负担。

DC Unlimited Plan Infographic.jpg

我们的无限计划价格并不仅限于最大的财富 100 强公司。作为一家拥有 200 名员工的公司,我们希望所有规模的公司都可以访问它。因此,我们为不同规模的公司提供不同的定价方案。如果你想了解更多,请联系我们。

因此,如果你是一个希望提升员工技能的企业组织,DataCamp Unlimited 可能是合适的。比较我们的计划并从今天开始。

为什么选择 DataCamp Unlimited?

自从推出我们的无限计划以来,我们的早期企业采用者已经看到试用 DataCamp 的员工数量呈指数级增长。不仅如此,实际的学习也增加了——一些客户看到的内容量是原来的 5 倍。

无限计划的客户可以访问我们的完全交互式数据课程,该课程涵盖了在当前数据优先的世界中取得成功的所有必要概念。这意味着 1000 多个小时的现有技术和主题(R、SQL、Python、PowerBI、Tableau、数据工程、数据素养等)的学习材料,以及 Julia、人工智能和气流等新兴技术和趋势。

Content Areas and Themes

此外,由于没有使用或座位限制,我们消除了通常在基于座位的模型中分发许可证带来的管理负担。

立即联系我们,了解这将如何为您的团队和组织服务

立即开始您的数据流畅之旅

我们不仅仅想成为技术供应商;我们希望成为您数据流畅之旅的合作伙伴。

入职并培训数百人的大型团队绝非易事。因此,当您选择 DataCamps Unlimited 时,您将拥有一整个专家团队作为您的后盾。

  1. 您将获得一名专门的客户成功经理,他将为您提供资源和指导,帮助您开始学习计划。他们将帮助您设置学习任务、目标和时间表,审查您的学习计划的投资回报率,并帮助您建立 SSO & LMS 集成。
  2. 您还可以访问我们的数据学习专家团队,创建量身定制的入职计划和定制学习路径,并获得专家培训建议,以满足您的数据技能培养目标。

除了我们的专家团队提供的指导和支持,每位无限计划客户还可以访问我们的全部企业功能- LMS 集成、技能测量功能、定制学习跟踪、作业、单点登录和高级报告工具。

引入新的助理认证

原文:https://web.archive.org/web/20221129035725/https://www.datacamp.com/blog/introducing-new-associate-certifications

什么是助理认证?

认证项目通常提供不同级别的认证,可分为助理或基础、专业、专家或硕士。这些级别提供了更多的灵活性,允许你在职业生涯的不同阶段证明你的知识和能力。

去年,DataCamp 推出了专业认证,衡量一至两年专业数据经验后的技能水平。现在,我们很高兴地宣布增加了助理认证,这将使你们中刚刚起步的人获得第一个官方数据认证。

数据分析师和数据科学家助理认证是与行业专家合作开发的,这些专家在许多不同行业的数据职位招聘方面拥有丰富的经验。

助理认证与专业认证有何不同?

助理认证衡量数据特定领域的入门级能力,如数据管理、探索性分析、统计实验、建模、数据科学编程和数据通信。

黄色=协理员等级胜任力。 蓝色=专业等级胜任力。

对于数据分析师助理,认证要求只有一次考试和案例研究,对于两个助理认证,案例研究要求只涉及书面报告,而不是专业认证所需的录音演示。

数据分析师助理认证衡量 SQL 和数据可视化技能。

我如何开始助理认证?

很容易上手!前往新的 DataCamp 认证仪表板 ,查看数据分析师或数据科学家助理认证的要求。在那里,你可以找到一个可以在 DataCamp 上学习的课程列表,以帮助你做好准备。一旦你为认证做好准备,你将注册开始第一次考试。

此外,当您获得助理认证时,只要您准备好了,就可以跳过第一个考试要求,快速进入专业认证。 今天领证

向 DataCamp 认证学员介绍我们的专属社区

原文:https://web.archive.org/web/20220627024316/https://www.datacamp.com/blog/introducing-our-exclusive-community-for-datacamp-certified-learners

DataCamp 为所有通过我们的认证计划成为认证数据科学家或数据分析师的学员推出了一个专属社区平台。除了访问职业服务团队,这些学员现在还可以访问【DC】认证社区,在这里他们可以与其他认证学员联系,访问独家内容和活动,并充分利用他们新获得的技能。

作为 DC 认证社区的成员,您可以访问:

  • 专为帮助认证学员提升技能并在数据职业生涯中取得成功而制作的文章和视频。
  • 我们数据框架播客的独家社区快速问答片段。
  • 行业领袖的受邀活动。
  • 能够与其他认证用户联系,分享工作成果,讨论所有数据,并相互支持。
  • 还有更多!

DC 认证社区旨在将世界各地的 DataCamp 认证学员聚集在一起,提供独家内容,让他们站在数据行业的最前沿,为他们的职业生涯做好更充分的准备。它还将使他们能够分享他们的成功,提出问题,并相互支持,以充分利用他们的认证,成为(甚至更多)成功的数据专业人员,在就业市场上无与伦比。所有成功完成 DataCamp 认证项目的学员将获得免费的终身访问 DC 认证社区的机会。如果您已经完成了我们的某项认证,您可以在此 处申请独家访问社区

我们认证计划的新成员,想了解更多信息吗?我们的 DataCamp 认证是让您脱颖而出并证明您的技能可以胜任工作的绝佳方式。 点击此处 了解有关认证的更多信息,看看您是否准备好在您的数据职业生涯中迈出下一步!

介绍数据成熟度网络研讨会系列

原文:https://web.archive.org/web/20221129035725/https://www.datacamp.com/blog/introducing-the-data-maturity-webinar-series

2021 年 10 月,我们启动了数据成熟度评估,帮助团队和组织确定他们在数据成熟度谱上的位置。从那以后,我们听到了数百名数据领导者和从业者讲述他们的组织如何转型和适应数据扫盲时代。

A blueprint for data literacy

数据素养之路由四个阶段的成熟度谱组成,首先是数据反应、数据扩展、数据渐进,最后是数据素养。为了从一个阶段进入下一个阶段,五个关键杠杆需要持续的监测和投资。这五个杠杆就是我们所说的 IPTOP 框架。

  • 基础架构:可扩展的数据基础架构,可确保数据在整个组织内可收集、可发现、可靠、可理解、合规且可操作。
  • People: 打造一种数据驱动的文化,在这种文化中,所有员工都理解数据的价值,并拥有处理数据的技能,而不论其角色如何(这并不意味着每个人都需要编码!).
  • 工具:数据从业者使用的工具、软件和系统,以及如何通过降低数据使用门槛的框架进一步推动数据民主化。
  • 组织:如何组织、开发和培养数据人才,以及采用在整个组织中推广可扩展数据科学的组织模式。
  • 流程:数据专家和团队采用的流程,使他们的工作更具可预测性和协作性,并确保与业务目标保持一致。

数据成熟度评估帮助数百家组织了解他们在数据成熟度谱中的位置。这就是为什么我们非常兴奋地宣布将在整个 8 月举办一个由四部分组成的网络研讨会系列,专门讨论数据成熟度的来龙去脉,以及您的组织如何成为数据驱动型组织。

数据成熟度网络研讨会系列的预期

在我们由四部分组成的数据成熟度网络研讨会系列中,我们将深入探讨如何在数据成熟度方面取得进展。以下是您可能会遇到的不同会议:

数据成熟度的 5 个维度—美国东部时间 8 月 4 日上午 11 点

在本次会议中,我们将为如何在您的组织中实现数据成熟度做好准备。我们将讨论对基础设施、人员、工具、组织和流程的投资如何帮助您沿着数据成熟的道路前进。此外,我们将讨论如何最大限度地利用数据成熟度评估,以及如何在您指导组织的数据成熟度时使用它。

数据成熟度的基础架构组成部分—美国东部时间 8 月 11 日上午 11 点

在本专题讲座中,我们将讨论基础设施投资在成为数据驱动型时的核心理念是如何为任何与数据交互的人提供民主化、受监管的数据访问。我们将展示成熟度范围内数据基础设施的概念和示例,并概述来自 Airbnb、网飞等数据驱动型组织的北极星示例。

数据成熟度的人员&组织组成—美国东部时间 8 月 18 日上午 11 点

作为 IPTOP 框架的基础元素,投资于人们在日常生活中处理数据的能力对于确保所有其他数据驱动型投资获得投资回报至关重要。在整个会议期间,我们将概述如何在整个成熟度范围内加速数据文化和素养,适用于数据技能的技能提升计划的示例,如何激发对技能提升的兴趣,如何跨成熟度阶段组织数据团队,等等。

数据成熟度的工具和流程部分—美国东部时间 8 月 25 日上午 11 点

在数据成熟度网络研讨会系列的最后一场会议中,我们将详细介绍如何在数据成熟度范围内利用数据工具和更好的流程。作为 IPTOP 框架的支持层,投资于工具和流程,使人们能够最大限度地利用数据,这对于进入数据成熟的最后阶段至关重要。

在整个会议期间,我们将讨论组织与整个成熟度范围内的工具的关系,它如何实现民主化的数据洞察,如何建立跨数据团队工作的流程,等等。

如何注册

我们很高兴分享我们从数据成熟度评估中学到的东西,并揭示贵组织如何在数据成熟度方面取得进步。使用以下链接注册数据成熟度网络研讨会系列。

介绍 dataframes 职业系列

原文:https://web.archive.org/web/20220627024316/https://www.datacamp.com/blog/introducing-the-dataframed-careers-series

在主持 DataFramed 播客的过去一年中,我有幸与站在数据革命前沿的数据领导者进行了两周一次的对话。这引发了关于现代数据堆栈的未来、数据技能的未来以及如何培养组织数据素养的精彩对话。

然而,随着 DataFramed 播客的发展,我们希望能够为从从业者到领导者的数据科学社区提供精选的见解,帮助他们有效地调整职业生涯。我们想更经常地这样做。

这就是为什么我们很高兴地宣布推出为期四天的数据框架职业系列。在这一系列中,我们采访了思想领袖和专家,探讨如何在 2022 年进入数据科学,以及脱颖而出的最佳实践。此外,这一集系列将标志着 DataFramed 从两周一次的播客转变为每周一次的播客。

从 5 月 30 日星期一开始,DataFramed 将成为每周播客。

四集数据框架职业系列有什么值得期待的?

在整个系列中,我们将涵盖建立数据职业生涯的来龙去脉,以及在求职中脱颖而出的不同方面。以下是你可以期待的情节:

  • [DataFramed 职业系列#1]女性数据公司首席执行官 Sadie St Lawrence 谈到如何在 2022 年开始数据职业生涯,将于 2022 年 5 月 30 日发布
  • [Data framed Careers Series # 2]《Ace the Data Science》的合著者尼克·辛格(Nick Singh)就如何打造一个伟大的数据科学组合项目进行了采访,将于 2022 年 5 月 31 日发布
  • [data framed Careers Series # 3]khu yen Tran,Prefect 的开发人员倡导者,讲述写作如何加速数据职业生涯,将于 2022 年 6 月 1 日发布
  • [DataFramed Careers 系列#4] Jay Feng,首席执行官关于如何应对数据科学采访的采访查询—将于 2022 年 6 月 2 日发布

何时何地可以听?

确保你能在 5 月 30 日剧集开始下架的时候看到它们,无论你在哪里得到你的播客,你都可以订阅 DataFramed。同时,请通过收听我们最新的剧集让我们知道您的想法。

在此订阅数据框

朱莉娅的机器学习导论

原文:https://web.archive.org/web/20221212135909/https://www.datacamp.com/blog/introduction-machine-learning-julia

朱莉娅是什么?

Julia 是一种相对较新的编程语言,于 2012 年首次发布。尽管 Julia 只有十年的历史,但它一直在快速发展,根据 2022 年 10 月的 TIOBE 指数,它现在是 30 种顶级编程语言之一。

Programming Through Time

Julia 的一个突出特点是它是为科学计算而构建的。这意味着 Julia 既容易使用又快速,同时还能够以极快的速度处理大量数据和复杂计算。一个著名的 Julia 标语是它“运行起来像 C,但读起来像 Python。”

Julia 是一种编译语言,读起来像解释语言。大多数其他能够解决计算密集型问题的传统编译语言(如 C 或 C++)必须首先编译成机器可读的格式,然后才能执行。

另一方面,Julia 可以通过简单的解释语言(如 Python)实现相同的性能,但不需要在执行前编译。相反,Julia 使用实时(JIT)编译器在运行时编译。

为什么选择朱莉娅做机器学习?

Python 长期以来一直主导着数据科学和机器学习领域,这是有充分理由的。它是一种非常强大、灵活的编程语言。然而,Python 有一些缺点在 Julia 中并不是问题。

与 Julia 相比,Python 的一些缺点是:

  • Python 是一种速度较慢的解释型语言,提高速度的选择有限。这可以让大数据机器学习项目相比 Julia 效率低下。
  • Python 使用单一分派,这对于函数和库之间可以使用和共享的类型有很大的限制。
  • Python 语言的设计中没有内置并行计算和线程。虽然有些库允许一些线程,但这并不是最佳的。

在这一节中,我们将讨论 Julia 是机器学习的最佳选择的几个原因。

你可以在另一篇博客文章中进一步探讨这种语言的兴起以及 2022 年【Julia 是否值得学习。

1.简单易用

朱莉娅有一个非常友好的语法,接近英语。这使得学习起来更快,因为代码通常很直观,容易理解。

Julia 安装起来也很快,很容易上手。不需要安装该语言的特殊发行版(比如 Python 和 Anaconda ),也不需要遵循任何复杂的安装过程(比如 C 和 C++)。

对于机器学习从业者来说,你越早消除编程方面的摩擦,你就能越早开始做你最擅长的事情:分析数据和建立模型。

2.速度

朱莉娅最大的特点之一是它的速度。我们在上面提到过,Julia 是一种编译语言,在速度上比解释语言有相当大的提高。

Julia 与 C、C++和 Fortran 一起属于“千万亿次浮点运算俱乐部”。没错;这个独家俱乐部只有四个成员和一个加入要求:只需在峰值性能时达到每秒一个 petaflop(即一千万亿次运算)的速度。

在机器学习中遇到大量数据并不罕见,因此在将模型部署到生产中时,使用快速编程语言可以显著缩短训练时间并降低成本。

3.分解的代码很快

在 Julia 中,不需要向量化代码来提高性能。以循环和本机函数的形式编写去因子化代码已经很快了。虽然在 Julia 中向量化代码可能会略微提高速度,但这是不必要的。

编写和使用分解的代码可以在构建机器学习模型时节省大量时间,因为您不需要重构代码来提高速度。

4.代码重用和多重分派

Julia 使用鸭式输入来“猜测”函数的适当类型。这个特征意味着:如果它像鸭子一样走路,像鸭子一样说话,它很可能是一只鸭子。因此,任何满足函数隐式规范的对象都被支持——不需要显式地指定它。

然而,鸭式打字并不总是适合于特殊情况,这就是多重分派的用武之地。使用多重分派,您可以为一个函数定义多个特殊情况,根据满足的条件,该函数将在运行时选择最合适的选项。

多重分派在机器学习中很有用,因为你不必考虑可以传递给函数的每一种可能的类型。相反,Julia 中的包可以保持高度的灵活性,同时还可以在不同的包之间共享代码和类型。

考虑日期格式:有几个软件包可以使用它们自己的自定义日期和日期/时间格式。例如,Python 内置的 datetime 格式和 Pandas datetime64[ns]格式。在 Julia 中,只有一个基于日期的格式,由内置的 dates 模块在所有包之间共享。

5.内置包管理

包在 Julia 和 Pkg 中被自动管理。Pkg 之于 Julia 就像 Pip 之于 Python 一样,但要好得多。Julia 通过两个文件管理环境:Project.toml 和 Manifest.toml。这些文件告诉 Julia 项目中使用了哪些包及其版本。Julia 文件(包含项目和清单 toml 文件)的文件夹位置成为环境,而不是在外部定义特殊的环境。

这种内置的、简化的包管理方法使得共享和复制您的机器学习项目和分析更加容易。

6.双语问题

您知道只有 20-30%的 Python 包实际上是由 Python 代码组成的吗?

Flux vs Tensorflow

这种对其他语言的依赖是因为,为了开发在任务中高效和有效的包,它们必须用低级语言如 C 和 C++来构建。

这些包使用这样的语言是因为,在科学计算中,开发解决方案和包通常涉及两种编程语言:易于使用的原型语言(如 Python)来构建解决方案的快速初始实现,然后是快速语言(如 C++),其中所有代码都被重写为最终版本的解决方案。

可以想象,这是一个缓慢、低效的过程,不仅对于初始开发如此,对于长期维护和新特性也是如此。

另一方面,Julia 中的包可以在 Julia 中原型化、开发和维护。因此,这将整个开发周期缩短到仅仅是时间的一小部分。

朱莉娅机器学习包

Julia 现在在其总注册表中包含超过 7400 个包。虽然这与 Python 中可用的包的数量(超过 200,000 个)相差甚远,但找到合适的包来解决特定的问题仍然具有挑战性。

本节将探讨分析数据和构建机器学习模型所需的主要软件包。

然而,如果你刚刚开始使用 Julia 中的机器学习,请首先尝试包工具箱: MLJ 。这个包是专门为将最流行的机器学习包收集到一个单一的、容易访问的地方而构建的,可以节省您为您的项目寻找最佳机器学习包的时间。MLJ 目前支持超过 20 种不同的机器学习包

以下是您将在机器学习项目中遇到的一些最常见的包的列表-从导入、清理和可视化数据到构建模型:

  • 笔记本:冥王星,伊古利亚,木星

  • 包/环境管理 : Pkg

  • 导入和处理数据 : CSV、数据帧

  • 绘图和输出:绘图、StatsPlots、LaTeXStrings、Measures、Makie

  • 统计和数学:随机、统计、线性代数、统计基础、分布、假设检验、核密度、套索、组合学、特殊函数、根

  • 个人机器学习包:

  • 广义线性模型(如线性回归、逻辑回归):GLM

  • 深度学习:Flux,Knet

  • 支持向量机:LIBSVM

  • 决策树,随机森林,AdaBoost:决策树

  • k-最近邻居:最近邻居

  • k 均值聚类:聚类

  • 主成分分析:多元统计

还有许多实现和包装器可用于流行的 Python 包,如 Scikit-Learn 和 Tensorflow。但是,您不一定需要使用这些包,因为您可能会失去使用 Julia 的许多强大优势(例如速度和多任务分派)。

Julia 机器学习入门

开始使用 Julia 的最好方法之一是使用 Pluto 笔记本环境。在本节中,我们将讨论使用 Pluto 的好处,尤其是在您的数据科学之旅的开始阶段,此时您仍在学习如何与 Julia 一起构建机器学习项目。我们还浏览了一些最佳资源,用于了解更多关于 Julia 和机器学习的信息。

普路托

Plutojl

Pluto 是一个简单易用的交互式笔记本环境,具有友好的用户界面。这种简单性非常适合从 Julia 开始的初学者。Pluto 还有许多附加功能,允许您几乎毫不费力地构建更加引人注目的机器学习解决方案:

反应的

在评估一个单元时,Pluto 还会考虑必须运行其他哪些单元。此功能确保在评估当前单元格之前更新所有从属单元格。

关于 Pluto 的一个很棒的事情是,它足够聪明,可以准确地知道除了当前单元之外还需要运行哪些单元,这样,如果您在笔记本的某个地方做了更改,就不会遇到需要更新每个单元的问题。

Pluto 还会清理旧的或删除的代码,并更新任何依赖单元的输出来反映这一操作。如果您在一个单元格中定义了一个变量,然后又删除了该单元格,那么 Pluto 也会将该变量从其名称空间中删除。此外,任何依赖的代码单元格都将显示一条错误消息,表明它需要的变量现在已被删除。

相互作用的

反应性导致细胞之间的自动互动。这对于快速创建交互式图表或在变量改变时自动更新的对象特别有用。

Pluto 的美妙之处在于,该变量可以是笔记本中的一个交互式小部件,比如内置的滑块或文本框。如果你懂 Javascript,你甚至可以设计自己的小部件。

反应性和交互性使您能够基于您的机器学习模型和数据分析生成动态报告和仪表盘。成功的机器学习项目的关键是沟通,Pluto 使演示和解释您的项目变得更加容易。

自动化包管理

Pluto 与 Pkg 无缝集成,允许在您的笔记本中自动管理包。不仅如此,你实际上并不需要在 Pluto 之外安装软件包。布鲁托(和朱莉娅)运行和复制你的笔记本所需的所有信息都存储在笔记本里!

这意味着您可以与同事或同学共享您的笔记本电脑,并且您可以确保该笔记本电脑需要运行的所有正确的软件包都将随之而来。

版本控制

所有的冥王星笔记本储存为可执行文件。jl 文件。如果您在文本编辑器中打开一个笔记本,它看起来会与您在浏览器中看到的笔记本有些不同。该文件将包含笔记本所需的所有信息,例如代码、单元格依赖关系和执行顺序。但是,这些文件不包含任何输出。所有这些都使得使用 Git 和 GitHub 进行版本控制变得更加容易。

导出和共享

Pluto 笔记本可以导出为. jl 可执行文件、静态 PDF 或静态 HTML 文件。如果您导出为 HTML 格式,那么与您共享该文件的人也可以选择下载和编辑原始笔记本文件,而无需在他们的计算机上安装 Julia。

冥王星通过与 Binder 合作来实现这一点,Binder 是一个在线托管冥王星笔记本的免费平台(它也可以与其他编程语言一起工作,如 Python 和 R)。

这项功能是机器学习工作流程中的最后一步:首先,您进行分析,然后在笔记本中构建一个交互式报告来展示结果,最后,您可以与能够复制和编辑分析的技术同事以及非技术人员共享笔记本。

学习 Julia 的资源

以下是学习 Julia 编程语言以及如何在数据科学和机器学习中使用它的一些最值得推荐的资源:

  • 如果你喜欢在互动的环境中学习,我们有一个介绍朱莉娅的课程
  • 对于 Julia 编程语言的全面解释,图书Think Julia:How to Think Like a Computer Scientist是最好的资源之一。
  • 查看我们的 Julia 初学者教程,获得一步一步的 Julia 入门指南
  • 参见我们的备忘单获取 Julia 编程要点的便捷指南。

IPython Or Jupyter?

原文:https://web.archive.org/web/20230101103415/https://www.datacamp.com/blog/ipython-or-jupyter

非常感谢布莱恩·格兰杰、费尔南多·佩雷斯和罗伯特·克恩对本文的投入!

对于学习者和更高级的数据科学家来说,Jupyter 笔记本是最受欢迎的数据科学工具之一:交互式环境不仅是教学和学习的理想选择,也是与同行共享工作的理想选择,而且还能确保研究的可重复性。然而,当您发现如何使用这款笔记本时,您会经常碰到 IPython。

在某些情况下,这两者似乎是同义词,你会同意我说的,当你想深入挖掘时,这是非常令人困惑的:magics 是 Jupyter 还是 IPython 的一部分?保存和加载笔记本是 IPython 还是 Jupyter 的功能?

你可以继续提问。

今天的博客文章旨在更明确地说明两者之间的一些核心差异,不仅从两者的起源出发来解释两者之间的关系,而且还涵盖了两者之间的一些特定特征,以便您更容易区分两者!

还可以考虑阅读 DataCamp 的Jupyter 笔记本权威指南,获取提示和技巧、最佳实践、示例等等。

IPython / Jupyter 的起源

为了充分理解 Jupyter 笔记本是什么以及它与 IPython 有何不同,首先阅读一下这两者如何融入计算笔记本的历史和未来可能会很有意思。

计算笔记本的开始:MATLAB、Mathematica 和 Maple

在 20 世纪 80 年代中期,MATLAB 由 Jack Little、Steve Bangert 和 Cleve Moler 创建的 MathWorks 发布。

让我们回到 20 世纪 80 年代末,确切地说是 1987 年。Theodore Gray 开始开发 Mathematica 笔记本的前端,一年后,它向公众发布。GUI 允许交互式创建和编辑笔记本文档,这些文档包含印刷精美的程序代码、格式化的文本和一系列功能,如排版数学、图形、GUI 组件、表格和声音。标准的文字处理功能已经具备,比如实时多语言拼写检查。您可以在幻灯片放映环境中输出文档进行演示。

当你观察这些笔记本的结构时,你会立刻注意到它们依赖于单元格的层次结构,这些单元格允许对文档进行概述和分段,这也是你现在在 Jupyter 笔记本中可以找到的。

同样在 20 世纪 80 年代末,1989 年,Maple 推出了他们的第一款笔记本风格的 GUI。它包含在 Macintosh 4.3 版中。X11 和 Windows 的新界面版本出现在 1990 年。这些早期的笔记本启发并奠定了其他人开发后来被称为“数据科学笔记本”的基础。

数据科学笔记本的兴起

许多计算笔记本是在 Maple 和 Mathematica 笔记本之后创建的。然而,这一部分将重点关注促成数据科学笔记本兴起的笔记本。您会看到,其中一些笔记本电脑在有抱负且经验丰富的数据科学家中仍然非常受欢迎。

圣人笔记本

作为一个基于浏览器的系统,Sage notebook 最初是在 2000 年代中期发布的,然后在 2007 年,发布了一个更强大的新版本,它有用户帐户,可以用来公开文档。它类似于谷歌文档的用户界面设计,因为 Sage 笔记本的布局是基于谷歌笔记本的布局。

Sage 笔记本的创建者已经证实他们是 Mathematica 笔记本和 Maple 工作表的狂热用户。当您考虑 Sage 笔记本的开发时,其他重要的动机或驱动因素如下:首先,开发人员与 IPython 背后的团队有密切的联系,这也是因为基于终端的 Sage 版本使用 IPython。第二,有两个学生为 IPython 提供 GUI 的“失败的尝试”,第三,“AJAX”(异步 JavaScript 和 XML 的伪首字母缩写)web 应用程序的兴起,它不需要用户每次做什么都刷新整个页面。

例如,当您在网站上填写表单时就是如此:如果没有 AJAX,当您点击提交按钮时,您将被重定向到一个新页面,其中包含来自服务器的新信息。使用 AJAX,JavaScript 将向服务器发出请求,获得结果并更新屏幕。你不需要刷新,也不会被重定向。

你可能知道的其他 AJAX 应用程序有,例如,Gmail、谷歌地图、脸书、Twitter……如你所见,几乎所有东西都是 AJAX。

IPython 和 Jupyter 笔记本

2001 年末,也就是吉多·范·罗苏姆在荷兰国家数学和计算机科学研究所开始研究 Python 大约 20 年后,费尔南多·佩雷斯开始开发 IPython。该项目深受 Mathematica 笔记本和 Maple 工作表的影响,就像 Sage 笔记本和随后的许多其他项目一样。

2005 年,第一次尝试用 Wx 构建笔记本系统,Wx 是一个小部件工具包和工具库,用于为跨平台应用程序创建图形用户界面(GUI)。在罗伯特·克恩和费尔南多·佩雷斯的指导下,两名谷歌代码之夏的学生正在开发原型。之后,罗伯特对这个问题做了更多的研究。这与其说是一个笔记本系统原型,不如说是对核心 IPython 代码的清理,目的是使编写 IPython shell 的 wxPython GUI 前端更加容易。也正是这些清理有助于创建一个干净的笔记本系统,随着最终成功的笔记本工作的开始,其中一些被逐渐合并到 IPython 中。

IPython 的第二个原型是在 2006 年夏天由 Min 拉冈-Kelley 建造的,并由 Brian Granger 担任顾问。它是基于 web 的,有一个 SQL 数据库后端,但工作被中断了,因为它的实现最终被证明对当时的 web 技术来说太复杂了。

IPython 笔记本的第三个原型出现在 2010 年 10 月,由第三方花了几天时间完成。最后,截至 2011 年春夏,Brian Granger 在 2010 年工作的基础上,全职开发 web notebook 的原型,在 2010 年,他与费尔南多·佩雷斯和明·拉冈·凯利一起创建了 IPython 内核架构和消息规范。

PyZMQ 是一个为 ZeroMQ 提供 Python 绑定的库;IPython 的并行计算特性、qt 控制台和笔记本都需要这个库。

PyZMQ 和 websockets 是让笔记本成为可能的主要技术。同年秋天,其他投稿人(如 Matthias Bussonnier、Min 和 Fernando)也开始投稿。到 2011 年 12 月 21 日,作为 IPython 笔记本的第一个版本(0.12)发布。

在随后的几年中,该团队获得了奖项,如 2013 年 3 月 23 日的费尔南多·佩雷斯自由软件进步奖和 Jolt 生产力奖,以及来自阿尔弗雷德·P·斯隆基金会的资助等。

最后,在 2014 年,Project Jupyter 作为 IPython 的一个衍生项目启动。

在拆分之前,IPython 的最后一个版本在一个存储库中包含了交互式 shell、笔记本服务器、Qt 控制台等。这个项目很大,组件越来越多地变成越来越多不同的项目,而这些项目恰好属于同一个项目。

但是请注意,项目的规模并不是启动 Project Jupyter 的唯一原因:从 2011 年到 2014 年,IPython 笔记本开始与其他编程语言一起工作。第一个出现的是 Julia,然后是 IPython notebook,这意味着该笔记本完全基于 Python,也可以与其他编程语言(如 Julia 和 R)的内核一起工作,这一事实让人们感到困惑。

如果还涉及到其他编程语言,为什么要用“IPython”这个名字呢?

“Jupyter”这个名字的灵感来自于对领先的科学开放语言(即 Julia、Python 和 R)的思考,尽管它可能看起来像任何其他缩写,但这并不意味着其他语言不受欢迎。更重要的是,这个名字更好地代表了开发人员一直在从事的项目,并向该项目的科学根源致敬!

Jupyter 项目启动后,IPython 项目的语言无关部分,如笔记本格式、消息协议、Qt 控制台、笔记本 web 应用等。被投入到 Jupyter 项目中。你可以在这里找到主要的 Jupyter GitHub 组织。

在 Jupyter 和 IPython 社区,这被称为“大分裂”

IPython 现在只有两个角色要完成:作为 Jupyter 笔记本的 Python 后端,也称为内核,以及一个交互式 Python shell。但这还不是全部:在 IPython 生态系统中,您还会发现一个并行计算框架。稍后您将会读到更多相关内容!

就像 IPython 一样,Project Jupyter 实际上是一系列项目的名称:它包含的三个应用程序是笔记本本身、一个控制台和一个 Qt 控制台,但也有一些子项目,如支持笔记本部署的 JupyterHub、用于教育目的的 nbgrader 等。你可以在这里看到 Jupyter 架构的概述

请注意,正是这个项目的发展解释了许多 Pythonistas 在谈到 IPython 和 Jupyter 时的困惑:由于一个来自另一个(最近),有些人仍然难以为概念采用正确的名称。但是更复杂的因素可能是进化:由于一个来自另一个,IPython 和 Jupyter 笔记本功能之间有相当多的重叠,有时很难区分!如何区分这两者将在本文的下一部分变得清晰。如果你想知道更多关于 IPython 发展的细节,可以看看费尔南多·佩雷斯和 T2 关于他们笔记本历史的个人描述。

r 笔记本

R Markdown 和 Jupyter Notebook 共享可再现工作流的交付,将代码、输出和文本编织在一个文档中,支持交互式小部件和多种格式的输出。

然而,两者也有所不同:前者侧重于可再现的批处理执行、纯文本表示、版本控制、产品输出,并提供与 R 脚本相同的编辑器和工具。后者侧重于代码内联输出、跨会话缓存输出、共享代码和在单个文件中输出。笔记本强调交互式执行模式。它们不使用纯文本表示,而是使用结构化数据表示,比如 JSON。

这一切解释了 RStudio 笔记本应用程序的目的:它结合了 R Markdown 的所有优点和计算笔记本必须提供的好东西。

要了解更多关于如何使用 R 笔记本以及 Jupyter 和 R Markdown 笔记本在笔记本共享、项目管理、版本控制等方面的确切区别,请查看 DataCamp 的 Jupyter 和 R: Notebooks with R 帖子。

其他数据科学笔记本

当然,当你进入数据科学领域时,你可以考虑更多的笔记本电脑。近年来,数据科学家和数据科学爱好者找到了许多新的替代品:不仅仅是 Beaker Notebook、Apache Zeppelin、Spark Notebook、DataBricks Cloud 等。,还包括其他工具,如 Rodeo IDE 或 nteract,它们也使您的数据科学分析具有交互性和可再现性。这里需要注意的一点是,nteract 不同于这里提到的其他工具,因为它利用了 Jupyter 架构,比如协议和格式。

笔记本电脑的未来

笔记本电脑似乎会一直存在下去。最近,下一代 Jupyter 笔记本已经引入社区:JupyterLab。Notebook 应用程序不仅支持笔记本,还支持文件管理器、文本编辑器、终端仿真器、运行 Jupyter 进程的监视器、IPython 集群管理器和显示帮助的寻呼机。

你现在可能认为这并不新鲜;Jupyter 笔记本也有这些东西。然而,JupyterLab 使你能够以新颖的方式利用所有这些交互式计算的构件。

点击了解更多信息

IPython Jupyter Notebook

Jupyter Notebook 丰富的工具集已经有机地发展起来,并由我们的用户和开发人员的需求所驱动。JupyterLab 是支持所有这些工具的下一代架构,但是具有灵活且响应迅速的 UI,提供了可以将工具结合在一起的用户控制的布局。

IPython or Jupyter?

项目的发展和随之而来的“大分裂”是理解两者之间真正差异的基础。但是,由于这两者有着内在的联系,你有时会怀疑什么是什么的一部分。

下一节将介绍 IPython 生态系统或 Jupyter 项目的一些特性。

由您选择正确的答案,并了解每项功能的更多信息!

内核?

尽管现在内核在 Jupyter 笔记本应用程序中非常突出,但是第一个使用完整内核和协议的工具是 Qt 控制台,它是在笔记本之前开发的。今天,内核在历史上和架构上都被笔记本灵活地利用,它们是 Jupyter 的特性,而不是笔记本的特性。这意味着内核不仅仅是一个功能:它们是 Jupyter 架构的核心抽象,并被非笔记本工具使用,如文本控制台、Qt 控制台、O'Reilly 的 Thebe、内核网关工具、nteract 的 hydrogen 编辑器。最后,在 JupyterLab 中,内核还可以连接到任何东西,从笔记本到 web 控制台,甚至是文本文件。

内核是一个运行和自省用户代码的程序:它提供计算和与前端接口的通信,比如笔记本。Jupyter Notebook 应用程序有三个主要内核:IPython、IRkernel 和 IJulia 内核。

因为“Jupyter”这个名字是受领先的科学开放语言(Julia、Python 和 R)的启发,所以这并不奇怪。作为项目发展的结果,IPython 内核由 Jupyter 团队维护。

但是,你也可以在 Jupyter Notebook 应用中运行很多其他语言,比如 Scala、JavaScript、Haskell、Ruby 等等。那些是社区维护的内核

笔记本部署?

部署笔记本是您在使用 Jupyter 笔记本时通常会发现或研究的内容。有相当多的软件包可以帮助您部署笔记本电脑,它们是 Jupyter 生态系统的一部分。

以下是其中的一些:

  • 当你需要一堆 Jupyter 应用程序和内核作为 Docker 容器时, docker-stacks 将会派上用场。
  • ipywidgets 提供交互式 HTML & JavaScript 小部件(如滑块、复选框、文本框、图表等。)用于 Jupyter 架构,该架构将前端控制结合到 Jupyter 内核。
  • jupyter-drive 允许 IPython 使用 Google Drive 进行文件管理。
  • jupyter-sphinx-theme 给你的笔记本添加一个朱庇特狮身人面像主题。这将使创建智能和漂亮的文档变得更加容易。
  • kernel_gateway是一个 web 服务器,支持不同的机制来生成 Jupyter 内核并与之通信。请看这里来看看这个包可以派上用场的一些用例。
  • nbviewer分享您的笔记本。点击查看画廊
  • tmpnb 使用 Docker 容器创建临时 Jupyter 笔记本服务器。在这里亲自尝试一下
  • traitlets 是一个框架,它让 Python 类拥有带类型检查的属性、动态计算的缺省值和“改变时”回调。您还可以将该包用于配置目的,从文件或命令行参数加载值。traitlets 为 IPython 和 Jupyter 的配置系统以及 IPython 交互式小部件的声明式 API 提供了支持。

系统外壳用法?

通过 shell 转义,可以将 IPython 用于系统 shell:以!开头的行被直接传递给系统 shell。比如说!ls 将在当前目录下运行ls。您可以使用语法myfiles=!ls将系统命令的结果赋给 Python 变量。但是,如果您想将 ls 函数的结果显式地打印为一个带字符串的列表,而不将其赋给变量,请使用两个感叹号(!!ls)或不带赋值的%sx魔术命令。

# Assign the result to `ls`
ls = !ls

# Explicit `ls`
!!ls

# Or with magics
%sx

# Assign magics result
ls = %sx

注意!!命令不能赋给变量,但是魔术的结果(只要它返回值)可以赋给变量。

IPython 还允许您在进行系统调用时扩展 Python 变量的值:只需用大括号({})将变量或表达式括起来。同样,在带有!!!的 shell 命令中,任何带有$前缀的 Python 变量都会被扩展。在下面的代码块中,您将看到回显了 sys 变量的 argv 属性。注意,您还可以使用$ / $$语法来处理系统输出中的 Python 变量,稍后您可以使用这些语法来编写进一步的脚本。

要将文本$传递给 shell,请使用双精度$$。如果您想访问 shell 和环境变量,比如\(PATH,您将需要这个文字`\)`:

# Import and initialize
import math
x = 4

# System call with variable
!echo {math.factorial(x)}

# Expand a variable
!echo $sys.argv

# Use $$ for a literal $
!echo "A system variable: $$HOME"

点击阅读更多

请注意,除了 IPython 之外,还有其他内核具有特殊的语法来确保代码行作为 shell 命令执行!从严格意义上来说,这些并不是真正的“魔术”,因为他们可以用他们想要的任何名字来实现它,并且它可以与 IPython 魔术完全不同(或多或少地丰富)。

此外,您可以为系统命令定义别名。这些别名基本上是 bash 命令的快捷方式。一个别名是一个元组:(“showTheDirectory”,“ls”)。运行%alias?获取更多信息!

提示:使用%rehashx加载所有的$PATH 作为 IPython 别名。

魔法?

如果你读过 DataCamp 的Jupyter 笔记本权威指南或者你已经和 Jupyter 合作过,你可能已经知道所谓的“魔法命令”。魔术通常由在底层语言中无效的语法元素和暗示命令的某种单词组成。在幕后,magics 函数实际上是 Python 函数。

您可能已经知道,IPython 内核使用% syntax 元素,因为它在 Python 中不是有效的一元运算符。然而,以%%开头的行显示了一种单元魔力:在当前执行块中,它们不仅将当前行的其余部分作为参数,还将它们下面的所有行作为参数。细胞魔术实际上可以对它们接收的输入进行任意修改,甚至根本不需要有效的 Python 代码。它们将整个块作为单个字符串接收。

魔术是特定于内核的,由内核提供,旨在使您在 Jupyter Notebook 中的工作和体验更具互动性。魔法命令在特定内核中是否可用取决于内核开发人员和每个内核的内核。你已经看到了:魔法是一个内核特性。

当您使用 Jupyter 笔记本 IPython(也称为内核)的 Python 后端时,您可能希望利用以下技巧来获得使您的编程更快、更容易和更具交互性的功能。请注意,列出的这些并不意味着详尽无遗。查看这个内置魔法命令列表以获得完整的概述。

测绘

IPython 内核的一个主要特性是能够显示作为运行代码单元输出的图形。内核设计为与 matplotlib 数据可视化库无缝协作,以提供此功能。要使用它,请使用神奇的命令%matplotlib

因此,默认情况下,您的图将显示在单独的窗口中。此外,您还可以指定一个后端,如 inline 或 qt,绘图命令的输出将显示在 inline 或通过不同的 GUI 后端。你可以在这里阅读更多相关信息

文件系统导航

内核的神奇命令还提供了一种在文件系统中导航的方法。magics %cd%bookmark可用于更改目录或标记文件夹,以便更快地访问您经常使用的目录。

调试器访问

接下来,您还可以使用 magics 在每次出现未捕获的异常时调用 Python 调试器%pdb。这将引导您浏览触发异常的代码部分,从而有可能快速找到 bug 的来源。

您还可以使用带有-d 选项的%run magic 命令在 Python 调试器的控制下运行脚本。它会自动为您设置初始断点。最后,您还可以使用%debug魔法来更容易地访问调试器。

IPython 扩展

您可以使用%load_ext魔法通过模块名加载 IPython 扩展。IPython 扩展是修改外壳行为的 Python 模块:扩展可以注册魔法、定义变量,并且通常修改用户名称空间以提供在代码单元中使用的新特性。以下是一些例子:

  • 使用%load_ext oct2py.ipython从 Python 无缝调用 M-files 和 Octave 函数,
  • 使用%load_ext rpy2.ipython来使用嵌入在 Python 进程中的 R 运行接口,
  • 使用%load_ext Cython使用 Python 转 C 编译器,
  • 使用sympy.init_printing()自动打印 Sympy 基本对象,以及
  • 要在交互式会话中使用 Fortran,可以使用%load_ext fortranmagic

…还有很多!您可以创建一个 register your own IPython extensions,并在 PyPi 上注册它们:这也意味着还有许多其他用户定义的扩展和魔术!一个例子是 ipython_unittest ,而且还检查出了这个的扩展索引

你应该留意的另一个扩展是 sparkmagic,这是一套通过 Livy(Jupyter 笔记本中的 Spark REST 服务器)与远程 Spark 集群交互工作的工具。sparkmagic库提供了一个%%spark魔法,您可以使用它从普通的 IPython 笔记本上轻松地针对远程 Spark 集群运行代码。

# Load in sparkmagic
%load_ext sparkmagic.magics

# Set the endpoint
%manage_spark

# Ask for help
%spark?

转到此处获取更多关于如何利用这些魔法与 Spark cluster 交互工作的示例。

请注意,除了%load_ext之外,IPython 还有另外两个魔法,允许您从 Jupyter 笔记本中管理扩展:%reload_ext%unload_ext分别用于卸载、重新导入和加载扩展以及卸载扩展。

不同的内核,其他的魔法

然而,在其他语言中,神奇命令中的语法元素可能有某种含义。R 内核 IRKernel 没有魔法系统。例如,为了执行 bash 命令,您将使用 R 函数(如system())来调用 OS 命令。一个例子就是system("head -5 *.csv", intern=TRUE)。请注意,通过包含intern参数,您指定了要将命令的输出捕获为 r 中的一个字符向量。要显示 markdown 输入,您可以使用display_markdown(),将 Markdown 代码作为一个字符向量传递给它。同样,Julia 内核 IJulia 也不使用“魔法”。相反,在 Julia 中,实现相同目标的其他语法更自然,可以在 IJulia 代码单元之外的环境中工作,并且通常更强大。然而,IJulia 内核的开发人员已经确保,无论何时您在 IJulia 代码单元中输入 IPython magic 命令,您都会看到一个带有帮助的打印输出,解释如何在 Julia 中实现类似的效果(如果可能)。

比如 IJulia 里 IPython 的%load的类比就是IJulia.load()

另一方面,像 Scala 内核 IScala 这样的内核也支持神奇的命令,类似于 IPython。然而,这套魔术是不同的,因为它必须匹配 Scala 和 JVM 的细节。魔术命令由百分号%组成,后跟标识符和魔术的可选输入。一些最著名的魔术是:

# Type Information
%type 1

# Library Management
%libraryDependencies
%update

正如您在上面读到的,sparkmagic库还提供了一组 Scala 和 Python 内核,允许您自动连接到远程 Spark 集群,运行代码和 SQL 查询,管理 Livy 服务器和 Spark 作业配置,并生成自动可视化。这不需要任何代码!

例如,您可以使用%%sql轻松执行 SparkSQL 查询,或者通过%%info magic 访问 Spark 应用程序信息和日志。

如果您正在使用另一个内核,并且您想知道是否可以使用神奇的命令,那么知道有一些内核构建在元内核项目之上,并且在大多数情况下将使用与您在 IPython 内核中找到的相同的神奇之处可能会很方便。你可以在这里找到超能内核魔法的列表。元内核是一个 Jupyter/IPython 内核模板,它包含了核心的魔法函数。

一些例子:

这意味着,例如,当您使用 MATLAB 内核时,您将拥有以下可用的魔法:

Available line magics:
%cd  %connect_info  %download  %edit  %get  %help  %html  %install  %install_magic  %javascript  %kernel  %kx  %latex  %load  %ls  %lsmagic  %magic  %parallel  %plot  %pmap  %px  %python  %reload_magics  %restart  %run  %set  %shell  %spell

Available cell magics:
%%debug  %%file  %%help  %%html  %%javascript  %%kx  %%latex  %%processing  %%px  %%python  %%shell  %%show  %%spell

如果你看看上面打印的内容,你会发现其中一些神奇的命令看起来非常熟悉。对于那些不太了解魔术的人来说,将上面的块与 IPython 内核中默认可用的魔术进行比较,您会发现有些魔术是相同的:

Available line magics:
%alias  %alias_magic  %autocall  %automagic  %autosave  %bookmark  %cat  %cd  %clear  %colors  %config  %connect_info  %cp  %debug  %dhist  %dirs  %doctest_mode  %ed  %edit  %env  %gui  %hist  %history  %killbgscripts  %ldir  %less  %lf  %lk  %ll  %load  %load_ext  %loadpy  %logoff  %logon  %logstart  %logstate  %logstop  %ls  %lsmagic  %lx  %macro  %magic  %man  %matplotlib  %mkdir  %more  %mv  %notebook  %page  %pastebin  %pdb  %pdef  %pdoc  %pfile  %pinfo  %pinfo2  %popd  %pprint  %precision  %profile  %prun  %psearch  %psource  %pushd  %pwd  %pycat  %pylab  %qtconsole  %quickref  %recall  %rehashx  %reload_ext  %rep  %rerun  %reset  %reset_selective  %rm  %rmdir  %run  %save  %sc  %set_env  %store  %sx  %system  %tb  %time  %timeit  %unalias  %unload_ext  %who  %who_ls  %whos  %xdel  %xmode

Available cell magics:
%%!  %%HTML  %%SVG  %%bash  %%capture  %%debug  %%file  %%html  %%javascript  %%js  %%latex  %%perl  %%prun  %%pypy  %%python  %%python2  %%python3  %%ruby  %%script  %%sh  %%svg  %%sx  %%system  %%time  %%timeit  %%writefile

本质上,您可以用一个问题来区分哪些是 IPython 特有的,哪些可以在其他内核中使用:这个功能是 Python 特有的,还是也可以在您正在使用的语言中使用的通用功能?

例如,%pdb或 Python 调试器或%matplotlib是 Python 特有的东西,当你使用 JavaScript 内核时,它们就没有意义了。然而,用%cd改变目录通常是一件非常通用的事情,应该在任何语言中都可以工作,因为它是一个如此“通用”的命令。所以,这可能是一个可以在其他内核中使用的魔法。当然,您仍然需要知道您的内核是否使用了魔法。

转换和格式化笔记本?

转换和格式化笔记本电脑是您可以在 Jupyter 生态系统中找到的功能。对于这些任务,您通常会找到两个工具: nbconvertnbformat

您可以使用前者将笔记本转换为各种其他格式,以熟悉的格式呈现信息,发布研究成果并将笔记本嵌入论文中,与他人协作以及与更多受众共享内容。

后者基本上包含 Jupyter notebook 格式,是理解 Notebook 文件是简单的 JSON 文档的关键,这些文档包含:元数据(如内核或语言信息)、Notebook 格式的版本(主要和次要)以及包含所有文本、代码等的单元格。已存储。

保存和加载笔记本?

保存和加载笔记本是 Jupyter 笔记本应用程序的一个特性。您可以加载保存为文件的笔记本。ipynb 文件扩展名,这是其他人通过下载并在 Jupyter 应用程序中打开该文件而创建的。更具体地说,您可以创建一个新笔记本,然后通过单击“文件”选项卡,单击“打开”并选择您下载的笔记本来选择打开文件。

相反,您也可以通过单击相同的“文件”选项卡并选择“下载为”来保存您自己的笔记本文件,或者您也可以选择保存文件并设置检查点。当你想做一些小的版本控制,或者恢复到笔记本的早期版本时,这是非常方便的。当然,您的修改会每隔几分钟自动保存一次,所以并不总是需要明确地执行这个操作。

请注意,您也可以选择不保存对原始笔记本的任何更改,方法是制作一份副本并将所有更改保存到该副本中!

键盘快捷键和多光标支持?

选择多个单元、切换单元输出、插入新单元等。对于所有这些操作,Jupyter 笔记本中都有键盘快捷键。你可以在顶部的菜单下找到键盘快捷键列表:进入“帮助”选项卡,选择“键盘快捷键”。

此外,多光标支持是 Jupyter 笔记本的一个特性!

并行计算网络?

并行计算网络是 IPython 项目的一部分,但从 4.0 开始,它是一个名为 ipyparallel 的独立包。这个包基本上是用于控制 Jupyter 集群的 CLI 脚本的集合。

尽管它是独立的,但它仍然是 IPython 生态系统的一个强大组件,这一点通常被忽略了;它如此强大是因为它允许你在许多机器上启动许多分布式内核,而不是运行一个 Python 内核。

ipyparallel的典型用例是,例如,您需要多次运行模型来估计其输出的分布或它们如何随输入参数变化。当模型的运行是独立的时,您可以通过在集群中的多台计算机上并行运行它们来加速该过程。想想分布式模型训练或者模拟

IPython Jupyter Notebook

终端?

这个特性是 Jupyter 生态系统的一部分:你有 Jupyter 控制台和一个 Jupyter 终端应用程序。然而,从一开始,IPython 就被用来表示 Python 最初的交互式命令行终端。它提供了一个增强的读取-评估-打印循环(REPL)环境,特别适合科学计算。这是 2011 年之前的标准,当时笔记本工具被引入,并开始为 Python 提供现代而强大的 web 接口。

接下来,您还有 IPython 控制台,它启动了两个进程:原始的 IPython 终端 shell 和默认的概要文件或内核,如果没有特别说明,它们就会启动。默认情况下,这是 Python。IPython 控制台现在已经过时,如果您想启动它,您需要使用 Jupyter 控制台,这是一个基于终端的 Jupyter 内核控制台前端。此代码基于单进程 IPython 终端。Jupyter 控制台在终端提供 IPython 的交互式客户端体验,但是能够连接到任何 Jupyter 内核,而不仅仅是 IPython。这让您可以测试您可能已经安装在终端上的任何 Jupyter 内核,而不需要为它启动一个完整的笔记本。控制台允许与其他 Jupyter 内核进行基于控制台的交互,比如 IJulia、IRKernel。

最后,Jupyter Notebook 应用程序还有一个终端应用程序:一个运行在浏览器中的简单 bash shell 终端。当您启动应用程序并从下拉菜单中选择一个新的终端时,您可以很容易地找到它。

Qt 控制台?

Qt 控制台曾经是 IPython 项目的一部分,但现在已经转移到了 Jupyter 项目中。这是一个轻量级的应用程序,很大程度上感觉像一个终端,但提供了许多只有在 GUI 中才有的增强功能,如内嵌图形、带语法突出显示的正确的多行编辑、图形呼叫提示等等。Qt 控制台可以使用任何 Jupyter 内核。

结论

今天的博客文章是对 DataCamp 权威指南的补充,更详细地介绍了计算笔记本的历史,以及 IPython 和 Jupyter 项目的一些主要特性,以便您可以更清楚地了解两者的发展和差异。我们的目标是看到,如果你不考虑这两个项目的历史观点,这两者之间的区别有时是很难的。在某些情况下,有一个灰色地带,一个“中间地带”,这是不容易归类的。

SQL 是编程语言吗?

原文:https://web.archive.org/web/20221129033335/https://www.datacamp.com/blog/is-sql-a-programming-language

如果你在数据密集型行业工作,你肯定听说过数据库。访问存储在数据库中的数据的一种非常常见的方式是通过 SQL。在本文中,您将了解更多关于 SQL 的知识。但是,我们不会通过学习 SQL 中使用的语法和术语来直接进入这个领域,而是将访问计算机科学中的一些关键概念,这些概念将帮助我们回答这个问题:SQL 是一种编程语言吗?

什么是 SQL?

让我们首先从定义什么是数据库开始。简单地说,数据库是存放结构化数据的存储系统。此外,数据库管理系统( DBMS )充当数据库与其最终用户或程序之间的接口。你可以在 DataCamp 的数据库设计课程中了解更多关于这种关系的信息。

最常见的 DBMS 类型是关系数据库管理系统( RDBMS ),我们在其中存储结构化数据,即包含实体和变量之间关系的数据。这些实体和变量被组织成一组包含列和行的表。

RDBMS 中的数据存储在名为的数据库对象中。一个数据库通常包含几个表。每个表都由一个唯一的名称标识,并包含一个由行和列构成的相关数据条目的集合。表格中的列被称为字段,保存表格特定属性的值。表格中的每一行被称为一个记录

发音为“S-Q-L”或“sequel”的 SQL 代表的是 S 结构化 Q 查询 L 语言。SQL 用于编程,并设计用于使用 SQL 查询管理存储在 RDBMS 中的数据。

查询只不过是由各种 SQL 命令组成的语句,这些命令共同执行特定的任务来访问、管理、修改、更新、控制和组织数据。这个查询的定义听起来非常接近“计算机程序”;这是否意味着 SQL 是一种编程语言?

让我们在下一节更好地理解编程语言的含义。

什么是编程语言?

编程语言由一组预定义的词汇和语法规则组成。然后,这种语言可以指示计算机或计算设备执行特定的任务。

有许多不同种类的编程语言,每一种都有其独特的功能和用途。不过一般来说可以分为两类:低级高级编程语言。

更接近机器代码或二进制(1 和 0)的编程语言被称为低级语言。

低级语言对人们来说通常很难读懂,因为它们的结构是像机器一样写指令。尽管如此,与纯粹的 1 和 0 相比,它们更容易理解。

那么为什么要使用低级语言呢?因为他们速度快!它们让程序员更精确地控制计算机硬件如何工作。

另一方面,高级语言更接近人类的交流方式。他们在指令中使用的语言接近我们日常生活中使用的语言,使它们更容易编程和维护。缺点是它们需要更多的时间来翻译成机器代码以便计算机理解。

但随着计算机越来越强大,低级语言和高级语言的性能差异往往只有毫秒级。这就是为什么我们看到大多数编程工作都在寻找具有高水平编程技能的人。

什么是图灵完全性?

为了衡量一种编程语言的能力,计算机科学家经常使用图灵完备性的概念。它是以计算机科学家艾伦·图灵的名字命名的,他在 1936 年提出了图灵机。它成为了计算和计算机理论的基础。

图灵机是一种在纸带上打印符号的设备,它模仿人遵循逻辑指令的方式。

编程语言是访问和修改数据的正式规则系统。如果规则可以模拟图灵的假设计算机器,则称该规则为“图灵完备”可以从数学上证明图灵完备系统可以执行任何可能的计算。

我们强烈推荐观看这部来自 Computerphile 的视频,以了解更多关于图灵机及其图灵完备性概念的后续视频。

通用编程语言与特定领域语言

SQL 有一组预定义的关键字,并遵循严格的语法。为了开始使用 SQL 编程,请查看 DataCamp 的SQL 课程简介,在这里我们从选择和过滤记录和字段开始,然后继续聚合函数、排序和分组。

鉴于编程语言的定义是具有特定的词汇和特定的语法,SQL 绝对有资格成为编程语言。然而,它并不具备成为通用语言(GPL)的资格,事实上,它是一种领域特定语言(DSL)的 T2。

特定于领域的语言是专门为解决特定领域中的问题而创建的计算机语言,并不打算能够解决该领域之外的问题。

它们在设计和实现上都有特定的目标。例如,SQL 是专门为处理数据库而构建的,用于查询数据库和处理存储在其中的数据。您不能只使用 SQL 来构建整个应用程序。

DSL 的另一个例子是Cas cadingSstyleSsheets——俗称 CSS,用于设计网站上的 HTML 样式。

DSL 与通用语言(GPL)形成对比,通用语言(GPL)广泛适用于各个领域。它们被设计来让你用你需要的任何类型的逻辑写任何种类的程序。

您可以使用 GPL 创建各种应用程序,包括桌面、移动或 web 应用程序。一些最广泛使用的 GPL 包括 Python ,C++,Ruby,Java 和 JavaScript。

一般来说,DSL 不如 GPL 强大。然而,这也带来了一定的好处。由于其应用领域较窄,SQL 比大多数通用编程语言相对更容易学习。

我们鼓励您参加 DataCamp 的 SQL 基础课程,我们将在 21 小时内通过 5 门课程带您从 SQL 初学者成为专家。

那么 SQL 是编程语言吗?

正如我们前面所讨论的,图灵完备性是一种编程语言能力的标志。一种语言越强大,它能执行的计算就越复杂。随着 SQL 中通用表表达式****【CTEs】窗口函数的引入,我们能够使用 SQL 执行递归和分层计算,使其更加强大,并将其称为图灵完成。

然而,SQL 标准花了很长时间来添加分层和递归查询的特性。因此,一些旧的,传统的 RDBMS 可能不符合图灵完全。

我们之前讨论了通用编程语言与特定领域编程语言的不同之处。当人们说“编程语言”时,他们通常指的是“通用编程语言”,这有时会令人困惑。

所以当谈到编程语言的正确定义时, SQL 是一种特定领域的编程语言,它是图灵完全的。从而证明 SQL 是一种编程语言。

对于那些已经了解 SQL 基础知识并希望更进一步开始使用窗口函数的人,请查看 DataCamp 关于 PostgreSQl 汇总统计和窗口函数的互动课程。您将学习如何使用窗口函数(SQL 秘密武器)创建用于分析和数据工程目的的查询!

不同类型的 SQL

您可能听说过 SQL 的不同类型或方言:T-SQL、PostgreSQL、MySQL 等。但是您可能想知道这些不同类型的 SQL 是什么以及它们为什么存在?让我们来看看 SQL 的简史。

在 IBM 工作的英国计算机科学家埃德加·弗兰克·科德在 1970 年发表了一篇名为“大型共享数据库数据的关系模型”的论文。这是他发明数据库管理的关系模型的时候,从那时起,它就成为关系数据库和关系数据库管理系统的理论基础。

在此之后,人们在 20 世纪 80 年代后期努力创建一个官方的 SQL 标准。

SQL 在 1986 年成为美国国家标准协会(ANSI)的标准,在 1987 年成为国际标准化组织(ISO)的标准。自 20 世纪 80 年代以来,SQL 标准已经过多次修订,尽管标准 SQL 的核心特性自 1992 年以来一直保持稳定。

然而,随着在不同公司工作的数据库实现人员需要解决新问题或解决 SQL 标准中没有解决的现有问题,新的变化不断出现。这解释了为什么多种 SQL 方言会出现,并且今天仍然共存。

现在只有一种 SQL 语言,但是不同的数据库管理系统已经扩展了原始的 SQL 标准,增加了它们自己的功能或者使语法适应它们自己的功能。通过这样做,他们诞生了各种 SQL 方言。

你可以在我们名为“ SQL Server,PostgreSQL,MySQL”的博客文章中读到更多关于这些不同方言的内容...有什么区别?我从哪里开始?

从哪种 SQL 方言开始?

我们建议你从 PostgreSQL 开始。

PostgreSQL 是一个强大的开源对象关系数据库系统,它使用并扩展了 SQL 语言。它还具有各种功能,可以安全地存储和扩展最复杂的数据工作负载。

这是最接近标准的 SQL,是一种广泛使用的 SQL 方言。从 PostgreSQL 开始将为您提供最灵活的工具,以便稍后适应其他 SQL 方言,并将您的技能转化到其他 RDBMS。

DataCamp 在 PostgreSQL 课程中操作数据的函数是一个很好的中级互动课程,可以让你朝着正确的方向前进。

SQL 和过程语言

所以,我们知道 SQL 不是通用的编程语言。然而,您可以将 SQL 与过程语言结合起来,模仿一些类似 GPL 的行为。这样做使得在一个非预期的域中使用 SQL 在技术上成为可能。

过程语言是专门涉及使用函数、条件语句和变量来编写计算机可识别的程序以实现某种计算输出的编程语言。

所有数据库管理系统(DBMSs)都接受一种或多种过程语言。一些例子包括:

SQL 的过程语言(PL/SQL)

这是由 Oracle 公司创建的 SQL 扩展。类似于通用编程语言,PL/SQL 允许条件和循环。使用 PL/SQL,您还可以声明常量、变量、变量类型、触发器、过程和函数。

过程语言/PostgreSQL (PL/pgSQL)

这是开源 PostgreSQL 对象关系数据库管理系统支持的过程化语言。它非常类似于上面描述的 Oracle 的 PL/SQL,并且包括像循环和条件这样的元素。它允许继承用户定义的函数和运算符。

事务 SQL (T-SQL)

这是 Sybase 和微软的一个编程扩展,允许声明局部变量。它还对 SQL 标准中传统的 DELETE 和 UPDATE 语句进行了更改。它包括事务控制、异常和错误处理。它用于 Microsoft SQL Server,一个常见的数据库。

通过使用这样的扩展,SQL 能够像 GPL 一样执行,这使它成为一项更强大、更重要的学习技能!

SQL 入门。

希望我们已经让您相信 SQL 不仅仅是一种编程语言。而是一种功能强大的编程语言,帮助你从数据中获取最大价值!

Datacamp 是在线学习数据科学和分析的优秀平台。我们有大量高质量的在线课程可以帮助你理解 SQL 及其细微差别

我们的SQL Server 简介就是这样一门互动课程,在这门课程中,您将有机会测试自己的知识,并通过将所学知识付诸实践来树立信心。您将使用数字媒体数据库来查看各种艺术家和曲目、Eurovision 数据集的销售情况,并查看美国停电的趋势,以探索各种不同的数据类型和场景。

快乐学习!

加入我们的数据教育民主化运动

原文:https://web.archive.org/web/20221129040116/https://www.datacamp.com/blog/join-our-movement-to-democratize-data-education

自从我们第一次宣布我们的免费订阅赠品的细节还不到一个月,在这段时间里,我们大大扩展了我们的非营利合作伙伴圈子。我们的员工很高兴世界各地的组织都在利用免费的一年数据营。

我们还有很多订阅要捐。在世界各地,许多弱势群体都存在巨大的技术差距,他们接受技术教育的机会少于技术本身。如果您属于这样的社区,我们希望帮助您获得数据素养,作为您梦想职业生涯的垫脚石。我们认为数据教育是一项基本人权,我们邀请您加入我们!

请通过 【电子邮件保护】 联系我们,并推荐最适合帮助您当地有抱负的数据科学家、数据分析师和数据工程师社区的非营利组织。如果您为这样的组织工作,请联系我们寻求合作。我们可以分发的许可证数量有限,而且速度很快。请阅读我们的常见问题解答了解更多详情。

我们最新的合作伙伴

以下是最近加入我们的主要组织:

BeCode 是一个比利时的包容性编码训练营网络,为远离工作的积极人士(难民、辍学者、长期失业者)提供在数字劳动力中开始有前途的职业生涯的机会。他们旨在通过利用数字技能的短缺作为更具包容性的劳动力的杠杆,帮助弥合积极求职者和雇主市场之间的差距。他们目前正在培训 Web 开发、人工智能/数据科学和网络安全(DevSecOps)方面的人员。

成功之路通过提供希望、资源和计划,激励家庭实现梦想,实现经济独立。它们提供全面的服务和支持网络,帮助生活贫困的人实现经济自给自足。他们的模式以终身参与为核心,整合了劳动力准备培训、生活辅导、健康育儿/关系培训、教育/技能培训和就业服务,以帮助参与者设定和实现他们的目标。

数据科学尼日利亚 (DSN)是一家注册的非营利组织,其愿景是建立一个世界级的人工智能知识、研究和创新生态系统,提供高影响力和转型研究、商业用途应用、人工智能优先的初创企业、就业能力和社会良好用例;以便在 10 年内,尼日利亚将成为 10 大人工智能人才/知识目的地之一,具有 20%的 GDP 乘数影响。

马来西亚精算学生协会 (MASA)致力于团结马来西亚各地的精算专业学生,使他们具备技术能力,具备行业意识,并积极参与精算行业。他们向学生成员提供教育、工业和网络支持。

发展伙伴组织(T2)的使命是提供工具,让出生极端贫困的人有出路。通过提供教育、经济发展、充足的住房和初级医疗保健,他们帮助改变了家庭的生活和孩子的未来。经过 30 年的发展历史,他们知道有很多有才华的人没有办法在全球市场上学习或竞争。他们很高兴与 DataCamp 合作,将教育和经济发展带入他们在海地、危地马拉、密西西比和秘鲁的项目中。

学院让才华出众的非洲年轻人对世界产生巨大影响。10 Academy 通过收集和认证有关平台用户的高级数字技能和职业潜力的信息,并使用这些信息为有才华的非洲年轻人大规模安排工作来实现这一目标。

非常感谢我们的长期合作伙伴:

Jupyter 和 R Markdown:带 R 的笔记本

原文:https://web.archive.org/web/20230101103415/https://www.datacamp.com/blog/jupyter-and-r-markdown-notebooks-with-r

在处理数据科学问题时,您可能希望建立一个交互式环境,以便与其他人一起工作并共享项目代码。你可以用笔记本轻松设置。

在其他情况下,您可能只想交流工作流以及为分析数据科学问题而收集的结果。对于透明且可重复的报告,笔记本也能派上用场。

没错;笔记本非常适合您想要将纯文本与丰富的文本元素(如图形、计算等)结合在一起的情况。

本教程将涵盖以下主题:

  • Jupyter 笔记本中使用 R 的实用介绍。您将看到如何安装 R 内核,以及如何使用 R magics 使您的笔记本真正具有交互性,
  • 关于 R Markdown 笔记本的介绍:您将了解该功能在可再生研究和 R 的历史中是如何发展的,它与其他计算笔记本相比如何,您如何安装和使用它,以及哪些提示和技巧会派上用场,
  • 概述这两个笔记本之间的异同,重点介绍笔记本共享、代码执行、版本控制和项目管理;和
  • 你还将了解在你使用 R 时,Jupyter 和 R Markdown 笔记本的其他替代品,如 Bookdown、DataCamp Light、Shiny 等。

r 和朱庇特笔记本

与你可能想到的相反,Jupyter 并没有限制你只使用 Python:笔记本应用程序是语言不可知的,这意味着你也可以使用其他语言。

在 Jupyter 中开始使用 R 有两种一般的方法:使用内核或者建立一个 R 环境,这个环境拥有开始研究数据科学的所有必要工具。

用 R 内核在 Jupyter 中运行 R

如上所述,运行 R 的第一种方式是使用内核。如果你想获得 Jupyter 中所有可用内核的完整列表,请点击这里

要使用 R,您需要加载并激活 IRKernel,以便在笔记本环境中开始使用 R。

首先,你需要安装一些软件包。请确保不要在 RStudio 控制台中这样做,而是在常规的 R 终端中这样做,否则您会得到如下错误:

Error in IRkernel::installspec() :
Jupyter or IPython 3.0 has to be installed but could neither run “jupyter” nor “ipython”, “ipython2” or “ipython3”.
(Note that “ipython2” is just IPython for Python 2, but still may be IPython 3.0)
$ R

> install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest')) 

该命令将提示您键入一个数字来选择一个 CRAN mirror 来安装必要的软件包。输入一个数字,安装将继续。

> devtools::install_github('IRkernel/IRkernel')

然后,您仍然需要使 R 内核对 Jupyter 可见:

# Install IRKernel for the current user

> IRkernel::installspec()

# Or install IRKernel system-wide

> IRkernel::installspec(user = FALSE)

现在用jupyter notebook打开笔记本应用程序。当你创建一个新的笔记本时,你会看到 R 出现在内核列表中。

在 jupiter 中使用 r essentials 环境

快速使用 R 的第二个选择是在您当前的环境中安装 R essentials:

conda install -c r r-essentials 

这些“必需品”包括 dplyrshinyggplot2tidyrcaretnnet 等包。如果您不想在当前环境中安装 essentials,可以使用以下命令为 R essentials 创建一个新环境:

conda create -n my-r-env -c r r-essentials

现在打开笔记本应用程序,开始使用 r。

您可能想知道如果您想要安装额外的包来阐述您的数据科学项目,您需要做什么。毕竟,这些包可能足以让您入门,但是您可能需要其他工具。

嗯,您可以通过运行以下命令来构建 Conda R 包,例如:

conda skeleton cran ldavis conda build r-ldavis/

或者你可以通过install.packages()或者devtools::install_github从 R 里面安装包(从 GitHub 安装包)。您只需要确保将新的包添加到 Jupyter 使用的正确的 R 库中:

install.packages("ldavis", "/home/user/anaconda3/lib/R/library")

如果你想了解更多关于内核或者在 Docker 环境中运行 R 的知识,请查看这个页面

给 Jupyter 添加一些 R 魔法

使用笔记本电脑的一个巨大优势是它们为您提供了一个交互式的环境。这种交互性主要来自所谓的“魔法命令”。

这些命令允许你从 Python 切换到命令行指令,或者用另一种语言写代码,比如 R、Julia、Scala 等等

要从 Python 切换到 R,首先需要下载下面的包:

%load_ext rpy2.ipython

之后,您可以开始使用 R,或者使用%R magic 命令在您的数据分析中轻松地从 Python 切换到 R。

让我们用一个小例子来演示 R 魔术是如何工作的:

# Hide warnings if there are any
import warnings
warnings.filterwarnings('ignore')
# Load in the r magic
%load_ext rpy2.ipython
# We need ggplot2
%R require(ggplot2)
# Load in the pandas library
import pandas as pd 
# Make a pandas DataFrame
df = pd.DataFrame({'Alphabet': ['a', 'b', 'c', 'd','e', 'f', 'g', 'h','i'],
                   'A': [4, 3, 5, 2, 1, 7, 7, 5, 9],
                   'B': [0, 4, 3, 6, 7, 10,11, 9, 13],
                   'C': [1, 2, 3, 1, 2, 3, 1, 2, 3]})
# Take the name of input variable df and assign it to an R variable of the same name
%%R -i df
# Plot the DataFrame df
ggplot(data=df) + geom_point(aes(x=A, y=B, color=C))

如果你想了解更多关于 Jupyter 的细节,如何设置笔记本,从哪里下载应用程序,如何运行笔记本应用程序(通过 Docker,pip install 或 Anaconda 发行版)或其他细节,请查看我们的权威指南

恋恋笔记本

直到最近,Jupyter 似乎一直是 R 用户的热门解决方案,仅次于 Apache Zeppelin 或 Beaker 等笔记本。

此外,报告数据分析结果的其他替代方法,如 R Markdown、Knitr 或 Sweave,在 R 社区中非常受欢迎。

然而,随着 RStudio 最近发布的 R 或 R Markdown 笔记本电脑,这种情况可能会发生变化。

你看到了:R Markdown 笔记本的背景是复杂的,值得看看 R 的可再生研究的历史,以了解是什么推动了这种笔记本的创造和发展。最终,你也会意识到这款笔记本与众不同。

r 和可再生研究的历史

在他的演讲中,J . J Allaire 证实了 R 本身在可重复研究方面的努力,Emacs 将文本代码和输入结合起来的努力,Pandoc,Markdown 和 knitr 项目,以及计算笔记本多年来一直在平行发展并相互影响。他证实,所有这些因素最终导致了 r。

首先,计算笔记本有相当长的历史:自从 80 年代末 Mathematica 的前端发布以来,已经有了很多进步。2001 年,费尔南多·佩雷斯开始开发 IPython,但直到 2011 年该团队发布了 IPython 的 0.12 版本才得以实现。SageMath 项目始于 2004 年。之后一直有很多笔记本。数据科学界最著名的是 Beaker (2013 年)、Jupyter (2014 年)和 Apache Zeppelin (2015 年)。

然后,还有影响了 RStudio 的笔记本应用程序创建的标记语言和文本编辑器,即 Emacs、Markdown 和 Pandoc。Org-mode 发布于 2003 年。这是自由软件文本编辑器 Emacs 中注释、计划和创作的编辑和组织模式。六年后,Emacs org-R 开始为 R 用户提供支持。另一方面,Markdown 在 2004 年作为一种标记语言发布,它允许你以一种可以转换成 HTML 或其他格式的方式格式化你的纯文本。又过了几年,Pandoc 被释放了。它是一个写作工具,也是发布工作流的基础。

最后,R 社区为确保研究的可重复性和透明性所做的努力也促成了 R 笔记本的兴起。2002 年,引入了 Sweave,允许在 LaTeX 文档中嵌入 R 代码以生成 PDF 文件。这些 pdf 文件结合了叙述和分析、图形、代码和计算结果。十年后,开发了 knitr 来解决 Sweave 中长期存在的问题,并将其他附加包中存在的功能组合到一个单独的包中。它是 r 中用于动态报告生成的透明引擎。Knitr 允许任何输入语言和任何输出标记语言。

同样在 2012 年,R Markdown 作为 Markdown 的一个变种被创建,它可以嵌入 R 代码块,并可以与 knitr 一起使用来创建可复制的基于 web 的报告。最大的优势是,现在仍然没有必要再使用 LaTex,它有一个学习和使用的学习曲线。R Markdown 的语法非常类似于常规的 Markdown 语法,但确实有一些调整,因为您可以包括,例如,LaTex 方程。

R Markdown 与计算笔记本

R Markdown 可能是 R 社区中报告数据分析最受欢迎的选项之一。毫无疑问,它仍然是 R Markdown 笔记本的核心组件。

R Markdown 和 notebooks 也有一些共同之处,例如交付可重复的工作流,将代码、输出和文本编织在一个文档中,支持交互式小部件和多种格式的输出。然而,它们的侧重点有所不同:R Markdown 侧重于可再现的批处理执行、纯文本表示、版本控制、产品输出,并提供了与 R 脚本相同的编辑器和工具。

另一方面,传统的计算笔记本侧重于代码内联输出、跨会话缓存输出、共享代码和在单个文件中输出。笔记本强调交互式执行模式。它们不使用纯文本表示,而是使用结构化数据表示,比如 JSON。

这一切解释了 RStudio 笔记本应用程序的目的:它结合了 R Markdown 的所有优点和计算笔记本必须提供的好东西。

这就是为什么 R Markdown 是 R Markdown Notebook 的核心组件:RStudio 将其 Notebook 定义为“一个 R Markdown 文档,其中包含可以独立和交互执行的块,输出直接位于输入下方”。

如何使用 R 笔记本

如果你曾经使用过 Jupyter 或任何其他计算笔记本,你会发现工作流程非常相似。有一点可能看起来非常不同,那就是默认情况下,现在你不再使用代码单元了:你更愿意使用一种文本编辑器,在其中用 R Markdown 指示你的代码块。

如何安装和使用 R Markdown 笔记本电脑

使用笔记本电脑的第一个要求是您的 PC 上有最新版本的 RStudio。由于笔记本是 RStudio 的新功能,因此仅在 r studio 1.0 或更高版本中提供。所以,检查你是否安装了正确的版本是很重要的。

如果你没有 r studio 1.0 或更高版本,可以在这里下载最新版本

然后,要创建一个新的笔记本,你去文件标签,选择“新文件”,你会看到创建一个新的 R Markdown 笔记本的选项。如果 RStudio 提示您更新一些包,只需接受提议,最终会出现一个新文件。

提示:通过查看文档的顶部,仔细检查你是否在使用笔记本。输出应该是 html_notebook。

您将看到文档中出现的默认文本是 R Markdown。R Markdown 对你来说应该很熟悉,但如果你还不太精通,你可以随时查看我们的报道和 R Markdown 课程或浏览R studio 提供的材料

Compare Jupyter With R Markdown

注意您可以随时使用齿轮图标来调整笔记本的工作空间:您可以选择扩展、折叠和删除代码的输出,更改预览选项和修改输出选项。

如果您想要更改语法突出显示、应用另一个主题、调整输出中出现的图形的默认宽度和高度等,最后一个选项会很方便。

从那里开始,您可以开始插入代码块和文本!

您可以通过两种方式添加代码块:通过键盘快捷键 Ctrl + Alt + ICmd + Option + I 或使用工具栏中的插入按钮。

使用这些 R Markdown 笔记本的好处在于,当你一次执行大量代码块或多个代码块时,你可以跟踪代码块的执行情况,这要感谢出现在左侧的绿色小条。另外,注意底部有一个进度条。

您可以在下面的 gif 中看到绿色进度条:

Using the R Notebook

谈论代码执行:有多种方法可以执行 R 代码块。

你可以运行一个代码块或者运行下一个代码块,运行上面和下面的所有代码块;但是您也可以选择重启 R 并运行所有块,或者重启并清除输出。

注意当你执行笔记本的代码时,你也会看到输出出现在你的控制台上!对于那些经常使用 Jupyter 等其他计算笔记本的人来说,这可能是一个相当大的区别。

如果在笔记本的代码块执行过程中出现任何错误,执行将会停止,并且在产生错误的代码块旁边会出现一个红色的条。

您可以通过在块选项中添加errors = TRUE来抑制执行的暂停,就像这样:

```{r, error=TRUE}
iris <- read.csv(url("http://mlr.cs.umass.edu/ml/machine-leaning-databases/"), header = FALSE)
names(iris) <- c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width", "Species")
```py

注意错误仍然会出现,但是笔记本的代码执行不会停止!

如何使用 R Markdown 笔记本的魔力

就像使用 Jupyter 一样,您也可以使用 R Markdown 笔记本进行交互工作。它的工作方式与 Jupyter 有点不同,因为没有真正的魔法命令;要使用其他语言,您需要向笔记本中添加单独的 Bash、Stan、Python、SQL 或 Rcpp 块。

这些选项对您来说似乎非常有限,但是您可以通过工具栏的 insert 按钮轻松地添加这些类型的代码块,这是一种补偿。

使用这些代码块也很容易:你可以在 J . J Allaire 出版的本文档中看到一个 SQL 块的例子。对于 Bash 命令,您只需键入命令。不需要额外的字符,比如'!'来表示您正在 Bash 中工作,就像您在使用 Jupyter 时所做的那样。

如何输出 R Markdown 笔记本

在渲染笔记本的最终版本之前,您可能想要预览您已经执行的操作。有一个方便的特性可以让你做到这一点:你可以在你的工具栏中找到它。

单击“预览”按钮,文档的临时版本将在右侧的“查看器”选项卡中弹出。

通过在笔记本顶部的第一部分添加一些行,您可以调整输出选项,如下所示:

---
title: "Notebook with KNN Example"
output:
  pdf_document:
    highlight: tango
    toc: yes
  html_notebook:
    toc: yes
---

要查看在哪里可以获得这些发行版,您可以试着编织,控制台输出将为您提供可以下载必要软件包的站点。

请注意,这只是导出笔记本的众多选项之一:还可以呈现 GitHub 文档、word 文档、beamer 演示等。这些是常规 R Markdown 文件已经有的输出选项。你可以在这里找到更多信息

使用 R Notebook 的提示和技巧

除了你应该记住的一般编码实践,例如记录你的代码和应用一致的命名方案、代码分组和名称长度,你还可以使用以下提示来制作一个他人使用和阅读的笔记本:

  • 就像计算笔记本一样,将大代码块或生成多个输出的代码块分割成多个块可能会很方便。这样,您将改善总体用户体验,并增加笔记本的透明度。
  • 利用键盘快捷键来加快工作速度。您会在工具栏中找到大多数命令,就在您要执行的命令旁边。
  • 使用工具栏中的拼写检查器来确保报表的词汇是正确的。
  • 如果笔记本代码太多,可以选择隐藏代码。你可以通过代码块选项或者在笔记本本身的 HTML 文件中做到这一点!

R 笔记本对 Jupyter 笔记本

除了上面提到的 Jupyter 和 R Markdown 笔记本之间的区别之外,还有更多的东西。

我们来对比一下 Jupyter 和 R Markdown 笔记本吧!

你会发现有四个方面值得考虑:笔记本共享、代码执行、版本控制和项目管理。

笔记本分享

R Markdown 笔记本的源代码是一个.Rmd文件。但是当你保存一个笔记本时,会在旁边创建一个.nb.html文件。这个 HTML 文件是一个关联文件,它包含 R Markdown 源代码的副本和生成的输出。

这意味着您不需要特殊的查看器来查看文件,而您可能需要它来查看用 Jupyter 应用程序制作的笔记本,它们是简单的 JSON 文档,或者具有结构化格式输出的其他计算笔记本。你可以在任何网络服务器、GitHub 上发布你的 R Markdown 笔记本,或者作为电子邮件附件发布。

还有一些 API 来呈现和解析 R Markdown 笔记本:这使得其他前端工具能够为 R Markdown 创建笔记本创作模式。或者可以使用 API 创建不同笔记本格式之间的转换工具。

要共享您在 Jupyter 应用程序中制作的笔记本,您可以将笔记本导出为幻灯片、博客、仪表板等。你可以在本教程中找到更多信息。然而,也有默认选项来生成 Python 脚本、HTML 文件、Markdown 文件、PDF 文件或重构的文本文件。

代码执行

R Markdown 笔记本有运行一个代码块或运行下一个代码块、运行上下所有代码块的选项;除了这些选项,您还可以选择重启 R 并运行所有块,或者重启并清除输出。

当您使用 R 时,这些选项是很有趣的,因为 R Markdown 笔记本允许所有的 R 代码片段共享相同的环境。然而,如果您使用的是非 R 代码段,这可能是一个巨大的缺点,因为这些代码段不共享环境。

总而言之,这些代码执行选项为那些一直在努力使用 Jupyter 提供的代码执行选项的用户增加了相当大的灵活性,即使这些选项没有太大的不同:在 Jupyter 应用程序中,您可以选择运行单个单元、运行单元和运行所有单元。您也可以选择清除当前或所有输出。代码环境在代码单元之间共享。

版本控制

有人声称 Jupyter 搞乱了笔记本的版本控制,或者很难在这些笔记本上使用 git。这个问题的解决方案是将笔记本导出为脚本,或者设置一个过滤器来修复在提交时不应该更改的元数据部分,或者去除运行计数和输出。

R Markdown 笔记本似乎使这个问题变得更容易处理,因为它们有关联的 HTML 文件来保存代码的输出,而且笔记本文件本质上是纯文本文件,版本控制会容易得多。您可以选择仅将您的.Rmd文件放在 GitHub 或您的其他版本系统上,或者您也可以包含.nb.html 文件。

项目管理

由于 R Markdown 笔记本是 RStudio 开发套件的原生产品,因此这些笔记本将与您的 R 项目无缝集成。此外,这些笔记本还支持其他语言,包括 Python、C 和 SQL。

另一方面,Jupyter 项目不是任何开发工具包的原生项目:从这个意义上说,将这个笔记本与您的项目无缝集成需要花费一些努力。但这款笔记本仍然支持更多的语言,如果你想使用 Scala、Apache Toree、Julia 或其他语言,它将是你更合适的伴侣。

Jupyter 或 R Markdown 笔记本的替代产品

除了可以用作交互式数据科学环境的笔记本电脑,它可以让您轻松地与同事、同行和朋友分享您的代码,您还可以考虑其他选择。

因为有时候你不需要笔记本,而是需要一个仪表盘,一个互动学习平台或者一本书,比如说。

您已经在第二部分了解了 Sweave 和 Knitr 等选项。其他一些选项有:

  • 尽管这篇博文在一定程度上介绍了 R Markdown,但是你应该知道你可以用它做更多的事情。例如,您可以使用 flexdashboard 构建仪表板。
  • 或者你也可以使用 Bookdown 通过 R Markdown 快速发布 HTML、PDF、ePub、Kindle 图书。
  • Shiny 是一个你也可以用来创建仪表盘的工具。要开始使用 Shiny,请前往本页
  • 在教育环境中, DataCamp Light 也可以在你的博客或网站上创建互动教程。如果你想在工作中看到 DataCamp light,例如去这个教程

卡格尔竞赛:完全指南

原文:https://web.archive.org/web/20221129050302/https://www.datacamp.com/blog/kaggle-competitions-the-complete-guide

Kaggle
目录

  • 什么是 Kaggle 比赛?

  • 参加 Kaggle 比赛值得吗?

  • 什么时候应该参加数据科学竞赛?

  • 什么是数据营竞赛?

  • 如何找到适合自己水平的 Kaggle 比赛?(从初学者到高级技能)

  • 卡格尔竞赛小技巧

    • 选择一种编程语言
    • 参加标有“入门”的比赛
    • 不要单独使用 Kaggle
    • 专注学习
    • 研究其他公共笔记本
    • 阅读比赛规则
    • 分享您的解决方案
    • 参加 DataCamp 的课程
  • 什么是 Kaggle 排名?

    • 卡格尔奖章
      • 竞赛奖牌
      • 数据集奖牌
      • 笔记本奖牌
      • 讨论奖牌
    • 性能等级
      • 新手
      • 捐助者
      • 专家
      • 掌握
      • 高天尊
    • 从投稿人到专家需要多久?
  • Kaggle 排名提示

  • 结论

什么是 Kaggle 比赛?

现在我们已经讨论了 Kaggle 的基础知识,如笔记本和数据集,我们可以触及关于 Kaggle 竞赛的最常见问题:谁在组织它们?我能参加比赛吗?我为什么要参赛?

最后一个问题是关键。Kaggle 竞赛是基于 Kaggle 自己或其他大公司、组织、大学组织的具有挑战性的机器学习任务。在这些比赛中,用户与平台上的其他数据科学家竞争,提交更准确的预测,这些预测是由他们在比赛中建立的机器学习模型做出的。提交后,会自动计算出一个分数,反映他们的模型工作得如何。

有一种普遍的误解,认为参加这些比赛之前需要上概率统计的课程,或者对某些机器学习库有深入的了解。事实是,无论你的水平如何,你都可以,也应该参加 Kaggle 比赛。竞赛不是专家的专属,每个人都可以从中获得宝贵的经验,甚至利用这些经验来构建数据科学组合。

参加 Kaggle 比赛值得吗?

  • 无论您在数据科学领域的经验有多丰富,您都可以通过参加这个不断增长和发展的领域的竞赛来提高自己的技能。这些数据科学竞赛将在您自己的能力范围内挑战您。你在 Kaggle 或 DataCamp 数据科学竞赛上投入了越多的时间和精力,你就会越快适应你所使用的库和编程语言。
  • 您将在全球所有级别的数据科学家中赢得您的排名。
  • 您将有机会回顾获奖的解决方案,并获得解决同一问题的不同方法。这将使你更容易从不同的角度分析具有挑战性的任务。
  • 你将获得高质量的数据集。这将有助于您完全专注于解决方案,因为您不需要考虑清理数据、收集相关数据或自己创建一致且标记良好的数据集。
  • 您将有机会与竞赛获胜者和其他顶级数据科学家一起参与技术讨论。这将有助于扩大你的人际网络。
  • 解决实际问题将激励您,并让您深入了解数据科学家的日常工作和职责。
  • 有一个明显的财务激励。

参加 Kaggle 或者 DataCamp 的比赛绝对值得。不管你的专业水平如何,你肯定会发现至少有一个列出的好处与你相关。数据科学竞赛种类繁多,新的竞赛会定期发布。即使你现在对它们不感兴趣,我们也建议你关注那些已经出版的竞赛,因为至少有一个在将来的某个时候会变得与你相关。

什么时候应该参加数据科学竞赛?

在参加比赛之前,请考虑以下三个标准:

  1. 花在这个比赛上的时间和工作会与你从中获得的进步相平衡吗?
  2. 胜利背后的财务激励是什么,值得你花费时间吗?
  3. 作为一名数据专业人员,竞赛的工作、研究和贡献会让你满意吗?

一些数据科学家通常乐于参加任何比赛,只是为了扩大他们的网络和实践。然而,大多数人需要评估上述标准,以决定一场比赛是否值得。你还需要找到自己的标准,并在参加比赛之前考虑这些标准,始终考虑到你参加的比赛越多,你从 Kaggle 中获得的好处和学习经验就越多。

什么是数据营竞赛?

DataCamp 比赛和 Kaggle 比赛有很多相似之处。就像在 Kaggle 一样,在 DataCamp 你有机会检查公开分享的笔记本,DataCamp 比赛也有奖品。如果您在比赛中获得名次,您将赢得为期 1 年的高级 DataCamp 订阅,还可以赢得现金奖励。DataCamp 也有一个与 Kaggle 非常相似的环境,在这个环境中,你可以通过讨论页面与所有级别的其他数据科学家走到一起。

然而,Kaggle 和 Datacamp 竞赛之间有一些重要的区别。一方面,Kaggle 比赛更侧重于机器学习,而 DataCamp 则侧重于在更广泛的背景下测试你的分析、讲故事和可视化技能。另一方面,你有更大的机会赢得 DataCamp 比赛,因为它是一个崭露头角的平台,参与者相对较少。

在任何情况下,你都不应该仅仅为了获胜而参加比赛。如果你专注于进步,你会从中获得更多,在这方面,DataCamp 也提供了很大的改进可能性,你可以很容易地利用这一点。

如何找到适合自己水平的 Kaggle 比赛?(从初学者到高级技能)

Kaggle 允许你通过标题或使用关键词来过滤比赛,所以你很容易找到你最感兴趣的比赛。就像在搜索栏中输入标题或关键词一样简单。

Kaggle Competition Search
图 5.1:竞赛搜索

你也可以通过比赛标签来筛选。

Kaggle Competition Filter

图 5.2:竞争过滤

除了标题、关键词和标签,还有另外三个主要的过滤器:“状态”、“奖励”和“类别”。

状态:

  • 金钱:这种标签的竞赛通常由知名的大公司分享。如果你在这些比赛中排名,你将赢得现金奖励。最低奖金在 5000 美元到 10000 美元之间。奖金在 5 万至 10 万美元之间的比赛最为常见。最高奖金高达 100 万美元。
  • 奖牌:根据你在比赛中达到的分数,你可以获得 Kaggle 奖牌作为奖励。有了这些奖牌,你的排名会上升。Kaggle 排名在第 6 节的中有详细解释。
  • 其他:这些比赛会奖励参赛者一些 Kaggle 商品,比如 t 恤或贴纸。

类别:

  • 特色:这些比赛通常由大公司、组织甚至政府发布。他们的现金奖励比其他类别提供的要多得多。
  • 研究:这些是以研究为主题的比赛。奖金很少或没有。
  • 入门:这些不包括任何奖励。它们通常是出于教育目的的竞赛。在本节的最后,您会发现一个标签为“入门”的示例竞赛。您不仅会看到示例,还会看到如何使用笔记本以及如何提交结果的教程,以及其他相关步骤。
  • 游乐场:对于那些想要获得一些经验并继续提高技能的人来说,这些是合适的比赛。奖品通常是 Kaggle 商品(比如 t 恤和贴纸)。这些比赛往往很好玩,游戏化。
  • InClass:这些比赛通常由大学主办,参与者是他们的机器学习学生。他们的目标是吸引和激励这些学生。
  • 分析:这些是数据分析比赛。
  • 模拟:Kaggle 上这些与传统监督机器学习挑战不同的是强化学习任务的竞争类型。竞争者开发模型,让他们的模型在模拟环境中竞争。

除了主要的过滤器之外,你还有一些其他的过滤器,允许你通过附加的参数对比赛进行分类,比如“热门”、“最近推出”、“即将关闭”、“奖励”和“总团队”。

图 5.3:竞争排序

Kaggle 竞赛提示

1.选择一种编程语言

Python 和 R 是数据科学领域最常用的编程语言,尤其是在可视化和机器学习任务方面。如果你想知道 MATLAB,你可以在你的本地计算机上使用它来完成数据科学任务,但 Kaggle 笔记本只支持 Python,R 和 Julia。

如果您使用不同的编程语言,您可能会更容易执行一些任务,但使编程语言强大的是社区及其背后的开源库支持。你需要考虑(通过使用一种更流行的语言)任何你导入到本地计算机的库,你也能够导入到 Kaggle。

如果你是初学者,Python 或 R 是很好的起点,可以一直坚持到你在这个领域有所发展。请记住,Kaggle 上分享的许多笔记本都是用 Python 编写的,如果你需要学习它们,如果你懂这种语言,你将能够轻松完成。

2.参加标有“入门”的比赛

入门非常适合新手。如果你完成了这些比赛,并回顾了别人分享的笔记本,你会学到很多东西,而且相对来说会很快。

以下是我们根据您的知识推荐的一些入门竞赛:

3.不要单独使用 Kaggle

一旦你尝试了上面列出的一个基本级别的比赛,你会有更多的经验,在不同的平台上寻找比赛可能对你有好处。

在 DataCamp 上,你可以参加数据科学竞赛,例如“为一家饮料公司设计促销策略”,这需要你做一些研究,并在你的能力范围内做出更多努力。这场比赛的特殊之处在于,它不仅专注于机器学习,还要求参与者显著提高他们的分析、讲故事和可视化技能。您可以在参赛作品标签中查看本次比赛的共享笔记本。

为了最大限度地提高您的成功机会并充分利用本次比赛,建议您首先完成以下课程:

4.专注学习

Kaggle 比赛的奖金意义重大。这可能会诱使你偏离你的学习目标。不要把注意力放在奖励上,而是优先考虑学习和提高。一旦你有了足够的经验,你就有时间去思考如何到达最高位置。

5.研究其他公共笔记本

研究竞赛中分享的笔记本将帮助你学习解决同一问题的不同方法。

6.阅读比赛规则

在你决定参加比赛之前,阅读比赛信息和规则,并确保你在参加比赛之前完全理解它们。

7.分享您的解决方案

分享您的解决方案将增加您与其他数据科学家的互动,并且您将能够从其他人那里获得反馈。通过打开关于您的解决方案的讨论话题,您将更快获得奖牌,并能够快速提高您的 Kaggle 排名。第 6 节提供了更多关于 Kaggle 排名的信息。

8.参加 DataCamp 的课程

DataCamp 的赢得 Python 中的 Kaggle 竞赛课程将教你如何处理和组织任何数据科学竞赛参赛作品。通过学习这门课程,你将学习竞赛中使用的所有基本技术,比如如何验证机器学习模型,以及如何避免过度拟合。

什么是 Kaggle 排名?

Kaggle 排名系统是一个实时排行榜,对各种专业水平的数据科学家进行排名,他们对 Kaggle 做出不同类型的贡献,从评论到参加 Kaggle 比赛。

除了主排行榜,还有其他四种不同类型的排名:“竞赛”、“数据集”、“笔记本”和“讨论”。您可以在自己的个人资料中看到您在这些类别中的级别。当你在上面的类别中赢得奖牌时,你的等级会增加。请记住,奖牌是通过比赛评分和投票获得的。

在 Kaggle 中有五个主要等级:“新手”、“贡献者”、“专家”、“大师”和“特级大师”。截至目前,“Kaggle Grandmaster”这一梯队的数据科学家只有 241 人,是顶级联赛。这就证明了成为其中的一份子有多难。至于其他的,现在有 1668 个大师,7206 个专家,64668 个贡献者和 92747 个新手。你所在的级别,就像你获得的奖牌数量一样,将证明对你的职业发展非常有利。

卡格尔奖章

奖牌代表了一个类别中的非凡成就。这一成就可以是一个伟大的比赛结果,一个受欢迎的笔记本,一个有用的数据集或一个有见地的评论,等等。你的成就是标准化的,通过与其他数据科学家的贡献进行比较,会创建一个排名系统。

竞赛奖牌

比赛奖牌由你在比赛中的排名决定。请记住,您不会从课堂、操场和入门类别的比赛中赢得奖牌。

在有 0-99 支队伍的比赛中,排在前 40%会给你一枚铜牌。如果你是前 20%的人,你将获得一枚银牌,如果你是前 10%的人,你将获得一枚金牌。随着队伍数量的增加,奖牌的分布也发生了变化。比如,参加 1000 人及以上队伍的比赛,前 10%的队伍授予铜牌,前 5%的队伍授予银牌,前 10 名的队伍授予金牌。

数据集奖牌

你分享的数据集越受欢迎,你从其他人那里获得的支持就越多。你的数据集奖牌由这些支持票的数量决定。5-20 票的数据集授予铜牌,20-50 票的数据集授予银牌,50 票以上的数据集授予金牌。新手级别用户给出的投票不在计算之内。

笔记本奖牌

与数据集奖牌相同的规则也适用于笔记本奖牌。5-20 票的笔记本授予铜牌,20-50 票的笔记本授予银牌,50 票以上的笔记本授予金牌。新手级别用户给出的投票不在计算之内。

讨论奖牌

讨论奖牌是通过计算净投票获得的,净投票是通过从向上投票中减去向下投票获得的。对你的旧帖子的投票和来自新手等级的投票不包括在计算中。一张净票就够拿铜牌了。如果您获得 5-10 张净投票,您将获得一枚银牌,获得 10 张或更多净投票,您将获得一枚金牌。

性能等级

每个排名类别(“竞赛”、“数据集”、“笔记本”和“讨论”)都为您分配了一个绩效等级。您在所有类别中的最高层级在您的个人资料中显示为主要层级。

新手

当您在平台上注册时,您会自动收到此层级。

捐助者

成为“贡献者”的条件如下:

  • 运行一个笔记本或脚本
  • 提交一个竞赛或任务
  • 做一个评论
  • 投一张赞成票

专家

为了成为“专家”,你必须在比赛中获得至少 2 枚铜牌;数据集至少 3 枚铜牌;笔记本铜牌至少 5 个;和至少 50 枚铜牌的讨论。

掌握

为了达到“大师”级别,您必须在比赛中赢得至少 1 枚金牌和 2 枚银牌;数据集至少 1 枚金牌,4 枚银牌;笔记本至少 10 个银牌,讨论至少 200 个奖牌,其中至少 50 个需要是银牌。

高天尊

要成为“特级大师”,你需要在比赛中赢得至少 5 枚金牌,其中至少 1 枚需要是单人金牌;数据集至少 5 枚金牌和 5 枚银牌;笔记本至少 15 块金牌;和至少 500 枚奖牌的讨论,其中 50 枚需为金牌。

从投稿人到专家需要多久?

这完全取决于你对 Kaggle 的坚持和贡献。根据该分析,从贡献者到专家平均需要 1 年左右的时间。这个时间框架取决于每个数据科学家愿意在 Kaggle 上投入的不同程度的努力。例如,如果你在学习和提高方面投入时间,你可能需要更长的时间来获得专家徽章,但如果你只是试图尽快获得尽可能多的奖牌,那么这可能需要更短的时间。

通常更好的做法是投入时间取得真正的进步,而不仅仅是赢得奖牌。为了提高你的知识和技能,以在你的职业生涯中取得进展,这是真正的经验。

Kaggle 排名提示

如前所述,你的目标应该是使用 Kaggle 或 DataCamp 来扩大你的网络,提高你的技能,尽可能多地学习。

然而,赢得奖牌也是有价值的,当然,因为赢得奖牌的条件也取决于高支持票数,所以你应该考虑增加你获得的支持票数。以下提示将帮助您增加奖牌数:

  • 不要要求支持票。努力提供有用的信息,自然会有更多的人投赞成票。事实上,要求人们投赞成票可能会适得其反,而且很可能会让你落选。
  • 如果你信任作者,你可能会得到更多的支持票。但是要有选择地使用这些信息,并且只有当这些信息给帖子增加了真正的价值时才使用,这样你就不会冒发送垃圾邮件的风险。
  • 记住:只专注于提高你的技能,奖牌就会随之而来。

卡格尔等级和勋章是你真实成就的有形体现。随着你的进步,看到你的成就实现很可能会激励你。

结论

参加 Kaggle 或 DataCamp 数据科学竞赛非常有趣,也是激励您踏上数据科学之旅的工具之一。虽然有非凡的数据科学家在其收入模型中决定比赛的奖金,但大多数数据科学家的目标是尽可能多地从比赛中学习,并获得真正的经验。

这里最有帮助的因素是提高竞争排名的雄心。有了这个野心,数据科学家就可以看别人的笔记本,研究不同的代码和策略。比赛后给你的代码的建议甚至可以被认为是一种自由指导的风格。

对于如何为比赛分析数据集的分步演练,请查看我们的 Kaggle 比赛教程

新冠肺炎时代关于数据隐私的关键要点

原文:https://web.archive.org/web/20230101103301/https://www.datacamp.com/blog/key-takeaways-about-data-privacy-in-the-age-of-covid-19

在新冠肺炎危机之前,我们已经敏锐地意识到围绕数据隐私进行更广泛对话的必要性:只需看看斯诺登爆料、剑桥分析、纽约时报隐私项目、欧洲通用数据保护法规(GDPR)和加州消费者隐私法案(CCPA)就知道了。在新冠肺炎时代,这些问题要尖锐得多。我们也知道,政府和企业利用危机来巩固和重新安排权力,声称公民需要为了安全而放弃隐私。但是这种权衡是错误的二分法吗?我们正在开发什么样的工具来帮助我们度过这场危机?

在我们最近的 DCVirtual 网络研讨会周,Cape Privacy(一个安全、保护隐私的机器学习平台)的产品负责人 Katharine Jarmul 在与 DataCamp 的数据科学家和教育家 Hugo Bowne-Anderson 博士的对话中讨论了所有这些以及更多内容。观看网上研讨会点播听播客,或继续阅读一些要点。

数据隐私有内在的权衡吗?

Hugo 从 Stuart Russell 的书 Human Compatible 中引出了一个挑衅性的问题:如果人工智能对你或像你这样的人一无所知,它能帮上忙吗?答案很可能不是。那么我们是不是被迫放弃自己的隐私,才能在日常生活中受益于 AI 呢?许多人在方便、实用和隐私之间,以及隐私和安全之间做出权衡。

政府和企业有时声称,为了安全,公民需要放弃隐私。这就是为什么如此多的消费者不信任人工智能个人助理,并干脆选择不购买 Alexa。但是,那些购买 Alexa 的人“应该”被侵犯隐私吗?底线是把举证责任放在想要保护自己隐私的人身上是不公平的。这种权衡是错误的二分法。

生产研究

凯瑟琳认为,关键是将研究生产化,这也是吸引她在 Cape Privacy 工作的原因。数据隐私领域的研究深度惊人。她说,我们可以用对我们来说很重要的真实世界的用例和威胁来推动研究。这意味着研究人员和工业人员之间的良好关系。

生产研究的最佳实践是,学习算法可以使用安全的多方计算技术对加密数据进行操作,以便用户可以从共享中受益,而不会损害个人隐私。

将隐私专业知识融入你的技能组合

数据隐私是一个需要跨职能部门协作的大问题。每个处理数据的人都需要意识到隐私问题,并感到有能力了解和解决他们实施的解决方案中的任何隐私威胁。许多公司已经采用数据隐私、安全或风险团队来保护他们的产品和品牌。数据科学家和机器学习专家将继续不得不将这些考虑因素构建到他们构建的系统中。这包括跟上先进的隐私和安全技术。

理解这是关于同意和满足期望

我们的数据隐私标准随着时间的推移不断发展。例如,10 年前,许多人在得知他们收到了基于电子邮件中关键词的定向广告后感到愤怒。但是今天,许多人认为这是谷歌的标准商业行为。

我们必须对政府和行业中的当权者保持高标准,以防止滥用。这些机构可以接触到如此多的数据——有些用户认为是公开的,有些用户认为是私人的。我们应该根据什么基准来判断那些有权访问和控制这些数据的人呢?

数据隐私和道德归结为同意并满足用户、公民和消费者对其数据使用方式的期望。它需要意识、理解和透明度。

隐私、道德和透明的需要

数据隐私和道德是相辅相成的。当然,在伦理研究中,我们必须认识到不完美的条件。这需要结合我们从理论角度了解的知识,尽我们所能创造出最好的生产系统。

有很多不好的做法需要透过这个镜头来看。根据我们所知道的,我们如何改进不好的做法?一个好办法是确保公司在文件中尽可能透明。条款和条件通常非常难以阅读——通常是故意的。《纽约时报》分析了 Airbnb 和脸书等公司的 150 项隐私政策,其中一些政策比康德的《纯粹理性批判》等深奥的哲学文本更难阅读。

公司还应该认真考虑应对挑战的最佳解决方案,而不仅仅是最方便的解决方案。例如,出于欺诈检测的目的, Stripe 正在悄悄监控您在客户网站上的活动。但在条款和条件中并没有真正明确他们正在这样做,而且有许多方法可以在不收集用户导航移动和浏览器历史的情况下防止欺诈。

保持信任关系

罗斯·安德森关于现实世界中的联系人追踪的文章驳斥了许多反对这篇博文开头提到的数据隐私折衷的错误观点。当权者继续声称,如果他们能更多地获取我们越来越多的私人信息,他们就能保证更多的安全。尤其是在今天,我们需要质疑强大机构持续整合数据的道德和影响。

这意味着我们需要让他们对处理数据的方式负责。如果他们出于某种目的收集数据,则应仅限于该用途,并在事后删除。例如,在数据伦理社区中,数据信任是在签订合同仅将特定数据集用于单一目的(如抗击癌症或绘制基因组)并且禁止用于其他目的的情况下建立的。建立该系统的治理将允许更好地强制数据用于其预期目的。如果公司明确同意删除某些数据,他们必须能够证实这些数据已经被删除。此外,如果数据被删除,但用于丰富其他信息,还必须澄清谁拥有这些丰富的数据。

人工智能在新冠肺炎的直接应用

人工智能不会是治愈新冠肺炎疫情的唯一方法,但我们可以利用我们在数据和机器学习方面的技能,以积极的方式做出贡献。这包括报告与冠状病毒相关的网络钓鱼和网络安全威胁、医院的能力规划,以及优化物流运营以确保物资的公平分配。

如果你喜欢这些内容,请确保通过播客网络研讨会点播观看完整的对话。此外,请查看凯瑟琳和雨果 2018 年关于数据安全、数据隐私和 GDPR 的对话。你可以在推特上关注凯瑟琳的 @kjam 和雨果的 @hugobowne 。如果你对探索自然语言处理的能力感兴趣,我们鼓励你参加 Katharine 的 DataCamp 课程,学习 Python 自然语言处理入门和她的项目,谁在发推特?特朗普还是特鲁多?

Q1 2022 年申请数据营捐赠的最后机会

原文:https://web.archive.org/web/20221129045128/https://www.datacamp.com/blog/last-chance-in-q1-2022-to-apply-for-datacamp-donates

当我们结束 2021 年的最后一章时,DataCamp 希望尽一切努力将免费的世界级数据科学教育提供给最需要它的弱势群体。这就是为什么我们将 Q1 2022 数据营捐赠合作伙伴队列的申请截止日期延长了整整一周。新的截止时间是美国东部时间 2022 年 1 月 31 日 11:59。代表您的非营利组织申请为您的整个社区赢得一年的免费专业数据营!看看我们从数据营每周捐赠学员那里获得的许多成功案例中的一些吧:

“我通过 GDSC 国际律师协会获得了免费使用 DataCamp 的许可,目的是学习目前全世界急需的技能。在 DataCamp 上完成 Python 和 SQL 课程一个月后,我在 Growthhopper 找到了一份数据分析师的工作。感谢 DataCamp 提供这个机会!”

Shehroze Shahid,学生,巴基斯坦卡拉奇

“我对 DataCamp 在学习数据科学和编程方面的出色表现感到震惊。我发现 DataCamp 是一个非常棒的学习论坛,因为你可以实际尝试你在整个赛道中学到的概念。无论您阅读了多少数据科学博客或书籍,没有什么比实际编写解决方案和完成项目更有学习价值。DataCamp 打破了我的预期,帮我在耐克找到了一份灰色市场数据分析师的工作。”

——蒙大拿州比尔格,美国陆军老兵,暴线学员,华盛顿州范沃弗

就在感恩节之前,我们很高兴地欢迎 DataCamp 捐赠领导和学习者来到我们位于帝国大厦的办公室,与 DataCamp 领导团队见面。DataCamp 首席人力官 Catalina Schveniger 表示:“我们很高兴能够与 Per Scholas 和 Women in Data 的学习者和领导者面对面交流,这是我们最有价值的两个 DataCamp 捐赠合作伙伴。“得知我们的三位客人即将开始全新的工作,这部分要归功于他们通过 DataCamp 捐赠获得的技能,这是非常令人满意的。”

来自纽约的海伦娜·希尔(Helena Hill)参加了此次活动,她说:“了解更多关于数据库和电子表格的知识,对我在 Per Scholas 担任经理的新职位有所帮助。她接着描述了她新发现的知识如何影响她的日常生活,甚至是工作之外的生活:“数据营让我成为一个更聪明的信息消费者。我更加意识到操纵和歪曲图表中的数据是多么容易,例如,有时是无意的。”Per Scholas 的业务解决方案高级总监 Tiernan Walsh 收到了 60 多份 Helena 职位的申请,她将自己的成功归功于使用 DataCamp 获得的知识。

(From left to right) Rachel Provost (Women in Data), Nathaniel Taylor-Leach (Director of Social Impact, DataCamp), Helena Hill, Terrence X. Daniels, and Tiernan Walsh (Per Scholas)

三个月。20 个合伙人。2500 多条生命

第四季度是 DataCamp 捐赠的又一个重要季度。我们增加了来自 17 个国家的 20 个组织。这相当于超过 2,500 名弱势人群 DataCamp 正在帮助他们在数据科学领域找到更好的工作。迄今为止,DataCamp Donates 仅在一年多的时间里就送出了超过 28,000 份订阅,而我们才刚刚开始!!

以下是上个季度我们有幸成为 DataCamp 捐赠合作伙伴的所有新组织和回归组织:

| 雅典耀统计圈 | 尼日利亚数据科学 |
| 深度学习。艾 | 流行的开发者 |
| 能源气候 | 友谊庇护所 |
| 伦敦的 GDP | GDSC 扶起了狄利曼 |
| GDSC 是 | GDSC 产品生命周期 |
| GDSC 信德穆斯林大学 | 全球黑客 |
| 工业工程师俱乐部 | 国际咨询网(图标) |
| 雷斯奇尔法官 | MSAC MLSA UET 白沙瓦 |
| Plazi | 雪兰莪人力资源发展中心 |
| 为菲律宾人教书 | Yakera |

成为 DCD 的合伙人,成为当地的英雄

唯一阻止你为当地有抱负的数据专业人士社区提供一年免费数据营的是你自己!如果您的组织提供职业发展、工作安置或其他社会服务,它是成为 DataCamp 捐赠合作伙伴的理想候选人。我们也欢迎来自数据科学或编码社区组织以及科研非营利组织的申请。

在 2022 年 1 月 31 日前代表组织申请成为 DataCamp 捐赠合作伙伴。。Q2 2022 的申请将于 2022 年 2 月 14 日开始。我们期待在 2022 年支持你!

通过我们新的字幕翻译,用您的母语学习

原文:https://web.archive.org/web/20230101103301/https://www.datacamp.com/blog/learn-in-your-native-language-with-our-new-subtitle-translations

世界各地的数据营学习者正在打开母语字幕。

我们的使命是为每个人普及数据科学和分析教育。但直到最近,我们只有英语字幕,这是全球商业语言。问题?我们的许多学习者母语不是英语,而给了我们反馈他们更喜欢用母语学习。为了支持我们在世界各地的学习者,我们开发了九种流行语言的课程字幕:西班牙语、法语、中文(简体)、葡萄牙语、德语、韩语、日语、俄语、意大利语。在我们的帮助中心了解如何更改字幕语言。

我们已经知道字幕很受欢迎。大约有 30%的学习者开始学习我们的课程时会启用字幕——你也不例外。结合视觉和听觉的学习方式是有效的。许多学习者希望边听边读,这有助于理解。此外,字幕使我们的目录更容易被不同背景和需求的人所理解。

我们不希望我们的母语不是英语的学习者不得不付出两倍的努力来达到和其他人一样的目标。我们希望每个人都能理解数据,并用数据语言进行交流。

上个月,我们为所有课程推出了九种不同语言的新字幕。从那以后,我们看到 20%打开字幕的学习者使用非英语字幕,以西班牙语、汉语和葡萄牙语为主。

如果没有来自学习者的输入,我们的产品团队永远不会踏上这个旅程,他们希望学习不同的语言。请继续让我们知道我们如何改进产品功能比如我们的翻译,并推荐我们接下来应该考虑添加哪些语言。我们也希望听到您对我们课程的反馈!我们可以一起让 DataCamp 成为一个各行各业的人都可以学习数据语言的地方。

通过 DataCamp 的移动编码课程进行无限制学习

原文:https://web.archive.org/web/20230101103328/https://www.datacamp.com/blog/learn-without-limits-with-datacamps-mobile-coding-courses

随时随地都可以学习 Python。您将获得无缝的跨平台学习体验,能够在桌面和移动平台上继续学习。我们在 app store 中提供最深入、最完整的 Python 学习内容。

https://web.archive.org/web/20220817164735if_/https://www.youtube.com/embed/G9ThPZ1r94E

准备好开始免费的 Python 移动编码课程了吗?参观 datacamp.com/mobile。

学员聚焦:我如何成为 DataCamp 的数据分析师[感言]

原文:https://web.archive.org/web/20221129033105/https://www.datacamp.com/blog/learner-spotlight-how-i-became-a-data-analyst-with-datacamp-testimonial

https://web.archive.org/web/20221212135913if_/https://www.youtube.com/embed/tWLw3GzfcbU

Chris Murphy 的职业目标是成为一家财富 100 强公司的数据科学家。他希望利用他在中国的工作经验和他目前在 UMass 医学院担任数据分析师的职位来实现他的目标。

克里斯的本科学位是工商管理,主修国际商务,辅修汉语普通话。2019 年毕业后,他决定搬到中国工作。他在电子商务领域的一家上海初创公司找到了一份工作,这在中国是一个庞大的行业。

在上海电子商务初创公司工作是一次非常棒的经历,让我大开眼界,认识到数据在商业中的潜在作用。

克里斯数据营之旅的开始

DataCamp 如何帮助 Chris 获得数据分析师职位

由于新冠肺炎的原因,Chris 于 2020 年 2 月初返回美国,并开始了他的 DataCamp 之旅,每天花大约一个小时来提高他的数据技能。他是一个狂热的学习者,使用了好几个在线平台,但他发现他最喜欢 DataCamp。他最近接受了马萨诸塞医学院的一个职位,担任数据分析师,他认为 DataCamp 帮助他获得了这个职位。

作为一名马萨诸塞医学院的数据分析师,我每天都在工作中运用从 DataCamp 中学到的技能。

数据分析师的一天

克里斯在马萨诸塞医学院的日常工作有很大的社会影响。他的数据分析工作支持马萨诸塞州补充计划,该计划每月向超过 400,000 名符合条件的老年人、残疾人和盲人提供资金。他揭示趋势,预测未来的现金分配,并确保当前客户的持续资格状态。

我们在马萨诸塞医学院的工作直接影响到我们客户的福祉和生计。

Chris 如何使用 DataCamp 练习他的数据分析技能

SQL、Python 和统计学课程

在他在 DataCamp 中学到的技能中,Chris 发现最有用的技能是在 SQL Server (递归查询、存储过程、关系数据库等)。)和 Python 基础、统计、包(熊猫、Numpy、Seaborn、Matplotlib、scikit-learn)。

每天,我都利用特定于案例的 SQL Server join 语句从最新的状态记录中收集特定的数据。我用文本解析功能自动化每日报告。我还非常依赖清理数据操作包(如 pandas)中的数据帧的能力。我处理大量涉及日期时间的数据,因此学习如何用 Python 处理日期至关重要。

技能轨迹

DataCamp 帮助各种背景的学习者熟练掌握数据语言。如果你想进入数据职业或提升你目前的职位,Chris 建议从我们的技能路线开始。

DataCamp 的技能课程是按顺序排列的,所以你可以先学习基础知识,然后将新学到的技能应用到更复杂的问题中。它们是按照你自己的节奏循序渐进学习的好方法。

养成日常习惯

Chris 说,如果你刚刚开始 DataCamp 之旅,一点点就能走很长的路。你可以养成每天学习的习惯,或者参加 #100DaysOfCode 挑战,以获得在职业生涯中进行变革的动力。

不要试图一次完成整个 DataCamp 课程。在几天内消化和巩固你所学的东西,比试图在短时间内快速学会所有东西要容易和有效得多。

立即报名!

寻找一个数据爱好者社区来支持您的学习之旅?加入 DataCamp Slack 社区,用定制的 LinkedIn 封面图片告诉世界你是一个数据爱好者,并在 LinkedIn 上与克里斯联系。

学员聚焦:我从网络安全专家到数据分析师的旅程[感言]

原文:https://web.archive.org/web/20230101103238/https://www.datacamp.com/blog/learner-spotlight-my-journey-from-cybersecurity-professional-to-data-analyst-testimonial

https://web.archive.org/web/20220630221540if_/https://www.youtube.com/embed/CexYyrtIAjw

你能告诉我们你的背景吗?

我的职业生涯始于 2010 年,在空军安全部队领域工作,更普遍的说法是宪兵。我参与了保护韩国和日本政府设施的安全,甚至有一次还保护了奥巴马的飞机!离开空军后,我在电信行业工作了几年,担任服务台分析师,然后转到银行领域的网络安全。

尽管没有从事需要数据技能的工作,我总是试图在我发现自己工作的任何地方使用它们,偶尔会让我的老板恼火,他告诉我“坚持你的日常工作”😂。然而,在很多时候,作为团队的“数据人”在这些角色中是有帮助的,例如为管理层生成信息丰富的 Tableau 报告,找到未使用的数据并将其投入使用,以及识别在高级分析之前没有完全实现的洞察力。

最近,我得到了一份合适的工作,在一个数据科学团队中担任数据分析师,在那里我终于可以将这些技能应用到日常生活中。我发现自己在 2020 年 11 月的疫情期间失业了,并认为这是一个很好的机会,可以进行重大的职业转变,全职从事数据工作。我从银行业的网络安全分析师变成了出版业的数据分析师。DataCamp 帮助我获得了足够的技能,使我能够适应这一职业发展,我计划在不久的将来成为一名数据科学家!

我在学校学的是软件开发,但我非常支持在线自学相关技能,而不是花钱接受高等教育。我发现像 DataCamp 这样的免费或负担得起的在线资源很有价值。就个人而言,我喜欢参加 DrivenData.com 和 Kaggle 上的比赛,学习日语,弹吉他,当然,也喜欢敲打 DataCamp 上的模块。

您在 DataCamp 上大约花费多少时间来学习?

每天大概 2-3 个小时。

你是如何找到 DataCamp 的,为什么选择我们的平台而不是其他在线学习平台?

时间太久了,我都不太记得是怎么找到 DataCamp 的了。很有可能,我只是在搜索数据科学学习资源。我确实记得检查 DataQuest,我没有和他们一起去,因为他们的 UI 有点伤我的大脑。在 DataCamp 上,一切都以一种非常简洁和一致的方式进行布局。很容易找到我要找的东西。

DataCamp 如何帮助你实现职业目标?

我的新工作主要是写 Python 代码。从 A 点到 b 点争论、清理和获取数据的代码。有时,一些 SQL 会被混淆,DataCamp 提供了我在现实世界中 98%的 SQL 知识和教育,这是我在以前的工作中无法获得的。DataCamp 让我的新工作变得轻而易举。

你在 DataCamp 中学到的哪些技能被证明是最有用的?

哦,这是个难题。我会说一般的机器学习技能。我花了很长时间才理解 scikit-learn 以及如何使用 train_test_split()这样简单的事情。一开始很吓人。在进行了大量有指导的重复之后,一夜之间一切都变得有意义了。我在使用 Python 的机器学习科学家职业道路上继续学习新的技巧和诀窍,并不断将其应用到我的现实世界项目中。

我引以为豪的一个很好的例子是在美国银行的安全运营中心为其电子邮件滥用团队构建了一个垃圾邮件分类器。他们的工作是分析内部员工向团队报告的可疑电子邮件。他们收到大量的提交,其中许多是垃圾邮件。为了帮助自动处理这些提交,我构建了一个准确率为 93%的逻辑回归垃圾邮件过滤器。最终,它被投入生产并节省了大约 200 个每周分析小时。这使得他们的团队可以专注于更紧迫的任务。

在我目前的工作中,我最近不得不建立一个复杂的数据管道(用 Python 和 SQL ),从 SFTP 服务器提取数据,对其进行密集的数据清理,将数据连接到 SQL Server 数据库的表中,然后将最终结果转发给吉拉。DataCamp 的课程编写高效的 Python 代码帮助我将这个脚本的速度提高了 10 倍,而的 SQL 基础知识技能课程确实帮助了这个脚本的 SQL 部分。

目前,我正在 Kaggle 上进行灾难推文比赛。为了帮助构建我的解决方案,我将通过 Python 中的自然语言处理技能来获得指导,同时将这些概念应用到 Kaggle 项目中。

你最喜欢 DataCamp 的什么?

课程的相关性、多样性和质量。关于相关性:许多课程都存在了很长时间。三年过去了,我仍然回想起一些老的课程来寻求帮助。

对于刚刚开始使用 DataCamp 的人,你有什么建议吗?

想一个你想在现实生活中做的数据项目,然后确定你需要什么技能来做这个项目,然后在 DataCamp 上寻找关于这个技能的课程。完成那门课程,然后尝试那个项目。

对于不知道从哪里开始的新手来说,从你最初感兴趣的职业轨道开始。然后当你了解到外面有什么的时候,转向别的东西!😊

我还推荐看看 DataCamp 的网络研讨会,它让我接触到了许多数据科学领域的伟大人物。

寻找一个数据爱好者社区来支持你的学习之旅?加入 DataCamp Slack 社区,用定制 LinkedIn 封面图片告诉世界你是一个数据爱好者,并在 LinkedIn 上与 Patrick 联系。

学员聚焦:尼日利亚的数据营布道者

原文:https://web.archive.org/web/20221129033105/https://www.datacamp.com/blog/learner-spotlight-nigerias-datacamp-evangelist

我从他们的博客文章中发现了 DataCamp 赠品寻找非营利合作伙伴,让每个人都能接受数据科学教育。我原本想为我在 AI+ Obafemi Awolowo 大学的本地数据科学社区建立这种合作关系,但我们没有资格,因为我们没有网站。幸运的是,我们是数据科学尼日利亚的一个子社区,尼日利亚已经参与了赠品,所以我们最终能够免费访问 DataCamp。

数据科学是一个蓬勃发展的领域,许多人甚至说数据是新的石油。DataCamp 提供的机会太好了,不能错过,所以我将注册链接转发给了我所知道的所有分享让年轻人获得数字技能愿景的社区。一些社区,如ingresive For GoodGoogle 开发者学生俱乐部 Obafemi Awolowo 大学,已经成为 DataCamp 的合作伙伴,我很高兴看到这么多人通过我的推荐学习数据科学。

我特别喜欢使用 DataCamp,因为它的简单性和课程分解的方式。我开始更深刻地理解像熊猫和 Matplotlib 这样的库。到今天为止,我正在参加 DataCamp 的第五次课程,我可以说这是一次伟大的旅程。这些评估是我最喜欢的——它们并不太复杂,帮助我能够一步一步地回忆和实践所学的课程。

我喜欢在早上 6 点之前参加课程,因为这允许我使用更低成本的午夜数据订阅来参加这些课程。关于尼日利亚和其他非洲国家,西方人可能没有意识到的一点是,互联网接入是按兆字节收费的。这就是 DataCamp 通过提供课程视频和幻灯片供离线下载来解决这一额外障碍的真正原因。结合功能齐全的移动应用程序和他们向弱势社区慷慨捐赠的数千份订阅,DataCamp 使发展中国家的公民更容易获得世界级的数据科学培训,即使在计算机和互联网接入遥不可及的情况下。

DataCamp 对我的社区产生了巨大的影响,我敦促其他人利用这个惊人的机会。费利克斯·阿尤拉

作为一名平面设计师,数据科学真正让我感兴趣的是它适用于每个领域。事实上,我认为每个人都应该学习数据科学的基础知识,不管你的领域或领域是什么。让我举一个平面设计的用例来说明这一点:当我开始设计时,我自学,所以我不能先学习基础知识,而是简单地使用我能找到的工具,如 remove.bg 从背景中删除图片。理解数据科学帮助我欣赏匹配字体、创建调色板的网站,以及其他由数据科学驱动的令人敬畏的图形设计工具。为了轻松进入数据科学,DataCamp 的了解数据科学课程是一个很好的起点。

我对如何使用数据科学来创建图形设计的情节非常感兴趣,将 Matplotlib 图形保存在。svg 格式支持使用 Adobe Illustrator 或 Figma 等矢量软件进行编辑。我正在向产品设计转型,在这个过程中,我看到了数据是如何被用来创造解决问题的产品的,比如网飞的推荐引擎。数据科学是创建令人惊叹的图形的强大工具,并且有大量的机会利用数据科学来最大化利润和影响。

利用我在 DataCamp 上学到的技能,我写了一篇关于如何在 2020 年结束前成为数据分析师、数据科学家或机器学习工程师的 Twitter 帖子。DataCamp 对我的社区产生了巨大的影响,我敦促其他人利用这个惊人的机会。谢谢你,数据营!

如果你知道一个非营利组织可以免费订阅 DataCamp,请联系 【电子邮件保护】

Felix 帮助 1500 多名尼日利亚人免费进入 DataCamp。他是尼日利亚 Obafemi Awolowo 大学化学工程专业的四年级学生,希望开发利用数据科学和产品设计来解决社会和商业问题的产品。他对帮助人们进入技术生态系统并将他们与资源联系起来深感兴趣。你可以通过社交媒体平台@ayoolafelix 找到他。

尼日利亚数据科学的学习者正在通过 DataCamp 实现个人和专业的里程碑

原文:https://web.archive.org/web/20221129034451/https://www.datacamp.com/blog/learners-at-data-science-nigeria-are-achieving-personal-and-professional-milestones-with-datacamp

DataCamp 于今年春天启动了我们的赠品计划,旨在为世界各地的弱势群体免费提供高质量的数据科学教育。我们希望它能为那些渴望提升技能的人提供新的机会,并在疫情找到收入更高的工作。我们在这项计划中的合作伙伴之一是尼日利亚数据科学公司。他们正在利用 DataCamp 课程的深度,为所有尼日利亚人的利益建立令人兴奋的数据项目。

关于尼日利亚数据科学

尼日利亚数据科学 (DSN)是一家人工智能非营利组织,旨在培训、指导和激励尼日利亚学生培养高级分析和数据科学技能。DSN 的数据科学家 Ezekiel Ogundepo 表示:“我们热爱 DataCamp 推动数据科学教育民主化的使命。“这符合我们在尼日利亚数据科学公司的愿景,即建立一个世界级的人工智能知识、研究和创新生态系统,提供高影响力和转型研究、商业应用、人工智能优先的初创企业、就业能力和社会公益用例。我们的目标是在 10 年内培养 100 万名人工智能人才,我们希望尼日利亚能够成为全球 10 大人工智能人才/知识目的地之一,并产生 20%的 GDP 乘数效应。这就是为什么我们向我们的员工、我们的 AI+社区成员以及一些 DSN 人工智能训练营 2020 的优秀参与者发放许可证。”

这是一个非常雄心勃勃的目标,但通过适当的培训是可以实现的。“我们的员工和我们的各个社区正在通过在 DataCamp 学习各种数据科学和机器学习课程来武装自己。我在 DataCamp 上学习编程。

使用 DataCamp 实现最高效率

他们的员工、志愿者和学生在 DataCamp 上接受的培训数量证明了该组织对提升尼日利亚在全球数据科学界的形象的重视程度。在短短的四个月内,他们的成员和员工已经完成了 3400 小时的学习。完成了 450 多门课程,获得了超过 1,000,000+的经验。

这种令人印象深刻的订婚的原因是什么?“实际操作的体验、简化的视频内容和讲师都非常棒,”毕马威(KPMG)的 DSN 学员兼实习生 Jeremiah Nwaneri 说。“这很吸引人。一旦你开始使用 DataCamp,你就会想继续学习。DataCamp 课程讲师是伟大的激励者和推动者。我的学习热情大幅飙升。”

拉多克·阿金托拉理工大学的学生托卢瓦尼·阿德戈克对此表示赞同:“我觉得这很有趣。参与 DataCamp 项目帮助我改善了我的简历和投资组合。”让他们的成员保持积极性和学习的是 DataCamp 的各种课程和活动,这些课程和活动吸引了不同的学习风格。DSN 学习者经常引用我们的指导和非指导项目信号评估移动应用体验作为他们最喜欢的功能。

对于 DSN 的数据分析师 Peter Onuoha 来说,DataCamp 的核心功能提供了您在课程中、在您的网络浏览器中学习和实践所需的所有工具。“将开发人员环境集成到他们的学习网站中是非常了不起的。我不必在 Jupyter 笔记本和教学视频之间穿梭,因为所有的东西都在网站上,”他说。

在新冠肺炎期间,在家学习是一个优先事项,我们的目标是提供最佳的学习体验,以培养在线数据技能。DSN 学习者发现,即使与传统的面对面教育相比,他们从使用 DataCamp 中获得的收益也令人印象深刻。Julius Odunga 说:“数据营和面对面教育之间似乎没有区别。“每次我在代码中犯了一个错误,DataCamp 都有办法告诉我到底哪里出错了。”

“DataCamp 给人一种由世界级导师亲自授课的感觉,”Fortune Uwha 说。我们的平台为她提供了评估、学习和实践其数据科学技能的工具,并将其应用到现实世界中。

根据 Ezekiel 的说法,“迄今为止收集的经验证据表明,与面对面的计算机科学教育相比,DataCamp 更有效,这有着显著的差异(P 值< 0.05)。”

真正的学习,真正的成果

许多 DSN 学习者报告说,DataCamp 帮助他们在编码竞赛中获得更高的名次,获得荣誉和建立信心,并在简历中脱颖而出。Fortune 是一名 DSN 学习者,目前正在寻找工作,她感谢 DataCamp 最近的成功:“凭借通过 Python track 学习机器学习基础知识的各种课程获得的技能,我在 Kaggle 上举办的数据科学尼日利亚黑客马拉松中名列第 10 位。”

但是一整年免费使用 DataCamp 的意义不仅仅是获得奖牌和奖杯。许多 DSN 学习者报告说,他们在 DataCamp 上获得的技能帮助他们获得了实习、带薪工作,甚至改善了他们目前的工作状况。《财富》杂志证实,“在 DataCamp 上的学习帮助我保持了最新的编程技能。它帮助我的大脑在工作中保持敏锐。这帮助我获得了几个自由职业项目。”

DataCamp 的边做边学方法已经帮助许多学习者应用和分享他们的知识。Emmanuel Onwuegbusi 使用他在 DataCamp 中学到的自然语言处理技能建立了一个 OCR 系统,该系统从图像中提取文本,并使用 GENSIM 包来总结 OCRed 文本。对于 DSN 的常驻数据科学家 Ezekiel 来说,持续的健康危机是最紧迫的应用。“我用 R 在时间序列中学习了 DataCamp 的技能轨迹,我能够操纵各种新冠肺炎时间序列数据,”他说。“此外,我们刚刚在《数据》杂志上发表了一篇关于疫情期间尼日利亚经济和医疗保健的文章,使用了在 DataCamp 上获得的技能。”

DSN 成员将他们的技能带到了学术界,但他们也在努力为大众可视化这些重要的数据。阿库雷联邦理工大学的学生 Precious Ebiendele 在 DataCamp 上只上了两门数据可视化课程,就为全尼日利亚建造了一个新冠肺炎病例跟踪器。他说,“对于一个新的或有抱负的数据科学家,我会推荐 DataCamp,因为它的简单性和教学方法。”

如果你知道一个非营利组织可以免费订阅 DataCamp,请联系 【电子邮件保护】

Python 之禅的启示

原文:https://web.archive.org/web/20221129040406/https://www.datacamp.com/blog/lessons-from-the-zen-of-python

Python 的禅是什么?

Python 的禅是一套十九条格言,作为 Python 设计的指导原则。它实际上应该是二十句格言;但是 Python 的创造者吉多·范·罗苏姆仍然没有按照 Python 之禅的创造者蒂姆·彼得斯的意图添加最后的警句。据报道,圭多表示,失踪的第二十句格言是“一些奇怪的蒂姆·彼得斯内部笑话。”

尽管缺少了第二十条格言,Python 的 Zen 在 2004 年被标准化为 PEP 20,因为它对 Python 程序员的开发过程有重大影响。遵循 Python 的禅不是强制性的,但是建议了解它并牢记在心。如果您忘记了课程,您可以通过从 Python 解释器运行 import this 来轻松地刷新您的记忆。

>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

在本文中,我们将更详细地讲述每一课。

#1 美丽总比丑陋好

如果你是一个程序员,毫无疑问,你的技术很高。用代码解决问题的能力不是一件容易的事情,但是作为一名 Pythonista,对您的期望更高。漂亮的代码比难看的代码好。Python 的迅速崛起部分是由于它的可访问性:它简单、易读、优雅。作为 Python 开发人员,您有责任通过编写漂亮的代码来维护 Python 标准。

什么是美丽的代码?嗯,这是主观的——情人眼里出西施,诸如此类。一个简单的经验法则是编写清晰、易读、其他开发人员容易理解的代码。例如:

"""
Initial code was created by Vishal Sharma
See:  https://towardsdatascience.com/the-zen-of-python-a-guide-to-pythons-design-principles-93f3f76d088a
"""
def collatz(num):
    if num % 2 == 0:
        return num // 2
    else:
        return 3 * num + 1

number = input("Enter a number: ")

while number != 1:
    number = collatz(int(number))
    print(number)

"""
Enter a number: 5
16
8
4
2
1
"""

上面的代码工作得非常好,但不一定很漂亮。我们在 collatz 函数中有一个不必要的 else 条件,可以按如下方式删除:

def collatz(num):
  if num % 2 == 0:
      return num // 2

  return 3 * num + 1

因此,当面对两个工作代码的场景时,您应该选择更简单、可读性更好、更容易理解的一个。

#2 显式比隐式好

将任何格言解释为“不言自明”是一个巨大的错误——然而,你仍然会看到人们这样做。“显式比隐式好”背后的主要观点是,详细代码比间接代码更可取。尽你所能确保你的代码的功能没有隐藏在晦涩的语言后面。不了解你的程序的人也应该能够理解你的代码中发生了什么。

#3 简单胜于复杂

如果你的伴侣在晚餐后拿出一台喷射机来洗碗,你可能会笑。这不仅是一个非常愚蠢的解决方案,而且盘子很有可能会被损坏。同样,将高度复杂的解决方案应用于简单的编程问题也是极其不切实际的。没有必要让你的解决方案过于复杂,即使你认为这让你看起来很聪明。你可能会造成比正义更大的伤害,这在 Python 中是不受欢迎的。

看看这个用于反转字符串的函数:

def reverse_string(string):
    if len(string) == 1:
        return string
    else:
        return reverse_string(string[1:]) + string[0]

string = "kurtis"

print(reverse_string(string))

"""
sitruk
"""

上面的代码当然解决了这个问题,但它是不必要的复杂。如果您很好地掌握了 Python,您会知道字符串可以通过索引来反转。

string = "kurtis"

# annonymous function solution
reverse_string = lambda x: x[::-1]

# function solution
def reverse(string):
    return string[::-1]

print(reverse_string(string))
print(reverse(string))

"""
sitruk
sitruk
"""

#4 复杂比复杂好

现在,用喷射洗盘子是不切实际的:你最好用一种简单的方法,比如用自来水。但是如果问题是清洗一辆 4x4 的路虎呢?前面的格言和这一条提醒我们,简单和复杂的技术都可以用来解决一个问题。清洗一辆四轮驱动的路虎揽胜并不是一个简单的问题,尝试使用你用来洗碗的相同技术可能会奏效,但比使用喷洗更复杂。因此,你应该选择简单而不是复杂,但是在简单不切实际的情况下,你最好选择复杂——知道简单的限制。

#5 扁平比嵌套好

程序员喜欢将事物组织成类别、子类别和子子类别,作为分离功能的一种方式。虽然这听起来很有条理,但以这种方式组织代码可能会比组织更混乱。

将所有代码放在一个顶层模块中没有任何问题:这意味着您不必做像from spam.foo.bar.john.doe import chicken 这样的事情来访问特定的功能。添加的子类别越多,代码就变得越复杂。尽你所能尽可能坚持一个扁平的结构。

#6 稀疏比密集好

程序员被认为是最聪明的人类之一,所以没有必要用过于复杂的技巧来强调你的智力。你最常听到的是“如何用 1 行代码完成[一些复杂的任务]”有时,一行程序是合理的,但是要避免为了将所有功能放在一行中而牺牲可读性的情况。

以这段代码为例:

"""
Code source Al Sweigart
See: https://inventwithpython.com/blog/author/al-sweigart.html0
"""
print('\n'.join("%i bytes = %i bits which has %i possible values." % (j, j*8, 256**j-1) for j in (1 << i for i in range(8))))
"""
1 bytes = 8 bits which has 255 possible values.
2 bytes = 16 bits which has 65535 possible values.
4 bytes = 32 bits which has 4294967295 possible values.
8 bytes = 64 bits which has 18446744073709551615 possible values.
16 bytes = 128 bits which has 340282366920938463463374607431768211455 possible values.
32 bytes = 256 bits which has 115792089237316195423570985008687907853269984665640564039457584007913129639935 possible values.
64 bytes = 512 bits which has 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084095 possible values.
128 bytes = 1024 bits which has 179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137215 possible values.
"""

代码当然可以工作,但理解起来绝对是一场噩梦:它既狭窄又难以阅读。

让我们看看,如果我们把同样的代码写成稀疏代码,它会是什么样子:

# Sparse example
bytes_and_bits = {j: j*8 for j in (1 << i for i in range(8))}

for bytes, bits in bytes_and_bits.items():
    print(f"{bytes} bytes = {bits} which has {256**bytes-1} possible values")

"""
1 bytes = 8 which has 255 possible values
2 bytes = 16 which has 65535 possible values
4 bytes = 32 which has 4294967295 possible values
8 bytes = 64 which has 18446744073709551615 possible values
16 bytes = 128 which has 340282366920938463463374607431768211455 possible values
32 bytes = 256 which has 115792089237316195423570985008687907853269984665640564039457584007913129639935 possible values
64 bytes = 512 which has 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084095 possible values
128 bytes = 1024 which has 179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137215 possible values
"""

上面的代码更容易阅读,做的事情和一行程序完全一样。

#7 可读性计数

如果你还没有猜到,当谈到 Python 时,可读性是很重要的。你的工作就是写一次代码。然而,它很有可能会被多次阅读。考虑到这一点,去掉变量名和函数名中的元音并不是一个好主意:在可以将函数命名为 create_lst 或 create_list 的情况下,选择后者。

#8 特例不足以打破规则

python[以及一般的编程]充满了许多需要遵循的最佳实践。最好遵循最佳实践,而不是按照自己的方式去做,因为这通常会导致不一致、不可读的代码。

#9 尽管实用性胜过纯粹性

第九课是第八课的延伸。是的,遵循最佳实践是更好的,但是不遵守规则也会导致不可读的代码。因此,每个规则都可能有例外。如果你解决问题的方式更实用、可读性更强、更容易理解,那么最好背离既定的最佳实践。

#10 错误永远不应该悄无声息地过去

无声错误是指程序返回错误代码或无错误代码,而不是引发异常。一个程序崩溃总比错误消失并继续运行要好。从长远来看,消除错误会导致程序中出现更难消除的错误。

#11 除非明确禁止

第十一课是第十课的延伸。在某些情况下,您可能希望忽略程序导致的错误。在这种情况下,最佳做法是在代码中显式隐藏错误。

#12 面对模棱两可的话,拒绝猜测的诱惑

计算机只做我们告诉它们去做的事情:如果你的代码没有像你希望的那样运行,那是因为它在做你告诉它去做的事情。试图通过盲目地尝试几种不同的解决方案直到其中一个奏效来解决问题是一个糟糕的策略——你可能会掩盖问题而不是解决它。抵制诱惑。相反,思考问题的逻辑,并运用批判性思维来提出适当的解决方案。

#13 应该有一种——最好只有一种——显而易见的方法去做

Perl 编程语言的格言是:“有不止一种方法可以做到这一点!”有太多的选择往往会导致选择超载。当有多种方法来编写实现相同目标的代码时,也会出现类似的情况。您在编写代码的方式上有了更多的灵活性,但是现在您必须学习所有可能的代码编写方式以便阅读它:学习所有场景所需的额外工作是不必要的。

#14 尽管这种方式一开始可能并不明显,除非你是荷兰人

这句格言展示了 Tim Peters 的幽默感:Python 编程语言的创造者、Python 的终身仁慈独裁者(BDFL)吉多·范·罗苏姆是荷兰人。这是一个笑话,提醒我们能够理解和回忆 Python 的语言规则对于除了它的创造者之外的所有人来说都是困难的。

#15 现在总比没有好

这句格言告诉我们,陷入无限循环的代码或挂起的代码比没有挂起的代码更糟糕。

#16 尽管从来没有比现在更好

从第十六课继续:等待你的程序执行完比过早终止它并得到不正确的结果要好。

#17 如果实现很难解释,这是一个坏主意

如果您能够理解自己的实现,这还不够好-“我知道我想说什么”并不能解决问题。编程是一项团队活动,如果你无法向你的队友解释你的实现,那么很有可能你把解决方案做得太复杂了。

#18 如果实现很容易解释,这可能是一个好主意

然而,易于解释的代码并不一定意味着它不是坏代码——它只是意味着它易于解释。您可能仍然有糟糕的代码,但是它易于解释的事实意味着您的思路是正确的。

#19 名称空间是一个非常棒的想法——让我们多做一些吧!

名称空间是 Python 中使用的一种抽象,用于组织程序中分配给对象的名称。当给出一个特定的名称空间和范围时,Python 能够确定当您调用一个符号名称时所指的对象。这句格言的意思是,Python 组织符号名称的方式非常棒。

结论

在这篇文章中,我们展示了我们对 Python 之禅的理解,这是为了激励 Python 程序员编写干净、可读的代码而创建的准则。虽然有些人将 Python 的禅视为无缝代码编写的终极蓝图,但其他人却不太重视它。我们建议您尝试将这些原则应用到您自己的代码中,看看它们如何直接改进您的工作。如果你想了解更多关于编写优化代码的知识,请查看 DataCamp 的编写高效的 Python 代码

利用数据构建非洲的经济未来:第一部分

原文:https://web.archive.org/web/20230101103328/https://www.datacamp.com/blog/leveraging-data-to-build-africas-economic-future-part-one

这篇博文是一个两部分系列的第一部分,Blossom Academy 的创始人兼首席执行官杰夫·阿切姆庞与毕业生交谈,了解是什么推动了他们对数据工作的兴趣以及他们希望实现什么。 Blossom Academy 是一家技术人才开发公司,招聘和开发非洲分析人才,目标是为他们提供全职工作机会。Blossom Academy 与 DataCamp 合作扩展他们的培训项目。

Richmond Chris-Koka 住在加纳,是一名积极主动的问题解决者和沟通者。他拥有计算机科学学士学位,现在在 getINNOtized GmbH 担任初级数据科学家,getINNOtized GmbH 是一家在加纳和肯尼亚开展业务的德国软件公司。他最近完成了 Blossom Academy 的数据工程奖学金。

1.告诉我们你的背景和数据经验。

我在加纳大学莱贡分校完成了计算机科学的学业,现在已经有了四个月的初级数据科学家的经验。我使用 Excel 和 Python 等工具处理数据集,并且可以说我很好地掌握了如何处理数据。

2.你最想解决什么问题,为什么?

随着时间的推移,我对自然语言处理(NLP)及其应用产生了兴趣。这启发了我去寻求解决问题,比如最近欺诈性金融交易的泛滥,特别是移动支付交易。

3.你打算如何利用数据来解决这个问题?

解决这些问题需要几项技能,比如分析垃圾短信,垃圾短信是非结构化的,有时不通过互联网发送,这可能会阻止电子邮件。我打算对垃圾短信进行更多的研究,并调查如何利用这些数据来遏制移动货币领域的欺诈交易。

4.DataCamp 是如何为您的旅程做准备的?

参加 DataCamp 的课程无疑是朝着正确方向迈出的一步。在他们的课程Python 自然语言处理入门中,我喜欢学习如何从文本中提取主题,以及如何使用 basic 库来解决常见的 NLP 问题。

5.参加在线数据科学课程会面临哪些独特的挑战?

参加数据科学的在线课程需要奉献一致性。另一个挑战是耐心,因为学习方法主要是自上而下的方法。为了成功完成在线数据科学课程,需要结合这三个因素。

6.你认为三年后的非洲数据前景如何?教育平台/计划(如 DataCamp 和 Blossom Academy)在其中扮演什么角色?

三年后,我看到非洲的数据环境将产生数十亿的非结构化数据,这将需要大量人手来解决我们面临的一些普遍挑战,特别是在处理和应用方面。像 DataCamp 和 Blossom Academy 这样的教育项目是为这个领域的候选人做准备的好方法。在不久的将来,将会产生大量的数据科学和分析工作,如果有足够多的非洲学生通过这些项目致力于提高技能,我们可以培养能力来满足非洲的这种需求。

7.在整个非洲,还有哪些令人兴奋的数据使用案例?

对我来说,第一件事是土地所有权,这在该地区引发了许多动荡。生成和获取土地所有权数据以避免土地购买中的欺诈交易将是一个令人兴奋的项目。

另一个用例是提高公民数据的质量和组织。例如,在加纳,每登记一次身份证,申请人都需要输入两次所有个人信息,因为没有集中的数据形式。一项着眼于集中数据库的倡议不仅在加纳,而且在整个撒哈拉以南非洲都将是一个伟大的项目。

杰夫·阿切姆庞是 Blossom Academy 的创始人&兼首席执行官,Blossom Academy 是一家招聘和培养非洲分析人才的技术人才开发公司,目标是为他们提供全职工作机会。阅读本系列的第二部分,了解另一个学员故事。

点击了解更多关于 DataCamp 合作关系的信息。要成为合作伙伴,请联系 【邮箱保护】

利用数据构建非洲的经济未来:第二部分

原文:https://web.archive.org/web/20221129045040/https://www.datacamp.com/blog/leveraging-data-to-build-africas-economic-future-part-two

这篇博客文章是一个两部分系列的第二部分,Blossom Academy 的创始人兼首席执行官杰夫阿切姆庞与毕业生交谈,以发现是什么推动了他们对数据工作的兴趣以及他们希望实现什么。 Blossom Academy 是一家技术人才开发公司,招聘和开发非洲分析人才,目标是为他们提供全职工作机会。Blossom Academy 与 DataCamp 合作扩展他们的培训项目。

福斯特·图马西是一名经验丰富的研究助理,拥有执法和保险行业的背景。他毕业于加纳大学,获得统计学和计算机科学学士学位,现在在加纳的一家保险公司 Vanguard Assurance 担任数据分析师。他最近完成了 Blossom Academy 的机器学习奖学金。

1.告诉我们你的背景和数据经验。

我过去做过研究助理,目前是数据分析师。我目前的角色需要使用 R 和 Python 来解释数据的含义。这包括仪表板创建、数据可视化和统计建模。当我完成我的第一个学位时,我读了一篇关于数据科学的文章,我被它迷住了。从那以后,我一直在网上搜索以了解更多信息。DataCamp 对我的个人成长很有帮助,也很有见地。

2.你最想解决什么问题,为什么?

我对将我的数据科学知识应用于农业领域很感兴趣。我坚信机器学习技术可以用来改善土壤管理、疾病检测、物种识别、产量预测和畜牧业生产。

3.你打算如何利用数据来解决这个问题?

通过收集有关农作物、牲畜和其他影响农业的因素的数据,可以获得真知灼见。回归和计算机视觉等机器学习技术可以应用于该行业,以获得模式并建立更好的预测模型,这将有助于提高产量。

4.DataCamp 是如何为您的旅程做准备的?

DataCamp 为我提供了完成这项任务的必要技能。关于无监督学习、有监督学习和卷积神经网络的 DataCamp 课程让我了解了如何解决这个问题。

5.参加在线数据科学课程会面临哪些独特的挑战?

我参加在线数据科学课程的主要挑战是,社区由具有不同专业知识和理解水平的人组成。作为数据科学的新手,有时很难跟上那些拥有更先进知识的人。

6.你认为三年后的非洲数据前景如何?教育平台/计划(如 DataCamp 和 Blossom Academy)在其中扮演什么角色?

由于全球对数据科学家的高需求,最近非洲大陆对数据科学的兴趣很高。我相信在未来三年,我们将会有更多来自非洲的有能力的数据科学家。为了培养训练有素、高效的数据科学家,像 DataCamp 和 Blossom Academy 这样的实践项目不仅有助于教授概念,还能提供该领域的技能和知识。

7.在整个非洲,还有哪些令人兴奋的数据使用案例?

数据在非洲大陆有很多使用案例。数据可用于在该地区提供更好的医疗保健和教育。基本的数据可视化技术将提供对其当前状态、效果以及如何改进的见解。

杰夫·阿切姆庞是 Blossom Academy 的创始人&兼首席执行官,Blossom Academy 是一家招聘和培养非洲分析人才的技术人才开发公司,目标是为他们提供全职工作机会。阅读本系列的第一部分,了解另一个学员故事。

点击了解更多关于 DataCamp 合作关系的信息。要成为合作伙伴,请联系 【邮箱保护】

面向所有级别的机器学习项目

原文:https://web.archive.org/web/20221129041202/https://www.datacamp.com/blog/machine-learning-projects-for-all-levels

Machine Learning

面向初学者的机器学习项目

初学者机器学习项目包括处理结构化表格数据。您将应用数据清理、处理和可视化的技能进行分析,并使用 scikit-learn 框架来训练和验证机器学习模型。

对于机器学习初学者来说,我们有一个非常棒的无代码人人机器学习课程

用随机森林预测出租车费用

预测出租车费用项目中,您将使用纽约出租车数据集预测赚取最高费用的地点和时间。您使用 tidyverse 进行数据处理和可视化。为了预测位置和时间,您将尝试使用基于树的模型,如决策树和随机森林。

Predict Taxi Fare project

预测出租车费用项目是一个指导性项目,但是您可以在不同的数据集上复制结果,例如首尔的自行车共享需求。处理一个全新的数据集将有助于您进行代码调试,并提高您解决问题的技能。

从音频数据中分类歌曲流派

分类歌曲流派机器学习项目中,你将使用歌曲数据集将歌曲分为两类:“嘻哈”或“摇滚”您将检查要素之间的相关性,使用 scikit-learn 的 StandardScaler 归一化数据,对缩放后的数据应用 PCA(主成分分析),并可视化结果。

之后,您将使用 scikit-learn 逻辑回归和决策树模型来训练和验证结果。在这个项目中,您还将学习一些高级技术,如类平衡和交叉验证,以减少模型偏差和过度拟合。

| 决策树:
精准回忆 f1-比分支持

嘻哈 0.66 0.66 0.66 229
摇滚 0.92 0.92 0.92 972

avg/total 0.87 0.87 0.87 1201 |

| Logistic 回归:
精准回忆 f1-得分支持度

嘻哈 0.75 0.57 0.65 229
摇滚 0.90 0.95 0.93 972

avg/total 0.87 0.88 0.87 1201 |

从音频数据中对歌曲流派进行分类是一个指导性的项目。您可以在不同的数据集上复制该结果,例如酒店预订需求数据集。你可以用它来预测客户是否会取消预订。

预测信用卡批准

预测信用卡批准项目中,您将使用超参数优化和逻辑回归构建一个自动信用卡批准应用程序。

您将应用处理缺失值、处理分类特征、特征缩放、处理不平衡数据以及使用 GridCV 执行自动超参数优化的技能。这个项目将把你从处理简单干净的数据的舒适区中推出来。

Credit Card Approvals

作者图片

预测信用卡批准是一个指导性项目。您可以在不同的数据集上复制结果,比如来自 LendingClub.com 的贷款数据。您可以使用它来构建一个自动贷款批准预测器。

商店销售

商店销售是一项 Kaggle 入门竞赛,参与者训练各种时间序列模型,以提高他们在排行榜上的分数。

在该项目中,将为您提供商店销售数据,您将清理数据、执行广泛的时间序列分析、要素缩放以及训练多元时间序列模型。

要提高您在排行榜上的分数,您可以使用打包和投票回归等集合。

Avg sales analysis

图片来自 Kaggle

商店销售是一个基于 Kaggle 的项目,你可以查看其他参与者的笔记本。

为了提高您对时间序列预测的理解,尝试将您的技能应用到股票交易所数据集,并使用脸书预言家来训练单变量时间序列预测模型。

给予生命:预测献血

献出生命:预测献血项目中,您将预测献血者是否会在给定的时间窗口内献血。该项目中使用的数据集来自台湾的一辆流动献血车,作为献血运动的一部分,输血服务中心开车到各个大学收集血液。

在这个项目中,你正在处理原始数据,并将其提供给 TPOT Python AutoML(自动机器学习)工具。它将搜索数百个机器学习管道,以找到最适合我们数据集的管道。

然后,我们将使用来自 TPOT 的信息来创建具有标准化特征的模型,并获得更好的分数。

TPOT

作者图片

给予生命:预测献血是一个指导性项目。您可以在不同的数据集上复制结果,例如独角兽公司。你可以用 TPOT 来预测一家公司的估值是否会超过 50 亿美元。

学习机器学习基础知识以了解更多关于监督和非监督学习的信息。

中级机器学习项目

这些中级机器学习项目专注于结构化和非结构化数据集的数据处理和训练模型。学习使用各种统计工具清理、处理和扩充数据集。

气候变化对鸟类的影响

气候变化对鸟类的影响项目中,您将使用 caret 训练关于鸟类观察和气候数据的逻辑回归模型。您将执行数据清理和嵌套,为空间分析准备数据,创建伪缺席,训练 glmnet 模型,并在地图上可视化四十年的结果。

Climate Change on Birds

气候变化对鸟类的影响是一个有指导的中级机器学习项目。您可以在不同的数据集上复制该结果,如 Airbnb 列表数据集。您可以使用 caret 根据特征和位置来预测列表的价格。

2 个月内成为 R 的机器学习科学家,掌握各种可视化和机器学习 R 包。

从情节摘要中查找电影相似性

从情节摘要中寻找电影相似性项目中,您将使用各种 NLP(自然语言处理)和 KMeans 来根据 IMDB 和维基百科中的情节预测电影之间的相似性。

您将学习合并数据,对文本执行标记化和词干化,使用 TfidfVectorizer 对其进行转换,使用 KMeans 算法创建聚类,最后绘制树状图。

dendrogram

尝试在不同的数据集上复制结果,例如网飞电影数据集。

机器学习中最热门的话题

机器学习最热门话题项目中,你将使用文本处理和 LDA(线性判别分析)从 NIPS 研究论文的大集合中发现机器学习的最新趋势。您将执行文本分析,为 word cloud 处理数据,为 LDA 分析准备数据,并使用 LDA 分析趋势。

LDA analysis

天真的蜜蜂:从图像中预测物种

nave Bees:Predict Species from Images项目中,您将处理图像并训练 SVM(支持向量分类器)模型来区分蜜蜂和大黄蜂。您将操作和处理图像,提取要素并将其展平为一行,使用 StandardScaler 和 PCA 为模型准备数据,训练 SVM 模型并验证结果。

SVM model

基于 librosa 的语音情感识别

使用 Librosa 的语音情感识别项目中,您将使用 Librosa、声音文件和 sklearn 处理声音文件,以便 MLPClassifier 从声音文件中识别情感。

您将加载和处理声音文件,执行特征提取,并训练多层感知器分类器模型。该项目将教会你音频处理的基础知识,以便你可以进一步训练深度学习模型,以实现更好的准确性。

deep learning model

图片来自researchgate.net

高级机器学习项目

高级机器学习项目专注于建立和训练深度学习模型,处理非结构化数据集。您将训练卷积神经网络、门控递归单元、微调大型语言模型和强化学习模型。

使用变形金刚建造瑞克·桑切斯机器人

使用变形金刚构建 Rick Sanchez 机器人项目中,你将使用 DialoGPT 和拥抱脸变形金刚库来构建你的人工智能聊天机器人。

您将处理和转换您的数据,在 Rick 和 Morty dialogues 数据集上构建和微调微软的大规模预训练响应生成模型(DialoGPT)。您还可以创建一个简单的 Gradio 应用程序来实时测试您的模型:里克&莫蒂街区聚会

Morty dialogues dataset

基于深度学习的手语识别

ASL 识别项目中,你将使用 Keras 构建一个 CNN(卷积神经网络)用于美国手语图像分类。

您将可视化图像并分析数据,处理建模阶段的数据,对图像数据集进行编译、训练和 CNN,并可视化错误的预测。您将使用错误的预测来提高模型性能。

model performance

阅读一篇深度学习教程,了解基础知识和现实世界的应用。

天真的蜜蜂:用图像进行深度学习

nave Bees项目中,您将构建并训练一个深度学习模型来区分蜜蜂和大黄蜂图像。您将从图像和标签数据处理开始。

然后,您将标准化图像,并将数据集分为测试和评估两部分。之后,您将使用 Keras 构建和编译深度卷积神经网络,最后,您将训练和评估结果。

Naïve Bees

使用深度学习的股票市场分析和预测

股市分析和预测项目中,您将使用 GRUs(门控递归单元)来构建深度学习预测模型,以预测亚马逊、IBM 和微软的股价。

在第一部分中,您将深入时间序列分析,以了解股票价格的趋势和季节性,然后您将使用这些信息来处理您的数据,并使用 PyTorch 建立一个 GRU 模型。如需指导,您可以查看 GitHub 上的代码源

Naïve Bees

图片来自索哈姆·南迪

Connect X 的强化学习

Connect X 是 Kaggle 的入门模拟比赛。构建一个 RL(强化学习)代理来与其他 Kaggle 竞赛参与者竞争。

您将首先学习游戏如何工作,并为基线创建一个虚拟的功能代理。之后,您将开始尝试各种 RL 算法和模型架构。你可以尝试在深度 Q 学习或近似策略优化算法上建立模型。

Connect x

Gif from 连接 X | Kaggle

通过参加Machine Learning Scientist with Pythoncareer track,开始您的专业机器学习之旅。

最后一年学生的机器学习项目

最后一年的项目需要你花一定的时间来产生一个独特的解决方案。你将研究多模型架构,使用各种机器学习框架来规范和扩充数据集,理解过程背后的数学,并根据你的结果写一篇论文。

带变压器的多语言 ASR

多语言 ASR 模型中,您将使用土耳其音频和转录对 Wave2Vec XLS-R 模型进行微调,以构建自动语音识别系统。

首先,您将理解音频文件和文本数据集,然后使用文本标记器,提取特征,并处理音频文件。之后,您将创建一个训练器、WER 函数、加载预训练模型、调整超参数以及训练和评估模型。

你可以使用拥抱脸平台来存储模型重量,并发布 web 应用程序来实时转录语音:流式乌尔都语 Asr

Multi-Lingual ASR With Transformers

图片来自huggingface.co

一拍脸风格化

One Shot Face Stylization 项目中,您可以修改模型以改善结果,或者在新的数据集上微调 JoJoGAN 以创建您的风格化应用程序。

它将使用原始图像,通过 GAN 反转和微调预训练的 StyleGAN 来生成新图像。你会了解各种生成对立的网络架构师。之后,您将开始收集配对数据集来创建您选择的样式。

然后,在以前版本的 StyleGAN 的示例解决方案的帮助下,您将与新的架构师一起尝试产生现实主义的艺术。

StyleGAN

图像是使用 JoJoGAN 创建的

H&M 个性化时尚推荐

H & M 个性化时尚推荐项目中,您将基于以前的交易、客户数据和产品元数据来构建产品推荐。

该项目将测试你的 NLP、CV(计算机视觉)和深度学习技能。在最初的几周,您将了解数据以及如何使用各种功能来提出基线。

然后,创建一个简单的模型,只使用文本和分类特征来预测推荐。之后,继续结合 NLP 和 CV 来提高你在排行榜上的分数。您还可以通过查看社区讨论和代码来更好地理解问题。

H and m

图片来自 H &米达先看

Atari 2600 的强化学习代理

MuZero for Atari 2600 项目中,您将使用 MuZero 算法为 Atari 2600 游戏构建、训练和验证强化学习代理。阅读教程了解更多关于穆泽罗算法的知识。

目标是建立一个新的或修改现有的架构,以提高在全球排行榜上的分数。要理解该算法在强化学习中是如何工作的,需要三个多月的时间。

这个项目是数学重,需要你有 Python 的专业知识。你可以找到建议的解决方案,但要达到世界一流,你必须建立自己的解决方案。

Atari

Gif 来自作者| 拥抱脸

MLOps 端到端机器学习

要想被顶级公司聘用,MLOps 端到端机器学习项目是必不可少的。如今,招聘人员正在寻找能够使用 MLOps 工具、数据编排和云计算创建端到端系统的 ML 工程师。

在这个项目中,您将使用 TensorFlow、Streamlit、Docker、Kubernetes、cloudbuild、GitHub 和 Google Cloud 构建和部署一个位置图像分类器。主要目标是使用 CI/CD 自动构建机器学习模型并将其部署到生产中。有关指导,请阅读机器学习、管道、部署和 MLOps 教程。

Location image classifier

图片来自 Senthil E

用于投资组合构建的机器学习项目

为了建立你的机器学习组合,你需要突出的项目。向招聘经理或招聘人员展示你可以用多种语言编写代码,理解各种机器学习框架,使用机器学习解决独特的问题,并理解端到端的机器学习生态系统。

张量处理器上的伯特文本分类器

BERT 文本分类器项目中,您将使用大型语言模型,并使用 TPU(张量处理单元)在阿拉伯语上对其进行微调。您将学习使用 TensorFlow 处理文本数据,修改模型架构以获得更好的结果,并使用 Google 的 TPUs 对其进行训练。与 GPU 相比,它将减少 10 倍的训练时间。

BERT Text Classifier

图片来自拥抱脸

基于 Julia 的图像分类

在使用 FastAI.jl 项目的图像分类中,您将使用 Julia,它是为高性能机器学习任务设计的,用于创建简单的图像分类。你将学习一种新的语言和一个叫做 FastAI 的机器学习框架。

您还将了解 FastAI API 来处理和可视化 imagenette 2–160 数据集,加载 ResNet18 预训练模型并使用 GPU 对其进行训练。这个项目将为您打开一个新世界,让您使用 Julia 探索和开发深度学习解决方案。

Image Classification

图片来自作者

图像字幕生成器

图像标题生成器项目中,您将使用 Pytorch 构建 CNN 和 LSTM 模型来创建图像标题生成器。您将学习处理文本和图像数据,建立一个 CNN 编码器和 RNN 解码器,并在调谐超参数上训练它。

要构建最好的字幕生成器,您需要了解编码器-解码器架构、NLP、CNN、LSTM,以及使用 Pytorch 创建训练器和验证函数的经验。

Image Caption Generator

图片来自使用深度学习的自动图像字幕

使用神经网络生成音乐

生成音乐项目中,您将使用 Music21 和 Keras 构建生成音乐的 LSTM 模型。您将了解 MIDI 文件、音符和和弦,并使用 MIDI 文件训练 LSTM 模型。

您还将学习创建模型架构、检查点和损失函数,并学习使用随机输入来预测音符。主要目标是使用 MIDI 文件来训练神经网络,从模型中提取输出,并将它们转换为 MP3 音乐文件。

Generate Music

图片来自sigur ur skúLi| LSTM 网络制作的音乐

将机器学习应用部署到生产中

对于在该领域寻找更好机会的机器学习专业人士,强烈推荐将机器学习应用部署到生产项目中。

在这个项目中,您将使用 Plotly、Transformers、MLFlow、Streamlit、DVC、GIT、DagsHub 和 Amazon EC2 在云上部署机器学习应用程序。这是展示你的 MLOps 技能的绝佳方式。

Machine Learning Application

图片来自 Zoumana Keita

如何开始一个机器学习项目?

Machine Learning Project

作者图片

在典型的机器学习项目中没有标准步骤。所以,它可以只是数据收集、数据准备和模型训练。在本节中,我们将了解构建生产就绪型机器学习项目所需的步骤。

问题定义

你需要了解业务问题,并提出你将如何使用机器学习来解决它的大致想法。寻找研究论文、开源项目、教程和其他公司使用的类似应用程序。确保您的解决方案切实可行,并且数据易于获取。

数据收集

您将从各种来源收集数据,对其进行清理和标记,并为数据验证创建脚本。确保您的数据没有偏见或包含敏感信息。

数据准备

填充缺失值、清理和处理数据以进行数据分析。使用可视化工具来了解数据的分布以及如何使用要素来提高模型性能。特征缩放和数据扩充用于为机器学习模型转换数据。

培训模式

选择通常用于特定问题的神经网络或机器学习算法。使用交叉验证和使用各种超参数优化技术来获得最佳结果的训练模型。

模型评估

在测试数据集上评估模型。确保您针对特定问题使用了正确的模型评估指标。准确性并不是所有问题的有效衡量标准。检查分类的 F1 或 AUC 分数或回归的 RMSE。可视化模型特征的重要性,删除不重要的特征。评估性能指标,如模型训练和推理时间。

确保模型已经超越了人类基线。如果没有,就回去收集更多高质量的数据,重新开始这个过程。这是一个迭代的过程,在这个过程中,您将不断地使用各种功能工程技术、模式架构师和机器学习框架来提高性能。

生产

在获得最先进的结果后,是时候使用 MLOps 工具将您的机器学习模型部署到生产/云环境中了。根据实时数据监控模型。大多数模型在生产中都会失败,所以为一小部分用户部署它们是个好主意。

再培训

如果模型未能实现结果,您将回到绘图板并提出更好的解决方案。即使你取得了很大的成果,由于数据漂移和概念漂移,模型也会随着时间退化。重新训练新数据也使你的模型适应实时变化。

数据准备、特征工程和模型选择/训练。关键步骤可能因项目而异。在深度学习项目中,是数据处理、模型选择、模型验证。

  1. 了解业务问题以及机器学习如何帮助解决这些问题。
  2. 确保你有培训所需的质量数据。
  3. 清理和处理数据。
  4. 通过查看业务案例研究和执行数据分析来了解您的数据,从而了解分布情况。
  5. 定义模型和业务绩效指标。
  6. 模型选择和训练。
  7. 模型验证和再训练。
  8. 实现 MLOps(机器学习操作)
  9. 将模型部署到生产中。

是的。要想被聘为机器学习工程师,你需要掌握多种编程语言,了解机器学习和深度学习算法,学习高等数学来完善模型架构。

您还将了解事物的操作方面,如 MLOps、云计算、主动学习、实验跟踪、仪表板、CI/CD 以及在真实数据上测试模型。

是的,它在机器学习从业者和研究人员中很受欢迎。

  • 很容易学习和阅读。
  • 现代机器学习工具基于 Python
  • 它有一个庞大的支持社区
  • 与其他语言和工具的多重集成。
  • 从数据分析到网络开发,你几乎可以完成所有的任务。

是的,但是你在达到最先进的效果方面会受到限制。对机器学习模型进行编码可以让您控制数据、参数、模型架构、系统性能和模型验证。

在提供平均数据的良好结果方面,无代码工具正在变得越来越好,但如果你想被录用,你需要学习基础知识,学会从头开始创建整个生态系统。

是的,机器学习是一个令人惊叹的职业,它可以让你学习并为人工智能的发展做出贡献。发达国家的需求很高,平均而言,在美国,你每年可以得到 111,139 美元以上。

Marki Perú和 DataCamp 联手将微型企业家数字化

原文:https://web.archive.org/web/20230101103202/https://www.datacamp.com/blog/marki-peru-and-datacamp-team-up-to-digitize-micro-entrepreneurs

世界范围的健康危机无疑使所有人在日常生活中发现自己需要更多地使用技术平台和工具;正是在这种背景下,我决定进一步扩展我关于使用技术工具的知识,因为这无疑有助于促进每天执行的日常任务。

因此,当我了解到 Marki 时,我喜欢这个想法,并毫不犹豫地加入了。这是一个非营利协会,旨在通过志愿者提供的建议为微型企业的数字化做出贡献。通过加入 Marki,我能够很容易地了解数字营销;这次经历最值得注意的是学习过程中存在的动力,因为我不仅从专家导师那里学到了东西,而且还巩固了我与其他志愿者同事学到的东西,然后我自己设法向另一位微型企业家提出了建议。此外,加入 Marki 的好处之一是我获得了“DataCamp Donates”会员资格,这包括免费访问 DataCamp 的课程一年,这被认为是世界上学习数据科学的最佳平台之一。当我发现这一点时,我毫不犹豫地要求 Marki 的管理团队免费访问 DataCamp,因为这对那些像我一样相信使用数字工具和数据分析来实现业务增长的人来说非常有用。

所以我的建议是:如果你和我一样,你发现自己更有兴趣专攻商业智能工具的使用,以及分析和数据科学领域;不要犹豫,充分利用 Marki 为您提供的 DataCamp 会员资格,让您继续获得专业发展。

到目前为止,我已经开发了与数据分析师职业轨道相关的 R 和 Python 课程。这有助于我开发论文项目的统计部分;其主题是研究秘鲁犯罪的社会经济决定因素。在这个意义上,在我的论文中,我将我对 Ron Datacamp 的了解付诸实践,涉及数据库管理(使用来自 ENAHO 的数据)、变量的可操作性以及相关性和回归性分析等方面;这使我能够对我的数据进行深入分析,并获得对我的研究假设有利的结果。

同样,我现在足够自信,在中期内,我将能够组建一些团体,让我能够参与寻求解决社会问题的黑客马拉松。

目前,我已经参与了 2021 年的第一次“播种”,由数据科学研究组织秘鲁进行。在那个苗床中,我开发了一个项目,寻求一个监督分类模型的实现,以执行基于自然语言处理(NLP)技术的情感分析,并能够衡量教育计划 Beca 18 的批准率。

结果是令人满意的,我的项目是八个决赛选手之一。我能够取得这样的成绩,部分是因为我参加了 DataCamp 的课程。首先,该项目是使用 Python 开发的,在我的情况下,我对 Python 的所有了解都是从 DataCamp 学到的。另一方面,我在 DataCamp 上参加的与情感分析主题相关的课程让我了解了一些基本概念,如数据预处理、词袋矩阵、TF-IDF 变换和不同监督分类模型的使用。

最后,对于本文中提到的一切,我非常感谢 Marki 和 DataCamp 给了我提高数据分析技能的机会。我等不及要看接下来会发生什么了!

Sergio Abanto 是一名经济学家,他愿意与秘鲁合作,为秘鲁人民和家庭实现更大的福利和社会发展做出贡献。

Marki Perú是一家非营利组织,旨在通过教育促进秘鲁微型和小型企业的数字化。在数字营销和电子商务专家的帮助下,我们对大学生进行培训,让他们自愿评估微型企业家的业务数字化道路。

马丁·托伊维森正式成为首席执行官

原文:https://web.archive.org/web/20230101103328/https://www.datacamp.com/blog/martijn-theuwissen-officially-steps-into-ceo-role

大家好,

在过去的七个月里,我一直担任 DataCamp 的临时首席执行官。今天,我正式成为 DataCamp 的首席执行官。

作为公司的联合创始人,在过去的 6 年里,我身兼数职,在我们的营销、销售、产品和内容部门建立并领导了众多不同的团队。我很高兴能与我们的员工、教师和更广泛的数据科学社区一起开始这一新篇章,并作为新的首席执行官领导 DataCamp 度过下一阶段的增长。在这个职位上,我将接替乔纳森·科内里森。作为该公司的首任首席执行官和联合创始人,他将定期为 DataCamp 提供建议,以帮助我们实现数据科学教育民主化的使命。

在 DataCamp,我们有一个真正产生影响的产品,为个人提供新的机会并加强企业。我们通过我们的学习材料课程做到这一点,这降低了入学门槛,以便使数据科学和分析教育民主化,使每个人都能从数据革命中受益。

我的首要任务是继续确保 DataCamp 为我们所有的学员提供最好的边做边学的体验。我们将通过扩展我们的平台来实现这一目标,增加新的学习科目,如数据工程,新产品,如信号,以及新服务,包括学习者分析。这些新产品将使我们所有的学习者、教师和商业客户受益,帮助 DataCamp 扩大其覆盖范围。此外,我们将继续关注 Working IDEAL 的独立第三方评估的建议,同时考虑公司从员工、教师社区代表和其他人那里收到的建议。

我期待着领导 DataCamp,并与所有数据爱好者一起继续我们的使命。DataCamp 的所有人都有一个共同的目标,那就是提高全球数据的流畅性,创建一个强大、健康、包容所有人的数据科学学习平台和社区。

消除悲痛-首席执行官

测量机器学习中的偏差:统计偏差测试

原文:https://web.archive.org/web/20230101103301/https://www.datacamp.com/blog/measuring-bias-in-machine-learning-the-statistical-bias-test

本文由 DataRobot 的数据科学家 Sarah Khatry 和 Haniyeh Mahmoudian 撰写。

近年来,机器学习模型中的偏差问题一直是许多关注的主题。模型出问题的故事成为头条新闻,人道主义律师、政治家和记者都参与了关于我们希望在我们建立的模型中反映出什么样的伦理和价值观的讨论。

虽然人类的偏见是一个棘手的问题,并不总是容易定义,但机器学习中的偏见归根结底是数学上的。您可以对模型执行许多不同类型的测试,以识别其预测中不同类型的偏差。执行哪种测试主要取决于您所关心的内容以及使用模型的环境。

最广泛适用的测试之一是统计奇偶性,本实践教程将介绍这一点。现在,偏见总是相对于由数据中受保护的属性识别的不同人群进行评估,例如,种族、性别、年龄、性别、国籍等。

使用统计奇偶校验,您的目标是衡量不同的组是否有相同的概率获得有利的结果。一个典型的例子是招聘模型,在这个模型中,你希望确保男性和女性申请人有同等的被录用的可能性。在一个有偏见的模型中,你会发现一个群体享有特权,被雇佣的可能性更高,而另一个群体则处于劣势。

为了演示这在实践中是如何工作的,我们将首先用我们预先定义的偏差构建合成数据,然后通过分析确认数据反映了我们想要的情况,最后应用统计奇偶检验。

生成合成数据

在本教程中,我们将使用 Python 中的 pandas 包,但是这个过程中的每一步也可以在 r。

import pandas as pd 

要生成具有一个受保护属性和模型预测的合成数据,我们首先需要指定一些输入:记录总数、受保护属性本身(这里是两个通用值 A 和 B)以及与有利结果相关联的模型预测,在本例中是值 1。

num_row = 1000 # number of rows in the data
prot_att = 'prot_att' # column name for protected attribute
model_pred_bin = 'prediction' # column name for predictions
pos_label = 1 # prediction value associated to positive/favorable outcome
prot_group = ['A','B'] # two groups in our protected attribute 

正如在现实生活中,A 组和 B 组在我们的数据中可能不是均匀分布的。在下面的代码中,我们决定数据中 60%的人口来自特权群体 B,他们有 30%的机会获得有利的结果。非特权组 A 将构成剩余的 40%的数据,并且只有 15%的概率获得有利的结果。

priv_g = 'B'  # privileged group
priv_g_rate = 60 # 60% of the population is from group B
priv_p_rate = 30 # 30% of the predictions for group B was for favorable outcome 1
unpriv_p_rate = 15 # 15% of the predictions for group A was for favorable outcome 1
biased_list_priv = [prot_group[0]] * (100 - priv_g_rate) + [prot_group[1]] * priv_g_rate
biased_list_pos_priv = [0] * (100 - priv_p_rate) + [1] * priv_p_rate
biased_list_pos_unpriv = [0] * (100 - unpriv_p_rate) + [1] * unpriv_p_rate 

对于数据的每个记录,我们随机分配一个保护组和一个预测,使用我们之前指定的偏差作为权重,然后从记录列表中创建一个数据帧。

list_df = [] # empty list to store the synthetic records
for i in range(0, num_row):
   # generating random value representing protected groups with bias towards B
   prot_rand = random.choices(biased_list_priv)[0]
   if prot_rand == priv_g:
       prot_g = priv_g
       # generating random binary value representing prediction with bias towards 0
       pred = random.choices(biased_list_pos_priv)[0]
       # adding the new record to the list
       list_df.append([prot_g,pred])
   else:
       prot_g = prot_group[0]
       pred = random.choices(biased_list_pos_unpriv)[0]
       list_df.append([prot_g,pred])
# create a dataframe from the list
df = pd.DataFrame(list_df,columns=['prot_att','prediction']) 

解读数据

现在我们已经有了合成数据,让我们来分析我们已经建立了什么。对于每一组,A 对 B,他们实现有利或不利结果的类概率是多少?

df_group = (df.groupby([prot_att])[model_pred_bin].value_counts() / df.groupby([prot_att])[
   model_pred_bin].count()).reset_index(name='probability')
print(df_group)
  prot_att  prediction  probability
0        A           0     0.849490
1        A           1     0.150510
2        B           0     0.713816
3        B           1     0.286184 

检查表格,我们不难看出,B 组实现有利结果的可能性几乎是两倍,概率为 28.6%。我们的合成数据被设计成有 30%的概率,所以我们接近目标了。然后,我们将概率保存在字典中。

因为它是随机生成的,所以您的代码可能会给出稍微不同的结果。

prot_att_dic = {}
for att in prot_group:
   temp = df_group[(df_group[prot_att] == att) & (df_group[model_pred_bin] == pos_label)]
   prob = float(temp['probability'])
   prot_att_dic[att] = prob 

统计奇偶检验

对于每个组,统计奇偶校验输出他们实现有利结果的概率与特权组实现有利结果的概率的比率。我们迭代每个受保护组的字典,用它们有利结果的概率来构建比率。

prot_test_res = {}
for k in prot_att_dic.keys():
   res = float(prot_att_dic[k] / prot_att_dic[priv_g])
   prot_test_res[k] = res
for key in prot_test_res.keys():
   value = prot_test_res[key]
   print(key, ' : ', value)
A  :  0.5259207131128314
B  :  1.0 

对于特权组 B 来说,统计奇偶分数是 1,这是应该的。对于另一组 A,他们的得分是 0.526,这表明他们获得有利结果的可能性大约是 b 组的一半。

统计偏差测试提供了一种简单的评估方法,用于评估数据中特定组的预测结果可能存在的差异。测量偏差的目的有两个。一方面,这个测试产生了一个透明的度量,使得交流更加容易和具体。但是理想情况下,识别偏差是在你的模型中开始减轻偏差的第一步。这是机器学习的一个热门研究领域,许多技术正在开发,以适应不同类型的偏见和建模方法。

有了测试和缓解技术的正确组合,就有可能迭代地改进您的模型,减少偏差,并保持准确性。你可以设计机器学习系统,不仅从历史结果中学习,而且在未来的决策中反映你的价值。

了解如何使用 DataRobot 构建你可以信任的人工智能。

会议小组:协作数据科学学习的中心

原文:https://web.archive.org/web/20230101103202/https://www.datacamp.com/blog/meet-groups-your-hub-for-collaborative-data-science-learning

为了帮助学习者找到或建立一个数据爱好者社区,我们推出了一个新的团体体验。我们的目标是在 DataCamp 上将学习者与他们的同龄人联系起来,帮助他们共同实现目标,同时为小组创建者提供强大的新工具,以保持他们的小组参与和进步。

会见您组织中的数据发烧友

DataCamp 是超过 860 万数据科学学习者的家园。想象一下,有来自您的组织或大学的同事,他们就像您一样,使用 DataCamp 来扩展他们的数据技能,并处理与您类似的项目和问题。现在,您可以通过小组与他们联系,在您的数据之旅中相互支持和激励。怎么会?只需验证您的学术或工作电子邮件,即可访问您组织中的学员创建的所有免费群组。

你需要额外的推动力来保持正轨

在线学习可能具有挑战性,我们中的许多人经常需要额外的动力来保持学习的连续性。要是有人能让我们负责就好了,对吧?有了小组,你现在有了空间和工具来这样做!你或你的同伴可以创建任务——时间敏感的学习目标——来帮助你完成一门课程、一条赛道或赚取一定量的每日经验值。

每完成一章,你就更接近你的学习目标,更接近排行榜的榜首。所有小组成员都可以看到,排名可以根据时间段、获得的经验或完成的课程数量进行过滤。如果每个人都在看,你确定你想留在排行榜的底部吗?

边走边追踪你的学习进度

学习的真正乐趣是看到自己努力的成果。小组为你提供了两个简单而强大的工具来监控你的技能增长。仪表板为您提供小组活动的快照,从在平台上花费的时间到完成的总单元数。技能矩阵使您能够密切关注个人进步,确定关键技能差距,并创建学习路径以最有效的方式弥补这些差距。

群组对所有 DataCamp 用户都是免费的。虽然您可以邀请不限数量的成员,但我们建议保持较小的规模(5-10 人),以确保您对小组的学习进度有更有针对性的了解。好奇想看看它是怎么工作的吗?立即加入群组!

适用于各种规模的团队和组织的高级功能

你想让你的协作学习更上一层楼吗?我们的业务计划为您提供更强大的功能,推动跨团队和地域的数据科学学习。

MLOps 最佳实践以及如何应用它们

原文:https://web.archive.org/web/20230101103007/https://www.datacamp.com/blog/mlops-best-practices-and-how-to-apply-them

机器学习操作(MLOps)现在是许多数据领导者和从业者的核心关注点,在过去两年里兴趣显著增加。这种急速上升是由许多组织面临的重大挑战所驱动的;对机器学习和人工智能的投资并没有带来承诺的投资回报。

Search interest in MLOps over time

2019 年, Venturebeat 报告称,只有 13%的机器学习模型能够投入生产。虽然 KDNuggets 最近的一项民意调查表明,2022 年将有所改善,但 35%的受访者仍然提到阻碍他们部署模型的技术障碍。

麦肯锡的《2021 年人工智能状况》报告显示,人工智能的采用率从 2020 年的 50%上升到了 56%。随着组织加大对机器学习系统和人才的投资,有效部署和提取模型价值的必要性变得比以往任何时候都更加明显。这就是 MLOps 的用武之地。成功采用 MLOps 的组织看到了更好的投资回报。通过采用 MLOps,数据团队正在减少原型开发、开发和部署机器学习系统所需的时间。

MLOps 的目标是将技术与组织变革相结合,将软件工程概念应用于机器学习。通过将机器学习视为一门工程学科,它承诺了一条通往生产和生产中更长寿命模型的直截了当的道路。

本文将定义 MLOps,为什么它很重要,并提出定义当今成功 MLOps 实践的五个指导原则。

什么是 MLOps?

MLOps 的最佳定义是“一套工具、实践、技术和文化,确保机器学习系统的可靠和可扩展部署。”MLOps 借鉴了软件工程的最佳实践,如自动化和自动化测试、版本控制、敏捷原则的实施和数据管理,以减少技术债务。

技术债或代码债是一个来自软件工程本身的概念。它描述了由于快速开发而积累的“债务”,在快速开发中,诸如自动化、文档化和单元测试之类的过程在稍后的阶段被重构。简而言之,这是债务开发团队通过不采用当前的最佳实践而带入未来的。

机器学习系统可能会招致高水平的技术债务,因为科学家产生的模型数据只是一个更大难题的一小部分——这个难题由基础设施、模型监控、特征存储和许多其他考虑因素组成。

Real-world machine learning systems

是什么让 MLOPs 独一无二

旨在减少技术债务的软件工程最佳实践通常被称为 DevOps。DevOps 将编写代码、版本控制和测试的开发活动与发布、部署和监控的 IT 操作结合起来。

DevOps 的两个核心原则是持续集成和持续交付(CI/CD)。

  • 持续集成(CI) :新的代码变更被定期构建、测试,并合并到一个共享的存储库中。
  • 连续交付(CD) :对应用程序所做的任何更改都会被自动测试并上传到一个存储库,在那里它们可以被部署到一个真实的环境中。

生产和扩展机器学习系统带来了额外的复杂性。软件工程主要是设计具有精确输入和输出的定义良好的解决方案。另一方面,机器学习系统依赖于通过统计方法建模的真实世界数据。这引入了需要考虑的更多因素,例如:

  • 数据:机器学习接受高度复杂的输入数据。这些数据必须进行转换,以便机器学习模型可以产生有意义的预测。
  • 建模:开发机器学习系统需要实验。为了有效地进行实验,跟踪每个实验的数据变化和参数是必不可少的。
  • 测试 : 除了单元测试之外,机器学习系统需要对数据和模型性能进行更复杂的测试,在单元测试中,应用程序的小的、可测试的部分被独立测试。例如,测试新的输入数据是否与训练数据共享相似的统计属性。
  • 模型漂移: 机器学习模型性能总会随着时间衰减。导致这种情况的原因是双重的 。概念 Drif t 是我们试图预测结果变化的性质所在。一个很好的例子是在新冠肺炎停工期间,许多零售商经历了卫生纸等产品的意外飙升。根据标准数据训练的模型会如何处理这种情况? 数据漂移 另一方面是指 自变量的性质因各种因素而发生变化,包括季节性、消费者行为的改变或新产品的发布。
  • 持续训练 : 机器学习模型必须重新训练,因为新的数据变得可以用来对抗模型漂移。
  • 管道管理 : 数据在输入模型之前必须经过各种转换步骤,并应在训练前后定期进行测试。管道将这些步骤结合起来进行有效的监控和维护。

成功 MLOps 的 5 个原则

采用 MLOps 并不像与新的 SaaS 供应商合作或构建新的云计算实例那样简单。它需要仔细的计划和团队与部门之间一致的方法。以下是成功实施 MLOps 的五项原则:

了解您的 MLOps 成熟度

领先的云提供商如微软谷歌通过成熟度模型来看待 MLOps 的采用。这是因为 MLOps 需要组织变革和现代工作方法。这只会随着组织的系统和过程的成熟而发生。

成功采用 MLOps 需要对组织在其 MLOps 成熟度方面的进展进行诚实的评估。在可靠的成熟度等级评估之后,组织可以理解他们可以采用什么策略来提升成熟度等级。这涉及到流程变更,如将开发运维应用于部署或向团队添加新员工。

了解成熟度级别如何帮助组织确定 MLOps 计划的优先级也很重要。例如,特征存储是存放机器学习常用特征的单一数据仓库。功能存储对于数据相对成熟的组织很有帮助,在这些组织中,许多不同的数据团队需要使用一致的功能并减少重复工作。如果一个组织只有几个数据科学家,那么一个功能库可能不值得花时间。

通过使用 MLOps 的成熟度模型,组织允许团队、流程和他们的技术堆栈一起发展。它确保迭代可以发生,并且工具可以在实现之前进行测试。

在您的流程中应用自动化

自动化与成熟度模型的概念密切相关。先进而广泛的自动化有助于提高组织的 MLOps 成熟度。在没有 MLOps 的环境中,机器学习系统中的许多任务都是手动执行的。这些任务可以包括数据清理和转换、特征工程、分割训练、测试数据、编写模型训练代码等。通过手动执行这些步骤,数据科学家会引入更多的误差,从而浪费更多的时间进行实验。

自动化的一个很好的例子是持续再培训,数据团队可以为数据接收、验证、实验、特征工程、模型测试等建立管道。经常被视为机器学习自动化的早期步骤之一,持续再训练有助于避免模型漂移。

MLOps 中的管道与数据工程或 DevOps 中的管道没有任何不同。机器学习管道是一系列编排数据流入和流出机器学习模型的步骤。

为了说明管道的力量,我们可以想象一个例子,其中数据科学家已经手动提取了一些数据,但能够自动执行验证、数据准备、模型训练和评估过程。当模型被生产时,这个管道可以被重新使用来对新数据进行预测。

优先进行实验和跟踪

实验是机器学习生命周期的核心部分。数据科学家用数据集、特征、机器学习模型、相应的超参数等进行实验。实验时有许多“杠杆”可以利用。为了找到正确的组合,跟踪实验的每次迭代是必不可少的。

在传统的基于笔记本的实验中,数据科学家手动跟踪模型参数和细节。这可能导致流程不一致,并增加人为错误的可能性。手动执行也很耗时,并且是快速实验的一大障碍。

虽然 git 被广泛用于跟踪代码,但对科学家运行的不同实验数据进行版本控制并不容易。这是数据团队可以使用模型注册表的地方,这是数据科学家存储模型、跟踪性能和其他变化的地方。

跟踪实验使数据团队能够在需要时回滚模型,并改进整个模型审核过程。它减少了数据科学家的大量手动工作,为实验留出了更多时间。所有这些都通过版本控制和跟踪显著提高了结果的可重复性

超越 CI/CD

我们已经在开发运维的背景下了解了 CI/CD,但这些也是高成熟度 MLOps 的重要组件。

  • 当将 CI 应用于 MLOps 时,我们扩展了代码的自动化测试和验证,以应用于数据和模型。
  • 类似地,当管道和模型被重新训练时,CD 概念适用于它们。

我们还可以考虑其他“连续”概念:

  • 连续训练(CT) :我们已经谈到了当新数据可用时,不断增加的自动化如何允许模型被重新训练。
  • 持续监控(CM) :重新训练模型的另一个原因是性能下降。我们还应该理解模型是否仍然根据业务度量来交付价值。

在自动化测试中应用连续的概念允许快速的实验,并确保大规模的最小误差。此外,所有四个连续概念的成功实施可以极大地缩短部署时间。

考虑一下我们在自动化部分看到的示例管道。将 CI/CD 概念应用于此将会产生存储在存储库中的代码库。根据 CI,一系列的自动化单元测试将被应用到这个存储库中,例如测试工程化的特性,确保没有丢失的值,以及测试过度拟合。然后可以验证和部署管道的各个组件,确保兼容性和计算需求得到测试和满足。这种程度的自动化支持快速的新部署,使组织能够对外部驱动因素和变化做出反应。

采纳组织变革

组织变革必须与 MLOps 成熟度的发展同步进行。这需要促进团队间协作的流程变更,从而打破各自为政的状态。在某些情况下,重组整个团队对于促进一致的 MLOps 成熟度是必要的。微软的成熟度模型涵盖了随着成熟度的提高,人们的行为必须如何改变。

低成熟度环境通常让数据科学家、工程师和软件工程师在孤岛中工作。随着成熟度的提高,每个成员都需要协作。数据科学家和工程师必须合作,将实验代码转换为可重复的管道,而软件和数据工程师必须合作,自动将模型集成到应用程序代码中。

协作的增加使得整个部署过程不再那么依赖一个人。它确保实现团队合作,以减少高成本的手动工作。这些不同领域的专业知识汇集在一起,形成了高成熟度 MLOps 所需的自动化水平。加强协作和自动化对于减少技术债务至关重要。

MLOps 的兴起仍处于起步阶段

MLOps 诞生于快速有效地部署 ML 模型的需要。随着公司现在大量投资机器学习,越来越多的模型被开发出来,增加了对 MLOps 的需求。虽然 MLOps 仍处于早期阶段,但可以肯定地说,各组织正在寻求围绕一套可以释放机器学习 ROI 的原则进行融合。

如果您有兴趣了解更多关于 MLOps 的信息,您还可以查看以下资源:

面向企业的新课程旨在弥合数据技能差距

原文:https://web.archive.org/web/20221129045040/https://www.datacamp.com/blog/new-courses-for-businesses-to-bridge-the-data-skills-gap

这篇博文更新于 2020 年 7 月 7 日。

扩大我们的业务目录

在 2020 年,我们专注于改进我们的平台和扩展我们的课程,以帮助您了解如何使用您最强大的资产—数据。如果您是企业客户,您现在能够通过清晰的数据可视化来获得可操作的见解,通过自定义跟踪创建定制的学习路径,并利用无缝的 SSO 和 LMS 集成。我们现在提供 340 多门课程,涉及数据科学和分析的广泛主题。

在这篇博客文章中,我们想强调一下我们的课程中一些重要的新内容:Tableau、Power BI 和 Oracle 中的业务培训,以及业务基础数据技能跟踪。

商业培训表格

让团队拥有可视化和理解其数据并做出数据驱动的决策的技能,这一点从未像现在这样重要。这就是像 Tableau 这样的商业智能(BI)软件的用武之地:这些工具旨在帮助公司检索、分析、转换和报告数据。许多公司可以使用这些 BI 工具,但缺乏利用它们来讲述更好的数据故事所需的技能。

在过去的六个月中,超过 35,000 名新学员注册了我们的商务智能课程!我们的Tableau for business training在 Tableau 用户友好的拖放界面中为学员提供动手实践,使任何人都能轻松访问和创建数据的可视化表示。像“哪个国家使用我们的网站最多”或“我们今年哪个月的销售额最高”这样的问题可以用表格、条形图来回答,甚至可以叠加在如下的地图上。

选择 Tableau 入门课程的理由

  • 用户友好的 BI 工具,让整个组织的数据更加流畅
  • 适用于从人力资源到销售等任何部门的广泛吸引力课程
  • 动手练习,不需要安装
  • 学员可以自信地浏览 Tableau 并创建仪表板

Power BI 培训

对于希望从微软计划中释放更多价值的公司来说,Power BI 是一个受欢迎的选择。它利用现有的微软系统,如 Azure、SQL 和 Excel。与 Tableau 类似,Power BI 是一个基于网络的工具,它通过用户友好的拖放功能提供实时数据访问。

我们的课程Power BI 简介,允许学员使用 DAX 公式(数据分析表达式)来创建定制的计算列和字段,以更好地分析您的数据,从而提升您的技能。

甲骨文业务培训

如果您的公司使用 Oracle,您知道让您的团队具备获取相关见解的技能是关键。如果没有这些技能,您的团队必须等待管理员代表他们回答这些问题。但是,难道您不想让每个人都能够自己做出更明智的数据驱动型决策吗?

借助 DataCamp 的Oracle for business training,您可以让您的团队直接从您的数据库中回答问题,从而消除这一瓶颈。我们将帮助您的团队使用 PL/SQL(过程语言/SQL)访问存储在 Oracle 中的信息,这是 SQL 的扩展。我们的交互式学习方法将帮助您的团队获得使用 Oracle 解决业务问题所需的技能。本课程是一次很好的复习,也是获得 Oracle SQL 认证的第一步。

学习 Oracle SQL 简介的理由

  • 用于存储公司数据的最流行的关系数据库
  • 可作为认证的入门或第一步
  • 动手 SQL 编码练习,不需要以前的 SQL 经验
  • 学员将获得从您的数据库中提取答案的技能

贵公司的每个人都需要基本的数据技能

贵公司的每个人对数据的熟悉程度都不一样。与数据打交道最多的专业人员包括可以运行统计模型的数据科学家和管理数据库并确保数据安全正确存储的数据工程师。其他角色,如数据分析师,可能也需要处理数字,并创建汇总报告和可视化。

但是数据流畅并不止于此。管理团队的领导者可能不会亲自动手处理数据,但他们需要知道他们可以问什么样的问题,这些问题实际上可以用数据来回答,以及他们的员工是否正确地使用了数据。

即使是数据消费者也必须具备一定程度的数据流畅性,才能理解分析结果,无论他们在哪个部门。毕竟,数据应该为公司的几乎每个关键决策提供信息,包括如何最大限度地提高员工参与度、识别影响销售的季节性趋势、预测营销推广的结果等等。数据消费者是您公司中应该能够理解汇总统计数据的每个人,如跟踪您公司的实际与预测现金状况的折线图,或跟踪入站销售线索来源的堆积条形图。他们可能不具备遇到的每个可视化领域的专业知识,但他们应该能够理解数据告诉他们的大致内容。

业务基础数据技能

这就是我们的业务数据技能技能培训的用武之地。学习核心数据概念,了解如何使用数据回答现实世界的问题,并成为组织中更自信的数据驱动型决策者。本专题将帮助任何人以更明智的方式应用数据解决业务问题。

参加商业数据技能课程的理由

  • 数据概念以及如何应用它们的完整概述
  • 与任何与分析团队合作的人相关
  • 涵盖从关键术语到实际应用的所有内容
  • 学习者将能够做出更好的数据驱动型决策

新员工聚焦:创建最佳平台,消除数据文盲

原文:https://web.archive.org/web/20230101103238/https://www.datacamp.com/blog/new-hire-spotlight-creating-the-best-platform-to-fight-data-illiteracy

告诉我们你加入 DataCamp 的途径。

大学毕业后,我开始在技术部门工作,担任项目经理,但没过多久,我就迷上了产品开发以及设计和制造人们喜欢的产品的想法。五年前,我过渡到我的第一个产品角色,那时我意识到我适合这份工作。从那以后,我在各种行业担任产品经理,之前的职位是金融科技。在金融科技公司工作了几年后,我渴望在一个监管较少的环境中工作,在那里我可以更有创造力,为更有意义的事情做出贡献,而 DataCamp 似乎是一个合适的地方。

你在 DataCamp 的入职体验如何?

我会把我在 DataCamp 的入职经历描述为“做你认为最好的事情”我这么说的意思是,我被赋予了自由,去想办法让自己快速适应,并照做。这无疑促使我从第一天起就自给自足,事后看来这是塞翁失马焉知非福,因为仅仅过了两个月,我就已经觉得自己已经在这里待了很长时间。

DataCamp 让你兴奋的是什么?

与这么多有才华的人合作。

你的家庭办公室是什么样的?

你肯定会认为,在家工作了一年后,我已经投资了一个合适的办公室设置?但是没有,我现在每天都坐在最不舒服的椅子上几个小时!也只是因为我不想用办公椅毁了我家的美观。

你业余时间喜欢做什么?

我是一个超级健身爱好者。封锁前,健身房还开着的时候,我会一周去五次健身房。除此之外,我总是埋头读书(无论去哪里,我都带着一本书),或者在户外探险,在大自然中漫步或者徒步旅行。我也喜欢弹钢琴,但那是在我家里的人还没有厌倦我制造的噪音的时候。

你最近学到了什么有趣的东西?

从头开始做寿司。

你对 DataCamp 的发展和市场定位有何看法?

至少可以说,DataCamp 的发展令人印象深刻。没有多少公司将自己定位为肩负着消除数据文盲的使命。该平台致力于为人们提供实践学习机会,其成本很容易被证明是合理的。DataCamp 还通过持续关注创新,在区分自己与竞争对手方面做得很好,而 DataCamp 2.0 就是这种区分的最好例子。

你会对其他考虑在 DataCamp 工作的人说些什么?

如果你想为一家将会把你推向成功新高度的公司工作,DataCamp 绝对是合适的地方。该公司非常希望其员工茁壮成长,因为它一直致力于创造一个既赋权又积极的环境。最终,DataCamp 的员工并非完全不同。我们都想来工作,做好工作,并为此感到有价值。我们还想知道我们正在朝着更多的东西努力,在 DataCamp,这正是你最终的感受,不管你在公司呆了多久。

你愿意加入 DataCamp 的 Raushon 吗?我们目前正在纽约招聘员工;伦敦;比利时鲁汶;和偏远地区。查看我们的空缺职位

新员工聚焦:在远程工作环境中的 DataCamp 中提升

原文:https://web.archive.org/web/20230101103238/https://www.datacamp.com/blog/new-hire-spotlight-ramping-up-at-datacamp-in-a-remote-work-environment

告诉我们你加入 DataCamp 的途径。

在 INSEAD 大学攻读 MBA 期间,我一直在寻找一种快速的方法来掌握我的一门经济学课程所需的 SQL 技能。DataCamp 的易用性给我留下了深刻的印象,所以我查阅了 INSEAD 的校友名录,看看我是否能与公司的人联系上。我就是这样遇到了 Jelle,DataCamp 的财务副总裁。在一次关于 DataCamp 的使命和它的人的快速咖啡聊天后,我被吸引住了。我找到了一个正合我胃口的产品营销职位,于是就申请了。

你喜欢 DataCamp 的入职流程的哪些方面?

尤其让我印象深刻的是:

  • 我的经理:我喜欢我的经理卡罗琳·哈里斯(Caroline Harris)在整个过程中的亲历亲为。她花了整整一周的时间来确保我和另一名新员工对 DataCamp 的一切都了如指掌。这真的有助于我迅速进入状态。
  • 人员:我在 DataCamp 的入职经历揭示了所有员工的协作和理解天性。从咖啡聊天到最琐碎的问题,总有人会帮忙。
  • 透明度:我知道很多公司喜欢说他们是透明的,但是 DataCamp 确实是透明的。从 CEO 会议记录到敏感的财务指标,每个员工都可以使用这些工具。这建立了一个信任的环境,这是让我快速提升的关键。我还计划与创始人交谈,了解他们对创办公司的原因的看法。

你业余时间喜欢做什么?

我坚信健康的身体等同于健康的精神。你通常会发现我在尝试最新的健身趋势,尝试我的饮食。所有的事情都被封锁了,我最近的活动是骑自行车。空荡荡的伦敦街道非常适合我的新爱好😃。

我也是一个狂热的旅行者!在 Covid 之前的 12 个月里,我有机会访问了 14 个国家。我喜欢探索新的地方,了解不同的文化。一旦安全了,我期待着一些旅行。

你最近学到了什么有趣的东西?

你可以虚拟地建立稳固的关系。我一直对在家工作持怀疑态度,尤其是在偏远的环境中开始一份新工作。我在数据营的经历证明我错了。与全球各地的同事一起,我看到每个人都意识到不仅工作的重要性,而且建立社会资本的重要性。每次会议都有社交元素——无论是庆祝个人胜利、介绍婴儿还是宠物。这些举措有助于团队合作,创造积极的工作环境。

你对 DataCamp 的发展和市场定位有何看法?

首先,我可能有偏见,但我真的相信 DataCamp 拥有市场上最好的数据学习平台。在加入之前,我最近完成了 DataCamp 的 SQL 简介课程,这为我提供了学校项目所需的工具。

最近的品牌重塑给人一种清新的感觉。它给我们所有的内容带来了新的生机,这很棒。

需要做的事情还有很多,但我相信 DataCamp 有合适的产品,更重要的是,有合适的人来取得成功。

你会对其他考虑为 DataCamp 工作的人说些什么?

与数据营员取得联系并交谈。亲自了解这家公司,看看它是否适合你。我们正在给人们的生活带来实实在在的影响,同时乐在其中!

你做过最诡异的工作是什么?

大学期间的那个夏天,我是我们校友筹款团队的一员。这份工作是以佣金为基础的,所以我很早就知道对外销售并不容易。由于那次经历,我对销售团队产生了很多共鸣!

你还有什么想和我们的学员分享的吗?

DataCamp 建立在主动实践学习的基础上。我们独特的实践方法“评估-学习-实践-应用”使我们真正成为提升数据流畅性的最佳场所。在这个越来越以数据为导向的世界中,您不一定要成为数据科学家才能从我们提供的服务中受益。

你愿意加入 Adnan 的数据营吗?我们目前正在纽约招聘员工;伦敦;比利时鲁汶;和偏远地区。查看我们的空缺职位

新员工聚焦:销售构建数据技能的最佳平台

原文:https://web.archive.org/web/20221129054647/https://www.datacamp.com/blog/new-hire-spotlight-selling-the-best-platform-to-build-data-skills

告诉我们你加入 DataCamp 的途径。

我于 2019 年 12 月毕业于伊萨卡学院,获得工商管理学士学位。毕业的时候在一家小的第三方物流公司直接进了销售。之后在一家注塑公司的远程销售岗位获得了经验。当我在 DataCamp 找到业务发展代表的职位时,我立即申请了——剩下的就是历史了。实际上,我们希望扩大团队并雇佣更多的 BDR—这是申请的链接!

DataCamp 让你兴奋的是什么?

我喜欢 DataCamp 提供的东西——我们的产品非常有用,是全球学习者的绝佳工具!我尤其为我们的慈善举措感到自豪, DataCamp 为教室捐赠了和 DataCamp。这是两个很棒的项目,我们用它们来帮助有需要的社区。

你业余时间喜欢做什么?

我爱读书!我最近在读詹姆斯·克利尔的《原子习惯》,并一直在寻找书籍建议。我每天都冥想,并通过骑自行车、跑步、力量训练和瑜伽保持活跃。除此之外,我喜欢《星球大战》,也玩很多 PlayStation。

你对 DataCamp 的发展和市场定位有何看法?

DataCamp 的地位令人惊叹。世界各地的人们都在投资学习各种新技能,其中最受欢迎的技能之一就是数据科学。我们有一个令人惊叹的平台和令人敬畏的导师,我相信我们可以改变许多人的生活。我对 DataCamp 2.0 的大扩张目标以及与不断壮大的团队合作感到兴奋。

你想加入杰克的数据营吗?我们目前正在纽约招聘员工;伦敦;比利时鲁汶;和偏远地区。查看我们的空缺职位

新的 interactive SQL 编码项目

原文:https://web.archive.org/web/20221129050302/https://www.datacamp.com/blog/new-sql-coding-projects

The queries in these new projects are ideal for helping you or your team apply their new skills on fun, real-world datasets. You can easily apply the queries covered in these new projects to business scenarios, such as spotting trends, working with sales data, or analyzing customer reviews.

有哪些新项目?

📝分析纽约市公立学校考试成绩

使用汇总统计数据和过滤器来分析纽约市公立学校的考试成绩。
>启动项目

👶分析美国婴儿名字的趋势

分析美国婴儿名字的趋势使用分类和排名技术来探索 101 年来美国婴儿名字的口味。
>启动项目

👾电子游戏的黄金时代是什么时候?

使用连接和集合理论来发现电子游戏的最佳年份!
>启动项目

🏅优化在线体育零售收入

分析产品数据,帮助一家在线体育零售公司实现收入最大化。
>启动项目

使用下面的链接与朋友和同事分享这些新项目。

新年,新的 LinkedIn 封面图片

原文:https://web.archive.org/web/20221129033105/https://www.datacamp.com/blog/new-year-new-linkedin-cover-image

在 LinkedIn 上脱颖而出的最好方法之一就是使用定制的 LinkedIn 封面图片。大多数 LinkedIn 用户坚持使用默认的 LinkedIn 封面图片,这是一个很大的错失机会。很容易在你的个人资料中注入一些个性,用一张展示你职业身份或抱负的图片让自己与众不同。

这就是为什么我们为一些最常见的数据角色和身份创建了定制的 LinkedIn 封面图像。作为参考,我的看起来是这样的:

如果你想像我一样更新你的 LinkedIn 个人资料,只需点击下面最符合你身份的描述来下载封面图片:

要将图像添加为 LinkedIn 上的背景照片:

  • 点击 LinkedIn 主页顶部的 Me 图标。
  • 点击 查看简介
  • 点击你的介绍卡右上角的 摄像头 图标。
  • 点击 上传照片 从电脑中选择一张图片,点击打开。
  • 点击 应用 。照片会自动上传。不需要重新定位图像。

如需更多帮助,请查看 LinkedIn 帮助文章。

让我们知道你对 LinkedIn 、 Twitter脸书Instagram 上这些横幅的看法吧!我们希望这将是您表达对数据热爱的一种有趣方式。

NoSQL 数据库:每个数据科学家需要知道的

原文:https://web.archive.org/web/20230101102924/https://www.datacamp.com/blog/nosql-databases-what-every-data-scientist-needs-to-know

NoSQL Header

我们为数据科学家探索 NoSQL 数据库的来龙去脉。

数据科学和 NoSQL 数据库

作为一名数据科学家,不仅要建立机器学习模型,还要能够处理、分析和更好地交流来自不同格式 数据的结果

多年来,传统的 SQL 数据库一直被用作唯一的数据库类型。然而,由于 20 世纪 90 年代中期互联网的极度普及和数字化转型,一种新的数据类型变得突出: NoSQL 数据库 。它们是针对传统 SQL 数据库的弱点而引入的。

例如,数据科学家和机器学习工程师可以使用 NoSQL 数据库来存储数据、模型的元数据、特征和操作参数。另一方面,数据工程师可以利用它们来存储和检索干净的数据。

在这个概念性的博客中(不需要编码),我们将首先建立你对 NoSQL 数据库的理解,然后再探索 NoSQL 的重要性。我们还将比较 SQL 和 NoSQL 数据库,并了解后者的用途和类别。最后,我们将研究最受数据科学家欢迎的 NoSQL 数据库。

什么是 NoSQL 数据库?

NoSQL 代表 而不仅仅是 SQL ,这意味着 NoSQL 数据库具有非关系的特殊性,因为它们可以以非结构化格式存储数据。下图突出显示了 NoSQL 数据库的五个主要特征。

NoSQL Databases Explained

为什么 NoSQL 数据库很重要?

NoSQL 数据库在行业中变得流行,因为它有以下优点:

  • 多模式数据 : NoSQL 数据库比传统的 SQL 数据库更加灵活,因为它们可以存储结构化(例如从传感器捕获的数据)、非结构化(图像、视频等)。),以及半结构化(XML、JSON 等)。)数据。
  • 简单的可扩展性:这很简单,因为他们的对等架构,这意味着多台机器可以添加到架构中。
  • 全球可用性:由于数据库是全球共享的,因此可以通过不同地理区域的不同机器同时访问相同的数据。
  • 灵活性 : NoSQL 数据库可以通过频繁的更新和新特性快速适应不断变化的需求。

NoSQL 数据库与 SQL 数据库

|   | SQL 数据库 | NoSQL 数据库 |
| 语言 | SQL 数据库使用结构化查询语言来执行操作,需要使用预定义的模式来更好地与数据交互。 | 另一方面,NoSQL 数据库使用动态模式来查询数据。此外,一些 NoSQL 数据库使用类似 SQL 的语法进行文档操作。 |
| 数据模式 | SQL 数据库有一个预定义的固定格式,不能为新数据而改变。 | NoSQL 数据库更加灵活。这种灵活性意味着可以在没有预定义结构的情况下创建数据库中的记录,并且每个记录都有自己的结构。 |
| 可扩展性 | SQL 数据库只能纵向扩展,这意味着单台机器需要在一定水平上增加 CPU、RAM 和 SSD 来满足需求。 | NoSQL 数据库是水平可扩展的,这意味着向现有基础设施添加额外的机器来满足存储需求。 |
| 大数据支持 | 垂直扩展使得 SQL 数据库很难存储非常大的数据(Pb)。 | 水平扩展和动态数据模式使 NoSQL 适用于大数据。此外,NoSQL 数据库是由顶级互联网公司(亚马逊,谷歌,雅虎等)开发的。)来面对快速增长的数据量的挑战。 |
| 属性 | SQL 数据库使用 ACID(原子性、一致性、隔离性、持久性)属性。 | 另一方面,NoSQL 数据库使用 CAP(一致性、可用性、分区容差)属性。 |

什么时候应该使用 NoSQL 数据库?

在这个快速发展和竞争激烈的环境中,各行业需要收集尽可能多的数据来满足其业务目标。收集数据是一回事,但将它们存储在正确的基础架构中是另一个挑战。困难在于数据可能有不同的类型,如图像、视频、文本和声音。使用关系数据库存储这些不同的数据类型并不总是明智之举。然而,问题仍然存在:

什么时候用 NoSQL 代替 SQL?

在以下情况下,您应该考虑使用 NoSQL:

  • 数据不断变化:当您不知道您的系统或应用程序未来将如何发展时,这意味着您可能想要添加新的数据类型、新的功能等。
  • 大量数据:当您的企业需要处理可能会随着时间增长的大量数据时。
  • 不一致:当数据一致性和 100%完整性不是你的优先考虑事项时。例如,当你为你的企业开发一个社交媒体平台时,所有的员工立刻看到你的帖子可能不是问题。
  • 可扩展性和成本 : NoSQL 数据库提供了更大的灵活性,可以随着数据需求的变化控制成本。

4 种主要类型的 NoSQL 数据库

NoSQL 数据库分为四大类。每一个都有其特殊性,所以您应该选择最适合您的用例的一个: 下面,我们重点介绍了主要的 NoSQL 数据库示例 。本节旨在通过提供这些数据库的角色、它们的优势和局限性的非详尽列表以及它们的使用案例来涵盖每一个数据库。

NoSQL Database Categories

1.文档数据库

这种类型的数据库旨在存储和查询 JSON、XML、BSON 等。,文档。每个文档都是数据库中的一行或一条记录,并且采用键值格式。文档存储关于一个对象及其相关数据的信息。例如,下面的数据库包含三条记录,每条记录给出一个学生的信息。对于第一个文档, firstname 是一个键, Franck 是它的值。

文档数据库优势

  • 无模式:数据存储的格式和结构没有限制。这是有益的,尤其是当数据库中有连续的转换时。
  • 易于更新:可以增加或删除一条新信息,而不改变该特定文档的其余现有字段。
  • 性能提升:关于一个文档的所有信息都可以在那个完全相同的文档中找到。不需要参考外部信息,这对于关系数据库来说可能不是这样,在关系数据库中用户可能需要请求其他表。

文档数据库限制

  • 一致性检查问题:因为单据之间不一定需要有关系,两个单据可以有不同的字段。
  • 原子性问题:如果我们必须改变两个文档集合,我们将需要为每个文档运行单独的查询。

何时使用文档数据库

  • 当您的数据模式将来会不断变化时,建议使用。

文档数据库应用程序

  • 由于它们的灵活性,文档数据库对于在线用户简档是实用的,其中不同的用户可以有不同类型的信息。在这种情况下,每个用户的配置文件仅通过使用特定于他们的属性来存储。
  • 它们可用于内容管理,这需要有效存储来自各种来源的数据。该信息可用于创建和整合新类型的内容。

2.键值数据库

这些是最简单的 NoSQL 数据库。每个条目都以一个键值对的形式存储在数据库中。我们可以把它想象成一个正好有两列的表。第一列包含一个唯一的键。第二列是每个键的值。这些值可以是不同的数据类型,如整数、字符串和浮点,也可以是更复杂的数据类型,如图像和文档。

以下示例说明了一个包含客户信息的键-值数据库,其中键是他们的电话号码,值是他们每月的购买量。

Key/Value Database NoSQL example

键值数据库的优势

  • 简单性:键值结构很简单。由于没有数据类型,所以使用起来很简单。
  • 速度:简单的数据格式使得 操作更快。

键值数据库限制

  • 它们不能对值列执行任何筛选,因为返回值是存储在值字段中的所有信息。
  • 只有拥有一个键和值,它才会得到优化。存储多个值需要一个解析器。
  • 该值仅作为一个整体进行更新,这需要获取完整的数据,对该数据执行所需的处理,并最终存储回整个数据。当处理需要大量时间时,这可能会造成性能问题。

何时使用键值数据库

  • 适用于基于简单关键字查询的应用程序。
  • 用于需要临时存储缓存等简单对象的简单应用程序。
  • 当需要实时数据访问时,也可以使用它们。

应用程序

  • 它们更适合需要临时存储简单对象(如缓存)的简单应用程序。

3.宽列数据库

顾名思义,面向列的数据库用于将数据存储为列的集合,其中每一列都单独处理,实现逻辑基于 Google 大表纸。它们主要用于商业智能、数据仓库管理和客户关系管理等分析工作负载。

例如,我们可以使用聚合函数 AVG 在每一列上分别快速获得客户和产品的平均年龄和平均价格。

Wide Column Database NoSQL Example

4.图形/节点数据库

图形数据库用于通过边存储、映射和搜索节点之间的关系。节点代表一个数据元素,也称为对象或实体。每个节点都有一个输入或输出边。边表示两个节点之间的关系。这些边包含一些与它们连接的节点相对应的属性。

“Zoumana 在德州理工大学学习。他喜欢在大学里面的公园里跑

Graphic/Node Database NoSQL example

图形/节点数据库优势

  • 它们是一种敏捷灵活的结构。
  • 数据库中节点之间的关系是人类可读和明确的,因此容易理解。

图形/节点数据库限制

  • 没有标准化的查询语言,因为每种语言都是平台相关的。
  • 前面的原因使得在面临问题时很难在网上找到支持。

何时使用图形/节点数据库

  • 当您需要创建数据元素之间的关系并能够快速检索这些关系时,可以使用它们。

应用程序

  • 它们可用于在实时金融交易中执行复杂的欺诈检测。
    *** 它们可以用于 从社交媒体 中挖掘数据。例如,LinkedIn 使用图表数据库来识别哪些用户相互关注,以及这些用户和他们的专业知识之间的关系(ML Engineer)。* 网络映射 非常适合用图形来表示,因为这些网络映射了硬件和它们支持的服务之间的关系。**

**## 7 个最佳 NoSQL 数据科学数据库

现在,您对 NoSQL 数据库有了更好的了解,让我们来看看数据科学项目中流行的 NoSQL 数据库列表。这个分析只关注开源的 NoSQL 数据库。

Most Popular NoSQL Databases

1.MongoDB

MongoDB 是一个开源的面向文档的数据库,以 JSON 格式存储数据。它是最常用的数据库,旨在实现高可用性和可伸缩性,提供自动共享和内置复制。我们的对 MongoDB 的介绍课程涵盖了 MongoDB 和 Python 的使用。它有助于获得使用 MongoDB 操作和分析灵活结构化数据的技能。优步、LaunchDarkl、Delivery Hero 和 4300 家公司在他们的技术堆栈中使用 MongoDB

2.卡桑德拉

Cassandra 也是一个开源的大型列数据库。它可以将您的数据分布在多台机器上,并在您向基础架构中添加新机器时自动重新分区。优步、脸书、网飞和 506 家其他公司在他们的技术堆栈中使用它。

3.弹性搜索

与 MongoDB 类似,Elasticsearch 也是一个面向文档的数据库,并且是开源的。它是世界领先的搜索和分析工具,专注于可扩展性和速度。优步、Shopify、Udemy 和大约 3760 家其他公司在他们的堆栈中使用它。

4.Neo4J

Neo4J 是一个开源的面向图形的数据库。主要用于处理不断增长的有关系的数据。据报道,大约有 220 家公司在他们的技术堆栈中使用它。

5.HBase

这是一个分布式的面向列的数据库。它还提供了与基于 Apache Hadoop 的 Google BigTable 相同的功能。据报道,81 家公司在其技术堆栈中使用 h base

6.CouchDB

CouchDB 也是一个开源的面向文档的数据库,以 JSON 格式收集和存储数据。大约有 84 家公司在他们的技术堆栈中使用它。

7.OrientDB

OrientDB 也是一个开源数据库,它是一个多模型数据库,支持图形、文档、键值和对象模型。据报道,只有 13 家公司在他们的技术堆栈中使用它。

结论

本博客涵盖了 NoSQL 数据库的主要方面,以及在当今快速发展的环境中,它们如何有益于您的数据科学项目。为了实现适合您的用例的数据库,您可以选择所有的工具。如果您仍然对使用它们犹豫不决,现在是您和您的队友利用这些数据库的时候了。

为了了解更多信息,我们涵盖 NoSQL 概念的课程将加强您对我们之前涵盖的四个主要数据库的了解。**

面向 R 用户的笔记本

原文:https://web.archive.org/web/20220627024316/https://www.datacamp.com/blog/notebooks-for-r-users

一年多前,我们推出了 DataCamp Workspace,这是我们基于云的笔记本 IDE,旨在让从业者和团队能够无缝地处理数据并进行在线协作。截至今天,成千上万的个人和团队使用 Workspace 来分析数据和分享他们的见解,构建投资组合项目,并在比赛中竞争。

我们最近将我们的 RStudio 工作区迁移到了 DataCamp 的笔记本编辑器或 JupyterLab 。这意味着 R 用户可以享受最新的工作空间特性,包括共享、协作、评论、原生 SQL 集成等等。在这篇博客文章中,我们概述了 JupyterLab 的主要功能,它与 RStudio 的不同之处,以及 R 用户如何利用 DataCamp 笔记本编辑器。

jupyterlab logo

JupyterLab:新一代笔记本界面

JupyterLab 是一个基于 web 的交互式开发环境,适用于 R 和 Python 笔记本,以及其他编程语言。专为数据科学和机器学习工作流而设计,其丰富的界面由笔记本、终端、文本编辑器和文件浏览器组成。它的模块化设计也邀请开源社区创建扩展来扩展 JupyterLab 的功能。在 JupyterLab 中,一旦一个单元运行,每个代码单元的输出就会出现。像在 R Markdown 笔记本中一样,用户也可以用 Markdown 注释散布代码块。

An overview of jupyterlab

data camp 工作区上 JupyterLab 界面概述

JupyterLab ≈ RStudio

JupyterLab 和 RStudio 都是流行的 R 语言集成开发环境(IDE)。除了一些细微的差异,它们在功能和感觉上都非常相似。除此之外,RStudio 还附带了一个文件管理器、终端、变量浏览器,甚至还有一个函数帮助窗格。这使得程序员可以方便地访问各种文件和设置,使分析更快更容易。在 JupyterLab 中也可以找到许多这样的特性。在本节中,我们将重点介绍 JupyterLab 接口的主要组件。

侧栏

左侧边栏包含五个图标:

  • 一个文件浏览器,在这里你可以打开不同的文件
  • 正在运行的终端和内核,可以看到正在运行的进程
  • Git ,您可以在其中管理存储库
  • 目录,你可以浏览笔记本的轮廓
  • 扩展管理器,您可以在这里下载笔记本扩展

The file manager overview 文件管理器概述

Running terminals and kernels 运行终端和内核

Table of content overview

目录概述

Table of contents overview

扩展管理器概述

主要工作区域

主要的工作区域是从业者编写代码、运行 shell 命令和编辑 markdown 文档的地方。与 RStudio 非常相似,用户可以根据自己的喜好定制布局。从业者可以选择专注于单个窗格或者同时在几个窗格上工作。

Jupyterlab's main work area

JupyterLab 的可定制界面

顶部菜单栏

与 RStudio 一样,顶部菜单栏包含一组模式和功能区,允许用户执行以下操作:

  • 文件用于打开、保存和下载笔记本等操作
  • 编辑用于编辑单元格内容(如撤销、重做、删除和拆分单元格)
  • 查看以定制 JupyterLab 中可用的窗格
  • Run 运行 Jupyter 笔记本中的代码块
  • 中断或停止内核运行的内核(我们将在后面讨论)
  • 用于管理存储库和版本控制的 Git
  • 选项卡允许用户在 JupyterLab 的选项卡中导航。
  • 设置给用户定制 JupyterLab 外观的灵活性。
  • 帮助包含更多关于 JupyterLab 的信息。

Top menu bar in jupyterlab

JupyterLab顶部菜单栏

JupyterLab 的代码引擎:内核

在使用 Jupyter 时,您可能会经常读到一个常用术语“内核”。内核是一个执行代码并与 Jupyter 应用程序(如 JupyterLab)交互的进程。它可以被认为是运行 Jupyter 笔记本中包含的代码的引擎。即使笔记本文档、代码控制台或终端关闭,内核仍会继续运行。这意味着用户可以执行长时间运行的操作(可能关闭笔记本文档)并在稍后返回。

要查看所有当前运行的内核,用户可以导航到“运行终端和内核”选项卡。在这里,用户可以重新打开链接到给定内核的笔记本。

Kernel in jupyterlab

运行终端和内核侧面板

用户可以执行一些与内核相关的操作,包括

  • 中断一个内核:这样做会停止笔记本中的代码运行,但会保留笔记本的变量。
  • 关闭内核:这样做会中断内核,并清除笔记本所有现有的状态和变量。
  • 重启内核:这样做会关闭现有内核,并启动一个新内核。

The kernel menu bar

内核菜单栏

JupyterLab 入门

让我们浏览一下创建新笔记本并使用 JupyterLab 运行分析的过程。通过使用 DataCamp 工作区打开一个新的数据集或模板,您可以按照这些说明进行操作。

创建文档

用户可以在 JupyterLab 中使用菜单文件>新建>笔记本创建一个新笔记本。这与 RStudio 非常相似。或者,您也可以按左上方的蓝色+打开新文件。

Open a new file in JupyterLab

在 JupyterLab 中打开新文件

编写和运行代码

JupyterLab 笔记本由多个块组成,每个块可以包含 markdown 或代码。JupyterLab 中的代码块类似于 RNotebook 中的块。

要创建块,可以点击控制台顶部附近的+按钮。你可以通过点击按钮运行代码块(或者对于 Macbook 用户点击Cmd+Enter,或者对于 Windows 用户点击Control+Enter)。与 RStudio 类似,运行时输出将显示在代码块下面。请注意,每个代码块都是一次执行的,就像 RStudio 中的“运行当前块”功能一样。

在 RStudio 中,每一行都可以单独运行(运行>运行选定的行)。然而,JupyterLab 却不是这样。要单独运行两行,JupyterLab 用户必须使用分割单元功能(编辑>分割单元)将这些行分成代码块。

Running a code cell in jupyterlab

运行 JupyterLab 中的代码单元

管理文件

与 RStudio 类似,JupyterLab 也有一个文件管理器界面,用户可以在其中浏览文件和目录。用户可以创建、重命名、移动和复制文件。

File manager in JupyterLab

JupyterLab 中的文件管理器

用降价注释代码

批注是可读笔记本的必备。在 Jupyter Notebook 和 RStudio 中,从业者可以用 markdown 段为他们的代码提供上下文。

为了利用 markdown,JupyterLab 用户可以创建一个新的代码块,并将其转换为 Markdown 块。然后,用户可以使用 markdown 语法来修饰他们的文本。

Using markdown in jupyterlab

在 JupyterLab 中使用 Markdown

这与 RNotebook 略有不同,在 RNotebook 中,不需要为 markdown 创建单独的块。在编织时,笔记本将被转换成 HTML 文档,代码和减价将在该文档中适当显示。

保存和发布笔记本

JupyterLab 中的保存与 RStudio 中的保存类似——JupyterLab 和 RStudio 都会以默认的时间间隔自动保存笔记本。

JupyterLab 允许用户将 Jupyter 笔记本文件(.ipynb)导出为其他格式,包括 HTML、LaTeX、Markdown 和 PDF。为此,只需进入文件>将笔记本保存并导出为……>您理想的输出格式

saving and exporting a notebook

保存和导出笔记本

对于 RStudio 用户来说,这或许并不奇怪。在预览 RNotebook 文件时,RStudio 会自动以.nb.html的格式保存 HTML 网页。

打开终端和代码控制台

终端是运行 shell 命令的界面。当程序员需要交互地运行 R 代码和 shell 命令时,它就派上了用场。在 JupyterLab,你可以进入文件>新>终端。这对 RStudio 用户来说可能是新的,因为默认情况下终端面板是显示的。

Opening a Terminal in JupyterLab 在 JupyterLab 开设航站楼

自定义主题

JupyterLab 自带默认的深色主题(设置>主题>深色)。用户也可以使用扩展管理器安装非默认主题。

JupyterLab Dark Theme

木星实验室黑暗主题

JupyterLab 诉 RStudio 案

JupyterLab 和 RStudio 相似但不完全相同。这里我们强调两个不同点。

  • 许可证:Jupyter 项目是在修改后的 BSD 许可证下发布的。另一方面,RStudio 是在 Affero 通用公共许可证下发布的。
  • 功能:Jupyter 笔记本不支持某些 Markdown 功能,包括用于设置主题的 YAML 标题、配置目录、高级代码外观设置

超越 JupyterLab 和 r studio:data camp 笔记本编辑器

虽然 JupyterLab 在处理数据时提供了许多有用的特性,但我们希望在处理 DataCamp Workspace 时为 Python 和 R 数据从业者提供额外的好处。这就是我们发布自己的 DataCamp 笔记本编辑器的原因。

DataCamp 笔记本编辑器建立在 Jupyter 笔记本之上,它允许团队轻松编写代码、分析数据和分享见解。它支持 R、Python 和 SQL。以下是 DataCamp 笔记本编辑器的主要功能。

The DataCamp Notebook Editor

data camp 笔记本编辑器

轻松协作

现有的工具并不总是允许数据科学家同时编辑相同的代码。当数据科学家开始在彼此之间传递笔记本文件时,瓶颈就形成了。DataCamp Workspace 正面解决了这一问题。这是一个用于笔记本的谷歌文档——多个用户可以在任何给定的时间在一台笔记本上工作。

笔记本可以被发布,并且它的链接可以与用户的队友共享。中继一个位于云上的笔记本比中继一个离线笔记本要好,后者可能在一个本地上运行,但不能在另一个本地上运行。

Collaboration in DataCamp Workspace

data camp 工作空间中的协作

原生 SQL 支持

DataCamp Workspace 的一个便利特性是它的原生 SQL 支持。用户可以建立从 DataCamp 笔记本编辑器到数据库的安全连接,如 PostgreSQL、MySQL 和 Redshift。然后可以使用 R 或 Python 分析从集成数据库中提取的数据。

Native SQL Support in Workspace

工作区中的 SQL

零设置

DataCamp Workspace 及其所有功能无需设置。它随时随需应变,触手可及。无论是使用 JupyterLab 还是 DataCamp 笔记本编辑器,您都可以在网络浏览器上打开 Workspace,您的笔记本环境将在几秒钟内上线。由于 Workspace 生活和运行在云上,你不需要下载或安装任何额外的软件。相比之下,在浏览器上正确安装 JupyterLab 是出了名的困难,尤其是对于初学者。

DataCamp Workspace 入门

我们希望您喜欢 DataCamp Workspace 如何为您的 R 工作流提供动力的概述。随着我们不断改进现有功能并构建新功能,请务必让我们知道我们如何为数据从业者创造最佳笔记本环境。

准备好了吗?立即使用 DataCamp 工作区进行编码。

Filip is the passionate developer behind several of DataCamp's most popular Python, SQL, and R courses. Currently, Filip leads the development of DataCamp Workspace. Under the motto 'Eat your own dog food', he uses the techniques DataCamp teaches its students to understand how learners learn on and interact with DataCamp. Filip holds degrees in Electrical Engineering and Artificial Intelligence.

数据科学中的开源[信息图]

原文:https://web.archive.org/web/20230101103238/https://www.datacamp.com/blog/open-source-in-data-science-infographic

点击下图下载我们关于数据科学开源的信息图。为了更深入地了解数据科学中的开源技术,探索我们的独家指南

用 MLOps 操作机器学习

原文:https://web.archive.org/web/20221129054701/https://www.datacamp.com/blog/operationalizing-machine-learning-with-mlops

https://web.archive.org/web/20220703052910if_/https://embed.podcasts.apple.com/us/podcast/67-operationalizing-machine-learning-with-mlops/id1336150688?i=1000530032315

DataCamp 播客 DataFramed 的主持人阿德尔·内梅最近采访了 WhyLabs 的首席执行官兼联合创始人阿莱西娅·维森吉奇。

介绍阿莱西娅·维森吉奇

Adel Nehme:大家好,我是来自 DataCamp 的 Adel Nehme,欢迎来到 DataFramed,这是一个涵盖所有数据及其对世界各地组织的影响的播客。你知道,在过去的几年里,我们肯定看到了一件事的兴起,即实现机器学习模型和生产的迫切重要性。

Adel Nehme:新冠肺炎让我们看到了概念或数据漂移,许多模型在生产中崩溃,这是因为在强制锁定后产生的数据不断变化的性质以及由此产生的完全不同的习惯。因此,我们已经看到了描述操作化、监控和从机器学习和生产中提取价值的新方法和方式的爆炸。其中最主要的是 MLOps。

阿黛尔·奈姆:这就是为什么我今天非常兴奋,因为今天的节目中有阿莱西娅·维森吉奇。Alyssa 是 WhyLabs 的首席执行官和联合创始人,why labs 是一家人工智能观察公司,致力于建立人工智能和人类操作员之间的界面。在加入 WhyLabs 之前,Alyssa 是艾伦人工智能研究所(Allen Institute for AI)的常驻首席技术官,她在那里评估人工智能研究最新进展的商业潜力。在她的职业生涯早期,Alyssa 在亚马逊工作了九年,领导机器学习的采用和调整工作。她是亚马逊在柏林的第一个机器学习中心的创始成员。德国。

Adel Nehme: Alyssa 也是 RSquared AI 的创始人,这是一个由 1000 多名人工智能从业者组成的全球社区,致力于使人工智能技术变得强大并对所有人负责。在这一集中,Alyssa 和我讨论了数据团队面临的机器学习挑战,这些挑战刺激了对 MLOps 的需求;MLOps 与其他术语(如数据操作、模型操作和 AIOps)的交叉和区别;组织应如何以及何时开始其信封之旅;以及 MLOps 最重要的组件是什么等等。如果你想查看播客的前几集并显示注释,请务必前往www.datacamp.com/community/podcast

阿黛尔·尼姆:艾丽莎,很高兴你能来参加我们的节目。

阿莱西娅·维森吉奇:当然。我也很兴奋能参加这个节目,阿黛尔。谢谢你邀请我。

Adel Nehme:我很高兴能与您谈论 MLOps,组织如何开始使用它,您启动 WhyLabs 的经验等等。但在此之前,你能简单介绍一下你的背景和你是如何进入数据空间的吗?

阿莱西娅·维森吉奇:所以我的旅程从华盛顿大学开始,我在那里学习应用数学。2008 年我本科毕业,那段时间真的很搞笑;很多和现在类似的未知,也许。我真的很想去读研并获得博士学位,但由于不确定的时期,我决定在进入这个行业之前先了解一下这个行业。所以我加入了亚马逊,这在 2008 年还是一家不太知名的公司。其实我奶奶评价我去了一家连店都没有的书店上班。

阿莱西娅·维森吉奇:但有趣的是,那是在一个非常有趣的时期。所以公司发展迅速。这项技术发展迅速。因此,我非常幸运地在整个 DevOps 文化刚刚在公司爆发的时候加入了亚马逊。我在一个名为平台卓越的小组工作,在那里我确保网站快速运行。它没有异常,没有问题。

阿莱西娅·维森吉奇:在我职业生涯的中途,我一直在寻找机会回归应用数学的根基。2013 年,当亚马逊开始他们的第一个 R&D,机器学习 R&D 的时候。因此,他们开始在业务部门内部创建 R&D 团队。我加入了其中的一个,然后我搬到了德国的柏林,去帮助这个组织播种,帮助成立这个组织。

阿莱西娅·维森吉奇:该小组专注于在公司内部部署机器学习应用程序。所以我很幸运在正确的时间出现在了正确的地方。有很多优秀的机器学习科学家加入了这个团队。我们的任务是将机器学习应用程序构建和部署到供应链个性化、仓库等等。

阿莱西娅·维森吉奇:所以我有机会成为机器学习工程和商业之间的桥梁。在这个角色中,由于我之前的 DevOps 经验,我也是一个经常携带寻呼机的勇敢的人,支持我们部署的机器学习应用程序。因此,我很高兴也很冒险地去感受一下在非常大的部署的早期运行机器学习产品是什么感觉。

阿莱西娅·维森吉奇:我运营过的最大一次部署是需求预测渠道,它为亚马逊全球四分之一的零售产生了每日预测,这令人难以置信。我们正在为亚马逊上的数亿件产品创建预测,并在生产中支持它是一项巨大的努力。这就是我进入这个空间的方式。

什么是 MLOps?

Adel Nehme:我很高兴能与您讨论所有关于 MLOps 的最新信息。因此,虽然 MLOps 是一个相对较新的术语,但它已经成为当今许多组织关注的焦点。我们目前正处于可以被描述为炒作阶段的 MLOps。我想我们讨论一下什么是 MLOps,什么不是。

Adel Nehme:但首先,我想做的是搭建舞台,阐明 MLOps 的动机及其重要性。所以你已经在机器学习领域呆了很长时间了。您能否向我们介绍一下数据团队在大规模部署机器学习模型时面临的具体挑战,这些挑战真正刺激了对 MLS ops 的需求?

阿莱西娅·维森吉奇:这是进入主题的一个奇妙的入口。因此,首先,作为铺垫,我想后退一步,想想这个术语是从哪里来的,不出所料,它反映了我们在传统软件中的 DevOps 文化。DevOps 的核心是持续集成、持续交付和持续部署。

阿莱西娅·维森吉奇:当我说这些术语时,突出的是连续的,术语在继续。在这里,它真正的意思是,我们希望软件对客户来说是一种持续的体验,持续和一致的体验,这似乎非常简单,也是软件的一个基本定义。但是在机器学习的世界里,这才刚刚确立。

阿莱西娅·维森吉奇:所以在机器学习领域,当我们在学术界研究机器学习模型时,通常我们会选取一个数据集,然后对其进行迭代,以得出越来越好的模型。在行业中,您有一个模型,它部署在生产环境中,每天都会遇到越来越新的数据,它需要为用户提供连续、一致的体验。因此,MLOps 真正关心的是工具文化过程,它有助于确保机器学习模型持续提供它们被设计来提供的体验。

Adel Nehme:好的。太好了。因此,在过去几年中,有相当多的不同术语试图在机器学习工作术语中捕捉数据的操作方面,如 DataOps、AIOps 以及现在的 MLOps。你介意给我们介绍一下这些术语是如何区别和交叉的吗?

阿莱西娅·维森吉奇:是的,我们的行业正被新术语淹没。为了回答你的问题,我们先来看看 AIOps 和 MLOps 的区别。那是最容易定义的一个。因此,AIOps 是一个用来描述 AI 和机器学习技术的术语,这些技术应用于常见的 IT 问题。也就是说,自动化异常检测和点击流数据,或者自动化传统意义上的监控和警报聚合。因此,像 Datadog 和 Splunk 这样的公司正在应用人工智能和机器学习日志数据,这些数据是他们收集来识别异常的机器日志数据。

阿莱西娅·维森吉奇:MLOps,尽管只有 AI 和 ML 的区别。我不知道这些术语是如何变得如此相似又如此不同的。MLOps 是一套技术,不一定是与人工智能和机器学习相关的技术,而是用于操作机器学习和人工智能应用的技术。

阿莱西娅·维森吉奇:这些技术可能是数据版本化、可再生数据管道、数据记录和监控等等。所以 AIOps 和 MLOps 是非常不同的东西。现在,如果我们讨论 DataOps 与 MLOps,差异就不那么明显了。因此,DataOps 通常专注于数据管道、数据版本、数据仓库和数据稳定性,而 MLOps 则专注于机器学习管道和机器学习应用。

阿莱西娅·维森吉奇:现在,机器学习管道面临的挑战基本上是数据管道。因此,数据操作的开始和结束位置以及数据操作的开始和结束位置仍然是一个灰色区域。

Adel Nehme:好的,太棒了。总之,如果我错了,请纠正我,MLOps 可以被视为一套工具、实践和技术,可确保机器学习系统的可靠和可扩展部署,类似于软件工程领域的 DevOps。对吗?

阿莱西娅·维森吉奇:是的,我认为这是一个很好的定义。我还会把文化加入其中。所以工具、实践、技术、心态或文化。

构成成功的 MLOps 实践的关键焦点领域是什么?

Adel Nehme:是的,我很高兴能和你谈论文化。众所周知,这是充分利用数据的组织与不充分利用数据的组织的真正区别。因此,我想重点介绍一些仍在涌现的最佳实践和 MLOps。你认为成功的 MLOps 实践有哪些原则、模式或重点领域?

阿莱西娅·维森吉奇:是的,我想回到我之前在 DevOps 实践中强调的术语或模式,持续交付、持续部署、持续集成的概念,这种模式基本上要求应用程序是一致的、可重复的、健壮的。因此,日复一日,机器学习模型为客户产生的体验需要持续和一致。

阿莱西娅·维森吉奇:这在机器学习领域相当具有挑战性,原因有几个。我认为最大的原因是机器学习应用,不像传统软件,它们不是异端。传统软件本质上是我们制定的一套规则,当客户来到这里,他们满足这些规则中的一条,他们就获得了某种体验。对于机器学习,规则是由机器学习模型训练的数据生成的。

阿莱西娅·维森吉奇:因此,机器学习模型本质上是通过查看数据来建立规则,而不是制定规则。这就产生了一些有趣的挑战。首先,数据真的动摇了体验。因此,机器学习模型的行为会有所不同,即使没有进行代码更改,即使没有进行配置更改,也没有进行部署。如果作为模型输入的数据不同,如果模式不同,那么体验就会不同。

阿莱西娅·维森吉奇:我最近听到的一个最喜欢的例子是语音识别软件,它部署在野外,在现实世界中,可以识别某些说出的单词或短语。当 COVID 开始工作,每个人都开始戴口罩时,软件开始工作得不太准确,比以前差得多,因为口罩有点盖住了你的嘴,这使得你的声音听起来不太清楚,这使得麦克风拾取你的声音不太清楚,这基本上打破了模型。

阿莱西娅·维森吉奇:对于机器学习应用程序来说,这是一种非常具体、非常独特的行为,因此进入应用程序的数据会改变模型。我认为,当你为成功的机器学习操作定义那些实践时,要记住这一点。总之,我想说的是,从对连续行为的渴望中融合出来的高级模式是可复制的,这对于机器学习应用程序来说是一种非常常见和重要的概念和模式。

阿莱西娅·维森吉奇:再现性意味着我在本地机器或开发环境中对一些数据进行了实验。我有一个很酷的模型。比我之前的型号要好。现在我想在不同的环境中重现它。我该怎么做?或者我让这个模型今天运行,施加某种行为,我如何确保它明天施加类似的行为?这就是再现性,这是一个重要的模式。

阿莱西娅·维森吉奇:然后我想到了稳健。因此,稳健性本质上意味着我的模型和产品正在生成预测,但 30%的用户对预测不满意,并不意味着我的模型失败了。对于我的模型,失败意味着什么,失败模式是什么,失败在概率系统中意味着什么?所以回答这些问题是健壮性模式的范畴。

阿莱西娅·维森吉奇:最后是透明度。所以你有一个数据管道,它处理千兆字节或兆兆字节的数据,预测出来了。你如何调查不受欢迎的模型行为?你如何解释这些预测?你如何调试正在做出的预测?透明度作为一种模式,可以捕捉到一些问题、工具、文化和机制。因此,我会强调再现性、健壮性和透明性这三个关键模式。

Adel Nehme:太棒了。所以在过去的几年里,我们看到了从实验到操作化的转变。你认为负责操作化的主要角色是什么?开发模型的是同一批数据科学家吗?是 it 工程师,像机器学习工程师这样的混合角色,还是像 MLOps 工程师这样的专家角色?

阿莱西娅·维森吉奇:是的,实际上最近有一个全新角色的发展,我认为在过去的三、四或六个月里,MLOps 工程师的角色已经确定下来了。所以我喜欢把所有参与构建和操作机器学习和人工智能应用的人都称为人工智能构建者。我认为其中有许多不同的角色。

阿莱西娅·维森吉奇:所以很明显,首先是研究人员建立模型,同时也是拥有专业知识的人定义问题的范围。因此,通常,如果我们在谈论个性化模型,那么它通常是营销团队。如果我们在谈论一个供应链应用,人工智能应用,它可能是在股票经理。因此,它从数据科学家和主题专家开始。随着模型的开发,模型的生命周期继续,通常会涉及到项目经理、工程师或工程团队。可能会有一个 QA 团队参与进来。

阿莱西娅·维森吉奇:最终,我认为模型的所有权一旦建立和部署,而不是生产,我认为历史上它一直由建立它的团队所有,所以是数据科学家和工程师的混合团队。我认为,今天我们看到了一个实际的 MLOps 工程师角色的出现,我们的 ML 工程师也参与进来,他们通常处理数据管道,实际上是模型的生产实现步骤。

阿莱西娅·维森吉奇:今天我看到了 MLOps 工程师的大量涌现。事实上,昨天,我为播客做了一点准备,我继续搜索了 MLOps 这只是我偶尔做的一件有趣的事情,看看就业市场上发生了什么。我发现有大量的公司试图雇用有 MLOps 经验的人,像 Peloton 和麦当劳这样的公司,传统的公司甚至不是因为人工智能而出名,但他们确实在内部部署了人工智能机器学习。因此,他们正在寻找这种类型的人,以便在机器学习模型投入生产后,从本质上维护它们。所以我认为这是我们开始看到的新的新兴角色。

数据科学家正在变得越来越专业化吗?

Adel Nehme:那么你认为在这个意义上,数据科学家正在变得越来越专业化吗?

阿莱西娅·维森吉奇:我不知道我们是否能肯定地说。我看到这两种组织结构都很成功,因此 Stitch Fix 的 Eric Colson 是全栈数据科学家或全栈 ML 实践者学科的思想领袖之一,这基本上意味着就像全栈工程师一样。数据科学家能够建立模型,部署模型,操作模型,并拥有整个周期。我认为在许多组织中仍然是这种情况。

阿莱西娅·维森吉奇:但与此同时,我们确实看到了非常专业化的规则的平行,数据科学家是真正开发新技术的机器学习科学家,数据科学家开发关于数据的新技术,然后我们看到机器学习工程师通常生产或扩大机器学习应用。现在我们看到 MLOps 工程师。所以有迹象表明,这两者,我想是组织结构,都有自己的位置。我想说,我们还没有决定哪一个更好或更有效,或者两者都有空间。

MLOps 采用

Adel Nehme:从这个意义上来说,鉴于 MLOps 仍处于发展阶段,您认为在 MLOps 作为一种实践和组织被广泛采用之前,我们还需要什么?

阿莱西娅·维森吉奇:是的。我认为我们还有很长的路要走。我认为采用的最大障碍之一是文化和对 MLOps 需求的理解,以及对工具、实践、流程和文化需求的理解,以便操作这项技术。通常,在与各种数据科学团队的交谈中,我仍然看到他们的思维方式在生产中止步不前。

阿莱西娅·维森吉奇:所以他们正在跑这场马拉松,它从获取数据、捕捉问题、构建模型、迭代、实验、生产开始,当模型投入生产时,它就结束了。这就是我们在组织中看到的最常见的想法,MLOps 是一种运动,本质上说,“看,你必须考虑你的模型后期制作会发生什么,因为这几乎是最重要的一步。”

阿莱西娅·维森吉奇:一旦模型投入生产,它就能提供价值或不提供价值,提供积极的客户体验或消极的客户体验。因此,思考后期制作会发生什么可能比之前的其他步骤更重要。所以我认为意识到这一点的重要性是最大的障碍之一。

阿莱西娅·维森吉奇:创造这种文化,帮助企业理解这是有必要的,因为许多组织仍在试图采用机器学习,试图推出他们的第一个机器学习模型。他们在这方面花费了大量的资源,雇佣了专业的数据科学家和机器学习科学家,他们真的很兴奋能够得到他们的第一个模型,但他们经常会惊讶地发现仍然需要更多的资源和更多的工作。所以我认为改变这种心态非常关键。

阿莱西娅·维森吉奇:我认为从技术角度来看,MLOps 作为一个软件类别,我认为我们仍然在技术方面搞清楚一些事情,我们正在搞清楚可解释性对运营模式意味着什么。我们如何利用一些来自学术界的可解释技术,从研究到运营方面的帮助。那么公平是另一个,公平和偏见,是另一个巨大的空间,仍然是一个巨大的研究领域。

阿莱西娅·维森吉奇:我想说的不是包容性,但有一些我们同意的指标,一些我们在公平和偏见领域没有同意的指标。因此,我们仍在弄清楚这意味着什么,以及公平和偏见如何在 MLOps 工具和 MLOps 流程中体现出来。当然,还有因果关系。所以大多数机器学习系统都不是因果的。这对运营意味着什么?

阿莱西娅·维森吉奇:因为当我们想到软件运营时,我们总是想到因果关系。随着机器学习系统不再像根本原因那样具有因果性,分析变得有些棘手,等等。因此,可解释性、公平性和因果性,我认为仍然在技术方面产生一些挑战,这些工具看起来像什么,我们如何确保这些工具能够正确地服务于理解机器学习模型的行为。

工具堆栈的标准化

Adel Nehme:这真的很有见地。谢谢你。你在这里提到了工具堆栈。在分析方面,数据科学工具包似乎已经围绕开源编程、语言和工具(如 Python、Pandas、Scikit-learn 等)实现了标准化。你认为我们什么时候会在工具堆栈和 MLOps 领域实现标准化?

阿莱西娅·维森吉奇:我不确定规范堆栈是否有终结期。我认为我们正开始走向某种团体和组织,他们开始形成他们对规范堆栈的想法。其中一个组织是人工智能基础设施联盟(AI Infrastructure Alliance,简称 II ),我本人就是其中一员,也是它的忠实粉丝。这是一群创业公司,他们实际上正在建立一个基础设施联盟,或者为机器学习应用建立规范的堆栈。

阿莱西娅·维森吉奇:因此,不仅仅是 MLOps 需要一个规范的堆栈,而是一个用于构建、开发、部署和操作机器学习应用的规范堆栈。所以这是一个了不起的举动,我真的很高兴看到堆栈将会是什么样子,而不是一个剧透警报,因为你可以去人工智能基础设施联盟的网站,看看联盟是如何处理这个问题的。

阿莱西娅·维森吉奇:我想说,这不会是一个处方,你把这 10 个工具添加到你的过程中,然后你就可以走了,这是非常具体的用例;它具体到组织在他们采用机器学习和人工智能的旅程中处于什么位置;具体到什么规模,你运行的东西,等等。但我认为我们看到了一些积极的迹象,即出现了一套工具,或者我甚至可以说是一套实践,这些实践被广泛接受为您的组织中的必要实践,以便很好地实施机器学习操作。

组织应该何时开始他们的 MLOps 之旅?

Adel Nehme:这太令人兴奋了。因此,如果您有一个蓝图来为组织提供如何以及何时开始的信息,您认为组织应该何时开始他们的 MLOps 之旅?如果你有一个蓝图,这个蓝图会是什么样的?

阿莱西娅·维森吉奇:越早越好。与此同时,他们开始采用和建立机器学习组织,采用机器学习技术。所以我会从定义几个主题开始,再次回到 DevOps,因为真的没有理由重新发明那些轮子。正如我提到的,我要说的是要考虑的重要主题,可再现性、透明度、稳健性,我还要将质量和所有权文化加入其中。

阿莱西娅·维森吉奇:当你开始开发机器学习应用程序时,这是你需要记住的五件事。这些是本组织应该尽快开始问自己的问题。然后,我会说,对于一个组织来说,一个很好的过程,一个轻量级的过程来制定他们自己的蓝图,就是从他们的 DevOps 团队开始,来制定这个组织已经为传统软件实施的所有活动、过程、机制,然后扩展他们的思维,以包括数据和包括机器学习非确定性概率应用。

阿莱西娅·维森吉奇:所以这意味着你应该为传统软件做传统软件的开发工作。然后,您应该拥有特定于理解数据过程的过程和工具,以及特定于理解模型的工具。这本身并不是一个蓝图,但是如果您经历这个过程,它将帮助您为您的组织和您的特定使用情形开发非常专业的蓝图。

Adel Nehme:现在,回到人的因素,您认为数据、文化和数据素养在促进环境扩展以及解决大规模部署机器学习模型的核心问题时有多重要?

阿莱西娅·维森吉奇:我认为数据文化和数据素养绝对是创造正确环境的关键,创造一个可以让我们说负责任地希望学习采用的环境。我这么说的原因是因为这很简单,当我们说机器学习时,很容易只考虑和专注于算法,并把数据视为理所当然。这是非常危险的,因为正如我们所知,正如我们看到的那种成为新闻的机器学习失败,大多数源于机器学习的不幸经历都来自于收集得很差的训练数据,很差的机器学习预测,这种预测会让不幸的经历一直出现在客户面前。

阿莱西娅·维森吉奇:更具体地说。我会说数据隐藏了偏见,数据隐藏了错误,数据隐藏了希望学习失败。如果我们不考虑数据,这些数据是如何收集的,谁带来了这些数据,谁是数据提供商,谁清理了这些数据,我们是否了解这些数据描述了我们客户的哪一部分,这些数据是否完整地描述了我们所有的客户,这些数据是否包含个人身份信息,等等。

阿莱西娅·维森吉奇:如果没有这种文化,也不了解他们知道你处理的数据有多有价值,但如果处理不当也会很危险,我认为机器学习在一家公司是不会成功的。说到这里,我真的很高兴听到 Andrew Ang 是如何看待数据文化的整个概念的。他在这个问题上确实直言不讳。他的很多演讲都侧重于鼓励数据科学家首先考虑他们的数据,模型是处理数据的第二种方式。

阿莱西娅·维森吉奇:我的一个好朋友,来自三元数据公司的乔·里斯也经营着一个播客,他是一个伟大的、直言不讳的人,来自数据工程领域,他将自己的经验与机器学习文化相结合,带来了许多有趣的见解,这些见解捕捉到了围绕数据的文化或缺乏文化如何影响学习采用的意愿。所以我建议听众去看看,我确信 Andrew Ang 是一个非常著名的,所以看看他最近的一些演讲中有很多关于数据文化的有趣信息和见解,然后三元数据的 Joe Reis 有很多关于数据文化和数据素养的有趣内容,

Adel Nehme: 100%。我们肯定会把这些内容包含在演出笔记中。现在,我想重点谈谈 WhyLabs 以及它如何融入 MLOps 工具堆栈,但在此之前,您如何描述 MLOps 中的当前工具空间?

阿莱西娅·维森吉奇:嗯,我想说工具领域正在迅速崛起。所以我可以看到两类工具。一类是提供某种机器学习构建模块的云提供商。因此,从数据流到数据仓库,再到扩展 Jupiter 笔记本电脑,这一切都是科学家们经常用来构建模型的。

阿莱西娅·维森吉奇:所以云提供商也开始增加工具来帮助你完成 MLOps。因此,用于测试、版本控制、监控机器学习应用程序和数据管道的工具。这是一个类别。第二类是一群初创公司,他们正在使用专门构建的工具来运行机器学习应用程序。因此,无论你作为一个组织处于旅程的哪个阶段,我想有两个大的选择值得关注:云提供商和初创公司。当您为组织的 MLOps 播种工具时,绝对不缺少尝试和考虑的选项。

为什么实验室

Adel Nehme:您能向我们介绍一下 WhyLabs 及其使命,以及它如何解决大规模部署 ML 模型的一些棘手问题吗?

阿莱西娅·维森吉奇:当然。所以 WhyLabs 是一家人工智能可观察性公司,我们的使命是在人工智能应用程序和人类操作员之间建立一个接口。因此,我们帮助人工智能建造者的是,确保他们的模型正在产生它们被建造来产生的影响。我具体指的是,我们有一个人工智能可观察性平台,它有助于确保模型不会意外失败,有助于确保模型在我们可以计算的最大程度上是公平的,有助于模型实现 ROI,并确保连续和自动化的交付。

Adel Nehme:太好了。您介意向我们介绍一下数据团队目前可以利用的一些特定功能吗?

阿莱西娅·维森吉奇:当然。实际上,我要做的是,我会专注于我们在社区中非常流行的开源库。该库名为 whylogs 和 whylogs 是什么,whylogs 是数据记录的标准,它是整个 MLOps 实践的基础。因此,在传统软件中,我们会在日志中捕获大量关于软件运行情况的信息。

阿莱西娅·维森吉奇:说到机器学习,你可以从传统日志中获取大量信息。然而,当涉及到流经管道并在每一步进行转换的数据时,传统上没有办法捕捉数据的样子以及它在每一步之间是如何变化的。所以 whylogs 可以帮你做到这一点。

阿莱西娅·维森吉奇:这是一个专门构建的机器学习日志库,由我们在 WhyLabs 的团队开源,旨在提供一种非常轻量级、可移植和可配置的方式来记录数据的统计属性以及批处理和流数据工作负载中的模型预测。因此,既然 whylogs 是一个开源库,它能让任何人做的就是捕获数据的统计属性,然后在此基础上建立测试、监控和警报,以识别数据漂移、数据偏差、数据异常值等情况,然后识别模型性能的退化。

行动呼吁

Adel Nehme:这太令人兴奋了。最后,阿莱西娅,在我们结束之前,你还有什么最后的行动呼吁吗?

阿莱西娅·维森吉奇:是的。首先,我很高兴能成为 MLOps 对话的一部分,我认为这个领域正在迅速崛起。因此,如果您的组织正在考虑建立一种 MLOps 文化,那么您这位听众会很乐意与您交谈。当我们在 WhyLabs 为数据记录建立 whylogs 标准时,每一个正在收听的人工智能从业者都会喜欢你的反馈和贡献。

阿莱西娅·维森吉奇:这需要一个村庄,需要每个人来定义像数据记录这样规范的东西的标准。因此,我将分享链接获得枢纽,并会喜欢反馈,贡献,问题,功能请求,获得帮助明星等。加入我们发起的为数据记录和 MLOps 建立标准的运动。

Adel Nehme:太棒了。阿莱西娅,非常感谢你参加今天的播客。

阿莱西娅·维森吉奇:谢谢你,阿黛尔。很高兴来到这里。

Adel Nehme:今天的 DataFramed 节目就到这里了。谢谢你和我们在一起。我非常喜欢 Alessya 对 MLOps 以及数据科学如何发展以满足组织需求的见解。如果你喜欢今天的节目,请务必在 iTunes 上留下评论。我们下一集将采访普华永道负责人工智能的主管玛丽亚·露丝安娜·阿申特。我希望它对你有用,我们希望下次能在 DataFramed 上看到你。

角色驱动的学习之旅,转变您的数据计划

原文:https://web.archive.org/web/20221129040116/https://www.datacamp.com/blog/persona-driven-learning-journeys-to-transform-your-data-program

许多公司都在思考如何用数据加速他们的数字化转型。在本文中,我们将讨论使用人物角色来构建以数据为中心的学习和发展计划的好处,并向您展示如何开始在您的组织中映射角色。

为什么你应该在学习过程中使用人物角色

每个人物角色与数据都有不同的关系。不是你公司的每个人都有“数据科学家”的头衔,但这并不意味着他们不需要了解如何处理和解释数据。我们建议采用基于角色的方法来确定需要哪些技能来帮助每个角色实现其绩效目标。

数据角色的目的是将您公司内的每个主要角色映射到他们以最佳方式履行其工作职责所需的技能。

四种最常见的角色

DataCamp 目前拥有 1,600 多家企业客户,代表着不同的行业,包括金融服务、医疗保健、咨询、技术、消费品和零售、政府等。我们的业务客户倾向于使用以下角色:数据消费者、领导者/经理、数据分析师、公民数据科学家、数据科学家、数据工程师、数据库管理员、统计学家、机器学习科学家和程序员。

为了这篇博文的目的,我们将关注四个最常见的角色:数据消费者、领导者/经理、数据分析师和数据科学家。

数据消费者

  • 从事非技术工作,但在日常工作中使用分析结果。几乎每个人都必须消费某种类型的数据,但他们也需要能够解释显示给他们的内容。
  • 嗅觉测试:在你给他们看了柱状图后,他们能问出一个合理的问题吗?
  • 角色示例:营销经理

领导/经理

  • 使用分析来监控绩效和制定战略决策。他们可能需要比其他数据消费者更广阔的视野,因为他们需要了解其数据团队的产出,并利用这些见解制定战略决策。
  • 嗅探测试:他们根据数据项目的结果做决策吗?
  • 角色示例:首席人事官

数据分析师

  • 定义和开发特定领域的分析以支持决策制定,包括计算描述性统计、可视化和报告。他们通常需要报告和 BI 工具方面的技能来分享见解,需要 SQL 方面的基本技能,甚至需要精通编程语言中的常见操作任务。
  • 嗅嗅测试:他们能不流汗地画出柱状图吗?
  • 角色示例:运营分析师

数据科学家

  • 使用特定于领域的高级技术来执行数据科学任务。他们执行高级分析以获得见解,并传达这些见解来帮助回答业务问题。他们通常具有 Python 或 R 编程技能,有信心处理数据,并在高级分析主题(如统计和机器学习)方面具有优势。
  • 出于本文的目的,公民数据科学家,或者那些能够履行数据科学家角色的人,也属于这一类别。

将角色映射到所需技能

向贵公司的关键人物角色提问,以了解他们的目标和主要关注领域。

频率

他们多久需要访问一次特定数据?

自我评估的熟练程度

他们如何评价自己在你感兴趣领域的能力?

工具

他们是否使用开源编程工具、BI 工具、内部报告或其他工具?

嗅觉测试

他们能够理解上下文中的数据或交付所需的报告或模型吗?

DataCamp 上基于角色的 L&D

DataCamp 在我们的产品体验中就如何为贵公司的每个角色建立有效的学习体验提供了指导。

按角色细分

您可以使用 DataCamp 的团队功能,根据平台上的角色对学员进行细分。

按角色分配

创建对时间敏感的任务,以保持团队的积极性,并使他们的学习与其数据角色相关的内容保持一致。定制课程让您能够灵活地为每个角色设计合适的学员旅程。

衡量和评估

管理员可以轻松了解、衡量和报告培训对您的组织的影响,并了解您如何实现学习目标。

使用人物角色对学习者的好处

明确的期望

由于有如此多的主题和技术要学习,在开始的同时还要应付其他的责任可能会让人不知所措。作业为学习者提供了明确的期望。

个性化体验

通过 DataCamp Signal,学习者可以收到个性化的培训建议,从而将他们的数据技能提升到一个新的水平。管理员可以在其技能评估仪表板上跟踪发展。

专为忙碌的专业人士打造

有了 DataCamp,学习者可以快速推进他们的学习。如果学习者能够通过信号技能评估来证明他们之前对该材料的了解,我们会让他们选择跳过某些不相关的课程。

对你的团队进行技能审核

我们提供免费的技能审核,这样你就可以衡量你公司的技能。注册后,您还将有机会看到我们最新的技能评估原型,并有机会塑造我们如何构建产品。

Peter Bull 讨论了以人为中心的设计在数据科学中的重要性。

原文:https://web.archive.org/web/20221129045010/https://www.datacamp.com/blog/peter-bull-discusses-the-importance-of-human-centered-design-in-data-science

https://web.archive.org/web/20220524180706if_/https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/523751268%3Fsecret_token%3Ds-KlZLB&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true

DataCamp 播客 DataFramed 的主持人 Hugo Bowne-Anderson 最近采访了社会公益的数据科学家兼 Driven Data 的联合创始人 Peter Bull。

下面是播客链接

介绍彼得·布尔

雨果:你好,彼得,欢迎来到数据框。

彼得:谢谢你,雨果。我很高兴来到这里。

雨果:我很高兴有你在这里。我真的很高兴能够谈论以人为中心的设计和数据科学,设计在数据科学中的作用,以及数据科学可以告诉我们以人为中心的设计。在我们开始之前,我想了解一下你。你在数据社区以什么闻名?

Peter:主要是因为我在驱动数据方面的工作而出名。驱动数据(Driven Data)是一个组织,它举办具有社会影响的机器学习竞赛。我们与非营利组织、非政府组织、政府团体合作,帮助他们找出一种机器学习可以帮助他们更有效的方法。然后我们把它放到网上,这样我们的全球数据科学家社区就可以提出这个特殊问题的最佳解决方案。比赛结束后,我们将帮助组织继续利用这一优势。

Peter:这可能是我们过去五年一直在做的驱动数据工作之一。除此之外,我还经常谈论数据科学的两个特殊领域,并且对此非常感兴趣。第一个是数据科学的工程最佳实践。我是 cookie cutter 数据科学项目的维护者之一,这是一个项目模板,我希望我们能有时间谈论它,因为它是我最喜欢的项目之一,我认为它对我们自己的工作有很大的影响,我希望它对其他人也有影响。

Peter:另一个是思考数据科学可能产生的社会影响,以及它与正在发生的更广泛的数据伦理对话的关系。我们刚刚发布了一个名为“Deon”的软件包,D-E-O-N,用于构建道德检查表,您可以将其作为数据科学项目的一部分。如果有机会,我也很想谈谈这两个问题,因为它们是我非常关心的事情。

雨果:我很乐意投入到所有这些事情中去。概括地说,我们有关于社会影响、工程最佳实践的机器学习竞赛,我认为这非常重要,特别是因为有一种观点认为,在数据科学中...一般来说,最佳实践的想法处于一种可悲的状态,许多人正在努力纠正这种状态,将工程最佳原则引入其中将是必不可少的。当然,最近你工作的数据伦理方面...Mike Loukides、Hilary Mason 和 DJ Patil 已经开始为 O'Reilly 撰写他们的数据伦理系列,他们实际上已经发布了一个关于清单与誓言和行为准则的帖子。我认为所有这些都是非常热门的话题。

具有社会影响的机器学习竞赛

Hugo:让我们花一点时间来看一下这些。关于你的具有社会影响的机器学习竞赛,你能给我们举几个例子吗?

彼得:好的,当然。我先从我最喜欢的一个开始,那是我们举办的第一次比赛。有一个名为教育资源战略的非营利组织。他们真正想做的是帮助学区更有效地花钱。学校把钱花在学生交通、教师工资和教科书上。他们的运营成本范围很广。现在,一个学区很难说,“我是否比邻近的学区支付更多的教科书费用,却得到同样的结果?我的投资有效吗?”进行这种基准或比较的最大障碍是学校预算的格式大相径庭。没有报告预算支出类别的标准,所以我可以说,“我们在教科书上的花费比邻近的学校多,我们需要看看这个。”

Peter:教育资源策略从他们工作的地区收集所有的预算信息。最终,他们的输出是一个建议,在他们经历了将该学区与其他学区进行对比的过程后,如何考虑该学区的预算。最大的问题是,他们每年要花费数百个工时来查看 Excel 电子表格,阅读预算项目,并试图为其分配一组标准的类别。

Peter:我相信你的观众会从描述中了解到,他们有很多在运营过程中产生的标签数据。标签数据是一个预算行项目,它的描述,预算项目的成本,然后它属于哪一类,是交通,课本,课外活动,行政工资。所有这些,都是他们在与学区合作的历史中获得的。

Peter:所以我们的第一个竞赛是我们如何帮助这个真正关心输出报告而不是分类过程的组织?我们如何帮助他们实现自动化?所以我们举办了一场比赛,人们构建算法来解析这些预算中的自然语言,查看这些预算成本,并自动将这些学校预算的类别分配给这些行项目。我们获得了那次竞赛的成果,我们把它变成了一个适合这个组织已经有的工作流程的工具。这为他们的分析师节省了大量阅读销售电子表格的时间,这样他们就可以将时间集中在真正能增加价值的地方,即就如何改变预算提出建议。

雨果:太好了。看起来它会减少大量的体力劳动。

彼得:对,真的...上次我们检查时,自动化该流程每年为他们节省了大约 300 个工时。对于一个相对较小的非营利组织来说,这实际上节省了大量的劳动力。事实上,他们的目标是更有效地利用这些节约,让员工真正增加价值,而不是在电子表格上贴标签,无论如何,这只是必须发生的任务。

雨果:对,绝对是。我们应该提到,如果人们发现这种类型的东西非常令人兴奋和有趣,他们可以查看驱动数据的所有比赛,但如果他们发现这个特定的比赛有趣,他们甚至可以参加你建立的和我合作的数据营课程,这是向专家学习:你最终可以建立获胜的解决方案。

彼得:对,没错。该课程不仅会介绍如何解决这样的问题,还会介绍获胜者如何结合一些有趣的技巧来获得最佳解决方案。

雨果:我不会破坏笑点的。我也不希望你这样,但我要说的是,赢得竞争的不是 LSTM 或任何疯狂的深度学习架构。

数据科学的工程最佳实践

Hugo:现在我们已经讨论了在 Driven Data 上进行的机器学习竞赛的类型。也许你能告诉我们一些关于数据科学工程最佳实践的想法,特别是你维护的 cookie cutter 数据科学项目?

彼得:太好了。是的,所以我的背景是软件工程。当我从事数据科学项目时,我思考的一件事是软件和数据科学如何结合在一起。我认为这两个过程之间有一些重要的区别,因为数据科学往往更加开放,更倾向于研究和开发工作。事实上,我们在数据科学领域所做的很多事情,本质上都是构建软件。即使该软件存在于 Jupyter 笔记本或 Rmarkdown 文件中,它仍然是一个软件。软件工程中的许多最佳实践可以用来改进这些产品。

Peter:cookie cutter 数据科学项目是我们认为标准化我们的流程以使我们自己更有效的第一步。那就是对数据科学项目有一个一致的布局。如果你在 Django(一个 Python web 框架)中,或者在 Ruby on Rails 中,或者在 Node.js 中查看一个 web 应用程序,所有这些都是不同的编程语言,但是任何时候你在其中一个框架中构建一个 web 应用程序,你都有或多或少相同的结构。这意味着,任何 web 开发人员都可以进入这样的项目,并对在哪里可以找到特定类型的代码有所期待。与数据库对话的代码通常位于一个地方。与前端对话的代码通常位于另一个地方。这些期望使得在项目中一起工作和协作变得非常容易。

Peter:千篇一律的数据科学项目理念是将这种标准化引入到我们自己的数据科学工作中。我们有一个定义好的文件夹结构来存放数据。我们有一组文件夹,用于存放原始数据、经过一些处理但处于临时状态的数据,以及经过处理的数据。我们有一个特殊的文件夹结构,用于存放我们的 Jupyter 笔记本或 Rmarkdown 文件,这些文件是以有文化的编程风格构建的。我们有另一组数据处理管道的文件夹结构,它们可能以脚本的形式存在,然后最终可能在类似 Python 包的东西中被重构。

彼得:因为这种一致性,我们很容易从一个项目转移到另一个项目,拿起一些东西并记住我们在哪里,如何复制一些东西,因为我们在许多不同的项目上与许多不同的客户合作,这意味着团队中的任何人都可以进入任何项目,而不必花费大量时间来弄清楚在哪里发生了什么。

构建数据伦理和伦理清单包

雨果:太好了。我发现所有的细节都非常有趣,但正如你所说,我认为对数据科学项目和最佳实践系统进行总体、整体一致的布局非常重要。我认为这实际上在你构建数据伦理和伦理清单的方法中扮演了一个角色,有一些你可以跨项目携带的东西。如果存在偏见或挑战,它们是系统性的,因为它们不会被从事项目工作的人所诱发。它们将作为一个整体存在于这个结构中,所以你会意识到这一点。

彼得:对,所以我认为这两者是相关的,因为我们确实花了很多时间为数据科学家开发工具。很多时候,它们最初是我们自己使用的工具,然后我们开源这些工具,以便从事数据科学工作的其他人可以使用它们。这就是千篇一律的数据科学项目是如何开始的,这也是 DEON 的道德检查表是如何开始的。

Peter:我们的想法是,有很多关于数据伦理的对话,从真正看到流程中哪里出了问题的角度来看,我们发现这些对话非常有说服力,并且感觉就像我们自己一样,我们很容易受到这些可能出错的事情的影响。很难有完美的预见,也很难准确理解在任何给定的情况下会出什么问题。因为我们不断看到这些例子,并感觉到,“我们在自己的工作中一定会发现这一点吗?”我们希望有一种更可行的方式来参与数据道德对话,以确保我们不会落入工作中存在的一些陷阱。如果你专注于方法,如果你在思考数据,你可以进入这些真正的技术层面,而没有机会停下来看看伦理的含义。

Peter:我们希望有一种真正由流程驱动的方式来参与我们自己项目的对话。我们构建的这个包所做的是,它生成一个真正围绕数据科学流程构建的数据道德清单。它从数据收集阶段开始。有一组清单项目会询问您一些问题,例如,您的数据收集的参与者是否对所收集的数据给予了知情同意?这是清单上的一个例子。

Peter:我们所做的是,在数据科学流程的不同部分选取这些清单项目,并将它们映射到出现问题的真实世界示例中。我们收集了一些新闻文章和学术论文,解释了数据科学项目何时触及伦理含义以及已经出现的问题。

彼得:实际上,有一篇非常棒的文章是关于亚马逊真的在尝试建立一个简历过滤算法。他们得到的任何职位的简历数量都令人难以置信。他们相信,他们可以使用所有的历史数据来训练一种算法,以确定申请给定职位的最佳候选人。现在,从数据科学的角度来看,这种框架似乎很有意义。我们已经有了一长串的训练数据,我们希望能够用算法复制这些数据。

彼得:他们实际上只是关闭了在这个项目上工作了多年的团队,因为他们发现这个算法对女性有偏见。特别是,它没有说,“哦,这个人是女的吗,他们已经在他们的申请上注明了,现在我想用这个,不考虑他们的申请,”而是使用了比这更含蓄的东西。特别是,如果申请人上过女子大学,他们的分数就会下降。他们发现了算法中的这些问题,并彻底解散了这个项目的团队,因为他们无法克服这个过程中的障碍。他们仍然让人审查所有收到的简历。

Peter:这只是一个典型的例子,从理论上看,这似乎是机器学习问题的一个很好的设置,但如果你不考虑它如何影响你的输出,而不仅仅是一些准确性的衡量标准,它可能会非常非常错误。

德翁

雨果:这些是 DEON 会让你检查的东西吗?

彼得:完全正确。是啊。它经历了从数据收集到数据清理到探索性数据分析再到实际构建模型的数据科学流程,这就是它的用武之地。实际上,它有一个关于部署模型的部分。部署模型时,您应该问哪些问题?实际上,我们的目标并不是在一份清单中列出所有关于什么是对的,什么是错的答案。考虑到人们工作的不同领域,这确实是一项不可能完成的任务。

彼得:我们的目标是让那些已经是尽职尽责的演员的人做正确的事情,并确保他们就物品可能被滥用的方式进行对话。实际上,我们看到该工具的工作流程是,使用该工具生成一份清单,然后向您的项目提交一份 PR,上面写着:“嘿,这是我们的道德清单,让我们确保作为一个团队来讨论这些项目。”这实际上是激励团队讨论,以确保您已经考虑了项目的特殊含义,并做出了正确的决定。

雨果:我们会在展示笔记中加入“曲奇饼干项目”和“DEON 套餐”的链接。我认为你从考虑各种利益相关者的角度来讨论数据伦理,这与我们关于数据科学中以人为本的设计及其重要性的对话非常吻合。作为以人为中心的设计的前奏,我想问你一个关于共情在整个数据科学中的作用的小问题。我想知道移情在数据科学中对你有什么作用?

彼得:这是一个很好的问题。实际上,我觉得同理心是一个开始在数据科学对话中出现的术语,是数据科学家的核心技能。在我看来,移情只是一种获得特定方法的方式。这种方法是以问题为中心,而不是以方法为中心。我的意思是,我们应该从真正从事专业服务的数据科学家做起。我们为企业的不同部分或组织的不同部分提供服务。我们应该从我们正在解决的问题开始,并了解该问题的背景,而不是说,“嘿,谁有一个我可以用 LSTM 解决的 NLP 问题?”或者,“谁有计算机视觉问题,我可以尝试最新的神经网络方法,并得到一个非常酷的结果。”

Peter:如果你先从方法开始,很多时候你最终得到的解决方案在它运行的环境中并不真正有用。当我们谈论数据科学和移情时,我们真正想说的是,你应该移情于你的数据科学成果将如何被使用。你应该理解我们正在解决的问题。当我们谈论移情时,我认为这是一种获得问题优先而不是方法优先的观点的方式。

雨果:你想到什么具体的例子了吗?

彼得:对,所以我认为对我来说,一个很好的例子是我们在一个项目中试图自动识别视频中的物种。也就是动物的种类。有一个研究组织在丛林中安装了这些运动检测摄像机,他们试图记录黑猩猩的视频,但他们也获得了许多其他动物的视频。我们不是坐在那里看所有这些视频,然后说哪个有黑猩猩,哪个没有,而是帮助他们建立一个算法来自动识别出现的动物。实际上,去年我们围绕这个问题举办了一场比赛。如果你好奇,你可以看看 DrivenData.org,看看比赛的结果。

雨果:比赛的名称是什么?

彼得:比赛的名字是“灵长类动物矩阵”因式分解。

雨果:别说了。

彼得:谢谢你的关心。

雨果:太棒了。

Peter:我们非常关心我们的数据科学双关语,这是我最喜欢的一个。

天真的蜜蜂

Hugo:当谈到数据科学的双关语时,我们也必须提到天真的蜜蜂。

彼得:对。老实说,雨果,你的口音让我甚至不确定你是在说蜜蜂还是贝叶斯,所以在澳大利亚效果更好。

Hugo:当然是 nave Bees,目前也正在变成一系列的数据营项目。

彼得:对,没错。nave Bees 比赛是为了建立一种算法来识别蜜蜂和大黄蜂。我们正在开展一系列 DataCamp 项目,以帮助人们解决这个问题,让他们首次接触到符合分类框架的计算机视觉任务,并研究更传统的方法,然后转向深度学习、神经网络和卷积神经网络。

共情的作用

雨果:在那段双关语插曲之后,回到移情在识别灵长类动物中的作用?

彼得:回到移情的角色。真的,这是关于回到背景和理解你操作的背景。我们和这个生态学家和生物学家团队一起工作。他们花了很多时间在野外设置这些摄像机,捕捉数据,观看视频,然后就他们在视频中看到的内容写论文。比赛结束后,我们制作的输出是一个开源包,让你从命令行运行,预测这是我的新视频,它会输出每个视频的 CSV 文件,以及某一种动物出现在视频中的概率。我们对这个结果非常满意。这对我们会非常有用。

Peter:我们从合作团队那里听到的第一句话是,“我们甚至无法安装这个工具。我无法在我的机器上安装 XGBoost。我在安装 TensorFlow 版本时遇到问题。我在安装 GPU 驱动程序时遇到问题。”作为数据科学家,所有这些东西对我们来说就像是第二天性,有点让我们看不到这个工具实际上要被使用的环境,而且是由不习惯围绕数据科学工具包装的所有这些复杂机器的生态学家使用的,这可能会使使用最新方法变得非常具有挑战性。这只是一个非常具体的例子,说明我们没有提前做正确的事情来真正理解环境并确保我们构建了有用的东西。我们在建造一些我们知道会对我们有用的东西。

Hugo:我必须澄清一点,我确信相当一部分工作的专家数据科学家偶尔也会遇到安装 XGBoost 的问题。

Peter:是的,如果有人想主动改善 XGBoost 的安装体验,这是一个非常有价值的项目,有人可以为开源社区做这个项目。

人性化设计

Hugo:让我们进入以人为中心的设计,以及为什么它在数据科学中如此重要。我想可能我们的许多听众不一定认为设计原则会在数据科学过程中发挥巨大作用。也许你能告诉我们以人为中心的设计,以及为什么它在数据科学中如此重要?

彼得:很好,对。以人为中心的设计是构建设计过程的一种方式。它实际上与这个领域的其他术语有关,你可能听说过,比如设计思维、双钻石方法和设计冲刺。这些都是人们可能会谈论的流行术语。它实际上指的是同一套想法,也就是有一个设计过程。

彼得:尤其是以人为中心的设计,是我们通过与一家名为 IDO.Org 的机构合作而最为熟悉的设计。IDO 是领先的以人为中心的设计公司之一。他们帮助设计了第一款苹果鼠标。他们从工业设计的角度,也从数字设计的角度,以及最终从服务设计的角度,都有成为设计师的悠久历史。他们在使用这些设计工具刺激创新方面有着悠久的历史和记录。

彼得:他们成立了一个非盈利机构,IDO.org,与非政府组织合作,也有同样的结果。我们与该组织合作,研究坦桑尼亚的数字金融服务。退一步说,这就是我们工作的背景,是这个以人为中心的设计师团队。以人为中心的设计流程是什么样的,我会先给你一个概述,然后我们可以深入了解这个特定项目的细节,我认为这对数据科学和设计如何协同工作很有启发...总的来说,以人为中心的设计就是从人们想要的开始。有一种观点认为,问题的最佳解决方案是可取的,因为有人想使用它们,它们从技术角度来看是可行的,从商业角度来看也是可行的。最佳解决方案位于文氏图的交叉点。你知道,除非你在谈论维恩图,否则你不会有一个好的数据科学对话。

雨果:我在等维恩图。

彼得:对吗?这个特殊的文氏图是可取的,可行的,可行的。我们想要这三者的交集。

雨果:当然,许多数据科学工作可能会从可行开始,比如最新的尖端技术和最酷最有效的算法等,对吗?

彼得:完全正确。我认为这是我们作为数据科学家的趋势之一,我一直在自己身上看到这一点,我对许多这些新技术感到兴奋,我想找到使用它们的方法。诀窍就是找到真正解决问题的平衡点,在合适的地方使用它。以人为中心的设计过程从用户想要什么的角度出发。它通过设计过程的这三个阶段来实现。

灵感

彼得:首先是灵感。灵感是去观察那些将成为你最终产品用户的人。如果你是一名数据科学家,假设你的工作是创建这份报告,每月一次通过电子邮件发送给你的管理团队。你实际上要做的是去和收到邮件的人交谈,你会说,嘿,当你收到这封邮件时,你用它做什么?它包含什么内容?你会说,“好吧,我需要一些我放进幻灯片的顶行数字?”或者是你通过阅读来获取上下文,然后你对你管理的人说,“我们需要改变东西,XY 和 z。”

Peter:你会去和你的数据科学过程的消费者实际交谈,看看它如何适应更大的图景。这个阶段的灵感部分实际上是关于拓展视野,集思广益,并试图从你周围看到的一切中获得灵感。这不是“让我看看数据”,并从我的数据中获得灵感。它是“在我们考虑数据之前,让我们从一切事物中获得灵感”。这是第一阶段。

思维能力

彼得:第二个阶段是构思。这意味着试图提出一个问题的特定解决方案,然后快速测试这些方案。这里的核心概念之一是拥有尽可能最低保真度的原型,并获得真实的用户反馈。可能的情况是,你正在研究一个模型来做一些分类,最终它将是这个部署在云中的大型、复杂的机器学习系统。你首先要做的是...假设我们正在研究蜜蜂/大黄蜂的问题。你可能会说,“好吧,这是每个物种概率的电子表格,你会怎么做?”这是我最不忠实的一个。拿最基本的方法,拿最基本的输出说:“这个有用吗?”然后你拿着它,从中学习。

彼得:构思阶段是从低保真度原型中学习的迭代循环,慢慢地围绕它们建立保真度,但它有助于保持你的项目朝着确保输出针对真实问题的方向发展。它实际上会很有用,当你在整个过程中提出新的想法时,你可以看出哪些是好想法,哪些不是。

雨果:它让你保持诚实,对吧,从某种意义上说,你不会最终建造一些无用的东西,或者走上完全错误的道路。

彼得:完全正确。是啊。我是说,我见过太多次了...甚至是我们做的工作,你做了一个没人会看的仪表板。每个人都认为仪表板是他们想要的,但它不是适合这项工作的工具。人们真的很关心回答一个特定的问题,如果他们进入一个页面,竖起大拇指表示是,竖起大拇指表示否,这可能比你创建的仪表板要好。

Hugo:在这个仪表板案例中,不是构建仪表板,也许灵感或构思阶段会涉及到在白板或纸上绘制图形,仪表板会显示并对利益相关者说,“嘿,这真的是你想要的吗?”

彼得:对,完全正确。或者甚至在 PowerPoint 中模仿它,或者使用 Microsoft Paint 制作一个小原型,然后说,“嘿,这个图表是你需要的吗?您将如何在您的流程中使用它?”试着去理解,而不只是说,“嘿,你喜欢这个吗,这是你想看的吗?”更多的是,“那你会怎么用?”那个你实际上如何使用某物的问题会改变人们的答案。

彼得:我认为在许多数据科学工作中,很明显,如果你问,“嘿,你想看看这个吗,嘿,你想看看那个吗,嘿,你想看看别的吗?”人们对所有这些问题的回答都是肯定的。你怎么能不想拥有你能拥有的所有信息呢?真的,你将如何使用它的问题帮助你把它缩小到有价值的东西上,而不是制造这种信息过载。

履行

雨果:给我们讲讲第三阶段。我们有灵感,有想法,第三个“我”是...?

彼得:第三个“我”是执行。这里的实现不仅仅是,好吧,你已经完成了,现在去构建它。实施实际上是这一过程的延续,从原型设计到解决方案的实际试验。我们认为原型是小规模的,低保真度的,我们和几个人一起做一些事情来获得一些反馈。我们认为实施是,好吧,我们如何变得更加数据驱动我们现在做的这个决定?实施就是挑选一个试点群体,一组真正使用它的用户,然后说,“好的,这是我们现在正在使用的版本。这是我们拥有的一个更高逼真度的原型。让我们为特定的用户群发布它,让我们做一些真正的测试,看看这个解决方案是否有效,是否能解决我们想要解决的问题。”实施是一个试点阶段,在此阶段,您不仅可以从这些讨论中获得大量有趣的定性证据,还可以开始获得定量证据,了解您所构建的内容是如何改变您所关注的指标的。

坦桑尼亚数字金融服务项目

Hugo:你和我讨论了你之前参与的一个非常有趣的项目,我认为这个项目非常精彩地阐明了所有这些步骤。在这个项目中,你看到了坦桑尼亚的数字金融服务。也许你能告诉我们一些关于这个项目的情况,以及以人为中心的设计是如何对你起到关键作用的。

彼得:很好,对。这个项目,我将后退一步,给你们一些这个项目的背景。对很多人来说,你的钱一直都是数字化的。我这么说的意思是,当我开了我的第一个银行账户时,我的父母带我到中学的一家银行,并说,“你将有一个银行账户。你现在必须对自己的财务负责。”我给了银行一些钱,他们在一张纸上写下了我有多少钱。那笔钱不是我手里的现金,而是存在银行的数据库里。那纯粹是数字的。这是我与货币互动的原始体验,是拥有货币的真正数字表示。

彼得:然而在许多地方,银行基础设施并不是很好。建立银行的成本很高,转移实物货币存在安全风险。在许多国家,情况是人们用纯现金进行大部分的货币交易。这意味着当他们想存钱时,他们有现金。当他们想花钱时,那就得有足够的现金来买东西。随着时间的推移,这可能会限制你存钱的能力,限制你贷款购买特定物品的能力。在国际发展领域有一种信念,我们可以帮助人们摆脱贫困的方法之一是为他们提供数字金融服务。人们在成长过程中把钱放在银行的数字体验是一样的,我们如何在不建立所有实体银行基础设施的情况下提供这种体验?

彼得:解决这个问题的方法之一是在你的手机上安装一个与你的手机账户相关联的电子钱包。移动电话是这些跨越式技术中的一种,以前连座机都没有的人现在可以使用移动电话了。移动电话提供商现在开始提供服务,让你可以在手机上省钱。你可以说,“好的,我有一个装有 10 美元的钱包,”这只是与我的手机相关联。

彼得:从一个只用现金工作的世界到一个用数字表示的世界,这是一个过渡。对于那些没有体验过总是用数字表示的人来说,你必须建立对这个系统的信任。你必须确保数字金融服务确实符合这个社区的需求。这是一个大项目的背景和背景,我们如何增加这些数字金融服务的增长,这些服务是为这些环境中的人们提供的,这些人的收入非常不稳定,他们的钱有一定的稳定性,有些人可以获得贷款基础设施,有些人可以获得储蓄基础设施?这就是背景。

彼得:这是一个由盖茨基金会资助的项目,旨在了解我们可以利用什么杠杆来帮助人们参与进来,并让他们获得这些工具。这个数字金融服务系统的一个特别之处是,你需要一种方法将你的数字货币兑换成现金。总会有一些类似于自动取款机的交易。然而,自动提款机相对昂贵,而且你需要很多物理基础设施才能让自动提款机工作。

彼得:在有数字金融服务的地方会发生什么,这也被称为“移动货币”,所以我会互换使用,你有所谓的移动货币代理。这些人通常在某个地方有一个小店,卖家庭用品、小吃和饮料。他们也成为移动货币代理人。这意味着,你可以去跟他们说,“我想用五美元换五美元的现金,”或者,“我想拿五美元的现金放在我的电子钱包里。”它们是实物现金和数字现金之间的接口。

彼得:我们项目的重点是,我们如何让代理商和客户之间的互动有助于在这个移动货币系统中建立信任,这个方向是由这个以人为中心的设计过程驱动的。当我们出去时,我们做的第一件事就是和使用移动货币的人和不使用移动货币的人交谈。我们去了很多市场。我们观察人们买东西,我们问他们,“你为什么用现金买东西?你为什么用移动支付买那个?你有手机货币账户吗?你的体验是怎样的?”

Hugo:听起来在这个过程中,你会得到定性数据和定量数据。

彼得:没错。实际上,你所做的很大一部分工作也是试图收集定性数据。我们一直在通过这些采访收集定性数据,但我们也从一家移动网络运营商那里获得了整整九个月的移动货币交易。所有的交易都有数十亿字节的数据。全国数以亿计的移动货币交易。我们的目标是将关于真实行为的丰富数据来源与我们听说的行为结合起来,与人们实际拥有的定性经验结合起来。

彼得:我认为一个非常好的例子凸显了以人为本的设计的价值,那就是我们一直在和代理商交谈,问他们:“你在移动支付方面最大的困难是什么?你如何看待它与你的业务的大背景相适应,移动支付是你的收入来源之一,但你也销售其他商品。”我们不断从这些移动货币代理商那里听到的是,“嗯,预测我将在移动货币交易中赚多少钱真的很难,因为我从每笔交易中赚取一些佣金,但这些佣金是什么真的不清楚,我很难预测在某个给定的周或某个给定的月的任何累计时间框架内我将从佣金中获得多少钱。”

彼得:这让我们特别感兴趣,因为我们作为数据科学家一直在挖掘这个巨大的数据宝库,心想,“哦,这里面有所有的答案,这将是惊人的。我们可以在我们拥有的大量交易中找到如此多的见解。”做了这些采访后,我们意识到的一件事是,我们不知道代理的佣金是多少。这不是我们现有数据集中的数据。我们有交易的金额,但是代理作为佣金得到的那部分是完全由另一个应用程序中存在的一些业务逻辑单独计算的。

雨果:即使你知道他们得到了多少,你可能也不知道是多了还是少了,也不知道这对他们有什么影响。

彼得:哦,当然。是啊。只是想到我们可以通过查看数据集并找出这些模式来知道什么对代理有价值,数据集甚至没有对我们工作的代理最重要的变量。如果我们不与他们交谈,仅仅试图从数据中学到东西,我们就不会学到这些。

Peter:我们在所有工作中努力做的一件大事,也是我鼓励所有数据科学家去做的一件事,就是出去观察你的数据是如何被收集的。如果你在工厂里处理物联网数据,实际上要去工厂车间,观察事情是如何发生的。如果你像我们一样从事数字金融服务,去观察人们进行交易。查看真实世界中的哪些操作与数据中的某些内容相对应,因为这种视角会改变您对数据本身的看法。它改变了你信任数据的地方和不信任数据的地方。我真的鼓励人们离开他们的屏幕,离开他们的办公桌,去看实际的数据收集。我认为在几乎每一种情况下,你都可以这样做,这将对你如何看待这些数据产生变革性的影响。

Hugo:我认为这真的很重要,特别是在我们生活的这个时代,人们可能会第一次接触到数据科学,有经验,比如在线竞赛,就像你一样...像 DataCamp 这样的平台,获取技术数据或在线数据,并不真正思考数据生成过程。

彼得:对。很容易从数据开始,然后说,“好的,这里有什么?”直到你真正理解了数据生成的过程,你才知道问“这些数据中有什么我不关心的?”或者“这个数据里有什么不靠谱的?”例如,我们看到很多移动货币交易因为网络连接而失败。对于其中一些交易,我们在数据中看不到。如果网络出现故障,交易就永远不会通过,也不会被记录在数据库中。了解连接的局限性以及它如何影响体验,是我们只能开始询问的事情,当我们实际观察它们时,我们如何测量这些交易。

坦桑尼亚项目的其他方面

雨果:我们需要在几分钟内结束,彼得。我只是在想,在坦桑尼亚的这个项目,你还有其他方面想讨论的吗?

彼得:对,所以我想分享另一个以人为中心的设计方法发挥作用的例子。我们在看一天中移动货币代理商最忙的时间。人们什么时候开始把现金换成数字货币,或者相反。我们获取了数据,并在一周的几天和一天中的几个时间查看了这些数据,我们构建了这个非常漂亮的热图可视化,你可以把它想象成棋盘,其中每个方格根据你有多少笔交易而变亮或变暗。我们让它变得互动,这样你可以悬停,你可以看到不同地区、不同时间、不同日子的繁忙程度,并真正感受到移动货币的使用模式。

雨果:它对色盲的人类也很友好。

彼得:绝对是。我们确实用 viridis 建造了它,它是色盲友好的。如果你没有为你的可视化考虑这个问题,你应该考虑,因为这是一个以人为中心的设计。

雨果:作为一个色盲,我是红绿色盲,你知道 8%的男性都是这样。

彼得:你比我们其他人更欣赏绿色地图,认为它是一幅美丽的彩色地图。

雨果:我永远也看不够。

彼得:嗯,我认为这是一幅非常引人注目的美丽的彩色地图,这也是我们喜欢这种可视化的原因之一,也是我们的同事喜欢这种可视化的原因之一,以及它的互动性...但是,和我们合作的特工都没有电脑。他们不是坐在笔记本电脑前,而是想看一个上面有这种美丽视觉效果的仪表板。这对他们没什么用。

Peter:我们最终实际构建的是一个基于文本的可视化图形,本质上只是一个条形图,其中显示“M”表示星期一,然后连续显示三个大写的“I”。那么它会有“T”代表星期二,它会有八个大写的“I”排成一行。通过构建这些基于文本的可视化,本质上是用字符构建的条形图,我们实际上可以给这些在功能手机上工作的代理提供数据可视化体验。将我们认为是惊人的数据科学输出的东西,这种真正引人注目的交互式可视化,并将其放入实际可用的上下文中的过程,是那个项目对我们的变革性体验之一,我们开始思考,“好吧,我们所有输出的上下文是什么?”而不是“我们如何做出最惊人的数据可视化?”

雨果:是的,它非常依赖于对实际技术的了解,以及人类在地面上有什么手机。

彼得:对,完全正确。

行动呼吁

雨果:彼得,最后一个问题,我想知道你是否对我们所有的听众发出了最后的行动号召?

彼得:对。我认为,在我看来,以人为中心的数据科学家有四个核心活动,我认为我们都应该成为以人为中心的数据科学家。第一个是,去现场观察产生的数据。如果不了解数据集中的一行意味着什么,不实际观察发生了什么,不知道捕获了什么,没有捕获什么,出错时会发生什么,那么您可以获得的输出将非常有限。此外,如果你真的去做了,你就能更好地提出与你的数据相关的问题。如果没有与这些代理交谈,我们就不会问数据集的佣金问题。第一件事是去实地观察产生的数据。

彼得:第二项是通过迭代原型来设计,而不是为了设计。这个不断迭代的过程,与实际使用输出的人交谈,让他们接受你所做的决定,意味着当你完成项目时,它将是有用的。而不是“我工作了三个月,这样对你好吗?”“哦,不,不是”,或者需要一些重大的改变。这就是我们如何保持这一过程更紧密地同步,以便我们实际上是在构建有用的东西。我们通过不断测试的低保真度原型来实现这一点。

彼得:第三是把结果,而不是方法或产出放在第一位。那真的是在说,我们在乎的结果是什么?在我们的案例中,是数字金融服务的采用增加了。这就是我们所关心的,特别是我们认为我们可以通过改进移动货币代理商所拥有的工具来做到这一点。我们的目标是说,“好吧,最好的结果是移动货币代理商进行更多的交易。”这就是我们想要衡量的。这不是,我们如何在这个庞大的数据集上做最有趣的降维。

Peter:第四项是就成功的衡量标准达成共识。我认为这是最困难但也是最重要的一点,你需要预先定义成功意味着什么,你需要获得每个人对成功的认同。我认为这是人们假设如果他们从一开始就在同一个项目上工作,他们会有相同的目标,但是直到你明确讨论成功意味着什么以及那些指标是什么,你才会为完全相同的事情进行优化。

彼得:我想是那些...作为一名数据科学家,我呼吁采取行动,并尝试将其融入您的流程中。除了成为一名以人为中心的数据科学家,考虑你的用户,使用更具协作性的流程,我会鼓励人们来看看 DrivenData.org 上的一场比赛。我们在那里开展了许多有趣的社会影响项目。或者,看看我们在这次讨论中的一个开源项目,那就是 DEON 的 cookie cutter 数据科学,伦理清单包。

Hugo:当然,这两个项目和参与竞赛以及你在驱动数据上做的所有其他伟大的事情,也将帮助任何初露头角的数据科学家或成熟的数据科学家做更多以人为中心的数据工作。

彼得:对,这就是目标。

雨果:彼得,很高兴你能来参加这个节目。

彼得:雨果,谢谢你邀请我。我一如既往地喜欢聊天。

部署后数据科学

原文:https://web.archive.org/web/20221129035725/https://www.datacamp.com/blog/post-deployment-data-science

哈基姆·埃拉克拉斯NannyML 的联合创始人兼首席执行官,这是一个开源的 python 库,允许数据科学家估计部署后的模型性能,检测数据漂移,并将数据漂移警报链接回模型性能变化。最初,哈基姆和他的 NannyML 联合创始人一起创办了一家机器学习咨询公司,监控的需求很快出现,导致了 NannyML 的发展。

Adel 是 DataCamp 的一名数据科学教育家、演讲者和布道者,他在 Data camp 发布了关于数据分析、机器学习和数据工程的各种课程和现场培训。他热衷于在整个组织和技术与社会的交叉点传播数据技能和数据素养。他拥有数据科学和商业分析理学硕士学位。在他空闲的时候,你可以发现他和他的猫路易斯在一起。

Adel Nehme:大家好。这是阿黛尔数据科学,教育家,数据营的布道者。上周在节目中,我们邀请了 Serg Masis 在播客上谈论可解释的机器学习。在那一集里,我们讨论了困扰机器学习模型和生产的风险。

随着这些风险的增长,从业者有什么工具来迭代和理解模型性能 post?这就是为什么我对今天的节目中有哈基姆·埃拉克拉斯感到如此兴奋。Hakim 是 NannyML 的联合创始人兼首席执行官,NannyML 是一个开源的 Python 库,允许数据科学家估计部署后的模型性能,检测数据漂移和链接数据,将警报漂移回模型性能变化。

在这一集里,我们谈到了部署后数据科学的挑战,模型如何在生产中失败,一些警示故事以避免为什么 NannyML 是开源的,人工智能的未来,等等。如果你喜欢这一集,请务必评价和评论,但前提是你喜欢今天这一集。

哈基姆。很高兴你能上节目。

哈基姆·埃拉克拉斯:是的。非常感谢邀请我。我真的很感激。

Adel Nehme:我很高兴能与您谈论部署后数据科学、您的工作、领导 NannyML 等更多内容,但在此之前,您能给我们介绍一下您的背景以及您的初衷吗?是啊,当然。

哈基姆·埃拉克拉斯:我是土生土长的美国人,在新泽西州长大。我的教育背景是生物学。所以实际上离 dat 还很远...查看更多

a science originally, I was mostly working on evolutionary biology and population genetics. And at the last year of my bachelor's, I did a course in bioinformatics and that was kind of an R and using like a bunch of machine learning techniques for population genetic purposes and also genetics, just genetics in general and stuff like that.

就像真的被迷住了。通过编程和机器学习的概念。最初我其实想成为一名医生,我的想法就像使用个性化的药物。这是我非常热衷的事情。所以我想,哦,伙计,使用机器学习和遗传学,你可以达到这样一个程度,你真的可以在个人层面上开出某些治疗方法,真的可以大规模地帮助人们,但要个性化。

这是我非常热衷的事情。然后我就想,好吧,在我去医学院之前,我想去读生物信息学硕士。我最终搬到了比利时,在 K Leuven 攻读硕士学位,这很有趣,因为我知道 DataCamp 的总部在 Leuven。所以这很好。

这是个不错的城市。基本上,我背后的动机很有趣。我想要最高最便宜的生物信息学硕士项目。然后你就去了鲁汶饭店。它在世界上排名 29,年薪 600 欧元。但后来我真的迷上了数据科学机器学习方面。

我放弃了成为医生的梦想,决定全力投入机器学习。然后我做了一名数据工程师,一名数据科学家。我还和来自荷兰的联合创始人一起创办了机器学习咨询公司。最终我们看到,每次我们把模型投入生产,我们总是会有这样的问题,好吧,会发生什么。

我们怎么能相信模特呢?我们如何知道他们表现良好?当时有很多聪明的团队在研究我们称之为 lops 的部分。那么它背后的基础设施,我们实际上如何部署像服务这样的模型呢?所以我们决定,好吧,鉴于我们的专业知识,这是数据科学和算法,而不是真正的编程和成为优秀的软件工程师,这就是我们如何决定在 NannyML 上工作的,我们显然也认为这非常重要。

部署后数据面临的挑战

Adel Nehme:所以我很高兴能与你讨论你领导 NL 的工作,但在此之前,我想主持今天的讨论以及你试图解决的一些问题。所以,你知道,在过去的一年里,我们有相当多的人在播客上讨论 ML ops 的重要性以及与大规模部署机器学习模型相关的不同挑战。

然而,ML ops 的另一个关键方面是部署后的数据科学工作。正如在监控、评估测试、机器学习模型和生产中一样,我还想在这里添加改进和理解业务影响。我想用你自己的话开始。向我们介绍部署后数据的主要挑战。

哈基姆·埃拉克拉斯:是的,当然。也许只是一个小小的旁注,说明为什么我们喜欢使用部署后数据科学这个词,而不仅仅是机器学习监控,就像我不想给人留下随意尝试创造新事物的印象。被动活动也是如此。如果你描述 NML,它现在做什么,它确实是一个监控库,但是我们看到的工作不仅仅是监控。是的,部署后数据科学的第一步实际上是监控和了解您的模型的执行情况。但是,嗯,我们看到你还有一大堆其他的事情要做。

这就是我们喜欢称之为部署后数据科学的原因,因为我们觉得这实际上是真正的数据科学,将由某人负责。更多数据科学技能。也许是为了应对部署后数据科学的挑战?我认为首要的是首先要了解车型性能。

不管你有没有地面真理,都不是那么微不足道的。因此,无论是预测在现实世界中实际发生后,这是事实,还是你不知道你的模型性能,从工程角度和数据科学角度来看,这仍然是非常具有挑战性的。

所以仅仅是这种可见性就已经。很难,也许举个例子,好吧,当你有地面实况时,它更多的是一个工程问题。因此,我们什么时候可以得到我们的地面,并比较我们的模型实际预测,但当你没有数据科学和算法的问题。比如信用评分。

你有一个机器学习模型来决定某人是否应该获得贷款,模型预测是或否,这个人应该获得贷款。那么你什么时候知道那个预测是正确的还是不正确的呢?要么这个人必须偿还贷款,要么他们不偿还贷款,但无论哪种方式都是非常遥远的未来。

所以你不能。计算你的模型在传统意义上的性能。我想说的第二个挑战是模型会无声无息地失败。你知道,这是我们的口号之一,基本上机器学习模型的问题是,如果你以正确的格式给它数据,它会做出预测。

无论这个预测是对的还是这不是模型的问题。所以,是的,软件在很大程度上可能会失败。所以就像你有一个 bug 和错误,它不运行。你知道吗?不是的。但是对于机器学习模型,你实际上不知道它什么时候不起作用。所以无声的失败确实是个问题。

我要说的第三个挑战是,大多数数据漂移都是虚拟的。所以我们还没有进入实质的技术细节。但基本上,数据漂移是指模型中输入变量的分布发生了变化。而且大部分都是虚拟的。这意味着它实际上不会影响模型的性能。

你的数据一直在漂移,但你的模型实际上可以处理。所以,如果你只是检测,当数据改变时,你会得到许多不可操作的噪声,你实际上不能用这些信息做任何事情。最后,我会说,这是最复杂的一个。

我会说。可能很多数据科学家仍然没有太多的经验,这就是反馈循环。所以你有了技术指标和你的模型之间的关系。他们可能会改变。但总的来说,有很多机器学习的用例,例如,你对客户群进行预测,你有一个对客户进行预测的模型,然后。

一个不同的部门做一些事情,比如想象一个客户流失模型,它决定谁会取消订阅,而你预测有人会取消订阅。然后留存部门会给他们一个折扣。然后下个月,或者你的模型再次运行的任何时候,你再次对拯救客户进行预测。

因此,模型实际上正在影响业务,业务也在影响模型,这就像非常有趣的反馈循环,模型性能肯定会发生变化。还有。你可以有这样的事情,当你建立你的模型时,你进行了一系列的实验,你有保持流失率低于 5%的业务指标,为了达到这一点,你需要一个 AUC,例如,7,但随着时间的推移,实际上模型的性能必须上升,嗯,也许 touc 达到相同的业务结果,因为也许在开始时你能够发现容易流失的人,你采取了第一步来阻止他们流失。

然后这些人会变得更难相处。奇怪的事情会开始发生。所以肯定还有很多挑战。一旦模型投入生产,

Adel Nehme:我喜欢整体列表。我完全同意你的观点,这绝对是这个行业的根本问题。

如果我们真的能够从数据科学规模中获得价值,你在这里提到的模型会无声无息地失败,对吗?你能告诉我机器学习模型失败的不同方式吗?是啊。

哈基姆·埃拉克拉斯:当然。所以,是的,我已经提到过大多数模型会无声无息地失败。我认为主要有两种方式。

数据漂移、诱发故障和概念漂移诱发故障。因此,基本上,数据漂移导致的失败是当模型的输入数据发生变化时,模型在新的分布中没有看到足够的数据来做出良好的预测。例如,你的客户的平均年龄是 25 岁,现在是 50 岁。

所以年龄,年龄的个体特征在分布上发生了变化。也许你的模型,没有看到足够多的 50 岁的客户在那里做出好的决定。但是,它会继续预测,就像什么都没发生一样。这是无声的部分。第二部分是失败中的观念漂移。

这是输入变量和输出变量之间关系的变化,机器学习模型基本上只是试图找到一个函数。将输入映射到输出。基本上,这就是你试图尽可能地接近真实的映射函数,你知道,现实的虚无缥缈的空间,所以可能会导致底层系统的实际行为变化,最常见的是由一个变量引起的,这个变量不包括在你的模型中。

例如,你的实际客户行为发生了变化。因此,也许现在你的 25 岁客户正在购买更便宜的产品,因为经济条件已经改变,你没有在你的模型中捕捉经济条件,有时概念漂移,导致数据漂移。例如,在这种情况下,您会看到客户购买的产品的平均价格随着时间的推移而下降,但有时概念漂移也可能是无声的,它实际上不会影响您模型中的任何数据。

但是现实世界确实发生了一些你没有捕捉到的变化。所以系统的基本行为是不同的。这样一来,性能就会受到影响。这两种情况都可能导致灾难性故障或性能逐渐下降。

人工智能/人工智能系统监控不当的后果

Adel Nehme:我喜欢你对概念漂移和数据漂移以及对灾难性故障或性能逐渐下降喋喋不休所做的区分。

你知道,你在这里讨论的许多问题都有那些后果,从有害到最起码的权利,正如你所说,对一个使用机器学习和人工智能的组织来说是灾难性的。你能向我们介绍一下监控不力的机器学习和人工智能系统的这一系列后果吗?

哈基姆·埃拉克拉斯:我的意思是,我想第一件事可能什么都不是,这取决于你的用例有多有效。在这种空间里有趣的是。最终,模型的价值取决于潜在的业务问题。对吗?因此,如果是一个模型处理你公司的一些边缘案例或一些不会产生很多价值的东西,那么如果性能发生变化,可能没有人会在意,对吗?

或者可能取决于你公司的过程,模型本身实际上不做任何事情。例如,它可能输出数据框,然后将它们导入 Excel,然后不与业务部门共享,然后业务部门查看结果。实际上,这里没有自动化的过程。

可能是监控不太重要。我要说这是最低级的事情。然后你就像是渐进的。所以,是的,也许只有一件事像监控变得必不可少,就像当你的模型更喜欢系统的时候真的很重要。没错。这是很重要的,在你做生意之前,你就像在一个客户流失系统中,如果一个模型预测,有人在流失,然后自动发送电子邮件活动给他们打折或什么的。

不过,贵公司想的就是这个。监控非常非常重要。所以偶然的退化。随着时间的推移,数据会有所偏移,您的模型的性能会越来越差。这有点像我之前提到的反馈循环,随着时间的推移,你已经确定了更有可能流失的人,你正在让他们离开,或者像你正在阻止他们流失一样。

所以随着时间的推移,人们变得越来越难以察觉。没错。诸如此类的事情。你的模型只是。越来越糟,但这不是什么灾难性的事情,可能会导致 10%的性能损失。同样,这完全取决于底层用例,对吗?在某些用例中可能是这样,在其他用例中可能是 50,或者实际上,取决于业务用途,您正在工作。然后你就有了。灾难性的失败,更糟糕的是。我们已经在数据端领域看到了一些。我总是指出 Zillow,他们基本上系统地将 7000 套房子定价 300 英镑,然后它就崩溃了。实际上,他们的市值下降了 300 亿。所以那是。是啊。

是啊。他们解雇了整个公司,就像他们一样,他们关闭了房屋买卖部门,解雇了所有人。因此,灾难性的失败,也可能是非金融灾难性的失败,就像微软的聊天机器人日。我不知道你是否记得。在 Reddit 内容上被训练的一个是平掉许多有害内容。

是啊。它变得种族歧视和可怕,真的很快。所以这是一种灾难性的失败,如果你引入了一些你没有意识到的系统性风险,然后突然,它就崩溃了,发生了很多不好的事情。最后,我要说的是歧视和偏见。

由此带来的主要影响是,是的,不是道德上的。这可能是非常糟糕的公关。就是不好。当你建立你的模型时,你可能没有看到某些人口统计中的偏见,因为你的数据中没有足够的偏见。然后,也许随着时间的推移,越来越多的特定人群进入你的数据,模型无法对他们做出好的决定。

从财务角度来看,这显然也是一个补充,因为如果你不能在某个领域做出好的决策,你显然没有为公司做出最好的贡献,而且这对你预测的人也不公平。显然,无论是什么影响他们,都是歧视性的,没有尽最大努力。

所以,我会说这些都是可能发生的影响。

Zillow 案例研究

Adel Nehme:太好了。你介意扩展一下 Zillow 的案例研究吗?只是一点点,因为我认为这对在野外部署机器学习的数据科学家来说是一个有趣的案例研究,特别是一旦数据科学成为公司商业模式的基础。

那么,您是否想详细介绍一下失败是如何发生的,以及导致灾难性后果的潜在问题?

哈基姆·埃拉克拉斯:这是个好问题。我们只能推测,因为我们实际上不知道。此外,有些人声称这不是数据科学的问题,所以你可以像公设一样,像这是怎么发生的?

例如,有趣的是,房价预测本质上是他们在做什么。如果我理解正确的话,他们就像有一个机器学习模型来决定他们应该买房子的价格。所以,你实际上预测了房子的价格。问题是,你没有任何基本事实,因为模型预测的是你买房子的价格。

于是预言变成了现实。所以你不知道模型在现实世界中的表现,可能当他们建立模型时,他们有一堆房价,他们试图预测,然后他们像你一样在任何类型的数据科学系统中测量表现。但是一旦你把它放到现实世界中,就没有真正的价格了。

因为真正的价格是模型做出的价格。所以你可以看到,如果你不能计算这种性能,你会随着时间的推移引入这些小的系统误差,无论出于什么原因,推动房价越来越高。是啊。最终,你会意识到你有一个巨大的价格过高的房屋投资组合。这是一个巨大的问题。

Adel Nehme:太不可思议了。这很有趣,尤其是当你提到这个预测是如何成为现实的时候。正如你提到的,有一个反馈回路,机器学习模型成为现实,如果没有真正正确的建模,公司在一定程度上无法逃脱。

因此,与感觉像软件工程相反,部署后工作让我觉得是数据科学的一个有趣方面。你知道,一般来说。直到今天,还没有任何东西被编纂成法典,也没有任何东西围绕着一套最佳实践、工具和仪式、思想和数据科学而成熟。你觉得为什么会这样?

哈基姆·埃拉克拉斯:我要说的主要问题是,现在还为时尚早。如果你将数据科学视为一个领域,当然,这就像是,我不想让任何统计学家发疯,因为如果我说数据科学只有 15 年的历史,我会得到一群非常愤怒的统计学家。那就像,是的,我在 70 年代的某个地方做机器学习。

是啊。我们知道,我们知道,但是数据科学是非金融行业的一个领域。只能说这是相对较新的。因此,我认为有一个很大的学习曲线,它还伴随着风险的概念,因为你有这些金融机构,他们已经做了这种建模在过去 70 年,我认为可能更长。

他们围绕处理基于数学建模的决策所带来的风险开发了所有这些流程,他们承担了部门验证的全部风险。他们有整个过程,政府甚至监管它,对吧。如果你想做一个信用评估政府的模型。

基准模型,他们可以根据你的结果,就像它的严格监管和众所周知的如何处理。我认为问题在于,比如说,当一家杂货店或媒体公司没有风险部门时。他们对风险没有任何固有的理解,开始根据模型做出决策。

就像真的能影响他们的公司战略。对吗?因为如果你想到一个客户流失模型,如果你看到很多客户在流失,你可能会说,天哪,我们必须改变我们的营销方式。或者你可以根据你的机器学习系统做出重大决定。

但我认为这主要归因于早期,人们没有太多的经验。所以说实话,有了这些东西,尽管我们数据科学家喜欢感觉数据科学已经无处不在。没有那么多模型在生产。可惜现在还很早喜欢。

总的来说,我喜欢成为一家监控公司或保姆的原因是,这是一个非常好的试金石,可以检验一家公司是否真的在生产瓶子。因为有时我觉得这就像,是的,我们有生产,我们是数据科学,哦,酷。所以你使用 nanny 或另一个监控库,它就像,哦不,我们已经准备好了。

这些模型实际上并没有投入生产。是啊。只是这有点。

Adel Nehme:我发现的最新调查显示,10%到 20%的模型能够投入生产。只知道公司进化了。所以他们肯定同意你的观点。

哈基姆·埃拉克拉斯:是的。所以只是狂野西部。我认为这在早期是正常的,就像这种不同实践和数百种工具的混乱,随着时间的推移,随着它的成熟,我认为它会变得更加清晰,什么是最佳实践,事情应该是怎样的。

什么是 NannyML?

Adel Nehme:所以我认为这是一个讨论 NML 如何解决这些挑战的好机会。那么你能给我们介绍一下什么是 NannyMLis 以及它是如何工作的吗?

哈基姆·埃拉克拉斯:是的,当然。所以今天的 NannyML 是一个开源的 Python 库。因此,数据科学家可以直接安装它,并基本上使用它来检测静默模型故障。

现在,我们看到大多数数据科学家使用纳米材料的方式就像在笔记本上一样,他们对他们的模型和产品,他们拥有的数据进行分析,但你当然也可以部署它。这是可以实现的。你知道,它可以按照你想要的方式部署,并在传统意义上进行监控。

接近实时或批量,随你怎么叫。但一般来说,它有三个主要组件,性能估计和监控数据,漂移检测和智能警报。所以基本上与性能评估,这就是我们做保姆的全部原因。我们花了很多时间进行研究,以找到某种方法,使您能够在缺乏基础的情况下评估模型的性能。

因此,与其等一年才知道你的信用评分,知道某人是否违约,或者你可以在中间偿还贷款,不如估计你的模型在当前生产数据上的表现。这很难,需要大量的研究,但现在效果很好。

在 NannyML,我可能不是讨论这些血淋淋的细节的最佳人选。像我,我是一个数据科学家,我有研究人员,但我可以,我会尽可能地解释它。然后我的数据科学家都会对我大喊大叫,说,我真傻。不,只是开玩笑。但基本上,我对它的理解是,至少在分类模型中,你的模型输出两个东西,一个预测。

基本上就像一个信心指数。所以你基本上知道你有一个零级还是一级,以及你的模型对这个分数有多有信心。假设你有一个预测,你有一个 9 分的置信度。你可以说,该模型对 90%的预测都是正确的,你可以使用一些魔法来重建一个估计的混淆矩阵。

从那里,它似乎捕捉到了。实际上是由于数据漂移导致的性能变化。从估计的混淆矩阵中,你可以得到你看到的估计的火箭,或者估计的 F1,或者任何机器学习度量,它是在没有地面的情况下估计的。看起来。如果性能发生了变化,并且是由数据引起的,我们知道性能发生了变化,也知道变化了多少,您就可以获得实际的性能指标

一贯如此。

然后,困难的部分是概念漂移,当然,所以我们还不能捕捉概念漂移的变化和表现,但这是我们正在很好地研究的东西。也可能这个解释不是非常连贯。所以请去看看我们的。你会得到比性能更好的解释。

是啊。然后是数据漂移,这是一个更复杂的问题。它有两个部分。我们有一个通用的漂移检测。这就是个体变量的分布发生变化的时候,比如年龄。然后是多漂移检测,电子邮件再次变得有点花哨,我们开发了自己的算法来检测多漂移。

这基本上是检测整个数据集的漂移和变量之间的关系,它做一些基本的事情。对于 PCA 重构误差,基本上是在参考期间进行 PCA,然后在分析期间进行 PCA,然后可以比较这些 PCA 的差异,然后得到一个误差,该误差将告诉您参考数据与分析数据的差异。

因此,当性能发生变化时,我们基本上也会提醒您。并尝试向您指出可能导致这些变化的数据漂移的方向。没错。所以更具可操作性的尝试,基本上我没有,这不是造成的,所以我不能说是造成的,我们还没有做因果机器学习,但基本上是在你的模型性能改变的同时发生的数据漂移。

所以更相关。是啊。仅此而已。

Adel Nehme:有没有在生产中使用人工神经网络的例子?

哈基姆·埃拉克拉斯:自从我们开放源代码以来,我们已经看到,嗯,这是我们一直以来的直觉,性能评估在信用评分方面特别有用。因此,我们已经在金融行业找到了一批使用匿名信用评分的用户。

当人们向我们询问 NML 时,通常是来自金融行业和信用评分。呃,但那是,那是可以通过的。底层用例的重要性,以及你显然不想给应该得到负载的人增加负载。那里的经济激励非常高。

因此,如果我们可以帮助减少那里的误差,那么显然使用。开源的一个悲哀之处是,相对来说很难知道谁在使用你的软件,以及他们用它做什么。我们试图找出使用它的人。我们试图与我们定义的理想用户交谈,看看谁在使用它。

谁不用它。他们是如何使用它的?但总的来说,很难识别它们。还有。基本上,因为我们仍然,显然每个人都应该这样做,但在早期,与用户密切合作也是非常重要的。所以我们有一系列的设计伙伴,我们一起工作来部署一个 NML,迭代这个库等等。

它真的是多种多样的,从客户流失预测到需求预测等等。所以它真的到处都是。

NannyML 为什么开源?

Adel Nehme:是的。所以我发现 NannyML 有趣的一点是,你决定做一个开源。你能告诉我为什么要做 NannyML 开源以及开源作为一个新兴的机器学习包有什么好处和坏处吗?

哈基姆·埃拉克拉斯:是的。所以,就像我说的,我们在算法背后做了大量的研究,我们花了相当长的时间与设计伙伴合作。所以我们有真实世界的数据和类似的东西来进行实验,以确保我们可以建立运行良好的算法。但是我们从用户那里得到的反馈是,好吧,我们是数据科学家。

如果我们使用一种新的算法,我们需要知道它是如何工作的。就像我们不能相信你,我们只是发送,把数据输入系统,然后得到一些结果。就像,我们不知道它到底是如何工作的,只是相信我们的表现都很好,一切都很好。这就是我们得到的这种一致的反馈。

然后就像这样,好吧,我们的用户想知道这是如何工作的。然后我们就像,好吧,如果他们知道它是如何工作的,那么它也可能是开源的。总的来说,在我们开源之前,我们是这样的,没有名字,比利时的初创公司,有我们的设计合作伙伴,喜欢得到反馈是非常缓慢的,因为我们与这些大企业合作。

他们没有那么多时间。迭代是困难的,然后我们就像,这是不好的。让我们去开源吧。我认为这是许多数据科学产品最有意义的地方。所以基本上我们只是想介绍。允许尽可能多的人使用它并给出反馈,最终为数据科学社区构建更好的产品。

我想说,开源背后的主要平静是,作为一家初创公司,你必须两次找到适合市场的产品。所以对于你的开源解决方案,你必须让你的开源解决方案被大众接受。然后。在你做了这些之后,或者当你康复的时候,在去做这些的路上,你必须建立一个付费的项目。

所以你仍然可以作为一个创业公司存在。然后你必须通过付费服务找到适合市场的产品。所以这绝对是一个巨大的挑战。

现代数据团队的组织

Adel Nehme:我完全同意。我喜欢这样的开源,你可以利用开源来加速反馈循环。

我认为 anNannyMLis 试图解决的挑战的关键是数据科学家接受的培训与现实世界对他们的期望之间的矛盾。围绕部署前和部署后的大量数据工作越来越多地跨越到工程领域。

首先,我想知道您认为现代数据团队应该如何组织。您认为一刀切的数据科学家可以从事数据科学和部署工作吗?或者您认为这些功能应该分散在数据中吗?

哈基姆·埃拉克拉斯:这是一个非常好的问题。我认为就像数据科学中的大多数事情一样,这要视情况而定。这取决于团队的规模。这取决于他们在做什么。这取决于团队已经有多先进。在更大的公司中,当您有几十个用例时,专业化就变得很有必要,您已经看到您有数据工程师、数据科学家、ML、工程师、数据分析师、BI,这是数据的一系列角色。

我认为这很有道理。我觉得作为。公司变得更先进,越来越多的型号投入生产。实际上,您将在部署前和部署后的数据科学家之间进行沟通。我认为,就像现在你看到的那样,监控属于 ML 工程师的职责范围。

但我认为 ML 的工程师们将主要转向基础设施和运营工作。您将进行部署后数据科学测试,从数据科学的角度来看,谁将接管生产中的模型。所以,这就像,模特们的表现如何?他们是否提供了业务影响?

反馈循环是什么,喜欢真的做分析,并努力改善他们的模型,增加他们的业务影响。这本身就是一整套技能。所以你可以想象一下,如果你在生产中有,我不知道,10 多个用例,就像你可以有一个人负责所有这些用例。

一旦投入生产,至少我认为会是这样。这是未来。所以你永远不知道。我可能完全错了,但是,是的,我想那是,那将会是。

现代数据科学家的最佳技能

Adel Nehme:你认为最好的技能是什么?现代数据科学家应该具备的?

哈基姆·埃拉克拉斯:我认为将模型投入生产真的会让你与众不同。

或者,如果你有任何尝试建立一个模型的经验,并把它放到现实世界中,看看会发生什么。我只是认为这是很多数据科学家不具备的重要技能之一,而且对模型的业务影响也有这种感觉,对吗?

就像模特不仅仅是。像 it 技术指标一样的性能指标。就像,我们为什么要建立这个模型?这种模式增加了什么价值?这个值是如何随时间变化的?它对其他部门和我周围的人有什么影响?我认为这不是一个技术问题,一个没有其他方法的技术技能。

这也是对你为什么做你正在做的事情的深刻直觉。我觉得这很重要。是啊。能够检测这些性能变化,理解这些新概念,如数据漂移检测。概念漂移,真正了解它们,并能够使用允许你这样做的工具。

当然,我对所有这些都有偏见,因为我正在努力,但我也认为。嗯,是啊。

数据科学的主要趋势

Adel Nehme:现在我们要结束 Hakeem 了,在这个领域你最感兴趣的趋势是什么?无论是部署后的数据科学,还是一般的数据科学。

Hakim Elakhrass:部署后数据科学。我不知道,很难说那是真的,真的太早了。我可能更喜欢 Mlops 类型的东西,就像我真的很高兴看到所有这些框架的出现,使将模型投入生产的工程方面变得更加容易。像 XML 一样向我们的朋友大声呼喊。

这就像是 lops 的未来框架。他们真的很棒。我看到他们正在做的很多工作,人们问我们是否与他们整合。所以我真的很喜欢这些工具,它们也是开源的。再加上一点,这让我非常兴奋,人们把模型投入生产,有人在解决这些问题。

这真的很酷。我认为在数据方面。总的来说。我真的喜欢任何有价值的东西。就像最近推出的 Dolly,你可以看到所有这些疯狂的图像,或者 G PT,就像它可以产生的文本之类的东西。就像,我不知道。超级刺激。还有。

我没有,我没有买所有关于人工智能的炒作,我不知道最近有这个谷歌工程师说谷歌人工智能发送。我只是说,不,不是的。

阿黛尔·奈姆:是的,不是这样的。是啊。我也不买。是啊,

哈基姆·埃拉克拉斯:是的。是啊。我不相信,但我觉得这很酷。

Adel Nehme:人工智能社区很少在事情上团结一致,但是这个非常像人工智能社区超级团结一致。是啊。

哈基姆·埃拉克拉斯:是的,的确如此。确实如此。就像,伙计,这只是,这是一堆功能放在一起,拜托。。就像你交换思想,像一个疯狂的数据量。当然,它会告诉你,它不想死。或者说,这有点有趣,因为人工智能或机器学习模型在人类的文本或语言上训练,然后当你问它这些问题时,它会表现出与人类相同的行为,这并不奇怪。

就像,这非常有趣,但是是的,所有那些生成的东西,我觉得它超级有趣,酷,而且有用。

行动呼吁

Adel Nehme:我也是。我对 GPT3 和 DALLE 的未来感到非常兴奋。现在,哈基姆,在我们结束之前,你还有什么最后的行动要求吗?

哈基姆·埃拉克拉斯:是的,我认为第一个有点老套,但数据科学的工作非常有影响力。

我认为很多人没有意识到它对人们和整个社会的影响有多大。实际上,这是一个非常强大的工具。所以就像这个陈词滥调不要作恶。比如意识到你作为数据科学家的力量,你的模型在做什么,它会如何影响社会中的人们,并意识到这一点。

因为我认为有时人们对此很不重视。很搞笑。最近,我和一位软件工程师进行了一次对话。他问,哦是啊,怎么会呢?没有比这更好了。机器学习系统只是分析路上的所有汽车,并检测某人是否是毒驾者,或者我只是笑了笑,不要这样,他只是说,是的。

作为一名软件工程师,我从来不需要这么做。

Adel Nehme:是的,的确如此。这就是为什么我支持人工智能伦理课程。在不同的,是的。在不同的程序中。

哈基姆·埃拉克拉斯:是的,的确如此。所以我认为,是的,意识到这一点。不要作恶。当然,如果你有生产中的模型,并且你有兴趣监控性能。是啊。看看 NannyML 我们在 GIS 上。完全开源。永远开源。呃,我们的核心算法永远是开源的。我们的研究将是开源的,所以是的。很高兴社区里有人觉得这很有趣。

Adel Nehme:太棒了。非常感谢。黑了哈基姆的数据框。是啊,

哈基姆·埃拉克拉斯:没问题。谢谢你,阿黛尔,非常感谢你邀请我。

Power BI vs Excel:应该用哪个?

原文:https://web.archive.org/web/20221129041202/https://www.datacamp.com/blog/power-bi-vs-excel-which-should-you-use

Microsoft Excel 自 1985 年问世以来,在商业和学术环境中已经变得司空见惯。另一方面,Power BI 还不到 10 年,虽然它不太为人所知,但它提供了更强大的功能,在许多情况下是更好的选择。

在本文中,我们将讨论 Power BI 和 Excel 之间的主要相似之处和不同之处,并就如何根据您的使用案例在这些工具之间进行选择给出一些指导。

Excel 是什么?

Excel 是微软创建的一款电子表格软件,是 Office 产品套件和 Office 365 软件包的一个组件。Excel 于 1985 年首次发布,在商业和学术界已经变得司空见惯。例如,它用于人力资源管理、运营管理以及绩效分析和报告。

Excel 是一个通用的电子表格工具,用于组织和分析大小数据,包括公式、函数甚至宏(适用于有技术倾向的个人)。

Excel 的主要特性使其成为一种适用于各种数据分析任务的优秀工具,这些特性包括:

  • 函数和公式。 Excel 有许多可用的预定义函数,您甚至可以组合多个函数来执行复杂的自定义计算。
  • 数据可视化 -只需点击几下鼠标,Excel 就可以直观地呈现您的数据。这使得分析数据并在报告或仪表板中呈现数据变得快速而简单。
  • 模板。创建新的 Excel 工作簿时,Microsoft 随时提供 Excel 模板。与他人共享您自己的模板或使用他人创建的模板来加速您的数据分析也很容易。
  • 数据转换。Excel 中的超级查询工具允许您从不同来源加载数据,执行复杂的数据转换,然后将数据导入 Excel 工作簿。

什么是 Power BI?

Power BI 是一款商业智能(BI)工具。BI 工具的主要目的是跟踪关键绩效指标(KPI)和揭示业务数据的洞察力,以便更好地为整个组织的决策提供信息。

Power BI 的使用方式多种多样,具体取决于个人的角色,从开发人员、分析师、经理和主管,到介于两者之间的所有人。

Power BI 包括三个主要应用:

  1. Power BI Desktop -一款用于构建和设计报表的免费桌面应用。
  2. Power BI Service -用于查看和共享报告和仪表板的在线发布服务。
  3. Power BI 移动应用 -随时随地查看报告和仪表盘。

Gartner 称,Power BI 的一些关键特性使其成为顶级 BI 应用之一,这些特性包括:

  • 人工智能。Power BI 拥有许多高级人工智能功能,如聚类、时序分析和自然语言处理,作为其 Q & A 功能的一部分。
  • 广泛的数据源和连接。Power BI 与各种第三方应用程序直接集成,您甚至可以构建自定义连接。
  • 用 DAX 进行复杂计算。Power BI 扩展了 Excel 中常见的许多著名的 DAX 公式,支持更高级的计算。

Power BI 与 Excel 的主要区别

Power BI vs Excel

作者图片

学习曲线

Excel 是一个很普通的工具(1985 年发布),它随处可见,许多用户已经在日常生活中使用它。这意味着很多用户很可能听说过甚至非常熟悉这个应用程序。此外,有大量的资源和培训可用于学习如何在几乎任何用例中使用 Excel。

然而,Power BI 是一个相对较新(2014 年发布)的独立应用程序。虽然它很快受到欢迎,但可用的资源仍然比 Excel 少。Power BI 也被认为是一个更复杂的应用程序,需要更多的技术专业知识来构建和实施业务问题的解决方案。然而,微软在提供对初学者友好的有用资源方面做得很好,而且该应用程序比人们最初想象的要直观得多。

您可以通过我们的Power BI 入门课程了解更多基础知识。

灵活性

灵活性可以从高度灵活到完全自动化的范围来考虑。不可能有完全自动化和完全灵活的情况。

自动化的目的是“设置它,然后忘记它”,这就是 Power BI 的亮点。另一方面,Excel 是一个高度灵活的工具,能够交付独特的定制解决方案。

数据大小和模型复杂性

Excel 对一次可以存储和呈现的数据量有一个限制——刚刚超过 100 万行和 1.6 万列。超过这一点,Excel 工作簿要么无法打开,要么只能加载部分数据。

另一方面,Power BI 没有这种限制,可以处理数百万行数据。向 Power BI Service 发布报告时,您只能使用小于 1 GB 的数据集(这对大多数企业来说已经足够大了)。除此之外,Power BI 以额外的成本提供 Power BI 高级容量。因此,最好遵循一般的模型构建最佳实践,只导入您真正需要的数据。

基于云的特性和可访问性

Excel 不提供基于云的发布服务,与他人共享 Excel 工作簿的唯一方式是直接将文件发送给他们。

另一方面,Power BI 提供了 Power BI 服务,可以与拥有 Power BI PRO 许可证的组织内外的任何人轻松共享报告和仪表板。

可视化选项

Excel 和 Power BI 确实有一组共同的核心可视化选项,如条形图、折线图和饼图。然而,Power BI 还提供了更多的视觉效果选择,以及在名为 AppSource 的市场中提供的自定义视觉效果。不仅如此,功率 BI 图表是高度可定制的,也可以高度动态化。

图表交互性

在 Excel 中与图表交互的唯一方式是通过切片器有效地过滤数据。然而,在 Power BI 中,您可以以更加流畅、直观的方式与图表、表格和视觉效果进行交互。您还可以包括更复杂的交互,如钻取、页面级和报表级过滤器以及书签。

费用

虽然 Power BI Desktop 可以免费下载并在您的本地 PC 上供个人使用,但要将您的报告发布到 Power BI 服务并与其他人共享,每位用户每月需要支付13.70 美元的 Power BI PRO 许可证

Excel 包含在 Office 365 软件包中,这在当今的商业中相当常见,因此对于许多人来说,使用该应用程序可能不需要额外的成本。然而,如果没有 Office 365 订阅,您可以为单个用户一次性支付 159.99 美元来购买 Excel。

数据安全

Power BI 服务是一个高度安全的环境,用于共享 Power BI 报告和仪表板。它不会直接向所有用户公开底层数据,即使他们拥有许可证并可以查看这些数据。管理员可以决定每个用户的访问级别。

另一方面,Excel 没有这些安全功能。虽然您可以对工作簿、工作表和单元格应用密码保护,但基础数据仍然可能被暴露。

Power BI 与 Excel:主要相似之处

Excel 和 Power BI 有一些共同的特性。因为它们都是由微软开发的,并且都是分析解决方案,所以它们有许多相似的设计元素。例如,丝带。这两个应用程序的顶部都有一个包含该应用程序核心功能的功能区。

类似地,两个应用程序都在右侧包含图表的定制和格式化选项。

除了设计上的相似之处,Excel 和 Power BI 都使用 Power Query 来清理和转换数据。这一特殊功能的增加使 Excel 成为数据分析和报告的有力竞争者。

如上所述,Excel 和 Power BI 还共享许多可视化选项数据源。Excel 允许您绘制大多数核心图表,如条形图、折线图和饼图,以及连接到更常见的数据源,如 SQL Server 或标准 ODBC。然而,Power BI 更进一步,对两者都有更广泛的选择。

此外,您还能够在 Excel 和 Power BI 中创建和共享模板。在 Excel 中,开始使用模板的最快方法是在创建新工作簿时从模板屏幕中选择一个模板。然而,Power BI 有两种方法可以创建和使用模板:模板应用程序和创建自己的模板。

首先,模板应用程序是由第三方应用程序创建的预建电源 BI 报告。您可以通过选择“获取数据”来找到它们,在该屏幕的底部,您会发现一个用于访问模板应用程序的按钮。

Get data

其次,您可以从您构建的 Power BI 报告中创建一个模板。该模板将保存布局、视觉效果和电源查询步骤,以便您可以快速重复使用电源 BI 报告,从而加快分析和报告速度。这些模板也比原始报告小得多,因为模板不保存底层数据。

您可以通过选择“文件”、“导出”并选择“Power BI 模板”,从现有的 Power BI 报告中快速创建模板。给它一个描述和名字,就这样!

Power BI 与 Excel:何时应该各用各的?

在考虑是使用 Power BI 还是 Excel 来解决特定问题时,您可以考虑三个主要方面:

  1. 数据。有多少数据可供分析或需要分析?建议考虑将 Power BI 作为大容量数据或预计增长非常快的数据集的解决方案。
  2. 分析天赋。Power BI 可能需要更具体的商业智能技能,尤其是对于更复杂的解决方案。因此,你应该考虑你在企业中有什么样的才能,以及是否需要雇佣额外的分析人才。
  3. 灵活性。考虑一下 Excel 和 Power BI 在灵活性方面的区别。Excel 允许您创建高度复杂、灵活的报告和仪表板,但是您在灵活性方面获得的好处,却失去了自动化这些任务的能力。另一方面,PBI 提供的灵活性不如 Excel,但是您可以执行高度的自动化。

Power BI vs Tableau:你该选哪个?

原文:https://web.archive.org/web/20221210075939/https://www.datacamp.com/blog/power-bi-vs-tableau-which-one-should-you-choose

一个好的决策过程会在果断和尽职调查之间找到平衡,因此快速传达信息在商业中非常重要。这是可视化的本质——通常在一个单一的图形中,图表快速地显示和解释了原本成千上万的数字和文字。可以使用 Tableau 和 Power BI 等商业智能工具创建图表。

电源 BI 与 Tableau -相似性

他们非常受欢迎。

据 Gartner 称,他们是商业智能平台市场的两大领导者。Tableau 于 2003 年推出,并发展成为最受欢迎的 BI 工具之一,而 Power BI 则是由微软在 2011 年推出的,并于 2013 年添加到 Office 365 中。

它们可以用来产生各种不同的可视化效果。

这些可以包括条形图和折线图、树形图和地理图。在这两个平台上,您可以与这些可视化进行交互,例如将鼠标悬停在它们上面以获取更多信息和应用过滤器,还可以将它们组合起来创建仪表板。

它们可以连接到各种数据源。

其中包括 MS Excel、CSV 和 JSON,这两个平台的付费版本可以让您访问 50 多个额外的数据连接器,如 Google Bigquery、Amazon Redsift 和 Salesforce。如果基础数据发生变化,可视化效果也会更新。

两者都是用户友好的,不涉及编码。

如果您是数据分析新手,这使它们成为学习的第一套理想工具。如果您是一名业务分析师,它们是您需要处理数据的两个主要数据可视化工具。如下图所示,它们绝不是您将使用的唯一工具。SQL、R 和 Python 也是很有价值的工具,在您的技能组合中增加一个或多个是非常有价值的。

由于最近的更新,这两者变得越来越相似。

例如,Power BI 曾经在数据准备方面表现出色,因为用户总是能够通过 Power Query 建模、清理和向数据集添加计算列。然而,随着 Tableau Prep 的推出,Tableau 最近在这方面取得了自己的进展。

在 Power BI 和 Tableau 之间选择时,你应该问的第一个问题是:我需要吗?

如果你想提高技能,增加你对潜在雇主的价值,具备商务智能或桌面的工作知识是很好的。此外,两者都可以在 DataCamp 上获得,一旦你学会了如何使用其中一个,学习如何使用另一个就很简单了。

权力 BI 与 Tableau——差异

但是,应该考虑几个不同点,如果您正在考虑在您的业务中使用它们,选择其中一个是有意义的。

Power BI 仅适用于 Microsoft Windows。

如果你在工作中经常使用 Mac 电脑,Tableau 会更有用。

Tableau 和 Power BI 提供的认证范围不同。

Tableau 为特定职业提供了更广泛的选择。你可以在 Tableau 网站上找到更多关于这些的信息(有些人很快就要退休了,而且有一个新的数据分析师认证即将上线,所以一定要检查这个),DataCamp 最近也让我们的 Tableau 导师接受了自己参加考试的挑战!费用从 100 美元到 250 美元不等。

Power BI 有一项考试涵盖了该平台的所有主要功能,费用为 165 美元(尽管在撰写本文时,他们仍以 15 美元的价格向学生、休假人员和其他受到新冠肺炎疫情负面影响的个人提供这项考试)。

Tableau 的考试(目前)只有英文版。

Power BI 提供多种语言的考试,而 Tableau 目前只提供英语考试,尽管他们表示未来将发布翻译版本。

它们集成的难易程度将取决于您使用哪种软件。

由于 Power BI 是由微软开发的,如果您使用办公软件,它将更容易集成到您的工作空间中。同样,Tableau 最近被 Salesforce 收购,由于其原生集成,它们值得考虑。然而,两者都能够连接到 Excel 和 Salesforce,所以这更是一个哪个运行更流畅的问题。

有不同的定价级别。

这就是权力 BI 和 Tableau 最大的区别所在。

许可证名称 成本(每月) 描述 许可证名称 成本(按月、按年计费) 描述
超级商务智能桌面 自由的 允许您在本地计算机上使用所有基本的 Power BI 功能 Tableau 公共 自由的 可用于创建连接到 Excel、CSV 和 JSON 文件的可视化效果。所有可视化都将公开
Power BI Pro 9.99 美元(如果你有 Office 365 就免费) 为个人用户提供访问,使他们能够构建自己的仪表板并连接到广泛的数据源。 浏览表格 “Tableau 服务器 35 美元,在线 42 美元” 允许持有者基于同事提供的数据集构建仪表板和可视化。
Power BI Premium(每用户) $20 | 类似于 Power BI Pro,但增加了存储容量,允许您更频繁地刷新仪表板,并提供了一些附加功能。 | Tableau 创建者 | $70 提供所有资源管理器权限,以及创建数据源连接的能力。推荐给个人用户。

上面的许可证是为创建仪表板的个人数据分析师设计的。如果您的公司有兴趣推出 Tableau 或 Power BI,您还需要考虑查看器许可证:

许可证名称 成本(每月) 描述 许可证名称 成本(按月、按年计费) 描述
Power BI Premium(每容量) 起价 4995 美元 特定于企业的许可证,允许组织中的每个人进行查看访问(编辑仪表板仍需要 PBI 专业版许可证)。 Tableau 查看器 在 Tableau 服务器上,每个观众 12 美元,在线观众 15 美元 特定于企业的许可证,允许持有者查看同事创建的仪表板并应用过滤器。还提供定制企业订阅计划。

Power BI 和 Tableau 哪个好?

Power BI 和 Tableau 之间有很多重叠,最终两者都是有用的工具。对于一些用户来说,选择学习两者可能是最好的选择,但是,对于那些希望在两者之间做出选择的人来说,必须考虑成本和可访问性的差异。

DataCamp 提供 TableauPower BI 两种课程。我们的课程使您能够在不涉及任何安装的情况下练习每个工具的界面,并涵盖连接数据和构建仪表板等功能。

概括起来

(舞台上由人扮的)静态画面 功率 BI
市场领导者? 981 号房 981 号房
各种不同的可视化? 981 号房 981 号房
可以连接各种数据源? 981 号房 981 号房
用户友好? 981 号房 981 号房
它能在什么类型的机器上工作? 苹果电脑和视窗电脑 仅限 Windows 电脑
认证? 多重 一个
更易于集成... 销售力量 微软
费用 各不相同,但 Tableau 通常更贵 各不相同,但 Tableau 通常更贵

想从事数据方面的职业?在 Microsoft Power BI 职业跟踪中发现我们的数据分析师,您将立即为工作做好准备。

预测 2022 年卡塔尔世界杯冠军

原文:https://web.archive.org/web/20221210075939/https://www.datacamp.com/blog/predicting-soccer-world-cup-winners

谁是 goa t?

有史以来最伟大的国家足球队是哪支?是 1970 年有贝利和雅伊尔津霍的巴西,还是 2010 年有安德烈斯·伊涅斯塔、哈维和伊克尔·卡西利亚斯的西班牙?英式足球(或者足球!)球迷们经常激烈地讨论哪个队更好,哪个队最好,但没有数据这只是一种看法。

为了庆祝 2022 年卡塔尔世界杯,让我们定量地看看过去 70 年来不同国家队的实力!

简单的模型

我们从所有国际足球比赛开始,包括至少有 200 场比赛的球队的友谊赛。(这不包括一些在一段时间内排名一直不好的球队,如塞舌尔国家队。)为了简单起见,我们将只模拟胜、平、负,忽略点球大战。我们把一场胜利转化为一分,平局转化为每队半分,输了就给零分。

比如 2018 年莫斯科世界杯决赛,法国 4-2 战胜克罗地亚;给法国一分,给克罗地亚零分。正如我们所做的,比如 2014 年世界杯德国在贝洛奥里藏特 7-1 战胜巴西。点球大战,比如 2006 年世界杯决赛中,齐达内在柏林用头撞马尔科·马特拉济,意大利 5-3 战胜法国,被视为平局,双方各得 0.5 分,因为常规比赛的结局未定。

| 日期 | 锦标赛 | 团队 1 | 第二小组 | 结果 | 积分团队 1 | 积分小组 2 |
| 2018-07-15 | 2018 年世界杯 | 法国 | 克罗地亚 | 4:2 | one | one |
| 2014-07-08 | 2014 年世界杯 | 德国 | 巴西 | 7:1 | one | Zero |
| 2006-07-09       | 2006 年世界杯 | 意大利 | 法国 | 1:1 | Zero point five | Zero point five |

我们现在如何衡量一个团队的优势?众所周知,与其他运动相比,足球的力量很难评估,因为由于进球数量少(我们感兴趣的主要信号),它具有更高的随机性或噪音水平。与俱乐部级别相比,国家队参加的比赛数量较少,这进一步加剧了这一统计挑战。

一个简单的统计数据可能只是过去 20 场比赛的得分。然而,这不会给我们任何关于在过去的 20 场比赛中没有交手的球队的信息。想想看,哥斯达黎加凭借其出色的守门员凯洛尔·纳瓦斯击败了乌拉圭和意大利,战平了英格兰,最终在 2014 年世界杯上领先 D 组,英格兰和意大利被淘汰。我们还可以运行一个逻辑回归,将所有的球队(和对手)作为特征,这将使得包含随时间变化的动态变得具有挑战性。为了说明相对优势和长期动态评级,我们来看一个更复杂的评级方法:Elo 评级。

elo 评级

Elo ratings 以物理学家阿帕德·艾罗(Arpad Elo)的名字命名,不要与 20 世纪 70 年代的英国摇滚乐队 Elo 混淆,它是为了衡量棋手的实力而发明的,旨在阻止强棋手通过反复与弱棋手比赛来积累分数。Elo 评分也可以转化为概率,Elo 评分相近的玩家获胜的可能性同样大。

但是 Elo 是如何工作的呢?我们在这里跳过公式,因为它相当直观:获胜的玩家从失败者那里获得分数,他们获得的分数取决于排名的差异。当排名较高的玩家击败排名较低的玩家时,他们只能得到几分,但当排名较低的玩家击败排名较高的玩家时,他们可以得到很多分。

我们再来看一个例子,2018 年世界杯期间,半决赛,英格兰 1:2 不敌克罗地亚。英格兰队是最有希望获胜的球队,赛前的 Elo 为 1837 比 1757。这可以解释为英格兰的获胜概率略高于 60%(忽略平局)。然而,在加时赛中,克罗地亚通过马里奥·曼祖基奇的进球获胜,克罗地亚获得了 12 分,而英格兰失去了 12 分(Elo 变化总体上是对称的)。

一个大冷门是 2010 年世界杯小组赛瑞士战胜西班牙。正如我们将在一分钟内看到的那样,后来的世界杯冠军西班牙当时的 Elo 评分最高,预计获胜率为 84%(再次忽略平局),因此损失了 17 个 Elo 分。

| 日期 | 锦标赛 | 团队 1 | 第二小组 | 结果 | 之前的 Elo 团队 1 | Elo 团队 1 之后 | 之前的 Elo 团队 2 | Elo 第二小组在 |
| 2018-07-11 | 2018 年世界杯 | 克罗地亚 | 英格兰 | 2-1 | One thousand seven hundred and fifty-seven | One thousand seven hundred and sixty-nine | One thousand eight hundred and thirty-seven | One thousand eight hundred and twenty-five |
| 2010-06-16 | 2010 年世界杯 | 西班牙 | 瑞士 | 0-1 | One thousand nine hundred and thirty-seven | One thousand nine hundred and twenty | One thousand six hundred and forty-four | One thousand six hundred and sixty-one |

自 1960 年以来世界上最好的球队

现在让我们根据 Elo 评级来看看一段时间内最好的团队。我们用 20 世纪 50 年代来校准评级,从 1960 年开始。正如你在下图中看到的,巴西统治着足球世界,在过去的 63 年中有 42 年是世界第一。除了巴西,只有另外 5 支队伍获得了冠军。在 1964 年的一年里,俄国队围绕着传奇门将列夫·雅辛。1980 年的德国,当时他们赢得了欧锦赛冠军,随后是 1990 年世界杯冠军,队长是洛塔尔·马特乌斯。法国在 2001 年至 2007 年凭借齐达内或蒂埃里·亨利等球员赢得 2020 年欧洲杯后。他们在 2008 年被西班牙接管,西班牙在 2008 年至 2012 年间连续三次夺冠(包括 2010 年世界杯)。迭戈马拉多纳(Diego Maradona)或莱昂内尔梅西(Lionel Messi)的阿根廷从未登上这个排行榜的榜首,约翰·克鲁伊夫的荷兰在 20 世纪 70 年代也是如此。

Elo 的收视率持续上升。这可能部分是由于更好的足球人才识别和更好的培训,但众所周知的事实是,Elo 评级往往会随着时间的推移而膨胀(是的,通货膨胀现在无处不在)。有不同的方法来增加 Elo 以考虑通货膨胀,但这超出了本文的范围。

Elo ratings for six top national soccer teams by year.

如果您希望自己重新创建该图,则打开用于准备数据和绘制图的 DataCamp 工作区

2022 年世界杯谁会夺冠?

最后,看看即将到来的卡塔尔世界杯,哪些球队最有可能把奖杯带回家?看看最近的 Elo 评级就能对当前的表现有所了解。

| 组 | 当前 Elo 评级 |
| 巴西 | Two thousand |
| 阿根廷 | One thousand nine hundred and forty-four |
| 西班牙 | One thousand nine hundred and fifteen |
| 法国 | One thousand nine hundred and six |
| 比利时 | One thousand eight hundred and ninety-seven |

自 2013 年以来,巴西再次排名第一,得分为 2000,其次是阿根廷、西班牙、法国和比利时。即使是这个简单的模型——它没有考虑到小组赛对每支球队来说有多容易或多难——也与博彩公司的预测相当接近,他们也认为巴西是最有可能的赢家。

如果巴西在决赛中遇到阿根廷,我们的 Elo 模型预测巴西将有 58%的获胜机会。

不断学习

如果你对使用数据进行预测感兴趣,可以试试机器学习科学家职业道路。

如果你已经做到了这一点,并且你仍然有兴趣了解更多关于 Elo 评级和足球的信息,你可以看看《国际预测杂志》上的这篇文章,这篇文章还描述了 Elo 评级如何被用作其他模型的功能:使用 ELO 评级预测足球协会的比赛结果

预测分析初学者指南

原文:https://web.archive.org/web/20221210075939/https://www.datacamp.com/blog/predictive-analytics-guide

预测分析是一个组织改善决策所需的引擎,无论该组织处于哪个职能或行业。此外,实施预测分析会带来其他地方难以找到的竞争优势。

在本文中,我们将讨论什么是预测分析,探索一些如何使用它的示例,并了解它是如何工作的。

什么是预测分析?

预测分析是一个总括术语,描述各种统计和数据分析技术,包括数据挖掘、预测建模和机器学习。预测分析的主要目的是根据历史数据的模式和见解,对结果、趋势或事件做出预测。

预测分析是组织中分析能力四个阶段的第个阶段。分析的四个阶段依次是:

  1. 描述性分析 -识别过去发生的事情
  2. 诊断分析 -了解其发生的原因
  3. 预测分析 -预测接下来会发生什么
  4. 规定性分析 -优化并尝试如何最好地实现它

组织必须按此顺序达到这些分析阶段,因为只有通过了解过去,才能有效预测未来。通过这种方式,组织从了解发生了什么以及为什么会发生到预测接下来会发生什么。分析的另一个最后阶段涉及完全优化的自主分析系统,这些系统会随着时间的推移不断学习,实际上是“智能的”

预测建模涉及两种类型的机器学习算法:有监督的和无监督的。监督机器学习算法用于预测目标结果,是预测分析的主要工具。

对于在预测分析中使用机器学习的逐步演练,请查看我们的歌词分析教程

有两种主要类型的监督机器学习算法:

  • 分类模型 -用于预测观察值是否属于特定的类别。比如预测一个客户会不会流失。常见的分类技术包括决策树逻辑回归模型。
  • 回归模型 -用于预测一个值。比如预测广告的点击率。像这样预测值的常用方法是线性回归和多项式回归模型。

另一方面,无监督的机器学习算法不进行预测,而是寻求识别数据中的模式,然后可以用于标记或分组相似的数据点。例如,最流行的无监督算法之一是 k-means 聚类,其中类似的数据点,如客户,被分组到一起成为聚类。

预测分析还可以涉及其他统计和数据挖掘技术,用于识别当前趋势、预测未来和预测结果。在本文的后面,我们将讨论一些组织如何使用预测分析的具体示例。

说明性分析与预测性分析

规定分析是组织分析能力的第三阶段,建立在前一阶段创建的预测模型的基础上。

预测分析告诉我们为什么会发生什么,接下来可能会发生什么,而规范分析的重点是优化和试验我们已经建立的模型。它回答了你的“如果…会怎样”的问题,并允许你根据你从运行实验和模拟中获得的信息进行最好的可能方案。

亚马逊首席执行官杰夫·贝索斯有一句名言,“我们在亚马逊的成功取决于我们每年、每月、每周、每天做多少实验。”

对分析过程和项目的所有方面进行实验是成功的规范分析的关键要求。

预测分析示例

预测分析将数据点转化为有价值的见解,可以推动和告知组织的多个方面。

以下是组织如何利用预测分析的几个示例:

预测财务 KPI

预测关键财务指标,如收入、支出和库存,可以根据事实和数据而非直觉做出更有效、更明智的决策。

检测和减少银行欺诈

对银行来说,成本最高、危害最大的情况之一是欺诈活动。预测分析有助于识别可能表明欺诈的异常和漏洞,以便这些机构能够迅速采取行动。

预测客户是否会拖欠贷款

对保险和金融机构来说,提供贷款本身就有风险。使用预测模型来预测客户是否有可能拖欠贷款是这些机构显著降低这种风险的最佳方式。

预测员工流失

预测分析可以通过预测员工流失来帮助改善组织的人力资源管理。这包括预测未来的招聘需求,并找到合适的时机来激励员工。

了解客户购买行为

组织可以通过发现客户购买背后的模式和探究他们购买行为背后的原因来提高销售额和转换率。您可以使用 Python 中的客户分析和 A/B 测试来理解这些行为。

针对正确的客户开展营销活动

企业可以通过在正确的时间锁定正确的客户来提高广告的点击率和营销活动的转化率。要更深入地了解预测分析在营销中的应用,请查看 DataCamp 关于用 Python 预测客户流失的课程

减少制造浪费

预测分析可以帮助您的组织了解制造浪费中涉及的因素,以便他们可以在正确的领域采取行动。使用预测模型来了解这些因素可以为组织节省大量成本。

预测分析是如何工作的?

有许多不同的预测分析工具可用。您选择的工具取决于您的分析目的——从 Tableau 和 Power BI 等商业智能和可视化工具到复杂的编程语言,如 R Programming 和 Python。

要了解 Python 中的预测分析,请参阅我们的Python 中的预测分析简介课程。如果你已经熟悉 Python 或者预测分析,你可以去看看 Python 课程中的中级预测分析。

大多数预测分析项目遵循相似的工作流程和过程。在本节中,我们将回顾项目中最常见的一些主要步骤。

目标

每个预测分析项目都应该从理解目标、识别问题和选择最佳解决方案开始。

预测分析项目旨在帮助组织实现其战略目标。当项目的目标与组织的关键目标联系在一起时,它更有可能得到与它相关的组织的每个级别的认可。这确保了项目不仅有价值,而且成功。

一旦项目的目标已经确定,这自然会导致项目需要解决的明确问题,并因此通知实现该目标所需的解决方案。

数据

数据可以来自各种来源,如 CSV 文件、数据库、仓库和第三方应用程序。如果还没有这样做,那么应该在一个集中的位置整合和管理这些数据源,然后才能在预测分析和建模中使用它们。这确保了数据是安全的,并且质量和治理是重中之重。

正如古老的数据分析格言所说:“垃圾进来,垃圾出去。”尽量避免将所有数据存储在电子表格中。虽然电子表格很灵活,但却很容易编辑和共享,而无需控制其中数据的质量和安全性。

此外,考虑您已经拥有或希望在未来生成的数据量。如果没有适当的存储系统和流程来处理大量数据,构建预测模型可能会变得不必要的耗时,并且对于他们需要解决的问题来说效率低下。

改变

预测分析项目中的转换步骤包括为即将到来的分析或模型清理、探索和准备数据。

在清理数据时,您应该寻找丢失的数据和异常值,或者在问题的上下文中没有意义的可疑值。这与数据探索是携手并进的,因为通过探索数据,你可以理解它,异常变得更加明显。

最后,必须为项目的下一步准备数据。这里的确切过程取决于需要完成的算法和分析类型。

例如,假设您正在拟合一个线性回归模型来预测广告活动中的点击率。在这种情况下,您必须考虑线性回归的假设以及数据是否满足这些假设。也有必要将数据中的任何分类变量转换成虚拟变量,这被称为一次性编码。

在继续构建预测模型之前,请确保将数据分为定型集、测试集和验证集。您使模型适合训练集,这是它学习数据中的模式以进行预测的方式。但是,您还必须有一个验证集来迭代和改进模型,然后使用测试集获得模型准确性的最终无偏估计。

分析

如果您正在使用相对简单的监督机器学习算法(如逻辑回归)构建预测模型,则此步骤需要您拟合模型并评估结果。然而,一些复杂的算法,如神经网络,需要仔细的微调和调整才能产生准确的预测。

需要记住的重要一点是,许多预测模型需要大量数据才能准确地推广到现实世界。如果您仍然需要获得这些模型所需的大量数据,那么您可以考虑其他允许您预测或预测较小规模的结果的技术。这也取决于你的目标和你试图解决的商业问题,包括数据挖掘和应用各种统计方法等技术。

部署

预测分析项目的最后一步是部署。这是项目的最终输出或结果,并将作为模型为您的组织增加价值的媒介。根据您为解决特定问题而选择的项目和解决方案,此步骤可能包括从简单的报告或仪表板到复杂的现有平台部署的任何内容。

考虑您的组织是否有足够的人才来进行更复杂的部署,以确保流程平稳高效。例如,投资至少一名数据工程师对成功的模型部署大有帮助。

结论

分析,尤其是预测分析,不仅仅是为少数科技巨头和大公司保留的,甚至也不仅仅是为组织内的少数人保留的。如今,各种规模的组织都在使用分析,并且几乎可以应用于每个行业。此外,预测分析现在是一项在整个组织中由团队分配和拥有的功能。

预测分析可以为几乎每个组织提供难以置信的竞争优势。然而,考虑和理解成功的预测分析项目的要素至关重要。本文提供了预测分析的指南,如何将其应用于业务问题,以及其工作背后的过程。

Jupyter 项目和交互式计算(抄本)

原文:https://web.archive.org/web/20221129045010/https://www.datacamp.com/blog/project-jupyter-and-interactive-computing-transcript

https://web.archive.org/web/20220630224833if_/https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/512942727%3Fsecret_token%3Ds-8dsVb&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true

下面是播客链接

介绍布莱恩·格兰杰

雨果:你好,布莱恩,欢迎来到 DataFramed。

布莱恩:嗨,雨果。非常感谢你今天邀请我。

雨果:很高兴你能来参加这个节目。我们今天在这里谈论 Jupyter 项目,关于交互式计算,事实上,你今天给我发了一个你最近给我的很棒的幻灯片。我们要关注的东西实际上是一张幻灯片。在我们开始之前,我想引用一下。您写道,“我们正在进入一个时代,在这个时代,大型、复杂的组织需要以协作、安全和以人为中心的方式将数据交互计算扩展到整个组织。”现在,这些都是我们将在本次对话中讨论的接触点。但是在我们深入讨论这些之前,在我们开始谈论 Jupyter、Jupyter 笔记本、JupyterLab 以及所有这些东西之前,我想了解一下你。首先,也许你可以告诉我一些关于你在数据社区中的名气。

布莱恩:是的。没问题。所以我在加州理工学院做了将近 15 年的物理学教授。我参与了科学计算和数据科学领域的许多开源项目。早年我参与了 SymPy,它是 Python 的一个符号计算机代数库。然后还有 IPython,它实际上是 Python 的交互式 shell。最近几年,我是 Jupyter 项目的创始人之一。在过去的几年里,我还和 Jake VanderPlas 共同创建了 Altair,这是一个统计可视化库。所以现在的大主题是为人类使用代码和数据的开源工具。

数据营课程

Hugo:说到牛郎星,你实际上目前正在为 DataCamp 开发牛郎星课程,对吗?

布莱恩:是的。你对动词时态有点乐观了。我们在 Jupyter 世界进行的所有不同活动都有点停滞不前,但是的,我想我大概完成了 Altair 数据营课程的三分之二到四分之三。

木星计划

Hugo:作为 Jupyter 项目的项目负责人,我想知道哪些类型的技能会发挥作用。因为我知道你有很强的背景,你是个物理学家。你有很多数据分析技能。许多设计、工程和创业技能大概也与这个角色有关。所以我想知道你需要什么样的东西来做这份工作?

布莱恩:是的。多年来,它确实发生了变化。在 IPython 和 Jupyter 的早期,我们大部分时间都在做软件工程。有非常少量的设计工作,UI/UX 设计工作。当只有少数几个人时,原则上来说,还有组织工作和社区工作要做,但是相对于软件工程来说,规模非常小。随着 Jupyter 的成长,我认为在组织和社区方面,以及项目的设计方面,需要更多的时间和精力。从事开源工作的挑战之一是,像 Jupyter 或 Altair 这样的项目往往会吸引真正顶尖的开发人员和软件工程师。因此,项目的这一方面往往会有相当好的人员配备。这并不意味着我们都有足够的时间投入到软件工程方面的项目中。然而,随着这些项目变得越来越大,没有什么特别能吸引顶尖的 UI/UX 设计师,例如 Jupyter。对于我们和其他开源项目来说,这仍然是一个挑战,我们如何将设计融入到过程中,以及如何让设计师参与到项目的开发中。

雨果:我的意思是,你在这里谈到了很多事情,包括设计、招聘和组织结构,我知道你想了很多关于为项目获得资金的问题。你说的是社区发展,这也是我们在 DataCamp 经常考虑的事情。因此,从几个方面来看,这听起来有点类似于经营一家公司。

布莱恩:很可能是。我从未管理过一家公司,但当我与领导公司的不同职位的人交谈时,会有很多重叠。我们的商业模式并不涉及向传统意义上的人出售东西,但最肯定的是,我们有客户。我们与这些客户的互动非常类似于一家拥有付费客户的公司,因为我们处于一个充满活力、快速发展的经济领域。如果 Jupyter 放松下来,开始滑行,就会有数百个其他开源项目和盈利性公司在开发产品,很快就会让 Jupyter 处于过时的境地。因此,我们围绕着未来做了很多思考和工作,我们的三到五年增长图,我们看到数据科学、机器学习和交互式计算的发展,以及我们如何在这些时间框架内建立资源来解决这些雄心勃勃的事情,同时建立一个可持续的社区。

你是如何对数据科学产生兴趣的?

Hugo:那么你是如何对数据科学感兴趣或参与其中的,而不是成为一名物理学教授和研究员?你最初是如何进入数据科学的?

布莱恩:是的,这是个很好的问题。所以我们开始致力于交互式计算,作为 IPython 的一部分。我是 Fernando Perez 在科罗拉多大学研究生院的同学,Fernando 在 2000 年初创建了 IPython。在那个时候,交互计算的世界实际上是科学界、学术研究和教育领域的事情。我敢肯定,当时有一些公司在这里或那里做一些小事情,但它没有像今天这样普遍。所以当我们在 2000 年开始构建 IPython 和 Jupyter 时,最初我们觉得我们有,我们想象的是一个非常宏伟的愿景,学术研究和科学计算领域的每个人都将使用 Python 和我们以及其他许多人正在构建的工具。我们没有看到的是,整个世界都将发现数据,这真的在某种程度上打开了一个全新的观众和用户群,让他们接触到我们从未想象过的开源数据科学工具和科学计算工具。

Brian:所以,老实说,我自己的旅程更多的是我们在做我们在科学计算方面一直在做的事情,然后醒来意识到我们在某种程度上处于数据科学社区的中间,这个社区在学术研究方面以及商业行业方面都在形成。

Hugo:一会儿我想更深入地了解一下 Jupyter 项目的一般性质。但在此之前,我想多说一点关于交互式计算的内容。所以我要引用朱庇特计划。Jupyter 项目声称,它“存在的目的是开发开放源码软件,为交互式计算开发开放标准和服务,跨越数十种编程语言。”我想知道交互计算的一般工作定义是什么,为什么它很重要?

布莱恩:是的。这是一个很好的问题,我认为在计算机科学的历史上,交互计算甚至还没有真正成为一个值得研究的话题,一个值得认真思考和澄清的话题。这是我们多年来一直在做的事情,Jupyter 架构实际上表达了我们对交互式计算的思考。我要说的是,交互计算的核心思想是,有一个计算机程序在有人类参与的环境中运行。当程序运行时,人在运行中编写和运行代码,然后查看运行代码的结果输出,并决定随后编写和运行什么代码。这是一种交互模式,在人类编写代码和计算机运行代码之间来回切换,人类以迭代的方式与结果交互。

雨果:这对科学研究过程的许多方面来说都是理想的,对吗?从探索性的数据分析到编写嵌入了内嵌结果、图像和文本等内容的代码?

布莱恩:当然。这是我们真正想了很多的事情,那就是当人类处理代码和数据时,最终,在某些时候,为了使他们的工作有意义和有影响力,代码和数据需要嵌入到我们认为是围绕代码和数据的叙述或故事中,使人类能够与之互动,基于它做出决定,理解它。这真的是人类对决策的应用。当你处理数据的时候,有一个人在循环中真的很重要。

IPython 是什么?

Hugo:对于那些可能不知道 IPython 是什么以及它与 Python 有何不同的听众,你介意为他们解释一下吗?

布莱恩:是的。所以 Python 是编程语言。IPython 代表 interactive Python,它最初是一个基于终端的交互式 shell,用于与 Python 交互工作。它过去有很多,并且将继续有很多你在交互工作时想要的漂亮特性,比如漂亮的选项卡完成、与系统外壳的轻松集成、在线帮助、丰富的交互外壳等特性。今天 IPython 和 Jupyter 之间的互动是,最初当我们创建笔记本时,我们称它为 IPython 笔记本,因为它只适用于 Python。几年后,我们意识到同样的用户界面和架构也可以用于其他编程语言。IPython 的核心开发人员又催生了另一个项目,即 Project Jupyter,这是该架构的语言无关方面的家园。IPython 今天仍然作为人们在 Jupyter 项目中使用 Python 的主要方式而存在。所以这是一个我们仍在努力的项目。

什么是朱庇特计划?

Hugo:那么你能给我们一个 Jupyter 项目的高层次概述吗?它需要什么?

布莱恩:是的。所以你已经阅读了一个关于 Jupyter 项目的很好的总结,它关注于开源软件,开放标准和交互式计算服务。我想很多人都熟悉我们创建的一些软件项目,即 Jupyter Notebook,我相信我们会在本次对话中对此进行更多讨论。但是在 Jupyter 笔记本的下面是一套交互式计算的开放标准。我认为当我们想到 Jupyter 及其影响时,这些开放标准才是真正的核心。一种思考方式是,这与现代互联网的情况类似,是的,有单独的网络浏览器和网站,但在所有这些之下,有一套开放的标准,即 HTTP、TCP/IP、HTML,使所有这些东西能够协同工作。Jupyter 为交互式计算建立的开放标准在更广阔的互联网环境中扮演着与其他协议相似的角色。

雨果:所以我想了解一下 Jupyter 项目的规模和范围,但我想先说...这是一个你我都知道的故事,但对于我们的听众来说,最近我参加了你在纽约市 JupyterCon 上的一个演讲。在你开始演讲之前,你让人们举手,如果他们组织中有 10 个或更少的人使用了 Jupyter 项目的某个方面,然后让人们举手,如果 50 个或更少,100 个或更少,500 个或更少,1000 个或更少,等等。人们在每一点上都举起了手。然后你问:有没有人在一个超过一万人的组织中使用 Jupyter 项目的某个方面,很多人举了手。对我来说,这是一个真正的大顿悟时刻,从整体上考虑这个项目的规模和范围。作为一种介绍,我想知道你能告诉我们这个项目的规模和范围吗?

布莱恩:是的。因此,在过去的几年里,参与其中真的很有趣,看到 Jupyter 的使用以我们从未想象过的方式爆发和起飞。对此有很多不同的思考方式。作为一个开源项目,我们没有一个准确、精确的方法来跟踪我们有多少用户。我们的用户通过许多不同的方式获得并安装 Jupyter,这确实是一个挑战。我们关注的一件好事是 GitHub 上的笔记本数量。这可以通过查询 GitHub APIs 获得。我们有一个开源项目,我们会一直跟踪这个项目。截至今年夏天,公共笔记本电脑的总数约为 250 万台。从与 GitHub 人员的交谈中,我们知道,看起来大概还有类似数量的私人 Jupyter 笔记本不为世人所知。

布莱恩:有趣的是,显然目前的绝对数字很有趣。我认为更能说明问题的是,随着时间的推移,我们看到笔记本电脑的数量呈指数级增长,现在的翻倍期大约是 9 个月或 10 个月。因此,这确实表明当前的数字和增长都非常强劲。很难确定全球使用 Jupyter 的总人数。挑战在于,我们的大部分员工都在美国和欧洲,然而我们从谷歌分析流量中得知,亚洲现在是使用 Jupyter 最流行的大陆之一。所以我们和那里的人联系不多。我们不知道 Jupyter 是如何被使用的,但我们看到了一个非常强烈的信号,表明它正在被大量使用。

Hugo:从项目开发人员的贡献和数量来看呢?

布莱恩:是的。因此,随着使用量的增加,贡献者的数量肯定会增加。我认为贡献者的总数超过 500 人,这是一个相当大规模的开源项目。我们在 GitHub 上有超过 100 个不同的仓库,分布在许多不同的组织中。目前的核心团队是项目的核心维护者,他们中的许多人大部分时间都在项目上工作,大约有 25 人。Jupyter 指导委员会是项目领导层的关键部分,我认为目前有 15 名指导委员会成员。今年夏天有一些新人加入了指导委员会,这就是为什么我不记得确切人数了。

布莱恩:我想强调的一点是,关于人们对朱庇特项目的不同贡献,什么是正确的叙述?我想和好莱坞打个比方,如果朱庇特是一部电影,它会是什么类型的电影?我认为值得注意的是,这部电影中不会只有一个超级英雄来拯救世界。所以有点像超人的叙述真的不符合 Jupyter 是如何建造的现实。我认为一部电影可以更好地类比 Jupyter 是如何建造的,就像《无限战争》一样,在这部电影中,你有一群不同的超级英雄,他们的技能和实力都非常不同,为整个项目做出贡献。

布莱恩:我认为值得注意的是,是的,我是今天在这里和你们说话的人,但我也是在这个项目上做了惊人工作的许多人之一。

如何参与项目?

雨果:对于那些想参与这个项目的听众来说,什么是好的参与方式,什么是不好的参与方式,我不想说,但是什么是不太好的参与方式呢?

布莱恩:是的。所以这是我在 JupyterCon 上谈到的一件事,在这种情况下,更多的是思考什么是大公司参与开源的健康和有效的方式。所以对于个人来说,我认为最好的方法之一是找到项目中你感兴趣的部分,然后来到 GitHub,开始与我们互动。我们很多受欢迎的 GitHub 回购都有针对首次投稿者的问题。因此,我们正在努力使这个项目成为一个欢迎新贡献者的地方。我们欢迎人们来那里和我们交谈。

Brian:我们在 Gitter.im 上也有公开的聊天室。这是一个基于网络的在线聊天平台,与 GitHub 集成在一起。例如,Jupyter 笔记本,JupyterLab,JupyterHub,Jupyter Widgets,在 Gitter 上都有聊天室。核心贡献者和更广泛的社区都在这些环境中活动。所以这是人们参与的好方法。

组织如何对项目做出贡献?

雨果:布莱恩,那些想为这个项目做贡献的组织呢?

Brian:我认为在这种情况下,对开源项目如何工作以及贡献如何发挥作用有一个好的心理模型真的很有帮助。我最喜欢的心智模型实际上来自 Brett Cannon,他是核心 Python 开发者之一,在微软工作。在一条推文中,他说了这样的话,“在开源项目中提交拉请求就像给某人一只小狗。也就是说,你必须明白,接受“拉”请求的人实质上是同意照顾这只小狗一辈子。”我们在希望为开源做出贡献的组织和公司中看到的一种模式是,他们对特定的功能感兴趣,因此他们让员工为开源做出贡献,这种方式产生了对这些新功能的大量新请求。

布莱恩:我认为这就是小狗心理模型真正有用的地方。也就是说,开源项目的核心维护者经常被项目的维护工作搞得不知所措。这可能包括错误修复、发布问题分类和管理问题,但也审查其他贡献者的拉请求。因此,我们试图培养的最有帮助的事情之一基本上是贡献的平衡视角,不仅包括提交具有新功能的拉请求,还包括审查其他人的拉请求,涉及帮助其他用户解决特定问题,甚至修复错误。

Brian:GitHub 最近做的一件非常好的事情是在他们的贡献者用户界面中,他们有一个新的用户界面来表达某人对特定 GitHub 库的贡献,有一个 X,Y 坐标系统和围绕它的四个方向。它显示了某人的贡献,我认为是代码审查,拉请求,问题,还有一个其他的。由此你可以了解到一个人对开源项目的贡献有多均衡。

Brian:简单来说,就是鼓励人们以平衡的方式为开源做出贡献。现在,我们还想专门针对第一次或新的贡献者。我认为这又是一个平衡的想法,但在某种程度上,核心贡献者和项目中的现有人员可以帮助新的贡献者出现,并开始以不同的方式做出贡献。因此,即使对于新的贡献者,这些贡献也不一定是拉式请求。即使检查现有的拉请求,只是在本地测试它们,对开源项目来说也是非常非常有帮助的。

Hugo:令人难以置信的是,GitHub 现在有了你所讨论的功能,这有助于找到这种平衡,对吗?

布莱恩:哦,当然。看到他们发布这个我很激动,我想这是上个月发生的事情。现在我甚至不记得他们到底叫它什么了。

Jupyter 笔记本用于数据科学和相关工作的主要用途是什么?

Hugo:正如我们已经讨论过的,Jupyter 项目的规模和范围是巨大的。所以我确信笔记本和这个项目有很多不同的用途。但我想知道,在您看来,Jupyter 笔记本在数据科学和相关工作中的主要用途是什么?

布莱恩:是的。就出于特定目的使用 Jupyter 的人数而言,我会说数据交互计算,所以数据科学,机器学习,人工智能,是 Jupyter 最受欢迎的使用方式之一。既有从业者,也有在数据科学和机器学习团队中工作的人,还有教育背景下的人。因此,在大学内部,通过在线课程和训练营,教师和学生可以在教育背景下围绕数据科学和机器学习开展这些活动。我认为这确实抓住了 Jupyter 用法的大方向。

雨果:对。事实上,我们在 DataCamp 的项目基础设施中使用它们,正如您所知,我们在课程中教授了很多技能。在我们的项目中,我们使用 Jupyter 笔记本电脑教授某种端到端的数据科学工作流。

Brian:项目风格工作流是我在我的大学 Cal Poly 教授数据科学时看到的,因为通常以高度照本宣科的方式从学生开始是有帮助的,其中练习的规模非常小,并专注于特定概念的特定方面。然后最终过渡到更加开放的基于项目的工作。我知道,在这些课程中,到了季度末,学生们有机会做一些更开放的端到端数据科学,学习真的增加了很多,学生们从中受益匪浅。所以我很高兴看到 DataCamp 也有这种体验。

雨果:当然,我们看到笔记本到处都是。在我们之前讨论过的幻灯片中,有一张大型综合巡天望远镜的幻灯片。当然,除此之外,引力波是由 LIGO 项目发现的。他们已经出版了他们所有的 Jupyter 笔记本。这是基础科学研究,对吗?我的意思是,现在网飞发生了很多与笔记本相关的事情。所以是全面的,对吗?

布莱恩:是的。这实际上是我们在过去两年中看到的一种模式,即从组织中个人的临时使用过渡到正式的组织范围的大规模部署。因此,我们开始看到越来越多的组织以类似于 LIGO、LSST 或网飞的方式采用 Jupyter,在这些地方,Jupyter 由组织正式部署和维护,许多用户定期使用 Jupyter。据我们所知,一些较大的部署有数千人,甚至约 1 万人或更多。因此,这些组织的规模肯定会越来越大。

雨果:我要说两件我认为是事实的事情,如果我错了请纠正我。网飞每天运行超过 10 万个自动化笔记本作业。至少有两个 Jupyter 项目的贡献者或核心贡献者——也在网飞全职工作。

布莱恩:是的,绝对的。Kyle Kelley 和 M Pacer 是笔记本电脑团队的成员,我不知道这是否是他们团队的确切名称,但他们是网飞的工具团队之一。他们不仅与我们合作一些核心项目 Jupyter 项目,而且他们还有许多其他开源项目,这些项目使用不同的 Jupyter 协议。其中之一是 InterAct,这是 Jupyter 笔记本的另一个用户界面,专注于简单性和人物角色,个人确实希望使用代码,但他们并不是一直生活在代码中。业务分析师将是交互所针对的角色类型的一个很好的例子。然后,正如你提到的,网飞在以编程方式使用笔记本电脑方面进行了真正的创新,每天以批处理方式运行它们。我想你每天大约十万个笔记本批处理作业的数量听起来和我记忆中的差不多。

Brian:然后有许多开源项目出来帮助这些类型的工作流。其中一个是造纸厂,另一个是通勤。我认为我喜欢网飞正在发生的事情之一,我认为这真的来自 Kyle Kelly 的领导,那就是对 Jupyter 开放协议价值的深刻理解。这是一种认识,即我们在这些协议之上构建的不同软件项目就像你得到的一套乐高玩具。你把它从商店带回家,有一个默认的指令集来构建开箱即用的东西。但是意识到同样的部分可以以不同的方式重新组合来构建您的组织需要的任何东西。我喜欢这种想法渗透到网飞处理数据的所有不同方式中。我认为他们正在做非常有趣的事情。

Hugo:网飞的笔记本团队最近发表了一篇非常有趣的博客文章,我们将在展示笔记中链接到这篇文章以及我们正在讨论的许多其他内容。

布莱恩:是的。他们还在 JupyterCon 上做了一些演讲,我想这些演讲将会在接下来的一个月里发布在 JupyterCon 的 YouTube 频道上。

你见过的笔记本最令人惊讶的用途是什么?

雨果:好吧。太棒了。因此,当我们在 GitHub 上拥有 250 万台公共笔记本时,我敢肯定会有很多令人惊讶的事情发生。这可能有点曲线球,但我想知道你是否见过任何让你惊讶的 Jupyter 笔记本的用途,你可能会说,“哦,哇,这很有趣。”那么你见过的笔记本最令人惊讶的用途是什么?

布莱恩:是的。我的意思是,参与 Jupyter 项目的一个有趣的事情是关注我们的用户正在做的所有令人惊奇的事情。我认为看到朱庇特在科学研究领域的影响是我们真正感到自豪的事情。因此,看到像 LIGO 和处女座这样的大型科学获得诺贝尔物理学奖,并作为出版 Jupyter 笔记本的一部分,世界上任何人都可以使用它来完全复制他们的分析,从原始数据到最终出版的可视化。这让我们非常自豪。我不知道用惊讶这个词合适吗。其中一部分是因为我们来自这个社区,所以我们一直努力确保 Jupyter 对这些使用案例有用。

Brian:就惊讶而言,Jupyter 最令人惊讶或震惊的用法是剑桥分析公司和 SCL 选举公司建立机器学习模型来操纵 2016 年选举。

雨果:对。我确实认为惊讶是一个词。震惊是另一个词。我还记得第一次...我看到一条推特,我想是韦斯,是韦斯·麦金尼在推特上发了这样的话。我们看到了一个 Jupyter 笔记本的截图,上面有熊猫的数据帧,还有一些 scikit-learn fit 和预测之类的东西。在那一刻,我也退一步思考,所有这些工具都可以用于各种目的,对吗?

布莱恩:所以剑桥分析公司,他们所有的网站和 GitHub 都消失了。与他们合作的 SCL 选举公司还没有撤下他们的东西,或者说还没有从 GitHub 撤下他们所有的东西。所以有一个项目叫做 JupyterStream。你可以看出,在 SCL 选举中工作的人是典型的数据科学家,他们乐于使用这些工具来研究数据科学。可怕的是,如果你在笔记本电脑的演示子目录中查找,那里有一个笔记本电脑,非常清楚他们正在做的事情的类型。在这种特殊情况下,这不是什么特别敏感的事情。看起来他们正在按日历周追踪选民登记数,并用熊猫数据框来处理。但是我们肯定...再说一次,我不太确定该用什么词来形容,惊讶并不恰当。

Brian:我认为对我们来说,这真的是一个觉醒的时刻,意识到拥有一个非常自由的开源许可的开源项目与言论自由非常相似,因为它实际上是一个许可的开源项目,几乎任何人都可以使用,这包括做真正好事的人,也包括做真正坏事的人。

雨果:令人毛骨悚然的是这个回购协议还说 Jupyter 到救援,感叹号。

布莱恩:这真的是一次旅行。我的意思是,这是克里斯托弗·威利做的原始采访。他是剑桥分析公司的数据科学家之一。在第一次采访中,我想是在《卫报》上,他用了“建立模型”这个短语。我立刻想到,“等等,等一下。这是一位数据科学家。他们在谈论建筑模型。他们真正想说的是,在 Jupyter 笔记本上学习重要的科学知识。”最初,它有点像,“是的,他们可能会使用它。也可能他们用了 RStudio。”但是随着时间的推移,很明显他们在某个时候确实在使用 Jupyter。

笔记本不应该用在哪些地方?

雨果:这是我下一个问题的一个很好的引子,这个问题看起来似乎是一个答案,但我认为不一定。我的下一个问题是,正如我们所讨论的,笔记本电脑的采用量非常大,我想知道是否有一些地方你看到笔记本电脑被用在了不该用的地方?

布莱恩:是的。我不确定我会把它用在不该用的地方。但我肯定会有一点影响,笔记本是一把锤子,所以所有东西看起来都像钉子。特别是当探索性数据科学和机器学习变得更加软件工程化和更加数据工程化时,笔记本电脑开始变得相当痛苦的工作流类型。在那些使用案例中,它不是一个奇妙的软件工程环境。它不是为此目的而设计的。现在这是我们从用户那里听到的,现在在笔记本和软件工程之间有一种非常陡峭的倾斜。当有人跨越这个过渡时,在今天的某个时候,他们会发现真正正确的事情是停止使用 Jupyter,打开他们最喜欢的 IDE,开始做传统的软件工程。这可能是相当痛苦的,因为人们喜欢的大多数 ide 都不是基于 web 的。

Brian:因此,如果有人在云中处理大量数据并运行,这些 ide 可能真的不是一个好的选择。因此,我们正在努力改善交互数据科学和软件工程之间的边界体验。我们不认为 Jupyter 会取代成熟的 ide,但是在这个界限上,我们看到了很多用户的痛苦,笔记本本身开始不是最好的工具。

雨果:对。这与我的下一个问题非常吻合,这个问题是关于笔记本有几个常见的批评,比如它们可能鼓励糟糕的软件工程实践。我想最近最著名的是,JupyterCon 接受了 Joel Grus 的演讲,我不喜欢笔记本,在 JupyterCon 上展示。我只是想知道你认为最重要或相关或有价值或有见地的批评是什么,可以帮助推进项目?

布莱恩:是的。所以我认为,我真的很感谢 Joel 在 JupyterCon 上的演讲。这是一个非常受欢迎的演讲,我们希望听到这样的事情。这对我们真的很重要。他对朱庇特计划的一些批评属于我们要解决的问题。因此,我们提供或不提供或可以改进的现有用户体验或功能。他在这一类别中提出的大多数问题,我认为整个核心 Jupyter 团队或多或少是一致的。

Brian:他提出的另一个方面更接近于 Jupyter 笔记本的交互计算的核心。我认为提出这些东西是有帮助的,因为它确实迫使我们澄清与传统软件工程相比,笔记本中这种类型的工作流的价值主张。因此,我认为由此产生的讨论非常有帮助,有助于我们弄清楚什么时候应该使用 Jupyter 笔记本,或者为什么要使用它们,以及为什么在某些情况下不应该使用它们。

JupyterLab 是什么?

雨果:当然。当然,我们已经讨论了笔记本电脑,但我真正感到兴奋的是 Jupyter 项目的下一代用户界面,这是 JupyterLab!所以也许你能告诉我们 JupyterLab 是什么,为什么工作数据科学家会发现它很有用?

布莱恩:是的。JupyterLab 绝对是我和核心团队中许多其他人感到兴奋的东西。JupyterLab 是 Jupyter 项目的下一代用户界面。我们已经在 JupyterLab 上工作了大约四年,就在上个月它离开了测试版,所以它已经准备好投入生产了。

雨果:祝贺你。

布莱恩:非常感谢。我们真的很高兴能克服这个障碍。它仍然没有发布到 1.0 版本,因为一些面向开发人员的扩展 API 仍然是稳定的。我们从传统笔记本用户那里听到的最重要的事情之一是,人们希望能够定制、扩展和嵌入笔记本的其他应用程序。经典笔记本中的原始代码库并不是以一种简单的方式设计的。因此,JupyterLab 的核心设计思想之一是,JupyterLab 中的一切都是扩展,所有这些扩展都在 PM 包中。这里的想法是,核心 Jupyter 团队不能为每个人构建所有东西,组织中的许多不同的个人会出现并给 JupyterLab 添加新的东西。这些扩展 API 是 JupyterLab 面向开发人员的公共 API,支持构建这些扩展,我们仍在稳定其中一些 API 的过程中。

Brian:但我想强调的是,从用户的角度来看,对于日常使用 Jupyter 的人来说,JupyterLab 完全稳定,可以投入生产,在许多方面,在这一点上,我想说它比传统笔记本电脑有更好的用户体验,也更稳定。

雨果:太好了。JupyterLab 有哪些经典笔记本没有的功能?

Brian:其中之一是同时处理多种不同活动或构建交互式计算模块的能力。所以经典的笔记本,每个笔记本或终端或文本编辑器,在一个单独的浏览器标签上工作。这使得我们很难将这些不同的活动整合在一起。JupyterLab 中集成工作的一个例子是,如果你有多个并排打开的笔记本,你可以在这两个笔记本之间拖动一个单元格。另一个例子是,如果您打开了一个 markdown 文件,您可以右键单击该 markdown 文件并打开 live markdown preview,然后打开一个附加到该 markdown 文件的代码控制台,并开始以 Jupyter 支持的任何不同语言运行代码,其方式更类似于 RStudio。因此,将不同的构建模块、键入代码的地方、输出、终端、笔记本以不同的方式集成在一起,以支持即将出现的其他一些工作流。

雨果:也是 CSV 浏览器,对吗?

布莱恩:是的。JupyterLab 的另一个设计理念是更直接地操作用户界面。所以在很多情况下,编写代码是与数据交互的最有效的方式。然而,在很多情况下,编写代码有点痛苦。一个很好的例子是,如果你有一个新的 CSV 文件,你不知道里面有什么,你只是想看看它。当然你可以打开笔记本,导入熊猫,开始看 CSV 文件。但是在很多情况下,更直接的互动模式是非常有效的。因此,JupyterLab 的文件系统访问是基于这样一种思想,即对于给定的文件类型,可以有多个查看器和编辑器。

Brian:例如,对于一个 CSV 文件,您可以在文本编辑器中打开它,并将其编辑为纯文本 CSV 文件,或者您可以在新的网格或表格视图中打开它,该浏览器是 CSV 文件的默认浏览器。因此,您只需在 JupyterLab 中双击一个 CSV,它就会立即以类似表格的形式打开。

Hugo:我记得在一次演示中,它也支持非常大的 CSV 文件,对吗?

布莱恩:是的。所以我们的核心贡献者之一,Chris Colbert,花了很多时间构建了一个设计良好的数据模型,并在此基础上构建了一个查看器。所以这个网格查看器的数据模型并没有假设所有的数据都被加载到内存中。所以它有一个 API,允许您根据需要从模型中请求数据。如果您有一个非常大的 CSV 或表格数据模型,视图将只请求在给定时间对用户可见的数据部分。例如,现在,我们正在做的一些演示,您只需双击一个 CSV 文件,它有超过一百万行,足够大,这些文件足够大,以至于无法在同一台笔记本电脑上的 Microsoft Excel 中成功打开。他们在 JupyterLab anr 浏览器或 Chris 编写的渲染器中打开得很好,它使用 Canvas,所以它是一个非常高性能的表格数据浏览器。

Brian:为了保持诚实,我们已经用合成数据集进行了测试。所以这些不是具体的数据集,它们是动态生成的,但是它们有一万亿行和一万亿列。表格数据集查看器工作得非常好,您可以很好地滚动数据集。

Brian:我认为与数据直接交互的另一个副作用是,当你让用户以这些方式与数据交互变得容易时,他们就会这么做,对吗?因此,如果你可以双击一个 CSV 文件,用户会发现,“哇,这很有用,”他们会这样做。你必须花很多时间来确保底层架构不会让他们做一些会产生负面影响的事情。我们试图构建一个既有良好用户体验,又能处理大数据现实的架构。

Hugo:我们还可以讨论其他几个功能,但我将选择一个我认为非常有吸引力和神奇的功能,即与同事和合作者在 Jupyter 笔记本上协作的能力。

布莱恩:是的。这是我们已经研究了一段时间的东西。我们的第一次演讲是加州大学伯克利分校的 JupyterLab 扩展演讲,作者是 Ian Rose。这提供了与 Google Drive 和 Google Realtime APIs 的集成,使多人能够打开一个笔记本并在该笔记本上实时协作,同时看到其他人在工作和编辑该笔记本。

Brian:然后在过去的一年半中,我们开始了一项新的工作,为 JupyterLab 建立一个实时数据模型和数据存储,原因有两个。一个是 Google Realtime API 已经停产。另一个原因是,我们从用户那里非常清楚地了解到,对于许多组织来说,将所有数据发送到 Google APIs 是不可行的。因此,拥有高性能、设计精良的实时数据存储变得非常重要。我们已经为此努力了 18 个月。再一次,克里斯·科尔伯特,他设计了数据网格,是从事这项工作的人。

雨果:太好了。听众朋友们,这是对 JupyterLab 的一系列特性的旋风般的介绍。我强烈建议你亲自去玩一下,如果你还没有的话,也可以看看网上的一些演示。

Brian:我想澄清一下,今天发布的 JupyterLab 版本还没有实时协作功能。

雨果:好的,没错。

布莱恩:还没有完全发布。

Hugo:我们讨论了 IPython,讨论了 Jupyter 笔记本,讨论了 JupyterLab。Jupyter 生态系统中还存在什么?你能给我们简单介绍一下其他一些事情吗?

布莱恩:是的,当然。可能最大的其他项目是 JupyterHub 项目。JupyterHub 是 GitHub 上自己的组织,那里有许多不同的独立回购和项目。JupyterHub 基本上为组织提供了向许多用户大规模部署 Jupyter 的能力。就我们现在看到的采用模式而言,这个用例非常非常重要。因此,JupyterHub 已经引起了人们和组织的极大兴趣。

项目面临的挑战是什么?

Hugo:我们之前讨论过你最近在 JupyterCon 上的演讲,你在演讲中说,“Jupyter 项目正在经历一个从组织中的个人用户到大规模机构采用的阶段过渡。”我想知道由于这种转变,该项目现在面临着什么独特的挑战?

布莱恩:是的。因此,我们面临着组织和技术两方面的挑战。在组织方面,我认为最大的挑战是,我们看到越来越多的组织来找我们,希望与我们互动,而不仅仅是这些组织中的个人。这确实改变了你在组织中与之交谈的人的类型。所以过去很多情况下,可能是数据科学家或者机器学习研究者。越来越多的经理、项目经理和其他决策者正在考虑组织中更广泛的数据战略。

Brian:从技术角度来看,它带来了许多新的用例,特别是在 JupyterHub 中,以满足大型组织的需求。安全性就是其中的一些例子,对于大型组织来说,安全性是一件非常重要的事情,尤其是在混合了敏感数据的情况下。另一个方面是,在这些大型组织中,与 Jupyter 一起工作的人通常有各种不同的技能、职责、角色、访问权限和优先级。因此,不一定只是那些整天生活在代码中的人,而是组织中许多处理数据的其他人,他们不一定想一直看着代码,甚至大部分时间都不想看。因此,我们正在做大量的工作来思考,Jupyter 需要如何发展才能解决这些使用案例?

行动呼吁

雨果:当然。那么,Brian,作为我的最后一个问题,我想知道你是否对所有可能使用过 Jupyter 笔记本,可能没有,但可能有兴趣这样做的听众发出了最后的行动呼吁?

布莱恩:是的。所以我认为有几种不同的行动要求。一个是让人们接触开源的个人。如果你是一名数据科学家或在公司从事机器学习的人,或者是一名学习这些工具和技术的学生,请参与开源项目。找到一个你感兴趣的开源项目,更多地了解这个项目,也许在文档方面提供帮助,我们发现,当不同的群体走到一起,相互交流,朝着共同的目标努力时,创新就会发生。所以我们有越多的人加入这些项目,帮助我们思考这些事情,开源项目就会越好,越健康,而且这些项目的用户也会得到更好的服务。

雨果:同意。

Brian:第二个行动号召是针对在这个领域使用开源工具的大型组织中工作的人,我认为重要的是要注意到许多开源项目,特别是那些社区驱动的项目,如 Jupyter 和许多其他 NUMFOCUS focus 项目,我们继续努力实现长期可持续性。这些项目的许多核心贡献者仍然缺乏长期资金和专注于项目工作的能力。因此,如果你在一个使用这些工具的组织中,我真的鼓励你与组织中的人交谈,思考并理解你如何支持核心贡献者和更广泛的可持续发展,不仅是在社区的意义上,而且特别是这些努力的财务可持续性。那会非常非常有帮助。

Hugo:我还要补充最后一点,我想是从去年中期开始,我开始一直使用 JupyterLab,而不是笔记本。我强烈建议那些仍在使用经典笔记本的人加入 JupyterLab。我想这些天你没有理由不这样做。这是一个使用笔记本和其他东西的好地方。

布莱恩:是的。说得好,雨果。甚至对于我工作中使用 Jupyter 笔记本的那部分,我也在一月份过渡到使用 JupyterLab,特别是在教学和一些研究中,并且在这种情况下工作得非常非常好。此时,我基本上一直在使用 JupyterLab。因此,我赞同你所说的话,并感谢你的美言。

雨果:太棒了。我很高兴你同意。布莱恩,非常感谢你来参加我们的节目。我总是喜欢我们的谈话,这是一种绝对的快乐,它正式化,并把它放在那里。

布莱恩:是的。雨果,非常感谢你制作这个播客。我知道很多人真的很欣赏它,谢谢你邀请我。

利用数据科学实现金融普惠

原文:https://web.archive.org/web/20221129045128/https://www.datacamp.com/blog/providing-financial-inclusion-with-data-science

https://web.archive.org/web/20220703051723if_/https://embed.podcasts.apple.com/us/podcast/76-providing-financial-inclusion-with-data-science/id1336150688?i=1000543340303

DataCamp 播客 DataFramed 的主持人 Adel Nehme 最近采访了 Credit Karma 的数据科学和工程副总裁 Vishnu V Ram。

介绍毗湿奴 V Ram

Adel Nehme:你好。这是来自 DataCamp 的 Adel Nehme,欢迎来到 DataFramed,这是一个涵盖所有数据及其对世界各地组织的影响的播客。总的来说,数据科学和技术最令人兴奋的一个方面是,它如何减少以前难以在服务中获取信息的障碍,无论是谷歌地图、提供导航、立即在 YouTube 上观看教程的能力,还是通过优步订购出租车。有鉴于此,数据科学在降低信息和服务壁垒方面最具影响力的领域是金融和医疗保健等高风险行业。这就是为什么我很高兴能与 Credit Karma 的数据科学和工程副总裁 Vishnu Ram 交谈。Credit karma 是一家成立于 2007 年的金融科技初创公司,旨在通过允许个人免费查看自己的信用评分来为个人提供金融包容性。

Adel Nehme:从那以后,它一直在生产一套利用数据科学的产品,为用户提供更多关于其财务未来的确定性。在这一集里,毗湿奴讲述了他的背景、Credit Karma 的使命、推动 Credit Karma 的数据科学产品的内部工作原理、他如何带领他的数据团队从 2000 万用户增长到 1.2 亿用户、构建数据文化、数据团队需要具备的技能等等。说到数据团队需要具备的技能,我们也很高兴地宣布推出 DataCamp Professional 的 14 天免费试用。它专为能够访问 DataCamp 所有课程的任何规模的团队而设计。一定要去看看,邀请你的同事。毗湿奴,很高兴你能上节目。

毗湿奴·V·拉姆:非常感谢你邀请我来到 Adel。

Adel Nehme:我很高兴与您讨论您在 Credit Karma 管理数据科学和工程的经验,以及您在领导数据团队和大规模运营数据科学方面开发的最佳实践。但是在我们开始之前,你能给我们一个关于你自己和你如何进入数据空间的简短背景吗?

毗瑟奴·V·拉姆:我进入数据领域的方式是,我听过很多你的播客,我知道很多人也谈论过这个。有点像迂回进入数据科学。在我的大学里,我做了几个关于使用模糊逻辑控制系统动力学的项目。这就是我喜欢进入人工智能的原因。本科毕业后,我有机会在神经网络方面做实际工作,但我最终选择了一条不同的道路。如果我选择了神经网络,我可能会进入数据科学,并更早地进入数据世界,这是我对它的看法。但我的道路最终更像是一名早期创业工程师,从零开始构建东西,然后开始担任一些早期创业公司的 CTO 角色,当你在做你可以理解的早期创业公司时,最终戴上多顶帽子,或者一堆不同的帽子。

Vishnu V Ram:我认为在这些创业公司的开始阶段,更多的是利用数据进行分析,利用数据做出成功或失败的商业决策。然后经过一段时间,开始做更多的事情,因为这些是更多的消费技术创业公司,做更多的用户行为数据管道,理解和做出重大产品决策。后来,我在其中一家初创公司从事电子商务产品推荐工作。最后,在 Credit Karma,我觉得事情又回到了原点,我没有在这家公司早期加入它。但我觉得我已经涉足了所有这些方面的数据,分析、数据科学、构建推荐系统、用户行为理解、机器学习,以上所有方面。

Adel Nehme:太棒了。对于那些没有意识到的人,你能简单介绍一下信用因果报应的背景和它是如何运作的吗?

毗湿奴 V 拉姆:对。我得回到 2007 年,那时我们的创始人创办了这家公司。我想在 2007 年,当我们的创始人创办公司时,主要是为了让大家免费开放 TransUnion 的信用评分。事情就是这样开始的。大约在 2015 年左右,也就是我加入的时候,我将把这一年作为一个重大的里程碑。这在这里是一个里程碑,因为是的,Equifax 以及 TransUnion。然后,如果你看看今天我们在哪里,我们已经在美国、英国和加拿大完成了大约 40 亿份信用评分和信用报告。

Vishnu V Ram:因此,Credit Karma 的旅程是从为我们的成员提供信用评分开始的,然后它开始帮助我们的成员很好地理解他们的信用报告。但与此同时,我们确实为产品添加了一些非常重要的功能,如身份监控。今天,我们的成员将 Credit Karma 作为一个平台来购买他们所有的金融产品,无论是信用卡、个人贷款、汽车保险、汽车贷款还是抵押贷款。在过去几年中,我们还增加了免费的银行产品,如支票和储蓄账户,这使我们的成员能够真正利用他们的信用业力来处理他们个人财务方面需要做的一切事情。

Adel Nehme:太好了。如果我没弄错的话,你们大概有 1.2 亿客户吧?

毗湿奴 V 拉姆:没错。在 2014 年至 2019 年期间,我们增加了约 7000 万用户。看到我们取得的增长,真是令人惊讶。增长的一部分对我来说非常非常惊人。

Adel Nehme:那一定非常令人兴奋,并且为今天的对话奠定了基础。Credit Karma 的使命真正令人兴奋的是使用数据来实现金融信息的民主化,并让每个人都有能力做出健康的金融决策。因此,我想通过真正理解核心数据对于 Credit Karma 成功和运营的重要性,为今天的对话做好准备。你介意给我们一个在 Credit Karma 使用数据科学的不同方法的概述,以及一些你亲自参与的使用案例吗?

毗瑟奴·V·拉姆:所以可能拿一些和我们所有人更相关的东西。比方说,你打开谷歌地图,你试图看到去某个地方。如果你没有打开 GPS 追踪系统,你可能需要输入的第一件事就是你现在在哪里?你的起始地址是哪里?因此,对于我们的许多会员来说,起点实际上是他们今天在所有金融机构眼中的位置,他们去那里获得他们的金融产品,而不仅仅是金融机构,如果你想租一个房子,如果你想从威瑞森或 T-Mobile 或任何其他供应商那里获得新的苹果 iPhone,你需要知道你的位置。我认为这也是我们所有 Credit Karma 成员了解他们的信用历史、信用报告和信用评分的起点。我可以说,我的信用评分这一个数据点是整个公司的起源。

毗瑟奴·V·拉姆:所以我会说,当你把它放在一个人面前时,这是一个非常强大的数据点,当他们有一种强烈的感觉时,就不会再想它了,对吗?比如,嘿,我的信用评分好吗?我有不良信用记录吗?我买得起最新的 iPhone 吗?我能负担得起去升级我的租赁吗?我可以申请新的房屋贷款吗?我能得到多少房屋贷款利率?你不再受这些人的摆布了。你很清楚在那个时候你被允许做什么。对吗?所以我认为这有点像我们所有成员的起点。然后你开始使用数据实现更多自动化,将数据用于更高级的用例,如利用机器学习来更好地理解用户,更好地理解产品,更好地理解用户产品交互,然后你将所有这些放在一起。

毗瑟奴·V·拉姆:所以归结起来就像数据和机器学习在信贷业中的实际应用,所以我们思考事物的方式,事物被分割的方式是我们有一种叫做确定性的东西。当用户申请金融产品时,很多时候他们会将自己置于一个脆弱的位置,可能会被拒绝购买该产品。因此,他们不确定是否会获得批准。因此,我们拥有的最大、最大的用例之一是为我们的成员提供确定性。你的产品获得批准的可能性有多大?一旦你能够向我们的成员提供这种确定性,这就给他们提供了一种完全的解脱。这是一种确定性,你知道你什么时候离开家,你想去你朋友那里,或者你想去一个新的地方。你只要在你的谷歌地图或苹果地图中输入目的地地址,你就会得到信息,这是路线,沿着这条路线走。

毗瑟奴·V·拉姆:你将在 25 分钟内到达那里。通常情况下,不管你在路上是否换车道,不管你在高速公路上是以每小时 70 英里还是 75 英里的速度行驶,你都可以确定你什么时候会到达那里,你会到达那里。这是我们在信贷业内对数据的一个很大的应用。然后确定性是很好的,但我有点想控制我想得到什么样的金融产品。我可能想从 A,B,C 得到金融产品,而不是 X,Y,z。我自己对它的控制是什么?我自己的意图是什么?我想得到一笔 15 年的房屋贷款,还是想在 15 年内付清房屋贷款?

毗瑟奴·V·拉姆:或者我想在 30 年的时间内支付房屋贷款?这些都是我想要控制的事情。作为一个用户,我想了解这一点。我希望能够做得很好。系统拥有的数据是什么,公司必须以某种方式帮助排序或排名,当用户使用信用因果报应时,你要考虑用户想要什么以及他们真正想从信用因果报应中获得什么,这就是排名应用程序的来源。第三件事是,我们都有在不同时间点想要信用卡、个人贷款、汽车贷款或房屋贷款的需求。但是不同的时间点是这里的关键词。当你得到某样东西的时候和当你不想得到其他东西的时候,我们的倾向模型就出现了。

毗瑟奴·V·拉姆:然后当你把所有这些东西放在一起时,你就有机会向我们的成员提供真正强有力的、相关的建议。当我们向我们的成员提供这些相关的建议时,你就能够从用户提供给你的信息和数据中获取所有的东西,并能够帮助他们从 Credit Karma 和与 Credit Karma 合作的所有其他合作伙伴那里获得他们想要的东西。所以我想说,就我们的数据而言,它就像是我们的面包和黄油。但除此之外,我们还利用数据做重要的事情,如在我们的系统中进行异常检测,在我们的业务指标中进行异常检测。然后我们也想知道我们做得有多好?我们会做得多好。像假设问题一样问和答,这是预测等事情发生的地方。但是我要说我的面包和黄油,以及很多关于信用因果报应的面包和黄油,因为数据已经在推荐空间里了。

Adel Nehme:你的构思非常棒,尤其是当你提到为人们提供救济的能力时。我不认为很多人会考虑到心理压力,尤其是弱势群体在与银行或金融机构打交道时的感受。因此,提供财务指南针的能力非常重要。

推荐引擎

Adel Nehme:显然,推荐引擎是 Credit Karma 商业模式的核心,而你是构建这一模式的关键人物之一。简而言之,如果我错了,请纠正我,你提供了从人们的信用数据中提炼出来的见解。他们从不同的银行和贷款人那里获得基于他们的信用洞察力的金融产品推荐。如果他们采纳了这一建议,贷方就会支付信贷业力。因此,客户总能获得您所讨论的免费见解和包容性。您介意详细介绍一下推荐引擎的第一次迭代吗?从那以后它是如何发展的?

毗瑟奴·V·拉姆:是的,我认为你说得差不多了,阿德尔,所以我只是在这里添加一些细微的差别。因此,当我在 2014 年及之前加入该公司时,有一些事情已经确定下来,我认为即使是现在,我们也没有真正改变任何事情。我们设定的一件事是一个双赢的商业模式,我们希望确保任何时候 Credit Karma 获得任何激励,当用户从与 Credit Karma 的互动中受益时,它就会获得激励。另一方面,银行或其他金融机构也从会员与信用因果关系的互动中受益。因此,我们为我们的成员、我们自己以及我们的合作伙伴树立了双赢的理念。我们认为这就是生态系统自我维持的方式,也让我们所有人、我们的成员、我们以及我们的合作伙伴走上了成长之路。

毗瑟奴·V·拉姆:但与此同时,随着时间的推移,我们处理这件事的方式已经发生了变化。当我开始的时候,我会说到处都有规则。就用户需求而言,数据收集有限。有很多基于规则的决策。然后我会说第一年左右,工作是将规则集中在一个地方。

毗湿奴 V 拉姆:请记住,该公司做得真的很好。我们的成员得到了很多实实在在的好处。我提到的确定性模型在它最早的化身中就已经存在了。当我加入公司的时候,有很多事情都运转得很好。但我们有机会看到当时服务于 2000 多万会员的一项业务,并能够取得更大的成就。

Vishnu V Ram:所以我想说,在最初的几年里,更多的是将所有的规则集中在一个地方,将模型视为核心,并有一种方法,我们能够取代许多这些分析性的见解,这些见解更多地基于时间点,也可能是特定于某些人群的,然后用可以进化和学习的模型来取代它们。

Vishnu V Ram:然后为了能够支持这一点,我们必须在我们的数据收集基础设施上进行非常重要的投资。此外,我们还下了很大的赌注,转向 Bitquery。在 GCP 发展的非常非常早的时候,GCP 还处于早期阶段,我们在 Bitquery 上下了很大的赌注。我仍然记得有一次我们坐在首席技术官的房间里,我们在想 Bitquery 就像市场上的其他产品一样,我们在想为什么我们要进入 Bitquery。

Vishnu V Ram:我认为当我们进行投资时,Bitquery 对我们来说是一个巨大的胜利。它给我们的数据科学家带来了确定性,实际上,在某种程度上,他们知道当他们周一早上来上班时,他们需要操作的数据集,能够开始训练他们的模型,以及他们需要查看的数据,以了解当前在生产中运行的模型是否工作良好,它就在那里,他们可以访问它,他们不需要担心是否能够访问它。

毗湿奴 V 拉姆:我认为,大约四年后,大约在 2017 年左右,我们的模型开始接管。我们意识到,我们需要对我们的实验系统进行重大改进,这个系统有点过时,而且做出了很多奇怪的决定。所以我们想确保我们能够建立一个强大的实验服务。这是我们在 2016 年投资的一个项目。

Vishnu V Ram:也是在那一年,我们开始组建我们早期的 ML infra 团队,最初在 AWS 中,后来我们把它放到了 Google cloud 中。

Vishnu V Ram:我认为在那个时候,我们也在考虑我们是否想要成为一个全 Scala 商店,因为许多工程或许多系统都基于 Scala,我们在想,“嘿,工程师可能比数据科学家多,而数据科学家编写的代码行更少。也许我们可以让我们的数据科学家学习 Scala。”因为它们中的一些来自 R,一些来自其他的生态系统。所以我们说,“嘿,为什么我们不弄清楚我们是否能让他们做 Scala。”那没有持续多久。

Vishnu V Ram:我想说的是,2018 年我们将更多地转向 Scala 工程,Python 数据科学,并允许我们的数据科学家真正带来他们想要的一切,并成为社区的一部分。整个数据科学社区都基于 Python,因此允许他们也与社区互动,从社区中学习,然后以简单的方式将其带入[听不清 00:18:21],同时允许我们的工程系统在 Scala 的堆栈上大规模运行。

毗瑟奴·V·拉姆:还有一段时间,我们从 0.1 天开始就一直在跟踪 TensoFlow。我们确实认为这将是我们在未来某个时候可以利用的东西。2018 年,我们说,“好吧,让我们开始向 TensoFlow 前进。”或者在 2018 年左右,谷歌也发表了 TensoFlow 扩展论文。然后当我们看到扩展的论文时,我们知道这些正是我们思考自己的机器学习基础设施的方式。对我们来说,继续做大 TensoFlow,继续做大 GCPS 是很有意义的,特别是考虑到我们在 Bitquery 上的早期成功。

毗湿奴·V·拉姆:今天,我想说我们每天做 350 亿次模型预测。我们收集所有关于用户所见的数据。当用户收到通知时,推荐系统驱动用户看到的一切。它只是参与了与用户的每一次互动。

Vishnu V Ram:回顾并重申这一点,在所有这些演变中,不变的是双赢/多赢/双赢的商业模式。我们的目标函数并没有真正改变。我们的目标职能始终忠实于企业真正希望我们交付的东西。

Adel Nehme:我很乐意打开其中的一些。因此,我们做了一些基础设施层面的改进,数据收集方面的改进,等等。就用于驱动这个推荐引擎的数据而言,显然关键的合作伙伴是像 Equifax 和 TransUnion 这样的信用机构。但是你也使用外部数据来补充你的解决方案吗?如果是,您使用什么类型的数据来补充推荐引擎?

Vishnu V Ram:我认为来自我们局的数据肯定是我们所做的一切的主要驱动力。但与此同时,我们也意识到,虽然为我们的会员提供大量的确定性以及了解他们想要什么对我们来说很重要,但申请金融产品和申请不同金融产品的申请流程非常复杂,需要经过许多步骤和冗长的表格。很多都是重复的。我们意识到,在所有这些应用中,有几个数据点是必需的。请记住,当有人发现申请产品很容易时,如果他们有把握,那么这将为我们的胜利/胜利/胜利提供飞轮。

毗瑟奴·V·拉姆:所以在这个思考过程中,我们确实引入了一些数据来帮助我们的成员。一些数据点实际上是会员自己提供给我们的。只要确保如果你被要求申请某个特定产品的收入,那么两周后你将申请其他产品,你猜怎么着,同样的收入也用于下一个申请流程。就像,让用户轻松地完成整个过程。

Vishnu V Ram:还有其他一些事情可能看起来微不足道,但从数据的角度来看,但从成员易用性的角度来看,它只是让我们变得更好。如今我们都认为这是理所当然的,但是你仍然需要努力去实现它。就像当我输入我的地址时,我的地址是正确的吗,我搞砸了什么吗?如果你只是把它放在 DoorDash 或优步上,如果你错过了它,你就错过了乘车或送餐。但是如果在一个金融产品里面做,就有机会浪费很多时间。你可能正在申请房屋贷款。你可能已经出价,你想得到房屋贷款。你不想弄错,你想把事情做好。

Vishnu V Ram:所以,为了帮助会员在任何时候都做正确的事情,我们在这些领域进行投资,这样我们就可以纠正用户输入的地址,这样他们就不会弄错了。它允许我们为我们的成员提供易用性。

Vishnu V Ram:随着我们的许多供应商也采用云技术,并且也在云中,许多这些数据集成变得更加便宜和容易。因此,就他们的体验而言,做一些事情来帮助我们的成员获得更好的易用性是显而易见的。

财务决策

Adel Nehme:太好了。到目前为止,您已经提到了双赢模式,以及您希望如何为此进行优化。现在,我们可以从很多角度来讨论这个问题,但是考虑到增强用户能力对于 Credit Karma 的使命是多么重要,您如何确保您提供的建议和产品符合公司的关键原则,最终为用户提供做出更好、更健康的财务决策的能力?

毗湿奴 V 拉姆:我认为这是一个非常困难的问题。问得好。这是一个非常非常困难的问题,如何能够持续不断地这样做。任何时候,当你需要坚持做一些真正困难的事情时,你必须从你用你的文化做什么开始。

Vishnu V Ram:我认为作为我们文化的一部分,作为一个组织,作为团队,作为组织中的个人,我们有很多合作。根据定义,当我们在数据方面做事情时,我们正在与业务密切合作,以了解业务需求是什么,了解什么样的业务约束更好。我们还与法律和营销部门密切合作,以了解我们需要正确遵守的法规。并确保我们更好地了解我们的用户需求,了解什么工作得好,什么工作得不好。

Vishnu V Ram:在所有这些过程中,还需要对我们的最终用户有正确的同情心,真正了解谁是我们的最终用户,他们从使用产品中得到什么,他们有什么反馈来帮助我们,我们可以利用这些反馈来做得更好。在这里做了很多不同的事情。

毗瑟奴·V·拉姆:但我要说的是,就文化而言,真正对我们有用的是,当你与任何利益相关者交谈时,在整个过程中保持谦逊和好奇。因为特别是当你利用数据为 1 亿人做决定时,你是在非常非常大的范围内工作。

毗瑟奴·V·拉姆:所以在这个过程中保持谦逊和好奇是非常重要的,并且能够进入很多这样的对话,在那里有人可能会问你这样的问题,“嘿,为什么我会看到这个?为什么给我发这个推送通知?你为什么给我发这封邮件?”他们问你这个问题的方式,可能会有点伤害你。你可能会想,“哦,我当然是为 1 亿用户这么做的,你可以期望我在这里或那里得到一些错误的用户。”但是如果你保持谦逊和好奇,你会想从那次谈话中得到一些东西。这只是你如何能够灌输一种文化的一部分,即保持谦逊和好奇,并感同身受地倾听。那很有帮助。

毗瑟奴·V·拉姆:然后为了能够支持它,你真的希望有正确的过程,并且你一直在建立正确的过程。比如将一切都设置为实验,测量一切,确保您的发布和斜坡设计良好,并且您知道您在发布前已经查看了这些指标。

Vishnu V Ram:即使在发布之后,你也在寻找正确的指标来确保。有时我们会说,“嘿,如果收入不变,我们就想推出。”但是如果收入最终是负的,那么你仍然会想,“嘿,好吧,收入是负的,但是还有其他重要的指标。就用户而言,它变得更好了。所以让我们开始吧。”

毗瑟奴·V·拉姆:然后,再一次,你可以谈论所有这些,但是我们周围都在发生变化。尤其是在 COVID 时代,我们已经看到所有这些变化都给了我们巨大的冲击。你必须以一种能很好地保护不利因素的方式来构建系统,这样你才能始终支持团队的创新,才能跟上变化,继续应对变化,从变化中获得更多价值。我想说的是,要处理这样一个难题,你需要强大的投资和文化处理系统,我是这么说的。

Adel Nehme:你如何确保自己能够理解不利的一面?例如,你目前在你的模型上使用任何可解释的技术吗,或者你对用户如何被一个特定的模型影响做任何追溯分析吗?

毗湿奴 V 拉姆:这是个很好的问题。我认为从 2017 年开始,当我们从零开始重建我们的推荐系统时,我们非常清楚我们对一个非常复杂的系统的流程产生了影响。并且该系统具有模型,该系统具有规则,该系统具有可以在推荐系统之外应用的其他商业约束。我们可能会同时进行数百个实验。所以我们知道我们真的需要再次投资数据收集。在这种情况下,我们真正做的是投资于系统内部工作规模的数据收集。

Vishnu V Ram:因此,如果我们看到任何异常或差异,如果有人报告了一个问题,或者如果一些用户看到了他们不应该看到的东西或没有看到他们应该看到的东西,我们就能够进行诊断和故障排除。我们真的希望让我们的分析师和数据科学家能够获得这项投资。

毗瑟奴·V·拉姆:所以,我想说,这是我们能够理解端到端系统如何工作的一个非常非常大的驱动因素,因为,当你建立模型时,你通常会想说,“嘿,我正在建立确定性模型。我的模型提供好的确定性还是坏的确定性?他们在提供确定性方面做得好不好?”但你可以有最高度确定的模型,金融产品,但如果你从来没有向会员展示,他们永远不会申请或永远不会与它互动,你不知道在引擎盖下发生了什么。

Vishnu V Ram:所以我们知道我们有不同的模型集,不同的规则,不同的业务约束,以及新的数据流入。所以当你把所有这些放在一起,这是一个非常复杂的系统。你真的,当你考虑可解释性时,你真的想考虑端到端的系统可解释性,就我们成员的最终结果而言,而不是看零零碎碎的。

毗湿奴 V 拉姆:零碎也是你从中得到的东西,但你必须从成员结果开始,然后向下工作。因此,我们在那里进行的最大投资就是确保我们收集了大量关于系统如何工作的数据。这让我们能够在此基础上继续建设,能够...因为可解释性技术,它们也在不断变化,所以你有机会在你已经拥有的基础上继续构建。

如何创建为客户增值的数据解决方案?

Adel Nehme:我认为这是一个很好的话题,来讨论你作为数据领导者和在 Credit Karma 保持数据团队的整体经验。我很想深入探究数据如何推动 Credit Karma 的成功。显然,掌控数据团队的整体方向是 it 的关键组成部分。您如何确保在任何给定的时间,您总是在创建有益于 Credit Karma 客户并增加价值的数据解决方案?

毗瑟奴·V·拉姆:我认为它始于理解你为客户和企业创造的价值。如果你对自己创造的价值有很好的理解,那么你就能做得很好。我看事情的方式是,你需要很多不同的东西来创造价值。你需要真正好的数据,高质量的数据。您需要能够收集所有这些信息并进行扩展,以便及时用于模型培训、分析和模型评分。然后,您需要能够将正确的建模技术应用于解决问题。

毗湿奴 V 拉姆:这些年来,我们经历了各种迭代。我们仍然有各种不同的建模技术可以利用,既有神经网络,也有树和我们使用的其他模型。然后你需要系统和流程。当您拥有数据、正确的数据、正确的建模技术、正确的系统和流程,并且所有这些都结合得非常好时,您就创造了最佳的最终用户价值。如果您考虑了所有这些方面,并且考虑了这些领域中的差距,然后您能够在正确的时间填补正确的差距,那么您就知道您有能力持续创造最终用户价值。

毗瑟奴·V·拉姆:你会犯错,当你犯错的时候你怎么抓住它?你只需要反思哪些做得好,哪些可以改进,因为我们有时会过度投资于数据、系统或模型技术。所有这些事情,我们都搞错了。所以,这个想法,真的,是要确保你把所有这些东西都放在一起。如果你做错了其中一件事,猜猜会发生什么?你可能没有交付用户价值,你有一个真正的机会完全扼杀这种主动性。

毗瑟奴·V·拉姆:所以如果你非常深思熟虑,如果你适当地思考这些,那么你知道,“嘿,如果我的系统是正确的,那么这些模型应该是有效的。这个,我们早就解决了。我们本可以更好地为用户解决这个问题。”因此,它在思考这些领域中的每一个领域,以及它们是如何结合在一起的,你如何对其进行反思,以及如何对其进行改进。这就是你如何始终如一地为我们的客户提供价值。

衡量投资回报率

Adel Nehme:所以,当然,这里有很多优先事项可以竞争。随着时间的推移,你如何对不同的任务和项目进行优先排序?当然,在对项目进行优先级排序时,预期 ROI 是很重要的。总体而言,您如何衡量投资回报率,以及如何将其纳入您的优先化框架?

毗瑟奴·V·拉姆:这真的没有什么灵丹妙药。所以我想你肯定想做你提到的事情。我觉得我们学到的另一件事,我觉得我们做得很好,就是...我只需要一个数据科学术语。耐心点。因此,根据哪个项目会给你带来投资回报,哪个项目不会给你带来投资回报,拥有良好的先验知识真的很有价值。同样,其中一些也是时机。因此,不仅要获得正确的投资回报,还要获得正确的投资回报时机。

毗湿奴·V·拉姆:我觉得我们做得很好的一件事是...从历史上看,Credit Karma 在吸引行业资深人士加入公司方面一直做得很好。他们能帮什么忙?他们可以帮助我们找出可靠的前科。然后你就能构建出一组廉价的迭代。因此,当你有可靠的先验,当你的迭代是廉价的,那么投资回报决策过程,你可以承受犯错。一旦你做错了,你会经历一些迭代,这些迭代是廉价的,这让我们能够返回,然后做出不同的决定,走上不同的道路。

Vishnu V Ram:其中一些也来自于我们能够构建和组装平台的能力,这些平台可以帮助降低投资回报率的分母,因此进行这些投资会更便宜。再说一次,这也是你必须有一个良好的组合,建设和购买。如果你有一个构建和购买的良好组合,那么你就有机会减少投资。所以你的投资回报决定不是一成不变的。退回去更便宜。

毗瑟奴·V·拉姆:说了这么多,我确实谈到了一些我们在过去所做的关于系统如何工作的数据收集。它让我们能够问一些有趣的假设问题,比如,“如果我有这些数据会怎么样?如果我们能够推出这个模型或者建造这个模型会怎么样?我们是否能够做得更好,提出更好的建议?”所以这是有科学依据的。它也有很多艺术。

Adel Nehme:现在,鉴于你已经在 Credit Karma 工作了大约七年,我相信你已经看到了公司在这段时间内的巨大爆炸式增长。这意味着还要确保扩展数据和工程团队,以及支持大规模数据分析的基础架构。然而,除此之外,作为一名数据领导者,您如何不仅能够为数据科学家扩展数据科学,还能够扩展组织中每个人大规模做出数据驱动型决策的能力?在实现这一目标的过程中,数据团队的角色是什么?

Vishnu V Ram:当你在 2000 万用户中运营,然后当你增长到 1.2 亿用户时,团队规模自然会随之增长。当团队规模随之增长时,你必须不断地演进过程,不断地思考,“我的组织是如何构建的?该组织是如何构建的,以交付未来将向信贷业要求什么,以及未来将要求信贷业为成员交付什么?”而不是过于关注历史背景。此外,您还需要不断改进基础架构,以便能够支持所有数据。这是一个持续的挑战,每个领域都是如此;我们如何发展过程,我们如何发展组织结构,我们如何发展基础设施。

Vishnu V Ram:例如,当我在 2014 年加入时,我们有一些数据科学家,他们分散在几个团队中。当时没有定义明确的数据科学团队。然后,直到 2017 年,我们都没有机器学习基础设施团队。所以你必须能够选择创建这些新团队的时间。基本上,你要求一些人停止他们在组织不同部门正在做的事情,并强迫他们走到一起,成为一个有凝聚力的单位,然后你为他们创建一个章程。

毗瑟奴·V·拉姆:然后你还必须思考,在这段时间内,商业是如何发展的。我们的业务已经朝着更加垂直化的结构发展。当你走向垂直结构时,这些垂直结构中的每一个都有他们追求的非常重要、强烈的目标。作为一个数据组织,您可以帮助他们每个人实现他们的目标。因此,这又一次归结为,我们的组织如何,我们的系统如何随着业务需求而发展?

毗瑟奴·V·拉姆:然后你必须能够思考,成功的伙伴关系是什么样子的?你必须明白哪些是你需要花更多时间来帮助他们变得更加成功的伙伴关系,哪些是你可以负担得起的,至少在一定时间内保持现状。有时你想看着某样东西说,“嘿,那是个项目,”有时你会看着某样东西说,“那不是个项目。这是一个长期团队,需要经历七八次不同的迭代,才能构建出一个好的系统。”然后,即使在那之后,他们必须能够不断添加更多的细微差别,不断使事情变得更复杂、更有效。

毗瑟奴·V·拉姆:在这整个过程中,我们如何交流,我们如何区分优先次序,一切都在改变。多年来,我们可能已经多次改变了计划和执行机制下的优先级。老实说,有一段时间,我非常非常专注于执行,而不是计划,尤其是当我们在组装系统的初始构件时。这真的需要我们有强大的执行力。但是一旦你有了基本的系统,那么你就会进入更多的节奏。你需要更多地与垂直行业合作,合理规划他们将如何利用系统,从你的投资中获得更多价值。

毗瑟奴·V·拉姆:所以我认为这就像是你将继续发展你的组织结构和流程,这样你就会开始变得真正强大的执行能力,你就会变得真正强大的计划能力。规划流程允许您建立成功的合作关系,通过利用数据帮助多个业务部门取得成功。

扩展数据团队

Adel Nehme:现在,回到扩展数据团队,您如何确保发展您的数据科学家技能组合?所以在方向上,你更看重通才数据科学家还是更看重专科?您确保发展数据团队技能的方法是什么?

Vishnu V Ram:我谈到了试图让我们的数据科学家在某个时间点开始做[Scala 00:40:24]的失误。因此,我认为这也可以追溯到我们希望为企业和我们的成员提供什么,以便很好地了解当前的差距,很好地了解我们如何才能很好地利用我们的数据,我们如何才能很好地模拟我们的业务问题。当我们开始时,我们从来没有能够帮助我们的数据科学家利用深度学习之类的东西的系统。一路走来,一旦我们投资了 TensorFlow 和 GCP,我们就能够进入这样一个领域,我们的数据科学家能够将深度学习视为他们工具箱中的另一个工具。

毗瑟奴·V·拉姆:所以我认为许多这些建模技术和能够观察数据,能够探索数据,许多这些技能是...我想说的是,当你面对正确的业务问题时,你可以不断地添加它。有时人们会说,“嘿,我想做[听不清 00:41:24]或我想做 GPT3”或其他什么,但你可能在业务中没有真正的用例来利用这些东西。

Vishnu V Ram:我认为当我们开始的时候,我们肯定需要更多的通才数据科学家,尤其是当我们在构建我们的系统的时候。我们需要我们的数据科学家也和我们的工程师一起进入战壕,以确保我们的系统设计良好。经过一段时间,我们进入了一个更需要我们的数据科学家以更深入的方式理解他们正在解决的问题以及他们可能做出的一些低级决策的影响的世界,这些决策可能会改变您解决问题的方式。然后试着理解这些问题是如何演变的?

Vishnu V Ram:那么在业务方面与 more 的合作,在特定领域与产品理解的合作,我们是如何做事的,我会给你一个例子来更好地理解它。从历史上看,信用卡和个人贷款一直是企业和会员收入和交易的主要驱动力。信用卡交易比房屋贷款交易要多得多。这意味着你有很多数据。然而,当谈到房屋贷款,你有少得多的数据。

Vishnu V Ram:因此,为了能够建立你的技能集,不仅仅是处理大规模的信用卡交易数据,还能够处理较小规模的房屋贷款,房屋购买数据变得非常非常有价值。因此,数据科学家需要能够理解他们将使用哪些技术。他们不能采取同样的技术,并在这里不及格。他们需要能够理解什么技术在这里更适用。然后,他们必须不断地更好地理解问题,并试图简化它,这样他们就可以,也许他们现有的一些技术仍然可以在这里工作。

Adel Nehme:那真是太棒了。并将其扩展到组织文化和技能中。您如何描述 Credit Karma 的数据素养,以及您采取了哪些措施来保持数据素养?什么样的系统可以让每个人都可以访问数据,并能够自己做决定?

毗湿奴 V 拉姆:对。我认为,确保当你建立一个组织时,你有意识地刻意思考如何让你的团队成为一个多元化和包容性的团队。我认为,能够建立一个多元化和包容性的团队,可以让你对我们的成员面临的一些问题有更广泛的理解,并且在如何与利益相关者建立成功的合作伙伴关系方面,也能真正击中要害。因为不管你相不相信,你都希望与多元化和包容性的利益相关者一起工作。你真的需要能够与他们交流。你真的需要能够很好地理解他们的问题。我想说的是,尤其是在数据科学团队方面,我们在招聘和培养关键女性领导者方面取得了非常早期的成功,她们真正帮助我们在运营方面变得非常强大。

Vishnu V Ram:这又回到了建立这些关键人物的数据文化,为他们建立...雇佣这些关键人物,为他们的持续发展做准备。增长是我们非常非常珍视的东西。我可以诚实地告诉你,因为这是我在任何一家公司工作时间最长的一次。对我来说,我只是觉得每年,每六个月,每个季度,每个月,我觉得总有一些新的东西在帮助我成长。当你想的时候...当增长成为你运营方式的一个重要部分时,自然而然会发生的事情是,你不能坚持所有的决策,你不能坚持所有的优先顺序。你需要让你的团队也能自下而上地思考,哪些数据对我们解决问题很重要。

毗瑟奴·V·拉姆:当你经历这个过程时,你最终从这个过程中得到的计划就像一个非常非常丰富的计划。我不会说我们在这方面是完美的。我仍然觉得我在不断寻找改进的方法。就 Credit Karma 的数据素养而言,我认为...我是说,就像我告诉你的那样。当我开始的时候,有很多规则,到处都是规则。事实上,到处都有规则,这意味着我们已经在查看数据并引入这些规则,这些规则更像是分析驱动的见解,我们说,“嘿,这种产品对这个信用评分范围内的人来说真的很好。这种产品真的很适合那种信用评分范围的人。”基于数据,我们在规则中捕捉到了大量的分析见解。

Vishnu V Ram:我认为我们所面临的最大挑战之一是能够慢慢地消除一些规则,允许模型学习,允许模型进化。这是一个非常艰难的过程,因为模特不能为你做所有的事情。模特会犯一些非常非常错误的事情。规则是你建立的保护机制,确保模型和规则能够很好地协同工作。

毗瑟奴·V·拉姆:所以如果你想采取这些规则中的一条,这是向我们的成员提供正确价值的一个如此重要的因素,你想用模型来取代它,你真正需要做的是真正真正投资于模型如何工作的透明度,并确保你的所有利益相关者对这些模型如何工作有强烈的感觉?当您迭代这些模型时,您是否遵循了正确的过程?每次你出去做那些迭代的时候,你会到达一个更好的地方吗?如果你不是在做一件好事,如果你在做一些灰色地带的事情,你会在开始做这些模型之前来和我们谈一谈吗?

毗瑟奴·V·拉姆:所以我想说,这些一直在继续发展,继续让我们的生活充满乐趣和挑战。但与此同时,我们知道这是我们真正需要的,为我们的成员提供最好的东西,不仅仅是对我们的模型或数据驱动系统最好的东西,而是对我们的成员最好的东西。

展望未来

Adel Nehme:我认为这是对数据素养的一种奇妙的理解,特别是它如何武装人们就机器学习系统和生产进行艰难的对话。我很乐意围绕数据科学和金融科技的未来以及你最感兴趣的事情进行更多的讨论。在数据科学领域,你最期待的事情是什么,具体来说,你最期待的将为 Credit Karma 客户提供价值的事情是什么?

毗湿奴 V 拉姆:对。我认为我们的首席执行官和领导层已经谈了很多关于自主财务的问题,我们能够帮助我们的成员做正确的事情。最后,这就是我们要做的,对吗?我们希望确保我们的成员能够利用信用因果报应,在他们财务旅程的大部分日常事务中保持自动驾驶,并能够始终在正确的时间做出正确的决定。对吗?

毗瑟奴·V·拉姆:我认为如果你需要更新你的汽车保险,如果你的家庭最近刚刚有了一个孩子,你可能需要改变你在汽车保险中的内容。这不仅仅是降低你的利率。这也是为了确保你的家人得到适当的保护。为了能够使用这些数据,优化我们的消费者的生活,让他们的生活变得丰富多彩,许多平凡的事情都得到了关注。然后,很多重要的事情,他们仍然在某种程度上控制着他们的旅程,控制着他们的命运。我想我会的...就我在公司所关心的而言,我们如何着手解决这些问题可能需要五年的时间。

毗瑟奴·V·拉姆:然后,当你进入类似于,嘿,我怎么能在这里利用因果关系?因为如果你不能做像因果关系这样的事情,你就不能很好地解决这些问题。我该如何,我们是否需要投资于知识图表之类的东西,以便能够理解用户想要从某些金融产品中得到什么,或者他们的动机是什么,他们的目标是什么?他们从这些金融产品中获得了什么来解决他们生活中的日常事务?

Vishnu V Ram:所以我们需要在因果关系、知识图表等方面进行正确的投资,以便能够更好地了解我们的用户,了解金融产品提供的价值。然后,这将使我们能够更多地参与,更多地执行我们为会员提供自主融资的愿景。

行动呼吁

Adel Nehme:这真的很令人兴奋,也很棒。所以毗湿奴,在我们结束之前,在我们结束今天的这一集之前,你还有什么遗言吗?

毗湿奴 V 拉姆:对。我认为,在金融领域和金融科技领域经营,从历史上看,这个领域一直非常不透明。但是我想说有很多创新。这里有很多透明度,很多新玩家都非常喜欢透明度。我真的想确保我们所有人都加倍努力。获取所有这些数据并为企业创造更多假钞总是很容易的,但让我们记住,我们利用的数据实际上属于用户,属于我们的成员。我们真的希望能够做更多的工作来帮助他们成功。我想说的是,商业上的成功会自然而然地随之而来。

Adel Nehme:非常感谢你来到 DataFramed,Vishnu,并分享你的见解。

非常感谢,阿德尔。

Adel Nehme:今天的 DataFramed 节目就到这里了。谢谢你和我们在一起。我真的很喜欢毗湿奴关于数据科学推动信贷业的见解。如果你喜欢这一集,一定要在 iTunes 上留下评论,我们下次在 DataFramed 上再见。

Python 2 vs 3:您需要知道的一切

原文:https://web.archive.org/web/20221129041202/https://www.datacamp.com/blog/python-2-vs-3-everything-you-need-to-know

Python 2 vs 3

如果你正在考虑进入数据科学领域,你可能听说过 Python。Python 是一种开源的通用编程语言,广泛应用于数据科学和其他软件领域,如 web 和游戏开发、网络安全和区块链。

Python 的流行在最近几年蓬勃发展。它在各种编程语言流行指数中排名第一,包括 TIOBE 指数和 PYPL 指数。你可以在另一篇文章中了解更多关于Python 用于的内容。

由于其简单易读的语法,Python 经常被认为是新程序员最容易学习的编程语言之一。如果你是数据科学的新手,不知道先学哪种语言,Python 是最好的选择之一。现在,您可以参加 DataCamp 的Data Scientist with Pythoncareer track,开始您的数据科学之旅。

然而,事情可能会变得有点混乱。您可能也听说过 Python 2 和 3。这是什么?难道没有一种单一的 Python 编程语言吗?你应该学哪一个?无需强调:除了特殊情况,到目前为止,您将一直使用 Python 3。无论如何,知道它们的区别总是好的。

在接下来的章节中,我们将解释什么是 Python 2 和 3,它们之间的主要区别,以及哪一个是最值得学习和使用的。

什么是 Python 2

Python 是由吉多·范·罗苏姆在 20 世纪 80 年代末开发的,并于 1991 年首次公之于众。经过九年的发展和普及,Python 2.0 于 2000 年发布。

Python 2 附带了一个全新的技术规范,名为 Python 增强提案 (PEP),旨在为编写 Python 代码提供指南和最佳实践。它还提供了一些新特性,比如列表理解、Unicode 支持和循环检测垃圾收集器。

但是 Python 2 中最重要的变化是开发过程本身。Python 被认为是一种易于初学者学习的编程语言。为了实现这个目标,负责开发 Python 的团队——以 Guido ban Rossum 为首——决定转向更加透明和社区支持的开发过程。

Python 2 随着时间的推移继续发展。连续的版本给编程语言增加了新的功能。Python 2 的最新版本是 Python 2.7,发布于 2010 年。对该版本的支持于 2020 年 1 月 1 日结束。

什么是 Python 3

Python 3 是下一代编程语言。它是在 2008 年 12 月发布的,附带了一些改进和新特性。

Python 3 不仅仅是调试后的另一个版本的 Python 2 代码。新版本彻底改变了语言,以解决以前版本中的安全问题和设计缺陷。Python 3 提供了一种新的语法,旨在防止冗余或重复的代码,即以不同方式执行相同任务的代码。通过提供单一、清晰的做事方式,Python 3 的易用性和可读性有了很大的提高。

Python 3 中的一些主要变化包括将打印声明改为内置函数、改进整数除法和改进 Unicode 支持。这些变化的本质是 Python 3 与 Python 2 不兼容,换句话说,它是向后不兼容的。

为什么会有不同的 Python 版本?

让我们看一些编码例子来说明 Python 2 和 3 的区别!

新的 print()函数

Python 2 中的 print 语句已经被 Python 3 中的 print()函数所取代,这意味着我们必须将想要打印的对象放在括号中。

Python 2:

>>> print 'Hello DataCamp'
Hello DataCamp

Python3:

>>> print('Hello Datacamp')
Hello Datacamp

整数除法

在 Python 2 中,当除以整数时,结果总是整数。在 Python3 中,结果总是包含小数,使得整数除法更加直观。

Python 2:

>>> 5/2
2

Python 3:

>>> 5/2
2.5

Unicode 支持

在 Python 2 中,每个 Unicode 字符串都必须用前缀“u”标记,因为默认情况下它使用 ASCII 字符。相比之下,Python 3 默认将字符串存储为 Unicode,这比 ASCII 字符串更通用。

Python 2:

>>> print type("Hello DataCamp!") # this is an ASCII string
<type 'str'>

>>> print type(u"Hello DataCamp!") # this is a Unicode string
<type 'unicode'>

Python 3:

>>> print(type("Hello DataCamp!")) # this is a Unicode string
<class 'str'>

距离函数

Python 2 中的 xrange()函数在 Python 3 中不再存在。它已被 range()函数所取代,该函数提高了遍历序列时的性能

Python 2:

>>> xrange(1,10)
xrange(1, 10)
>>> type(xrange(1,10))
<type 'xrange'>

Python 3:

>>> range(1,10)
range(1, 10)
>>> type(range(1,10))
<class 'range'>

在下表中,您可以找到 Python 2 和 3 之间的主要区别。

|   | Python 2 | python3 |
| 发布日期 | Two thousand | Two thousand and eight |
| 句法 | 更加复杂和难以解释 | 易读易懂 |
| 表演 | 设计缺陷导致性能下降 | 与 Python 2 相比,提高了代码运行时的性能 |
| 打印功能 | 打印“欢迎来到数据营” | 印刷(“欢迎来到数据营”) |
| 整数除法 | 结果是一个整数值。小数总是被截断 | 结果总是一个浮点值 |
| Unicode 支持 | 默认情况下使用 ASCII 字符。要存储 Unicode 值,您需要使用“u”来定义它们 | 字符串的默认存储方式是 Unicode |
| 范围 | xrange()函数创建一个数字序列 | range()函数在迭代时比 xrange()更有效 |
| 向后兼容性 | 将 Python2 移植到 Python 3 相对容易。 | Python 3 不向后兼容 python 2 |
| 图书馆 | Python 2 的许多旧库不是向前兼容的 | Python 3 的大多数新库不能在 python 2 中使用 |

可以把 Python 2 转换成 3 吗?

进化是每一种编程语言的重要特征。语言随着时间的推移而发展,以提高性能并保持与用户的相关性。从 Python 2 到 3 的迁移是 Python 历史上最大的变化。

虽然公司和开发人员最终将其代码库迁移到 Python 3 是有意义的——特别是在对 Python 2 的支持结束之后——但将代码从旧版本移植到新版本可能是一个困难和令人生畏的过程。这在 Python 中尤为严重,因为许多 Python 2 库并不是向前兼容的。

幸运的是,有一些资源可以帮助将 Python 2 代码转换成 Python3。

  • 2to3 :一个 Python 程序,它获取 Python 2.x 源代码,并应用一系列修复程序将其转换成有效的 Python 3.x 代码。
  • Python-Future :允许您使用一个干净的兼容 Python 3.x 的代码库,以最小的开销同时支持 Python 2 和 Python 3。
  • :一个 Python 2 和 3 兼容库。它提供了一些实用函数来消除 Python 版本之间的差异,目的是编写与两个 Python 版本都兼容的 Python 代码。

Python 2 vs 3:哪个最好?

虽然这在几年前是一个有争议的问题,但今天,毫无疑问 Python 3 是一个更好的选择。首先,从 2020 年开始不再支持 Python 2。所以用 Python 3.x 写新项目是有意义的,其次,由于不再支持 Python 2,所以所有的开发都在 Python 3 这边。在每次新的升级之后,该语言都经历了不断的改进(最新版本是 Python 3.10.5,并且已经有了 Python 3.11 的测试版,它具有重要的新特性)。

在这种背景下,Python 3 的大量采用就不足为奇了。根据 JetBrains 进行的 2021 年 Python 开发者调查,平均而言,使用 Python 3 的 Python 开发者比例为 95%。此外,Python 2 用户的份额每年减少 5 个百分点。

采用 Python 2 还是 Python 3

Adoption of Python 2 vs Python 3

来源: JetBrains

使用哪个 Python 版本?

Python 3 是当今最好的 Python 版本。放手一搏是最安全的选择,尤其是对于新手程序员。自从停止支持以来,Python 2 很快就失去了活力,越来越多的公司将他们的代码迁移到 Python 3。鉴于它在许多软件领域不断增长的需求、广泛的使用和大量社区支持的库,学习 Python 3 是有意义的。

然而,需要注意的是,在某些情况下,您仍然需要使用 Python 2。首先,许多公司仍然有用 Python 2 编写的遗留代码库,很难移植到 Python 3。如果你正在工作的公司或项目是这种情况,你需要学习 Python 2。第二,有一些软件领域,比如 DevOps,仍然需要 Python 2。

无论如何,如果你正在考虑在数据科学领域开始新的职业生涯,Python 3 是明智的选择。有了 DataCamp,一切都为您准备好了。查看我们的 Python 课程和教程,立即开始您的数据之旅!

与 Python 2 相比,Python 3 是无可争议的赢家,被广泛采用。

数据科学最流行的编程语言是 Python 和 r。data camp 有一个庞大的目录 Python 课程 可以帮助你入门

是的!在几乎所有的测试中。Python 3 通常比 Python 2 快。

Python 2.7。2020 年,该版本支持维护结束。

与 Python 2 相比,Python 3 是一种更好的语言,并提供了一套更好的标准库。另外,自 2020 年以来,语言和标准库仅在 Python 3 中有所改进。

有一些资源可以用来将代码更新到 Python 3,比如 2to3、Python-Future 和 Six。

是的。您可以通过为 Python 2 和 3 维护单独的虚拟环境来做到这一点。

获得更好代码的 6 个 Python 最佳实践

原文:https://web.archive.org/web/20221129035725/https://www.datacamp.com/blog/python-best-practices-for-better-code

编码是为计算机完成特定任务而编写指令(也称为算法)的艺术。为了与计算机交流,开发人员使用编程语言。

像英语、俄语或盖丘亚语等自然语言一样,编程语言包含一组特定的句法和语义规则,为通信提供了基础。尽管自然语言更复杂、更灵活、更动态,但这些属性也适用于编程语言,只是程度更有限。

你甚至可以用许多不同的方式编写最简单的算法。虽然在开发代码时需要一定的灵活性,但这会影响效率和有效的交流,尤其是当多人一起工作时。

因此,可读性是编写代码时的一个重要方面。为了确保开发人员意见一致,大多数编程语言都制定了编码标准。这些文档提供了生成可读、可维护和可伸缩代码的指南和最佳实践。

在本文中,我们将探索 Python(最流行的数据科学语言之一)的编码最佳实践。下面几节中介绍的实践主要是关于用 Python 编写代码的最佳实践的标准指南 PEP 8 。要了解更多关于 Python 的知识,请查看我们的Python 入门课程

PEP 8 是什么?

“代码被阅读的次数比它被编写的次数多得多。代码应该总是以提高可读性的方式编写”Python 的发明者吉多·范·罗苏姆

PEP 8 是 Python 代码的风格指南。由吉多·范·罗苏姆、巴里·华沙和尼克·科格兰在 2001 年编写的 PEP 8 提供了一组编写更具可读性和一致性的代码的建议。它涵盖了从如何命名变量到一行应该包含的最大字符数的所有内容。

PEP 代表 Python 增强提案。PEP 是一个文档,它描述了为 Python 提出的新特性,并记录了 Python 的一些方面,如设计和风格。

虽然不是强制性的,但是 Python 社区的大部分都使用 PEP 8。因此,遵循指南是非常可取的。通过这样做,你将提高你作为一名职业程序员的资格。

尽管 PEP 8 被广泛接受,但该指南可能不适合所有特定的场景。在这种情况下,公司定义自己的惯例是很常见的。

6 个 Python 最佳实践

代码质量的 Python 最佳实践

编写可读性强、组织有序的代码可以有所作为,提升你的职业前景。虽然对于初学者来说,编码看起来是一个机械而复杂的过程,但事实是编码是一门艺术

有许多技巧可以帮助你提高 Python 代码的质量。以下是一些最相关的列表。

缩进暴政

缩进是指代码行开头的空格。虽然在其他编程语言中缩进只是为了可读性,但在 Python 中缩进是必须的。Python 使用缩进来打开代码块。更准确地说,每个缩进级别有 4 个连续的空格,如下面的代码所示:

for number in [1,2,3,4]:
    if number % 2 == 0:
        print(number)
    else:
        continue

最大线路长度

PEP 8 建议任何一行都不要超过 79 个字符。这是有意义的,因为较短的行更容易阅读。此外,这个长度允许您打开多个相邻的文件。

空白行

用两行空行将顶级函数和类定义括起来。类中的方法定义由一个空行包围。额外的空行可以(有节制地)用于分隔相关函数组。最后,在函数中使用空行来表示逻辑部分。

使用棉绒和自动套用格式

精通代码需要时间。编码时注意所有的细节可能会很有挑战性,也很耗时。幸运的是,机器可以帮助我们确保代码质量,特别是 linters 和 formatters。

Linters 对源代码进行静态分析,并检查是否有对称差异。格式化程序是类似的工具,它试图重新调整代码间距、行长度、参数定位等,以确保不同文件或项目中的代码看起来一致。Python 提供了大量的 linters 和 formatters 供您选择。

牢记原则

虽然前面提到的一些规则很简单,但大多数情况下,编码需要良好的品味和直觉。要成为一名编码艺术家,你应该了解支撑 Python 的一些原则。这类原则的一个很好的例子是 Python 的禅,将在另一篇文章中介绍。

Python 日志记录最佳实践

日志记录是跟踪某些软件运行时发生的事件的一种方式。特别是当应用程序的规模和复杂性增加时,日志记录成为开发、调试、运行和跟踪性能的关键技术。

为了处理日志实践,日志模块从版本 2.3 开始就是 Python 标准库的一部分。该模块是大多数 Python 开发人员在日志记录方面的首选包。在 PEP 282 中有广泛的描述。

日志记录在本质上类似于打印功能。然而,打印功能缺少许多可能对开发人员有用的信息。然而,日志可以记录错误发生的时间戳和行号。它还可以将错误或任何信息记录到文件、套接字等中。

要导入该模块,只需运行以下代码:

import logging

并非每个日志消息都相似。事实上,该模块根据消息的严重性提供了一个日志级别类别。内容如下:

  • NOTSET (0) :这意味着所有消息都将被记录。
  • Debug (10) :用于诊断代码中的问题。
  • Info (20) :它可以确认代码中没有错误。信息级日志记录的一个很好的用例是训练机器学习模型的过程。
  • 警告(30) :预示未来可能发生的问题。例如,模块将来可能会停止使用的警告或低 ram 警告。
  • 错误(40) :代码出现严重 bug 这可能是语法错误、内存不足或异常。
  • Critical (50) :程序可能停止运行或突然退出的错误。
import logging
logging.info('This message is just informative')
logging.debug('My missions is to provide information about debugging.')
logging.critical("A Critical Logging Message")

说到这里,下面你可以找到在 Python 中处理日志记录时的六个最佳实践的列表。

使用日志代替打印

我们之前说过,日志以与打印功能相同的方式提供信息。然而,日志功能更强大,因为它们可以提供更细粒度的信息。

使用打印功能可能很诱人,尤其是如果你不熟悉日志程序,但是日志永远是最安全的选择。它们更适合扩展和处理复杂的应用程序。

网络上充满了指南和文档。比如这个 DataCamp 日志教程可能就是你要找的入门。

使用日志模块

这个模块是大多数 Python 开发人员的首选。这意味着该模块得到了很好的维护,并得到了一个庞大社区的支持,该社区将永远为您的疑问提供答案。

明智地选择日志记录级别

日志模块提供了六种不同级别的消息。它们中的每一个都是为特定的目的而设计的。你越坚持它们,你和用户就越容易理解你的代码中发生了什么。

记录时使用时间戳

这是打印功能所不具备的日志的关键特性。除了知道问题出现在哪里,知道问题何时发生也很重要。在这些情况下,时间戳是你最大的盟友。确保使用标准格式写入时间戳,即 ISO-8601 格式。

清空记录箱

使用 RotatingFileHandler 类(如 TimedRotatingFileHandler)代替 FileHandler 来存档、压缩或删除旧的日志文件,以防止出现内存空间问题。一旦触发了大小限制或时间条件,这些类将清理空间。

Python 注释最佳实践

注释对于为我们代码的未来读者做注解是非常重要的。尽管很难定义如何对代码进行注释,但我们可以遵循某些指导原则:

  • 任何与准则相矛盾的评论都比没有评论更糟糕。这就是为什么我们更新代码是非常重要的,并且不要忘记更新注释以避免产生不一致。
  • 注释必须是完整的句子,首字母大写。
  • 试着用英语写评论。虽然每个人都可以自由地用他们认为合适的语言来写他们的评论,但建议用英语来写。
  • 确保你的评论清晰明了,并且容易被使用你所写语言的其他人理解。

有两种类型的注释:块注释和行内注释。

块注释解释了它后面的代码。通常,块注释的缩进级别与代码块相同。块注释的每一行都以#和一个空格开始,如下所示:

# This is a block comment
print('Welcome to DataCamp!")

另一方面,行内注释出现在与代码相同的级别。行内注释应该至少用两个空格与语句隔开。与块注释类似,行内注释以单个散列符号(#)开头,后跟一个空格和一个文本字符串。

print ("Have you ever tried Python?") # This is an inline comment

Python docstring 最佳实践

docstring 是作为模块、函数、类或方法定义中的第一条语句出现的字符串文字。通常,使用文档字符串来自动生成代码文档。因此,可以使用 obj 在运行时访问 docstring。doc 对象特殊属性。

为了一致性,文档字符串总是用三重双引号(" ")括起来。

有两种形式的文档字符串:单行文档字符串和多行文档字符串。一行程序适用于非常明显的情况。它们应该在一行上。以下示例说明了 multiply()函数中的单行 docstring:

def multiply(x, y):
    """ Return the product of two numbers """
    result = x * y
    return result

另一方面,多行 docstring 可以跨多行。这样的 docstring 应该记录脚本的函数和命令行语法、环境变量和文件。用法信息可能相当详细,应该足以让新用户正确使用该命令。

def calculate_salary(hours, price=20):
    """ Return the salary according to the hours worked

    Arguments:
    hours: total hours investe
    price: price of each hours worked. Minimum price is 20 dollars
    """
    salary = hours * price
    return salary

关于 docstrings 更详细的解释可以在 PEP257 中找到。

Python 文档最佳实践

虽然注释对于与您一起工作的其他开发人员理解您的代码很重要,但是文档旨在帮助潜在用户社区如何使用您的软件。这是关键的一步:不管你的软件有多好,如果文档不够好,或者更糟,缺少文档,人们就不会使用它。

尤其是如果您正在处理一个新项目,包含一个自述文件总是一个好习惯。这些文件通常是代码读者的主要入口点。它们包括给用户和项目维护者的一般信息。

虽然简洁,自述文件应该解释项目的目的,软件的主要来源的 URL,和信用信息。

同样,您应该始终包含一个 setup.py 文件,该文件确保软件或库已经与 Distulils 一起打包和分发,这是分发 Python 模块的标准。

此外,如果您的软件需要其他依赖项或包来运行,您应该包含一个 requirements.txt 文件,它描述了所需的依赖项及其版本。

最后,你可以自由添加任何你认为与潜在用户相关的信息。例如,一个好的实践是提供你的包或函数如何工作的例子。

Python 虚拟环境最佳实践

为了确保数据项目的顺序和一致性,一个好的做法是为您启动的每个项目创建一个虚拟环境。

虚拟环境,也称为 virtualenvs,有助于分离和隔离项目所需的 Python 和库的版本,以及它们相关的 pip 版本。这授权最终用户安装和管理他们自己的一套软件和版本,这些软件和版本独立于系统提供的软件和版本。

要创建 virtualenvs,我们需要首先安装所需的包,在您的终端中编写以下代码行:

pip install virtualenv

为了创建一个新的 virtualenv,下面的代码将变得神奇。我们称这个新的虚拟物为“新虚拟物”

python3 -m venv /path/to/new/virtual/environment/new_venv

Python 命名约定

初学 Python 的开发人员最常犯的一个错误是对变量、类、函数等命名不当。命名约定是确保代码可读性的关键元素。

在 Python 中,命名对象的标准方式在 PEP 8 中有解释。根据指导方针,新的模块和包(包括第三方框架)应该按照这些标准编写,但是如果现有的库有不同的风格,内部一致性是首选的。

一般来说,你应该避免使用太笼统或太世俗的名字。此外,标准库中使用的标识符必须与 ASCII 兼容,如 PEP 3131 所述。

# Bad naming:
data_structure, ríos_españa, dictionary_with_countries_and_capitals
# Good naming:
user_profile, stop_words, global_emissions_df

下面是 Python 中最常见对象的命名约定列表。

  • 包和模块

  • 包和模块的名字应该都是小写的

  • 只有在提高可读性的情况下,才能在包和模块名称中使用下划线。

  • 类名应该遵循 UpperCaseCamelCase 约定

  • 然而,Python 的内置类通常是小写单词

  • 实例变量、方法和函数

  • 实例变量名应该全部小写

  • 使用下划线将新单词添加到变量实例中

  • 非公共实例变量应该以单下划线开头

  • 常数

  • 常量名必须全部大写

  • 使用下划线向常量添加新单词

| 标识符 | 惯例 |
| 组件 | 小写字母 |
| 班级 | CapWords |
| 功能 | 小写字母 |
| 方法 | 小写字母 |
| 类型变量 | CapWords |
| 常数 | 大写字母 |
| 包裹 | 小写字母 |

确保软件开发活动中的可读性、代码质量和可伸缩性

虚拟环境是一种工具,它通过为每个项目创建单独的隔离环境来分离不同项目的依赖性。

这是一个提供如何编写 Python 代码的标准指南和最佳实践的文档。

缩进是指代码行开头的空格。Python 使用缩进来表示代码块。

Python 的禅是 19 个编写计算机程序的“指导原则”的集合,这些原则影响了 Python 编程语言的设计。

Python docstring 是一个用来记录 Python 模块、类、函数或方法的字符串,因此程序员无需阅读实现细节就能理解它做了什么

有两种类型的注释:块注释和行内注释。

医疗保健中的 Python:人工智能在医院中的应用

原文:https://web.archive.org/web/20230101103026/https://www.datacamp.com/blog/python-in-healthcare-ai-applications-in-hospitals

Technology in Healthcare

目录

简介

使用 Python 进行图像诊断

  • 肿瘤的检测和分类
  • 检测心血管异常
  • 检测骨折和其他损伤
  • 常见癌症的筛查

自然语言处理(NLP)在医疗保健中的应用

  • 利用自然语言处理创建临床决策支持系统
  • 使用 NLP 提高表型分析能力
  • 预测精神病的发作
  • 肝硬化患者的识别和危险分层
  • 可报告癌症病例的识别
  • 自然语言处理在预测分析中的应用

利用 Python 预测和分析复杂疾病

使用 Python 改善患者体验

加强医院运营

药物发现

Python 在医疗保健中的应用前景

结论

介绍

在现代世界,计算机和智能手机已经占据了我们生活的许多方面,医疗保健行业也不例外。医疗从业者越来越多地将健康和医疗保健数据从纸质格式迁移到电子格式,医疗保健机构也因此产生了大量数据。Python 是一种基本的编程语言,数据科学家使用它来为医疗保健中的多种挑战创建解决方案,它提供了一套多样化的工具来为医疗保健专业人员从数据中生成重要的见解。医生可以使用 Python 驱动的应用程序进行更好的预测,并提高医疗服务的质量。在医疗保健领域,数据科学家主要使用 Python 来构建机器学习算法和软件应用程序,用于:

  • 执行医疗诊断
  • 提高医院运营效率
  • 基因组研究
  • 药物发现
  • 预测分析

Python 在医疗保健领域的主要应用基于机器学习(ML)和自然语言处理(NLP)算法。这些应用包括图像诊断、医学文档的自然语言处理以及使用人类遗传学预测疾病。此类应用对医疗保健部门至关重要:它们将数据处理和分析成患者和卫生工作者可以理解、有意义和可靠的信息。以下部分详细介绍了数据科学家和医疗从业者如何使用 Python 中的 ML 和 NLP 来解决医疗挑战并改善患者的健康状况。

使用 Python 进行图像诊断

医疗保健领域最有前途的技术发展之一是使用 ML 来分析多种图像,如磁共振成像(MRI)、计算机断层扫描(CT)和扩散张量成像(DTI)扫描,以提供诊断。虽然人类大脑很难同时分析多幅图像,但机器学习解决方案擅长处理多条信息,以产生单一的诊断结果。萨克(2021) 提供了机器学习在医疗保健和研究方向的现实应用的例子。同样值得注意的是,在机器学习中使用 Python 进行图像分析的准确率约为 92% 。这略低于高级临床医生 96%的准确率。但是病理学家审核机器学习模型时,准确率可以上升到 99.5%

肿瘤的检测和分类

机器学习技术在医疗保健中最常见的应用之一是使用计算机自动检测(CAD) 来检测肿瘤。这些技术应用 CNN 来计算肿瘤确实是肿瘤的概率。例如,在乳房 x 光检查中,人工智能工具可以为许多放射科医生提供“第二”意见。这显著提高了筛查的准确性,而不增加与使用人类给出“第二意见”相关的成本。

医生在胶质母细胞瘤(一种脑肿瘤)的检测和分类方面面临挑战。困难在于这些肿瘤的侵袭性和广泛性。与其他脑肿瘤不同,这些肿瘤很难定位和评估它们对治疗的反应。深度学习有助于自动评估胶质母细胞瘤磁共振成像

检测心血管异常

使用 Python 从图像(如胸部 x 光)中自动检测心脏异常,可以加快决策速度,减少诊断错误。当患者出现呼吸急促等症状时,医生通常会要求拍胸片,以此作为心脏增大的工具。用 Python 创建的 AI 工具可以帮助自动完成评估任务,如测量肺动脉直径和隆凸角度测量。例如,下图显示了数据科学家如何利用患者的临床特征(如性别、吸烟状况和高血压风险等因素)使用 ML 来预测心血管疾病。该模型的准确率约为 76% (翁等,2017)

Predicting cardiovascular disease using patient characteristics

资料来源:翁等人(2017)

ML 算法可以评估图像并自动生成报告,为人类从业者从正常测量中分类异常节省时间。

检测骨折和其他损伤

数据科学家可以使用 ML 驱动的工具来识别难以看到的脱位、骨折和软组织损伤,使外科医生能够做出更自信的治疗选择。使用无偏见的算法来分析图像可以帮助医疗从业者考虑所有的损伤并提供最佳的治疗。人工智能工具可以帮助对医学图像进行全面分析,并及时生成准确的报告,从而最大限度地降低患者风险、假阴性和医疗从业者的法律风险。

检测胸部状况和并发症

肺炎等胸部疾病需要医护人员做出快速反应。医生使用放射学图像来诊断肺炎,并将这种疾病与其他肺部疾病(如新冠肺炎)相区别。然而,正如 Hasan 等人(2021) 所证明的,放射科医生可能并不总是能够分析图像并为医生撰写报告。即使有,如果病人已经有肺部疾病,他们也很难鉴别肺炎。一种基于 Python 的人工智能算法可以分析 x 光和其他医学图像来检测肺炎,然后自动提醒医疗保健提供者提供适当的治疗。

常见癌症的筛查

肿瘤学家使用医学成像来执行癌症的常规预防性筛查,例如结肠癌、前列腺癌和乳腺癌。在乳腺癌筛查中,放射科医师可能会面临将肿瘤最终分类为良性或恶性的挑战。假阳性可能导致不必要的侵入性测试或治疗,而错过恶性肿瘤可能导致延误诊断和不良后果。使用人工智能可以帮助提高阅读医学图像的准确性,潜在地降低不必要的良性活检的比率。

自然语言处理(NLP)在医疗保健中的应用

数据科学家和医疗保健从业者使用自然语言处理(NLP)工具来处理和分析各种因素,包括患者遭遇、症状和生命体征等。NLP 可以提供一种更便宜的方法来快速扫描医疗文档并将结果信息集成到数据库中,因为 NLP 系统从文本和图像中提取可读数据来识别关键字和术语。在医疗保健中应用 NLP 有许多令人兴奋的可能性。这些应用主要是为了改善医学研究和医学。本节重点介绍了 NLP 在医疗保健中的一些用途。该列表并不详尽,而是机器学习应用程序的一些应用程序的一个亮点。

利用自然语言处理创建临床决策支持系统

您可以使用 NLP 来创建一个使用历史病历来改进临床决策支持(CDS)的系统。这种系统可以帮助医生基于知识数据库为患者做出临床决策。该数据库可以包括从医生笔记(手写或打字)、实验室或转录的音频中提取的信息。该系统的工作原理是从病历中提取患者信息,然后根据以前病例和/或文献中的信息关联可能的疾病状态。

使用 NLP 提高表型分析能力

表型是生物体中特定性状(物理或生物化学)的可观察表达。临床医生使用表型对患者进行分类,以更深入地了解他们的数据并与队列进行比较。

  • NLP 是提取和分析非结构化数据的一种有价值的工具,非结构化数据占所有可用患者数据的 80%。
  • NLP 还允许更丰富的表型分析,因为病理学报告包含了大量关于患者的信息。
  • NLP 使分析师能够提取这些数据来回答复杂而具体的问题,例如哪些基因突变与癌变组织类型有关。

预测精神病的发作

研究人员发表了一份关于 NLP 应用的报告,使用一种称为潜在语义分析的技术,使用临床高风险青年的转录音频文件预测精神病的发作。该模型在训练和测试数据集上的准确率分别达到了 93%和 90%。尽管只有 40 名参与者的小样本量,该模型在预测患者是否会发展为精神病方面表现良好。

肝硬化患者的识别和危险分层

NLP 在医疗保健中的另一个应用是肝硬化患者的识别。另一项研究使用 NLP 来识别肝硬化患者并对患者进行风险分层。这项研究能够从电子健康记录、ICD-9 代码组合和放射扫描中正确识别肝硬化患者,准确率为 95.71%(T0)。这表明,这种系统可以根据大多数医院的现有医疗数据正确识别肝硬化患者。

可报告癌症病例的识别

另一项研究使用 NLP 为国家癌症登记处确定可报告的癌症病例。目的是自动向美国国家癌症登记计划报告癌症患者。该研究使用 NLP 分析病理报告和诊断,并使用监督机器学习识别癌症患者,其准确率为 87.2%

自然语言处理在预测分析中的应用

NLP 更令人兴奋的好处之一是它能够允许预测分析的发展,以改善人口的健康结果。一个例子是对社交媒体帖子的分析,以发现潜在的自杀案件并进行干预。在美国,自杀是死亡的主要原因之一。在最近的一项调查中,美国国家心理健康研究所(NIMH)显示,美国约有 1200 万成年人有过严重的自杀念头。这个群体中大约有 10%的人制定了计划并试图自杀。

Suicidal Thoughts and Behavior among U.S. adults

资料来源:国立卫生研究院(2021 年)。美国成年人的自杀想法和行为。

医疗保健专业人员希望识别处于危险中的个人或群体,以便他们能够进行干预。有几项研究预测了使用社交媒体帖子的自杀企图。一项研究使用 Twitter 数据开发了一个具有高精度水平(约 70%)的模型。关键的发现包括,有自杀风险的用户在文本中发布的表情符号较少,大多使用蓝色表情符号或心碎符号。他们还在试图自杀前发布悲伤或愤怒的推文。 Coppersmith (2018) 也使用 NLP 预测了自杀实例,准确率超过 70%(见带 ROC 的图)。

Predicted suicide instances using NLP

资料来源:科波史密斯等人(2018)

医疗保健组织已经在使用 NLP 从巨大的数据科学之树上摘下低垂的果实。主要的技术实体越来越多地为医疗保健创建 NLP 工具。例如,亚马逊有一个用户友好的临床 NLP 工具,可以帮助医疗从业者从非结构化数据中提取见解。他们可以很容易地招募患者进行试验研究,为患者找到正确的诊断,并建立早期检测硬化等疾病的预警系统。

利用 Python 预测和分析复杂疾病

分析师使用 Python 中的机器学习算法来分析遗传学,以预测疾病并确定疾病的原因。深入了解基因如何影响个体的风险有助于预防性保健。这可以为医生提供关于如何定制患者的医疗保健计划的重要信息,以降低获得更复杂疾病的风险。

很难预测任何疾病将如何演变,许多系统在这项任务上效率低下,因为一些疾病会快速而意外地变异。使用 Python,开发人员可以建立高效的机器学习模型,这些模型可以在疾病变得严重之前预测疾病。

其中一项关键进展是人类遗传学中的下一代测序(NGS)技术。NGS 是生物和医学研究不可分割的一部分。NGS 的基本意义已经扩大了对处理和分析所产生的数据集的需求。这有助于解决各种问题的研究问题,如宏基因组量化和分类,变异调用和基因组特征检测。

在另一个例子中,李等(2018) 使用在图形处理单元(GPU)上训练的深度学习算法来预测复杂疾病的异质性和上位性。

通过机器学习,科学家可以发现疾病模式和趋势,并以更可预测的方式进行建模。因此,机器学习有可能准确预测那些有患某些疾病风险的人,如心血管疾病、癌症和阿尔茨海默病。

最后, Google 开发了这样一种深度学习算法,利用患者的医疗数据来检测他们的癌症。该模型是高效的,不仅加快了治疗过程,而且降低了患者将来由于诊断不良而出现严重并发症的风险。

使用 Python 改善患者体验

管理患者会占用大量资源。工作人员有限的医疗机构可能难以满足患者的预约、治疗和一般健康需求。用 Python 开发医疗保健应用程序可以帮助医疗保健机构管理患者,帮助员工专注于关键活动。

Python 应用程序可以帮助患者安排约会,获得常见问题的答案,请求重新填充药物,联系急救服务,并定期更新其医疗数据以进行监控,从而使医疗工作者能够专注于治疗患有重大疾病的患者。

加强医院运营

医疗机构可以利用 Python 来解决与资源限制相关的问题。数据科学家可以创建优化人员配置的模型,以便医疗保健机构可以避免像低入院率班次人员过多或繁忙时段人员不足这样的问题。

Python 驱动的应用程序可以优化预约、诊断设施的使用和治疗。医院的 ICU 资源有限,需要优化这些设施的使用。在他们的研究中, Wu 等人(2021) 使用 ML 来预测 ICU 患者在 ICU 停留的时间。他们使用了四种不同的 ML 技术(支持向量机、随机森林、深度学习和梯度推进决策树)。最后一个模型,梯度推进决策树,具有最好的性能,准确率为 74.7%。据行业分析师称,到 2026 年,人工智能应用有可能每年为美国经济节省约 1500 亿美元(罗斯,2021 )。

作为一名数据科学家,有一些开源数据集可以用来开发预测 ICU 住院时间的 ML,并帮助医院规划他们的资源。勾选此 Kaggle 链接启动。此外,数据科学家可以通过 Scikit-Learn、Keras、TensorFlow 和 Pytorch 等 ML 工具释放 Python 的力量,以改善医疗保健提供商管理成本和设施的方式。

药物发现

Python 编程语言是现代药物发现的首选语言。几乎所有在 indeed.com 上发布的关于药物研发的招聘广告都要求有 Python 经验。因此,学习 Python 不再是一种选择,而是药物发现相关职业的要求。

在药物研发中使用 Python 的一个很好的例子是阿斯利康的 PyMOL。阿斯利康是利用 Python 加速药物研发的公司之一。PyMOL 是显示疾病目标三维结构的强大工具。该工具有 12 种不同的立体可视化模式,允许用户突出显示和区分目标中的各种结构特征。科学家使用工具为药物分子寻找合适的结合位点。该工具旨在很好地适应新的预测方法。下图显示了该工具如何梳理数百万数据来帮助设计药物原型。

AstraZeneca's Pymol application for drug discovery

资料来源: PyMOL

PyMOL 允许可视化目标疾病生物体的三维(3D)结构。使用可视化技术,科学家们可以更好地理解基本问题,从而设计出新的分子结构来恰当地解决这种疾病。

Python 在医疗保健中的应用前景

大型复杂医疗数据集的涌入,降低成本的需求,以及医疗保健劳动力规模的缩小,推动了市场上 AI/ML 工具的增长。人类从业者和基于人工智能的工具之间的合作和伙伴关系也越来越多。AI/ML 和 NLP 开发者的未来看起来很光明,一些初创公司已经在开发人类感知的 AI 系统。在医疗保健中使用机器人的人数稳步上升。

机器人在医疗保健领域的新应用范围从外骨骼和假肢到纳米机器人和手术机器人。在美国,医疗保健机器人市场到 2027 年将增长到约 325 亿美元,预计 2020-2027 年期间的 CAGR 为 21.3%。

与新冠肺炎的斗争将继续推动市场增长,人工智能技术将被部署用于成像诊断、药物发现、基因组学和预测分析。

Post Covid-19 AI growth opportunities

来源:市场与市场(2022)。

美国国家医学图书馆指出,精准医疗是“一种新兴的疾病治疗和预防方法,它考虑了每个人在基因、环境和生活方式方面的个体差异

医疗保健的未来掌握在 AI/ML 手中,精准医疗可能是在医疗保健中使用 AI/ML 的最具影响力的好处之一。

精准医疗的目标是根据患者的个人病史、遗传信息、生活方式选择和动态变化的病理检查,为患者找到精确的治疗方案。其根本目标是结合最强大的人工智能技术(如深度神经网络、搜索算法、强化学习、概率模型、监督学习等)来开发精准医疗工具。它的重点是创建人工智能系统,可以利用早期筛查或常规检查数据预测患者患某种疾病的概率,Python 处于寻求精确医疗的最前沿,开发人员创建人工智能工具来模拟为什么以及在什么情况下更有可能发生疾病。这对于准备和指导卫生保健提供者甚至在个体出现症状之前进行干预是重要的。

使用 Python 创建 AI/ML 应用程序还有其他真正令人兴奋的可能性,如数字手术机器人。想象一下,在一个手术室里,病人走进去,让机器人安全而精确地对他们实施精确的手术。

Digital Surgery Robot

来源:机器人商业评论(2022)

人工智能智能机器人可以与外科医生携手合作,并根据手术历史和结果利用分布式数据驱动的见解和指导。在医疗保健中使用 Python 的可能性是无穷无尽的,未来将为远程医疗和小手术的远程手术敞开大门。

结论

Python 在医疗保健中的应用并非没有挑战。数据隐私和法律框架的挑战仍然阻碍着它的全面应用。也仍然很难找到第三方提供商可以合法使用的数据。需要对法律和政策制定进行大规模的合理化努力,以应对这些挑战。

作为数据科学家和人工智能实践者,我们有责任通过利用人工智能算法的力量来节省成本和改善全球数十亿人的生活,从而创造一个光明的未来。

您可以通过编码和以下指导项目获得 Python 实践技能:

Python vs. R for Data Science:有什么区别?

原文:https://web.archive.org/web/20230101103328/https://www.datacamp.com/blog/python-vs-r-for-data-science-whats-the-difference

如果您是数据科学的新手,或者您的组织是新手,您需要选择一种语言来分析您的数据,并选择一种深思熟虑的方式来做出决策。完全公开:虽然我会写 Python,但我的背景主要是 R 社区——但我会尽最大努力做到无党派。

好消息是,您不需要为这个决定付出太大的努力:Python 和 R 都有庞大的软件生态系统和社区,因此这两种语言几乎都适合任何数据科学任务。

最常用的两个编程语言索引 TIOBEIEEE Spectrum 对最流行的编程语言进行排名。他们使用不同的流行度标准,这解释了结果的差异(TIOBE 完全基于搜索引擎结果;IEEE Spectrum 还包括社区和社交媒体数据源,如 Stack Overflow、Reddit 和 Twitter。在每个列表中常用于数据科学的语言中,两个索引都将 Python 列为最受数据科学欢迎的语言,其次是 r。MATLAB 和 SAS 分别排在第三和第四位。

既然我们已经确定 Python 和 R 都是好的、流行的选择,那么有几个因素可能会左右您的决定。

你的同事使用什么语言?

决定使用哪种编程语言的最重要因素是了解您的同事使用哪种语言,因为能够与同事共享代码和维护更简单的软件堆栈的好处超过了一种语言相对于另一种语言的任何好处。

谁在处理数据?

Python 最初是作为软件开发的编程语言开发的(数据科学工具是后来添加的),所以具有计算机科学或软件开发背景的人通常会发现 Python 对他们来说更自然。也就是说,从其他流行的编程语言如 Java 或 C++过渡到 Python 比从这些语言过渡到 r 更容易。

r 有一组名为 Tidyverse 的包,这些包提供了用于导入、操作、可视化和报告数据的强大而简单易学的工具。使用这些工具,没有任何编程或数据科学经验的人(至少是传闻中的)可以比使用 Python 更快地变得高效。如果你想亲自测试一下,可以试试 Tidyverse 的简介,其中介绍了 R 的 dplyrggplot2 包,以及Python 的数据科学简介,其中介绍了 Python 的 pandasMatplotlib 包,看看你更喜欢哪个。

结论:如果您组织中的数据科学主要由具有编程经验的专门团队进行,Python 有一点优势。如果你有许多没有数据科学或编程背景的员工,但他们仍然需要与数据打交道,R 就有一点优势。

你在执行什么任务?

虽然 Python 和 R 基本上都可以完成你能想到的任何数据科学任务,但在某些领域,一种语言比另一种语言更强。

Python 擅长的地方 其中 R 占优势
大部分的深度学习研究都是用 Python 完成的,所以像 T2 的 Keras T3 和 T4 的 py torch T5 这样的工具都是“Python 优先”开发的。你可以在 Keras 的深度学习简介和 PyTorch 的深度学习简介中了解这些话题。 许多统计建模研究都是在 R 中进行的,因此有更多的模型类型可供选择。如果您经常对数据建模的最佳方式有疑问,R 是更好的选择。DataCamp 有大量关于 R 的统计的课程可供选择。
Python 优于 R 的另一个领域是将模型部署到软件的其他部分。因为 Python 是一种通用编程语言,所以你可以用 Python 编写整个应用程序,然后无缝地包含你的基于 Python 的模型。我们涵盖了在部署模型,用 Python 设计机器学习工作流用 Python 构建数据工程管道 R 袖子上的另一个大把戏是简单的仪表板创建使用闪亮。这使得没有太多技术经验的人能够创建和发布仪表板,与他们的同事共享。Python 的破折号是一种替代,但没有那么成熟。您可以在使用 Shiny in R 构建 Web 应用程序和使用 Shiny in R 构建 Web 应用程序:案例研究中了解 Shiny。

这个列表并不详尽,专家们一直在争论哪种语言能更好地完成任务。同样,还有更多好消息:Python 程序员和 R 程序员互相借鉴了很多好的想法。比如 Python 的 plotnine 数据可视化包的灵感来源于 R 的 ggplot2 包,R 的 rvest 网页抓取包的灵感来源于 Python 的 BeautifulSoup 包。所以最终两种语言中最好的想法都会进入另一种语言。

如果你迫不及待地想等待你选择的语言中的某个特定特性,也值得注意的是 Python 和 R 之间有很好的语言互操作性。也就是说,你可以使用 rpy2 包从 Python 运行 R 代码,也可以使用 reticulate 从 R 运行 Python 代码。这意味着一种语言中的所有特性都可以从另一种语言中访问。比如深度学习包 KerasR 版居然调用 Python。同样,调用 PyTorch

你的竞争对手用什么?

如果你在一家发展迅速的公司工作,并且想招聘顶尖员工,那么做一些对立的研究来看看你的竞争对手在使用什么技术是值得的。毕竟,如果你的新员工不需要学习一门新的语言,他们会更有效率。

摘要

编程语言战争大多是人们推广他们最喜欢的语言的借口,并以戏弄使用其他语言的人为乐。所以我想澄清一点,我对在互联网上开始另一场关于 Python 和 R 在数据科学上的争论不感兴趣。

我希望我已经说服了你,虽然 Python 和 R 都是数据科学的好选择,但员工背景、你所处理的问题和你所在行业的文化等因素可以指导你的决定。

2022 年第 3 季度数据营教室综述

原文:https://web.archive.org/web/20221210075939/https://www.datacamp.com/blog/q3-2022-data-camp-classrooms-roundup

1213 (1).png

2022 年秋季学期的开学打破了单季度创造的最多数据营教室的记录!高中、本科和研究生级别的教师在 80 多个国家创建了超过 2,300 个 DataCamp 教室,使超过 24,000 名新教师和学生获得了六个月免费访问 DataCamp 学习、工作空间、认证和工作的机会。

Frame 2415.png

我们还将加拿大、法国、澳大利亚和捷克共和国的中学教师纳入了 DataCamp 课堂。下面是两篇博文,讲述了捷克和澳大利亚的高中教师如何伸出援手,为 DataCamp 社会影响团队提供了核实这些地区学校电子邮件地址所需的必要数据。与美国、英国、比利时和波兰一样,这使得八个国家的高中有资格利用 DataCamp 教室提供的一切。发送电子邮件至 【电子邮件受保护】 帮助我们添加您所在国家的中学!

阅读更多: 一位教师如何在捷克共和国掀起数据教育革命

阅读更多: 数据营课堂登陆澳洲:你也可以投稿

教师和学生从课堂数据营中获得了什么?

  • 包含超过 380 门课程的综合数据科学课程可以让任何人从新手到专家,从基础理论课程到所有突出的编码技术,如 Python、SQL、R 等等。
  • 数据科学项目使用真实世界的数据集和场景,让学生体验向最终目标应用新技能的过程。
  • 一个易于使用的平台,无需下载任何软件即可访问全功能浏览器。
  • 练习练习通过快速的日常挑战来提升您的数据科学技能。
  • 我们所有课程视频的字幕和最佳辅助选项
  • 作业和报告工具,增强您的课堂管理能力。你会确切地知道哪些学生完成了你的作业,什么时候完成的。我们甚至会给你看他们的技能评估的结果。
  • 高成就者可以获得行业认可的数据科学家和数据分析师认证,并访问我们的工作平台,开始他们的职业生涯。
  • DataCamp Workspace ,这是一个创意空间,允许教师定制作业,并允许学生分享他们的数据驱动工作组合。
  • iPhone 和 Android 上完整的 DataCamp 应用程序。
  • 我们甚至允许您和您的学生下载我们的课程内容进行离线学习。
  • 所有这些都是免费的!

Screen Shot 2022-11-30 at 3.39.38 PM.png

你好,再见

我们的社会影响团队有了一名新成员!奥利·杜赫斯特是 DataCamp 的新任增长副总裁。他位于伦敦之外,他的目标是在 2023 年将数据营的捐赠和教室增加一倍。

当我们的社会影响实习生 Rayan Elatmani 和 Seve Perez 回到学校时,我们也向他们道别。他们在发展、维护、促进和改善 DataCamp 的所有社会影响项目方面所做的宝贵工作,只要他们存在,人们就会感受到。特别是,如果没有他们勤奋的团队合作,我们在澳大利亚、加拿大、捷克和法国的高中扩张是不可能的。

Rayan_Elatmani_Testimonial_SocialAd.png

SevePerez_Testimonial_SocialAd.png

他们愉快地出现在我们的帝国大厦办公室里,我们都会怀念他们。祝你们俩好运!

合格的非营利组织免费获得数据营!申请数据营捐赠

原文:https://web.archive.org/web/20221129050302/https://www.datacamp.com/blog/qualified-nonprofits-get-datacamp-for-free-apply-to-datacamp-donates

数据营的社会影响团队再次接受申请加入数据营捐赠!如果你在一个非盈利组织工作或做志愿者,你应该为你自己和你的社区申请一整年的免费、无限制的 DataCamp 访问。

所有向乌克兰难民提供直接支持的乌克兰组织,请务必申请。我们将尽快处理您的申请,以便您可以免费获得一年的 DataCamp,并提供给您的社区。帮助乌克兰人民安全地学习数据科学并获得新的工作是 DataCamp 社会影响团队的主要优先事项。

如何申请?

www.datacamp.com/donates/apply填写申请表。我们的社会影响团队将在 1-3 个工作日内对您的申请做出回应,许多新的合作伙伴组织将在不到两周的时间内获得访问权限。DataCamp 捐赠免费访问 DataCamp 学习平台,以便:

  • 职业发展和就业安置非营利组织
  • 非营利数据科学和/或编码组织服务于历史上的弱势群体
  • 环境、健康、经济和社会科学研究非营利组织
  • 中学或大专学校认可的学生经营的俱乐部/社团

DataCamp Donates 的目标是帮助弱势群体掌握更多数据知识,获得更高收入的工作,从而为明天的世界做好更好的准备。因此,请在申请过程中准备好证明您的组织和您的成员如何满足这些标准。您提供的信息越多,处理您的申请就越容易、越快。

将优先考虑支持以下人群的机构:

  • 失业的
  • 就业不足(工资太低和/或工作时间不够)
  • 生活在他们国家的国家贫困线以下
  • 因新冠肺炎而失去的工作、工资和/或亲人
  • 战争和/或环境灾难的难民
  • 历史上弱势群体和社区的成员
  • 16 - 26 岁的学生

请记住,如果你代表乌克兰非营利组织或支持乌克兰难民的组织申请,你就自动符合资格。

您的社区从 DataCamp 捐赠中获得了什么?

DataCamp 捐赠给非营利组织及其成员:

  • Autonomy : DataCamp 使人们能够在一整年内按照自己的节奏学习真实世界的数据课程和练习,我们为他们的管理员提供工具来组织他们的学习者,给他们分配任务,并全年有效地跟踪他们的进度。
  • 可访问性:DataCamp 的所有评估、课程、项目等课程都免费提供给 data camp 捐赠合作伙伴。从来没有必要购买任何额外的软件。我们的平台几乎可以在任何电脑上运行,但也包括通过我们的移动应用程序无限制访问。无论我们的学习者在哪里,互联网都不便宜或无处不在,这就是为什么我们也让他们下载我们的视频和幻灯片供离线观看。他们甚至可以放慢(或加快)我们的视频,或者观看 15 种以上语言的隐藏字幕,因为可访问性是 DataCamp 精神的核心。
  • 职业发展:数据和编码相关的技能是招聘者最需要的技能之一。通过使用任何有抱负的数据科学家的最基本的工具来促进您的成员的职业生涯。 Workspace 通过与同事和招聘人员分享您的数据科学见解,帮助学员展示他们的才华。获得行业认可的认证以及个人职业支持。更好的是,获得免费的数据分析师或科学家认证,并受益于 DataCamp Talent 功能,让您的个人资料与最佳雇主匹配,参加特定职位的评估,并获得您梦想的工作!

为什么要申请?

随着国际紧张局势加剧,不确定性在全球范围内扩大,而世界仍在从全球疫情中复苏。此外,应重点关注历史上受危机影响更大的弱势群体。免费、灵活地访问在线学习资源变得至关重要,因为在这种可怕的情况下,教育和足智多谋是我们所有人的关键。

非营利组织是当前健康和经济环境解决方案的一个组成部分。然而,他们也最需要额外的帮助和资源。

申请 DataCamp 捐赠是非营利组织的一种免费而可靠的方式,通过鼓励他们学习为未来做准备的基本技能,帮助他们的成员在困境中茁壮成长。自 2020 年 8 月 DataCamp 开始捐赠以来,我们已经向 100 多个国家的非营利合作伙伴组织发放了 30,000 多份奖学金。仅在 Q1 2022,我们就为有需求的有志数据专业人士发放了至少 7,000 个许可证。通过加入 DataCamp 捐赠,您为大众化数据扫盲做出了贡献。

在此申请或通过 【电子邮件保护】 联系我们,这样我们可以帮助您直接免费使用一个最全面、最受行业认可的数据科学学习平台,为期一年。

数据新闻快速指南

原文:https://web.archive.org/web/20230101103415/https://www.datacamp.com/blog/quick-guide-to-data-journalism

随着数据科学行业对数据故事的重新关注,将数据科学作为团队运动的方法,以及数据记者开展和发布的大型调查,如 Panama Papers2016 年美国大选预测Airbnb 效应,人们对数据新闻的兴趣正在上升。

但它到底是什么,你如何成为一名数据记者?今天的博文将尝试对这些问题给出更多的见解和答案。

提示:如果你想通过 R 学习数据新闻入门课程,可以考虑 DataCamp 的与 Tidyverse 课程中的数据交流。

对新闻业最热门趋势的定义

有许多定义,很难只见树木不见森林。有些人说数据新闻和数据驱动新闻(DDJ)一样,另一些人坚持认为两者是不同的学科。你会在那里找到很多定义。

在本文中,我们将把这两者视为同一学科。

然后,就简单了,对吧?定义一点也不难!这只是用数据做的新闻。

但是新闻到底是什么意思,什么是数据?

数据新闻一般被定义为“当你将传统的‘新闻嗅觉’和讲述引人注目的故事的能力与现在可用的数字信息的绝对规模和范围相结合时,所开辟的新的可能性”。

然而,这个定义可能掩盖了存在工作流的事实:在这个意义上, Mirko Lorenz 的定义可能更准确,其中该学科被描述为“数据是分析、可视化以及最重要的是讲故事的基础的工作流”。

请注意,您会经常看到“汽车”(计算机辅助报告)这个术语。这是第一个有组织的,系统的方法来使用计算机收集和分析数据,以改善新闻。

Data Journalism And How To Become A Data Journalist

如何成为一名数据记者

既然背景和定义已经很清楚了,你可以开始思考成为一名数据记者需要什么了。接下来的部分将会让你更深入地了解成为一名会计师需要做些什么,你还会找到一个你可以遵循的分步计划的大纲,包括最好的资源。

成为一名数据记者需要什么?

你可能读过一些这方面的引言,比如“要成为一名优秀的数据记者,从成为一名优秀的记者开始会有所帮助”( Meredith Broussard )或者“计算机不会把一名糟糕的记者变成一名优秀的记者。他们所做的是让一个好记者变得更好”(埃利奥特·贾斯平),但最终你需要什么才能成为一名数据记者?

根据 ProPublica 的副执行主编、DocumentCloud 的联合创始人 Scott Klein 的说法,候选人应该具备 1。新闻技能,2。设计人才,3。编码敏锐度。这看起来相当简单,但是教育背景呢,什么是“新闻技能”、“设计天赋”或“编码敏锐度”?

对于第一个方面,你可能认为你需要一个新闻学位。斯科特·克莱恩证实,他团队中的大多数人都有新闻学位,但这肯定不是先决条件。有一些数据记者有数学或计算机科学背景。

这种方法效果很好,也是因为,按照克莱恩的说法,“新闻业天生适合那些想让世界变得更美好的数学运动员”。然而,克莱恩在候选人身上寻找的东西也透露出教育背景不一定起很大作用,只要你拥有他寻找的三样东西。

从另一方面来说,如果你没有任何技术背景,当然也有可能成为一名数据科学记者。

无论你的背景是什么,在你寻求获得成为一名数据记者所需的三项技能时,你都需要考虑它!

而这三项技能来之不易。不幸的是,没有很多大学或课程可以教你这三种知识,大多数人认为你真的需要自己学习很多东西。

你可以参加 MOOC,比如这个或者这个大数据大学课程,或者由外部数据记者教授的研讨会,但是提供的机会非常少,而且价格不菲。许多针对专业数据记者的培训通常包括数据和记者团队之间的合作,号召支持网络、数据训练营,...

但主要还是要自学。

这就是你需要为自己制定一个循序渐进的计划,包括各种资源,以达到成为一名数据记者的目标,或者,如果你已经是一名数据记者,继续自学。

学习数据新闻的循序渐进计划

这个循序渐进的计划包含了开始的第一步。您需要根据您的教育背景和学习风格个性化本指南。

以下是成为数据记者的计划中包含的八个步骤:

  1. 建立广泛的知识库
  2. 写,写,写
  3. 学习(一些)编程语言
  4. 发现数据新闻工作流程
  5. 打造你的工具箱
  6. 开始建立你的人际网络
  7. 继续你的学习
  8. 去争取吧!

//web.archive.org/web/20220529063311if_/https://www.slideshare.net/slideshow/embed_code/key/6AQ1IsyTnzVGe4
Data Journalism: A Quick Start Guide from Karlijn Willems

1.建立广泛的知识库

记者天生就是这样的人,无论何时出现新的话题,他们都必须能够调整自己的技能。此外,数据记者报道的主题可以变化很大,你必须能够覆盖广泛的范围,甚至比典型的记者更广。

建立广泛知识库的关键可能因人而异,取决于你的学习风格。

不过,达到目的的方法之一是通过大量的阅读、倾听和观看。但是最终,你的态度可能是达到你所需要的最重要的事情。如果你天生好奇,并且你有一些东西驱使你去发现和学习新事物,这绝对是一个加分项。

这第一步指定的广泛的知识库不仅包括时事知识,还包括量化主题的知识。你不应该只知道政治,而对统计学一无所知,因为这无疑会干扰你分析政治数据的能力。让这也成为文章中经常出现的事情之一,就是数据记者和编辑的建议:上统计课。如果你想开始,一定要去看看 OpenIntroDataCamp 提供的统计课程。

最后,考虑获取更多关于学科本身的背景知识:

2.写,写,写

你可能认为这一步在你成为数据记者的计划中可以忽略不计,但事实并非如此。写得好是很难教的事情之一,如果你想写得又快又准确,需要大量的练习,但仍然要针对你的读者,并在你写作的媒介的背景下,可能是博客,报纸,…为读者而不仅仅是为你自己写作需要技巧。任何你认为可以被其他人访问和阅读的东西,很可能都不是这样。

因此,请务必花时间完成这一步。幸运的是,网上有很多关于这个话题的课程,所以你不会被冷落:

  • EdX 为那些想学习更多新闻知识的人提供了一个很好的机会。“新闻促进社会变革”课程可能会让你感兴趣,但“记者英语:关键概念”无疑也会有很大帮助。
  • 此外, Coursera 还提供新闻课程和一整套专业化路线,以启动你的新闻职业生涯。
  • 查看 Mediabistro 的培训课程。

如果你更喜欢现场训练,你可以考虑卫报的大师班或者在谷歌上搜索一下,看看你家附近有没有这样的课程;有很多大学和组织提供新闻课程。

3.学习(一些)编程语言

尽管你可以用 Microsoft Excel 之类的工具做很多事情,而且编程本身并不是成为一名数据记者的必要条件,但在这个(早期)阶段学习如何编码会让你受益匪浅。

与您可能期望的相反,在这里学习编程的目标不仅是确保您能够收集信息,而且能够显示信息。

请注意,这里对某种语言的选择取决于您希望在哪里工作以及您正在处理的数据/故事。

作为一名数据记者,有些工作要求你比收集、转换和建模数据更了解网络开发,反之亦然。首先,最好在这两方面都有基础,然后在你更感兴趣的方面提高你的能力,因为这也将在你申请的工作中发挥作用。

这也解释了为什么最受欢迎的技能是 JavaScript、CSS 和 HTML。这些语言是网站制作语言。你可以看看 Journocode 教程。

接下来,也非常需要 Django (Python)和 Ruby web 框架方面的技能。如果你想学习如何用这两种语言编程,你应该考虑一下代码学校的课程。

最后,R/SAS/SPSS 和 Python 也应该在数据记者的学习清单上。这些语言不同于其他语言和上面提到的 Django 框架,因为它们非常适合分析和建模数据。在这里可能会派上用场的课程有 DataCamp 的R 简介数据科学 Python 简介课程。它们是为初学者量身定制的,一步一步地将你的编程技能提升到一个新的水平。对于 SAS 培训,你可以去这里,对于 SPSS,你可以去这里

4.发现数据新闻工作流程

了解工作流程并有一个工具箱供您使用是您学习的重要一步。开始这一步没有太多要求,但大多数数据记者都认为你应该能够使用 Microsoft Excel。因此,如果你不知道电子表格是如何工作的,你应该确保在开始任何其他工作之前,你已经熟练使用 Excel。

如果你有这个基础,你可以开始研究数据新闻工作流程。

与数据科学工作流程非常相似,数据记者应该经历数据收集、数据争论、分析以及数据可视化和报告等步骤。

然而,这个过程的重点将不是对数据建模,而是更多地放在其他步骤上,特别强调报告或讲故事。

以下资源可能有助于您开始了解数据争论、数据分析、数据可视化和报告:

  • 爱德华·塔夫特的书:如果你不知道如何展示数据和信息,这些书很棒。对于任何想重温可视化和可视化理论知识的人来说,它们都是极好的资源。同样值得一试的是 Alberto Cairo 的“功能艺术”和Stephen first的“信息仪表板设计”。
  • Nate Silver 的《信号与噪音:为什么如此多的预测失败——但有些没有》:对数据或分析感兴趣的人的必读之作。
  • 有许多资源专门关注 Python 和 r 的数据收集、争论和可视化。在这里阅读更多关于这些的

5.构建您的工具箱

你需要有合适的工具来处理上面描述的工作流程。幸运的是,数据记者可以使用各种各样的工具。对某种工具的选择自然取决于你工作的环境:看看 data journalist 的招聘信息就知道,不同的工作可以使用不同的工具,故事和数据的环境也会对你的选择产生一定的影响。最后,你也可能对某些工具有所偏好,因为你对它很精通。

这就是你的态度的来源。

你不需要知道如何使用每种工具,但是你应该了解每种工具能为你和你的故事提供什么。

你应该具备学习技能的能力和学习的意愿。

下面,我们列举一些经常在 Quora 等论坛和招聘启事中提到的工具的例子。该概述遵循上述工作流程的各个阶段,并不意味着详尽无遗:它只是为您提供从何处开始的指导。

建立你的工作空间。这可能是工作流程的第一步。如果你打算编程,你可能需要一个编码编辑器。考虑一下 VIMTextMateSublime Text 或者一个成熟的 IDE,比如 RStudioSpyder……你也可以考虑安装 Git 或者其他版本控制系统来管理你的源代码。

获取您的数据。数据是您工作流程的基石。因此,您首先需要知道从哪里可以获得这些数据。获取数据的第一个途径是通过你的网络。来源是非常重要的,因为数据并不总是出现在你面前,但故事却出现了。然后你的工作是找到数据来证实你从你的消息来源那里听到的故事。

获取数据的第二种方式是通过开放数据平台。有很多这样的网站,但是最突出的是世界银行、T2、联合国、T4、数据门户和数据中心。你也有美国政府的公开数据英国政府的公开数据,以及许多其他有公开数据的政府网站。

要了解更多关于开放数据可以带来的价值,请查看来自欧洲数据门户的开放数据研究所课程电子学习计划,...

作为一名有抱负的数据记者,卫报的数据博客也是一个有趣的起点,因为它展示了数据、背景和关于数据新闻过程的问题。

数据集也可以通过邮件列表获得,如 NICAR listserv 或论坛。

除了可以通过开放数据平台、邮件列表、论坛或资源获得的数据集,你还可以通过网络搜集获得数据。在这里,您需要利用 Python 和 R 等编程语言提供的包或库。或者你可以求助于专门为此目的而设计的工具,这些工具不需要你精通编程。

另一方面,也可以从数据库中检索数据。SQL 在这一点上会派上用场。如果你想学习这个技能,试着专注于 MySQL、PostgreSQL 或 SQL Server。考虑在tutorial point上学习一些教程,了解更多关于数据库和 SQL 的知识。

你马上会发现拥有一个网络在这里是很重要的。我们稍后再讨论这个。

在所有这一切中,不要忘记法律上的考虑,这一点非常重要。总是检查你能利用你已经获得的数据集做什么,以及你需要给予谁信任。如果您没有获得所需的数据,您可以随时提交信息自由(FOI)请求(也称为“摇摆”),这使您有机会请求访问政府公共部门组织(如警方、学校或公有博物馆)持有的记录信息。

在工作区获取数据。要将数据放入您的工作空间,您可以首先求助于最基本的方法,即使用 Excel。然而,当你已经更高级时,你应该能够利用你正在使用的编码语言的库或包。您可以使用特殊函数在上导入数据。csv,。txt 或其他文件扩展名,但也有一些特定的材料可以帮助你通过网络搜集从互联网上收集数据。Python 和 R 有专门为此设计的库/包,即 scrapy[rvest](https://web.archive.org/web/20220529063311/https://www.rdocumentation.org/packages/rvest/versions/0.3.2)。要从 pdf 中抓取数据,您可以使用 Tabula 。要提取 web 数据,还可以利用 import.io

争论你的数据。整理您的数据意味着对其进行处理、清理和重塑,以便它可以随时对您的数据进行分析。对于 Python 来说, NumPyPandas 包是必经之路。对于 R,可以依靠dplyrtidyr。对于开箱即用的工具, OpenRefine (以前的 Google Refine)是一个用于清理和转换数据的流行工具,但你也可以使用 DataWranglerCSVKit

分析你的数据。这里可能是你的统计技能派上用场的地方。利用 or R 和 Python,用 statsmodelsstatmod 对你的数据建模。您也可以使用诸如 DataRobotKnimeRapidMiner 等工具。

可视化您的数据。大多数受欢迎的技能都涉及显示信息,所以把足够的注意力放在可视化数据上是非常重要的。可以求助于 Tableau 或者 QlikviewTileMillinfogr 。am ,Google Fusion 或者 QGISArcGIS 如果你正在寻找不需要你做(很多)编程的工具。如果你已经精通 JavaScript、Python 或 R,你可能会考虑 D3.js[plotly](https://web.archive.org/web/20220529063311/https://plot.ly/)matplotlib、或[ggplot](https://web.archive.org/web/20220529063311/https://www.rdocumentation.org/packages/ggplot2/versions/2.1.0/topics/ggplot)

报告你的结果。您可以使用 Tableau 或 Qlikview 构建仪表盘,或者使用 Adobe Illustrator、Adobe Indesign 或 Adobe Photoshop 制作信息图,或者将您的代码和可视化结果放在笔记本中。你有一个基于网络的 Jupyter 笔记本来存放你的 Python 代码。对于 R,你可以考虑制作一个 R Markdown 文档。

6.开始建立你的人际网络

如果你想成为一名数据记者,建立你的关系网将非常重要,因为这是你找到灵感和导师的途径。你的人际网络会让你向最优秀的人学习。

首先在 Twitter 上关注一些数据新闻和行业的关键人物:

| 保罗·布拉德肖 | 西蒙·罗杰斯 |
| 史蒂夫·多伊格 | 马修·康伦 |
| 斯科特·贝里纳托 | 阿尔贝托·佩佩 |
| 黄邦贤柏林 | 艾琳·罗斯 |
| 马尔滕·兰布雷特 | 尼尔斯穆德 |
| 大卫·麦坎多斯 | 约翰·伯恩-默多克 |
| 阿尔贝托·卢卡斯·洛佩斯 | 沃伦·里德 |
| 大卫·哈丁 | stijn debouwer |
| 尼古拉·卡塞尔-布里尔 | 雅格布·奥塔维亚尼 |
| 克雷格·西尔弗曼 | 尼古拉斯·惠特克 |
| 安德鲁·奥德瓦恩 | 海伦娜·本斯特朗森 |
| 米科拉·李森科 | 思思韦 |
| 克里斯·祖巴克-斯基斯 | ... |

这只是一个让你开始的列表。

请注意,这个列表不包括这篇文章中已经提到的人。

此外,你还可以加入 Reddit 或 LinkedIn 上的群组来了解最新消息:考虑关注 subreddit/R/**theydithmath/r/datasets ,但也可以看看更具体的 Python 或 R subreddits 来了解最新消息。特定语言的 Reddit 和 LinkedIn 群组在这里列出

此外,你也可以考虑去参加像这样的聚会,通过数据驱动新闻欧洲新闻中心网站关注你所在地区的事件和/或会议。此外,考虑加入 Knight-Mozilla 开放新闻社区。

7.继续你的学习

你的学习永远不会结束。总是有那么多要发现和要做的事情,尤其是当你想在这个领域开始的时候,甚至是当你已经有一份工作的时候。

你将永远在学习。

您可以查看一些其他资源:

关注并发现有趣的网站。访问博客,如fivethirtyeghtTheUpshot (纽约时报)或 ProPublica Nerd 博客,或其他关于数据可视化的有趣网站,如 EagerEyesflow data。此外,不要忘了查看数据记者或数据自由职业者的博客和作品集,如 Maarten Lambrechts、 Alberto Lucas LópezJohn Burn-Murdoch

听播客。如果你喜欢播客,你会很乐意收听数据故事。这是一个关于数据可视化的很棒的播客。不要错过这一集,Scott Klein 讲述了他的团队以及他们如何在 ProPublica 工作。也一定要看看偏导数和五点三十八分的播客。

读一些书。推荐书籍有本书克莱尔·米勒所著。

寻找其他培训材料。查看这份培训材料清单。考虑一下你是否已经习惯了工具箱中的工具。如果你不是,考虑参加一些教程。你可以在这里找到更多 R 或 Python 教程

开始做数据新闻。从小做起,从自己的一个项目开始。获取一个数据集,并开始分析、可视化和报告结果。你可以在 Kaggle 或者 DrivenData 上找到项目。下一步,你可以开一个博客。就像上面提到的那些。这是展示你才华的好方法,也是你简历的一大亮点。你要确保你的成果与全世界分享!

8.去吧!

当你完成了前面的步骤,你可能想给自己找一份数据记者的工作。

一些可能会帮助你找工作的网站有新闻呆子工作Indeed.comNICAR Listserv、 Mediabistro 工作列表Linkedinjournal Jobs

一些最后的建议

最后,成为一名数据记者的最佳建议是马腾·兰布雷茨的建议:开始做数据新闻吧。

此外,这里还有一些提示:

不要气馁。开始时,你很可能会遇到问题,但这不是放弃的理由。你在实践中学习,这需要一些时间。

不要害怕从小处着手。有些新闻编辑室还没有大数据团队。请记住这一点。

慢慢来。判断某个项目是否值得,需要一定的经验。有时候,你会处理数据,但它不会成为一个故事。也要花时间建立你的人际网络,向他人学习,积累整个工作流程中的经验。

r 相关教程

原文:https://web.archive.org/web/20230101103415/https://www.datacamp.com/blog/r-correlation-tutorial

correlation

在本教程中,您将探索大量的数据可视化方法及其底层统计。特别是在识别数据框架中变量之间的趋势和关系方面。

没错,你会把重点放在相关和回归等概念上!首先,将向您介绍 R 中的相关性。然后,您将看到如何使用诸如ggplot2GGally之类的包在 R 中绘制相关性矩阵。最后,您将看到存在哪些类型的相关性,以及它们对您的进一步分析有何影响。

如果你有兴趣深入这个话题,可以考虑参加 DataCamp 的相关性和回归课程。

背景

在今天的教程中,你将使用从 Kaggle 获得的一组电影数据,来发现如何更好地理解变量之间的关系。

我对数据进行了轻度处理,通过确保货币等事物使用相同的单位,我们的分析是“苹果对苹果”的分析。如果没有这一步,我们对变量grossbudgetprofit的统计分析将会产生误导。您可以访问原始数据集。

导入数据

为了访问movies数据集并投入使用,您可以使用read.csv()函数将您的数据导入到数据框中,并将其存储在具有惊人的原始名称movies的变量中!

movies <- read.csv(url("http://s3.amazonaws.com/dcwoods2717/movies.csv"))

这就是入门的全部!

对数据的基本检查

导入数据框后,最好了解一下您的数据。首先,检查正在检查的数据的结构。下面你可以看到使用这个超级简单、有用的函数str()的结果:

str(movies)
## 'data.frame':    2961 obs. of  11 variables:
##  $ title              : Factor w/ 2907 levels "10 Cloverfield Lane",..: 1560 2143 34 2687 1405 1896 2633 894 1604 665 ...
##  $ genre              : Factor w/ 17 levels "Action","Adventure",..: 6 12 5 5 5 3 2 8 3 8 ...
##  $ director           : Factor w/ 1366 levels "Aaron Schneider",..: 474 472 781 828 175 1355 1328 1328 968 747 ...
##  $ year               : int  1920 1929 1933 1935 1936 1937 1939 1939 1940 1946 ...
##  $ duration           : int  110 100 89 81 87 83 102 226 88 144 ...
##  $ gross              : int  3000000 2808000 2300000 3000000 163245 184925485 22202612 198655278 84300000 20400000 ...
##  $ budget             : int  100000 379000 439000 609000 1500000 2000000 2800000 3977000 2600000 8000000 ...
##  $ cast_facebook_likes: int  4 109 995 824 352 229 2509 1862 1178 2037 ...
##  $ votes              : int  5 4546 7921 13269 143086 133348 291875 215340 90360 6304 ...
##  $ reviews            : int  2 107 162 164 331 349 746 863 252 119 ...
##  $ rating             : num  4.8 6.3 7.7 7.8 8.6 7.7 8.1 8.2 7.5 6.9 ...

在这个特定的数据框中,您可以从控制台看到 11 个变量的 2961 个观测值。

顺便说一下,即使每部电影只有一个小时,你也需要连续看四个多月才能看完!

控制台还按名称列出每个变量、每个变量的类以及每个变量的一些实例。这让我们对数据框架中的内容有了一个很好的了解,对它的理解对我们的分析工作至关重要。

另一个帮助我们对数据框架进行快速、高级概述的伟大功能是summary()。请注意运行str()所产生的输出之间的异同。

summary(movies)
##                          title            genre    
##  Home                       :   3   Comedy   :848  
##  A Nightmare on Elm Street  :   2   Action   :738  
##  Across the Universe        :   2   Drama    :498  
##  Alice in Wonderland        :   2   Adventure:288  
##  Aloha                      :   2   Crime    :202  
##  Around the World in 80 Days:   2   Biography:135  
##  (Other)                    :2948   (Other)  :252  
##               director         year         duration    
##  Steven Spielberg :  23   Min.   :1920   Min.   : 37.0  
##  Clint Eastwood   :  19   1st Qu.:1999   1st Qu.: 95.0  
##  Martin Scorsese  :  16   Median :2004   Median :106.0  
##  Tim Burton       :  16   Mean   :2003   Mean   :109.6  
##  Spike Lee        :  15   3rd Qu.:2010   3rd Qu.:119.0  
##  Steven Soderbergh:  15   Max.   :2016   Max.   :330.0  
##  (Other)          :2857                                 
##      gross               budget          cast_facebook_likes
##  Min.   :      703   Min.   :      218   Min.   :     0     
##  1st Qu.: 12276810   1st Qu.: 11000000   1st Qu.:  2241     
##  Median : 34703228   Median : 26000000   Median :  4604     
##  Mean   : 58090401   Mean   : 40619384   Mean   : 12394     
##  3rd Qu.: 75590286   3rd Qu.: 55000000   3rd Qu.: 16926     
##  Max.   :760505847   Max.   :300000000   Max.   :656730     
##                                                             
##      votes            reviews           rating     
##  Min.   :      5   Min.   :   2.0   Min.   :1.600  
##  1st Qu.:  19918   1st Qu.: 199.0   1st Qu.:5.800  
##  Median :  55749   Median : 364.0   Median :6.500  
##  Mean   : 109308   Mean   : 503.3   Mean   :6.389  
##  3rd Qu.: 133348   3rd Qu.: 631.0   3rd Qu.:7.100  
##  Max.   :1689764   Max.   :5312.0   Max.   :9.300  
## 

只需一个命令,您就可以让 R 返回数据框中每个变量的一些关键统计信息。现在您已经知道您正在处理什么了,让我们开始深入研究数据吧!

特征工程:计算利润

在回顾您可用的变量时,似乎可以操纵一些数值变量来为我们的数据框架提供新的见解。

例如,你已经有了grossbudget变量,那么为什么不用一点子集来计算每部电影的利润呢?

你可以用公式profit = gross - budget计算利润。在下面的 DataCamp Light 块中尝试一下吧!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdih1cmwoXCJodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kY3dvb2RzMjcxNy9tb3ZpZXMuY3N2XCIpKSIsInNhbXBsZSI6IiMgRmlsbCBpbiB0aGUgYXBwcm9wcmlhdGUgdmFyaWFibGUgbmFtZXMgdG8gc3Vic2V0IVxucHJvZml0IDwtIG1vdmllcyQuLi4uLiAtIG1vdmllcyQuLi4uLlxuXG4jIENoZWNrIHRoZSByZXN1bHRcbnN1bW1hcnkocHJvZml0KSIsInNvbHV0aW9uIjoiIyBGaWxsIGluIHRoZSBhcHByb3ByaWF0ZSB2YXJpYWJsZSBuYW1lcyB0byBzdWJzZXQhXG5wcm9maXQgPC0gbW92aWVzJGdyb3NzIC0gbW92aWVzJGJ1ZGdldFxuXG4jIENoZWNrIHRoZSByZXN1bHRcbnN1bW1hcnkocHJvZml0KSIsInNjdCI6InRlc3Rfb2JqZWN0KFwicHJvZml0XCIsIHVuZGVmaW5lZF9tc2c9XCJEaWQgeW91IGNvcnJlY3RseSBkZWZpbmUgdGhlIHZhcmlhYmxlIGBwcm9maXRgP1wiLCBpbmNvcnJlY3RfbXNnID0gXCJOb3QgcXVpdGUhXCIpXG50ZXN0X2Vycm9yKClcbnN1Y2Nlc3NfbXNnKFwiRXhjZWxsZW50IVwiKSJ9

厉害!

你可以看到,在我们的数据框架中,有相当多的赚钱者和赚钱者。

我们的电影中的profit可能会用于一些有趣的分析,所以让我们继续将profit作为一个新列添加到我们的数据框中。

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdihcImh0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikiLCJzYW1wbGUiOiIjIEFkZCBhIGNvbHVtbiBmb3IgYHByb2ZpdGAgdG8gYG1vdmllc2AgXG5tb3ZpZXMkLi4uLi4gPC0gbW92aWVzJC4uLi4uIC0gbW92aWVzJC4uLi4uIiwic29sdXRpb24iOiIjIEFkZCBhIGNvbHVtbiBmb3IgYHByb2ZpdGAgdG8gYG1vdmllc2Bcbm1vdmllcyRwcm9maXQgPC0gbW92aWVzJGdyb3NzIC0gbW92aWVzJGJ1ZGdldCJ9

相互关系

现在profit已经作为一个新列添加到我们的数据框中,是时候更仔细地看看数据集变量之间的关系了。

让我们看看profit相对于每部电影的rating是如何波动的。

为此,您可以使用 R 的内置plotabline函数,其中plot将产生一个散点图,而abline将产生一条回归线或“最佳拟合线”,因为我们包含了线性模型参数,如下所示。

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdih1cmwoXCJodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kY3dvb2RzMjcxNy9tb3ZpZXMuY3N2XCIpKVxubW92aWVzJHByb2ZpdCA8LSBtb3ZpZXMkZ3Jvc3MgLSBtb3ZpZXMkYnVkZ2V0XG5vcHRpb25zKHNjaXBlbiA9IDk5OSkiLCJzYW1wbGUiOiIjIENyZWF0ZSB0aGUgc2NhdHRlciBwbG90IHdpdGggYHJhdGluZ3NgIG9uIHRoZSB4LWF4aXMgYW5kIGBwcm9maXRgIG9uIHRoZSB5LWF4aXNcbnBsb3QobW92aWVzJC4uLi4sIG1vdmllcyQuLi4uKVxuXG4jIEFkZCBhIHJlZ3Jlc3Npb24gbGluZXdpdGggdGhlIGZvcm0gYGFibGluZShsbSh5IH4geCkpYFxuXG5hYmxpbmUobG0obW92aWVzJC4uLi4gfiBtb3ZpZXMkLi4uLikpIiwic29sdXRpb24iOiIjIENyZWF0ZSB0aGUgc2NhdHRlciBwbG90IHdpdGggYHJhdGluZ3NgIG9uIHRoZSB4LWF4aXMgYW5kIGBwcm9maXRgIG9uIHRoZSB5LWF4aXNcbnBsb3QobW92aWVzJHJhdGluZywgbW92aWVzJHByb2ZpdClcblxuIyBBZGQgYSByZWdyZXNzaW9uIGxpbmUgd2l0aCB0aGUgZm9ybSBgYWJsaW5lKGxtKHkgfiB4KSlgIFxuYWJsaW5lKGxtKG1vdmllcyRwcm9maXQgfiBtb3ZpZXMkcmF0aW5nKSkifQ==

输出是否与您预期的差不多?

R regression

一般来说,似乎具有较高rating的电影往往具有较高的profit。另一种表述这种说法的方式是,至少在我们的数据框架中,ratingprofit之间存在正相关。

也就是说,即使粗略地看一下剧情,也会发现有很多高收视率的电影并不完全是大片,也有一些非常赚钱的电影获得了相对较低的收视率。

相关性并不意味着因果关系!

有一个轶事可以帮助你理解相关性和因果性,如下:我在海滩上经营一个冰淇淋摊。当我的冰淇淋销售增加时,城市中乱穿马路者的平均数量往往会增加,但是我的冰淇淋导致人们无视交通法规,还是有其他因素在起作用?我的冰淇淋确实很棒,但是外面的阳光可能与人们想吃冰淇淋和不想站在人行横道上被晒伤有关。我的冰淇淋销量和 jay walkers 的数量之间确实存在关联,但你不能肯定地说这是一种因果关系。

在学习本教程的过程中,请记住这条推理路线!

计算 R 中的相关性

那么movies中的变量之间存在什么类型的关系,如何定量评估这些关系呢?

第一种方法是用cor()产生相关性和相关性矩阵:

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdihcImh0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIilcbm1vdmllcyRwcm9maXQgPC0gbW92aWVzJGdyb3NzIC0gbW92aWVzJGJ1ZGdldFxub3B0aW9ucyhzY2lwZW4gPSA5OTkpIiwic2FtcGxlIjoiIyBDb21wdXRlIFBlYXJzb24gY29ycmVsYXRpb25cbmNvcihtb3ZpZXMkcmF0aW5nLCBtb3ZpZXMkcHJvZml0KVxuXG4jIENvcnJlbGF0aW9uIE1hdHJpeFxuY29yKG1vdmllc1ssNDoxMF0pIn0=

注意你也可以指定你想要的方法来指示你想要计算的相关系数。要小心,因为这些相关性总是有一些假设:Kendall 和 Spearman 方法只对有序输入有意义。这意味着您需要在计算相关系数之前对数据进行排序。

此外,默认方法——皮尔逊相关法——假定变量呈正态分布,每个变量之间存在直线关系,并且数据围绕回归线呈正态分布。

还要注意,您可以使用rcorr(),它是Hmisc包的一部分,用于计算 pearson 和 spearman 相关性的显著性水平。

您还会看到,相关矩阵实际上是一个表格,显示了变量集之间的相关系数。这已经是了解数据集变量之间存在哪些关系的第一个好方法,但是让我们在下一节更深入地探讨这个问题。

可视化探索相关性:R 相关矩阵

在接下来的探索中,您将使用您的movies数据框中可用的变量绘制一个相关矩阵。这个简单的图将使您能够快速直观地看到哪些变量与其他变量具有负相关、正相关、弱相关或强相关。

为了实现这个奇迹,您将使用一个叫做GGally的漂亮包和一个叫做ggcorr()的函数。

这个函数调用的形式将是ggcorr(df),其中df是您调用函数的数据框的名称。这个函数的输出将是一个三角形的彩色编码矩阵,标有我们的变量名。每个变量相对于其他变量的相关系数可以通过读取矩阵的横向和/或纵向来找到,这取决于变量在矩阵中的位置。

这听起来可能令人困惑,但实际上非常简单,所以在下面的代码块中尝试一下吧!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdih1cmwoXCJodHRwOi8vczMuYW1hem9uYXdzLmNvbS8vZGN3b29kczI3MTcvbW92aWVzLmNzdlwiKSlcbm1vdmllcyRwcm9maXQgPC0gbW92aWVzJGdyb3NzIC0gbW92aWVzJGJ1ZGdldFxubGlicmFyeShcIkdHYWxseVwiKSIsInNhbXBsZSI6IiMgUmVwbGFjZSB0aGUgXCIuLi4uLlwiIHdpdGggdGhlIG5hbWUgb2YgdGhlIGRhdGEgZnJhbWUgXG5nZ2NvcnIoLi4uLi4pIiwic29sdXRpb24iOiIjIFJlcGxhY2UgdGhlIFwiLi4uLi5cIiB3aXRoIHRoZSBuYW1lIG9mIHRoZSBkYXRhIGZyYW1lIFxuZ2djb3JyKG1vdmllcykifQ==

correlation coefficient

所以在你刚刚创建的相关矩阵中(顺便说一句,干得好!),您可以转到与某个变量相关的行或列,如year,并查看其相关系数,如与另一个变量相对应的单元格的颜色所示。

例如,在检查year时,您可以看到与budget有微弱的正相关性,与rating也有类似微弱的负相关性。

相关系数始终介于-1 和 1 之间,包括-1 和 1。相关系数为-1 表示完美的负拟合,其中 y 值的下降速度与 x 值的上升速度相同。相关系数 1 表示完美的正拟合,其中y值以与x值相同的速率增加。

在大多数情况下,比如你上面的year例子,相关系数在-1 和 1 之间。

你注意到相关矩阵中显示的变量有什么奇怪的地方吗?

并不是movies中的所有变量都存在!

这是因为movies中的变量并不都是数字。ggcorr功能会自动忽略非数字变量,使用户在创建矩阵前无需“子集化”这些变量,从而节省了一些时间。

如果你想让你的相关矩阵真正“流行”(或者你可能有点色盲,像我一样),你可以做一些简单的调整来产生更具视觉吸引力的数据加载矩阵。

在接下来的代码块中,您已经包含了label参数,它可以被设置为等于TRUEFALSE。默认设置是FALSE,但是如果添加label = TRUE,每个关系的相关系数都包含在适当的单元格中。这可以防止您根据色标猜测每个系数的值。

label_alpha参数允许您根据相关系数的强度增加或减少每个标签的不透明度。这对于快速、直观的数据分析非常有帮助。

不要相信我的话,你自己试试吧!

现在让我们绘制一个更好的相关矩阵:

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdih1cmwoXCJodHRwOi8vczMuYW1hem9uYXdzLmNvbS8vZGN3b29kczI3MTcvbW92aWVzLmNzdlwiKSlcbm1vdmllcyRwcm9maXQgPC0gbW92aWVzJGdyb3NzIC0gbW92aWVzJGJ1ZGdldFxubGlicmFyeShcIkdHYWxseVwiKSIsInNhbXBsZSI6IiMgRmlsbCBpbiBcIlRSVUVcIiBvciBcIkZBTFNFXCIgdG8gc2VlIGhvdyB0aGUgY29ycmVsYXRpb24gbWF0cml4IGNoYW5nZXNcbmdnY29ycihtb3ZpZXMsIFxuICAgICAgIGxhYmVsID0gLi4uLi4sIFxuICAgICAgIGxhYmVsX2FscGhhID0gLi4uLi4pIiwic29sdXRpb24iOiIjIEZpbGwgaW4gXCJUUlVFXCIgb3IgXCJGQUxTRVwiIHRvIHNlZSBob3cgdGhlIGNvcnJlbGF0aW9uIG1hdHJpeCBjaGFuZ2VzXG5nZ2NvcnIobW92aWVzLCBcbiAgICAgICBsYWJlbCA9IFRSVUUsIFxuICAgICAgIGxhYmVsX2FscGhhID0gVFJVRSkifQ==

correlation coefficient

在接下来的图中,您将看到,当创建具有“强”相关性的图时,其回归线的斜率(x / y)更接近 1/1 或-1/1,而“弱”相关性的图可能具有几乎没有任何斜率的回归线。接近 1/1 或-1/1 的斜率意味着绘制的两个变量密切相关。

在我们的movies数据框架中,这样的回归线可以提供关于变量性质的有力见解,并可能表明这些变量的相互依赖性。

例如,在你之前的profitrating的曲线图中,你看到我们的回归线有一个适度的正斜率。回头看看你的相关矩阵,你看到这两个变量的相关系数是 0.3。

有道理,对吧?

相关类型

现在让我们来看看其他的图表,这些图表展示了您在上一节中看到的不同类型的相关性!

强相关性:绘制投票与评论

让我们从绘制两个强正相关的变量开始。

在查看我们的相关矩阵时,似乎votesreviews符合您的标准,相关值为 0.8。这意味着我们的斜率应该相对接近 1/1。

您将在本练习和接下来的练习中实现ggplot2包。ggplot2包是一个多功能的工具集,可用于创建引人注目的数据可视化。

在这种情况下,您将利用ggplot2包中的qplot函数,它可以根据传递给geom(几何)参数的绘图类型生成多种绘图。

在接下来的代码块中,geom被设置为包含两种几何类型的向量,pointsmooth,其中point产生散点图,smooth产生趋势线。您还会注意到method已被设置为lm,这意味着趋势线将是我们之前在profityears的绘图中创建的熟悉的直线回归线。

简而言之,您将了解到在一瞬间生成杀手级数据可视化是多么容易!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6ImxpYnJhcnkoXCJnZ3Bsb3QyXCIpXG5tb3ZpZXMgPC0gcmVhZC5jc3YodXJsKFwiaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikpXG5tb3ZpZXMkcHJvZml0IDwtIG1vdmllcyRncm9zcyAtIG1vdmllcyRidWRnZXRcbm9wdGlvbnMoc2NpcGVuID0gOTk5KSIsInNhbXBsZSI6IiMgUGxvdCB2b3RlcyB2cyByZXZpZXdzXG5xcGxvdChtb3ZpZXMkLi4uLi4sIFxuICAgICAgbW92aWVzJC4uLi4uLCBcbiAgICAgIGRhdGEgPSAuLi4uLiwgXG4gICAgICBnZW9tID0gYyhcInBvaW50XCIsIFwic21vb3RoXCIpLCBcbiAgICAgIG1ldGhvZCA9IFwibG1cIiwgXG4gICAgICBhbHBoYSA9IEkoMSAvIDUpLCBcbiAgICAgIHNlID0gRkFMU0UpIiwic29sdXRpb24iOiIjIFBsb3Qgdm90ZXMgdnMgcmV2aWV3c1xucXBsb3QobW92aWVzJHZvdGVzLCBcbiAgICAgIG1vdmllcyRyZXZpZXdzLCBcbiAgICAgIGRhdGEgPSBtb3ZpZXMsIFxuICAgICAgZ2VvbSA9IGMoXCJwb2ludFwiLCBcInNtb290aFwiKSwgXG4gICAgICBtZXRob2QgPSBcImxtXCIsIFxuICAgICAgYWxwaGEgPSBJKDEgLyA1KSwgXG4gICAgICBzZSA9IEZBTFNFKSJ9

positive R correlation

您可能已经认识到了上面的qplot函数中包含的alpha参数。在qplot中使用alpha对散点图中的点应用不透明度梯度,类似于在ggcorr中改变相关系数标签的不透明度。

在您使用的配置中,只有当一个点与其他 5 个点重叠时,才能实现完全不透明。增加或减少alpha分母中的数字将影响改变点的不透明度所需的重叠点的数量。使用这种美学的一个原因是,它可以帮助用户快速识别图中数据点的集中程度,这反过来又可以让我们只需看一眼就能了解关于数据的新见解。

继续修改代码,看看它是如何为自己工作的!

弱相关性:绘制多年利润图

现在让我们通过绘制profityears来看看“弱”负相关是什么样子的。这一次,没有指定method,所以我们的趋势线将根据数据以曲线方式变化(拟合曲线),这是该函数的默认设置。你会注意到,沿着趋势线的某些部分,有一个浅灰色区域,其大小根据趋势线的置信区间而增大或减小。

如果你不熟悉置信区间的概念,不要担心!r 将为您完成这项工作,这个概念在这个练习之后会得到更好的解释。

现在,只要在空白处填入必要的代码并观察就行了!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6ImxpYnJhcnkoXCJnZ3Bsb3QyXCIpXG5tb3ZpZXMgPC0gcmVhZC5jc3YodXJsKFwiaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikpXG5tb3ZpZXMkcHJvZml0IDwtIG1vdmllcyRncm9zcyAtIG1vdmllcyRidWRnZXRcbm9wdGlvbnMoc2NpcGVuID0gOTk5KSIsInNhbXBsZSI6IiMgUGxvdCBwcm9maXQgb3ZlciB5ZWFyc1xucXBsb3QobW92aWVzJHllYXIsIFxuICAgICAgbW92aWVzJHByb2ZpdCwgXG4gICAgICBkYXRhID0gbW92aWVzLCBcbiAgICAgIGdlb20gPSBjKFwicG9pbnRcIiwgXCJzbW9vdGhcIiksIFxuICAgICAgYWxwaGEgPSBJKDEgLyA1KSkiLCJzb2x1dGlvbiI6IiMgUGxvdCBwcm9maXQgb3ZlciB5ZWFyc1xucXBsb3QobW92aWVzJHllYXIsIFxuICAgICAgbW92aWVzJHByb2ZpdCwgXG4gICAgICBkYXRhID0gbW92aWVzLCBcbiAgICAgIGdlb20gPSBjKFwicG9pbnRcIiwgXCJzbW9vdGhcIiksIFxuICAgICAgYWxwaGEgPSBJKDEgLyA1KSkifQ==

weak correlation

那么现在你已经有机会看到置信区间和平滑曲线在起作用,你能观察到什么呢?

  • 首先,你可以看到在图的开始部分,profit似乎在增加每一个year
  • 其次,您会注意到平滑曲线的灰色区域偏移最初相当大,而数据点(或观察值)的数量相当少。
  • 第三,当曲线移动到一个更大的观察集中点时,灰色区域变小,实际上接近曲线,曲线在随后的year开始下降。

总之,绘制置信区间和平滑曲线可以让我们看到与回归线相关的不确定性。这种不确定性随着观测值的减少而增加,随着观测值的增加而减少。

这非常有助于可视化我们的变量之间的关系如何在整个数据框架中变化,并揭示观测值的集中如何改变绘制的曲线。

这里需要注意的是,该图可能有点误导,因为很难直观地辨别变量之间是正相关还是负相关。

现在让我们用绘制votesreviews的相同方法绘制profityear的曲线:只需替换“…..”在每个自变量中,年被标绘在x轴上,而profit在 y 轴上。确保指定“数据”等于哪个数据框!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6ImxpYnJhcnkoXCJnZ3Bsb3QyXCIpXG5tb3ZpZXMgPC0gcmVhZC5jc3YodXJsKFwiaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikpXG5tb3ZpZXMkcHJvZml0IDwtIG1vdmllcyRncm9zcyAtIG1vdmllcyRidWRnZXRcbm9wdGlvbnMoc2NpcGVuID0gOTk5KSIsInNhbXBsZSI6IiMgUGxvdCB0aGUgeWVhcnMgb24gdGhlIHgtYXhpcywgcHJvZml0IG9uIHRoZSB5LWF4aXNcbnFwbG90KG1vdmllcyQuLi4uLiwgXG4gICAgICBtb3ZpZXMkLi4uLi4sIFxuICAgICAgZGF0YSA9IC4uLi4uLCBcbiAgICAgIGdlb20gPSBjKFwicG9pbnRcIiwgXCJzbW9vdGhcIiksIFxuICAgICAgbWV0aG9kID0gXCJsbVwiLCBcbiAgICAgIGFscGhhID0gSSgxIC8gNSksIFxuICAgICAgc2UgPSBGQUxTRSkiLCJzb2x1dGlvbiI6IiMgUGxvdCB0aGUgeWVhcnMgb24gdGhlIHgtYXhpcywgcHJvZml0IG9uIHRoZSB5LWF4aXNcbnFwbG90KG1vdmllcyR5ZWFyLCBcbiAgICAgIG1vdmllcyRwcm9maXQsIFxuICAgICAgZGF0YSA9IG1vdmllcywgXG4gICAgICBnZW9tID0gYyhcInBvaW50XCIsIFwic21vb3RoXCIpLCBcbiAgICAgIG1ldGhvZCA9IFwibG1cIiwgXG4gICAgICBhbHBoYSA9IEkoMSAvIDUpLCBcbiAgICAgIHNlID0gRkFMU0UpIn0=

negative correlation

回顾您的相关矩阵,您会发现profityear的相关系数为-0.1,这在采用最佳拟合线的图中可能比在使用拟合曲线的图中更容易看到。

把这一切联系在一起

现在让我们看看GGally中另一个强大的功能ggpairs。该功能非常棒,因为它允许用户创建一个矩阵,显示多个变量的相关系数以及散点图(包括一条带有置信区间的最佳拟合线)和密度图。

使用这个函数,您可以以一种简洁、易于理解的方式有效地将本教程中涉及的所有内容结合起来。

在下面的代码块中,从数据框中选择您最喜欢的三个变量(不需要子集化!),插上电源,就可以玩了!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6ImxpYnJhcnkoXCJnZ3Bsb3QyXCIpXG5saWJyYXJ5KFwiR0dhbGx5XCIpXG5tb3ZpZXMgPC0gcmVhZC5jc3YodXJsKFwiaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikpXG5tb3ZpZXMkcHJvZml0IDwtIG1vdmllcyRncm9zcyAtIG1vdmllcyRidWRnZXRcbm9wdGlvbnMoc2NpcGVuID0gOTk5KSIsInNhbXBsZSI6IiMgUGx1ZyBpbiB5b3VyIHRocmVlIGZhdm9yaXRlIHZhcmlhYmxlcyBhbmQgdGlua2VyIGF3YXkhXG5nZ3BhaXJzKG1vdmllcywgXG4gICAgICAgIGNvbHVtbnMgPSBjKFwiLi4uLi5cIiwgXCIuLi4uLlwiLCBcIi4uLi4uXCIpLCBcbiAgICAgICAgdXBwZXIgPSBsaXN0KGNvbnRpbnVvdXMgPSB3cmFwKFwiY29yXCIsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IDEwKSksIFxuICAgICAgICBsb3dlciA9IGxpc3QoY29udGludW91cyA9IFwic21vb3RoXCIpKSIsInNvbHV0aW9uIjoiIyBQbHVnIGluIHlvdXIgdGhyZWUgZmF2b3JpdGUgdmFyaWFibGVzIGFuZCB0aW5rZXIgYXdheSFcbmdncGFpcnMobW92aWVzLCBcbiAgICAgICAgY29sdW1ucyA9IGMoXCJjYXN0X2ZhY2Vib29rX2xpa2VzXCIsIFwiYnVkZ2V0XCIsIFwicHJvZml0XCIpLCBcbiAgICAgICAgdXBwZXIgPSBsaXN0KGNvbnRpbnVvdXMgPSB3cmFwKFwiY29yXCIsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IDEwKSksIFxuICAgICAgICBsb3dlciA9IGxpc3QoY29udGludW91cyA9IFwic21vb3RoXCIpKSJ9

correlation R matrix

正如你可能已经猜到的,有许多场景中,一种类型的情节是理想的-关键是要了解哪些可视化技术是可用的,如何使用它们,以及最终结果意味着什么!

前进

您已经在本教程中涉及了很多内容,所以祝贺您坚持到最后!

我希望你能够将这些概念运用到你自己的分析冒险中去!这些实际上是 R 中数据探索的基础,在开始分析和建模之前,您可以做更多的事情来确保对数据有一个良好的感觉。为什么不更进一步,开始 DataCamp 的探索性数据分析课程呢?

与此同时,我鼓励你前往 Kaggle ,如果你不想继续使用movies数据集,就去寻找一个丰富的、令人着迷的数据集来探索吧!

2022 年 10 大 R 项目创意

原文:https://web.archive.org/web/20221129033335/https://www.datacamp.com/blog/r-project-ideas

R Project Ideas

数据科学是其中一个领域,在这个领域里创造一份令人印象深刻的简历对于进入就业市场是不够的。如果你想在这个领域开始职业生涯,关键的一步是建立一个相关项目组合,在面试中展示你的数据技能。如果你精通 R 编程,展示一些 R 项目肯定会给你留下深刻印象。

好消息是,开始创建这样的投资组合永远不会太早或太晚。无论你是一个完全的新手还是已经在学习数据科学的中途,你都可以现在就开始你的 R 项目。

你的第一个项目看起来很业余是完全没问题的。您随时可以在以后返回到它们,详细阐述它们,提炼它们,甚至在您制作更高级的项目时删除它们。这里最重要的是开始这个过程。

但是你应该在那些项目中开发什么主题呢?在本文中,我们将概述一些对使用 R 的数据科学项目有帮助的想法,并通过一些例子来说明。我们还将讨论 R 编程语言以及它如何用于数据分析和数据科学。

为什么用 R?

r 是一种编程语言和软件,目前广泛用于解决数据分析、数据科学和机器学习问题。与数据科学中另一种非常流行的语言 Python 相反,R 不是通用的。相反,它主要是为高级和快速的统计计算、数据建模和构建有影响力的可视化而设计的。这正是这种语言展示其真正力量的地方。

此外,R 是:

  • 免费和开源
  • 配备了大量有据可查的数据科学包(截至 2022 年 7 月,超过 18,000 )
  • 与许多操作系统兼容
  • 由优秀的在线社区支持。

通过我们的什么是 R,你会找到更多关于 R 编程语言以及如何学习它的信息。-统计计算强国如何入门 R 篇文章。你也可以参加 DataCamp 课程R入门。

要从零开始学习 R 或掌握特定的技术技能,请查看我们的各种学习资源,包括课程技能轨迹职业轨迹。特别是,为了获得一个平衡而全面的学习 R 的途径,考虑职业轨迹数据科学家与 R机器学习科学家与 R

r 代表数据分析

执行数据分析是任何数据科学项目的第一步。这是合乎逻辑的:在使用机器学习和深度学习技术预测未来场景之前,我们必须揭示事物的当前(和过去)状态。

另一方面,数据分析可以是一项独立的任务。在这两种情况下,R 都为我们提供了大量适用于分析目的的有用文库。

使用 R,我们可以解析来自网站的数据,清理和争论它,可视化它,探索它的统计数据,提出和测试假设,并从原始数据中提取有意义的见解和模式。在这些任务中,统计分析和令人惊叹的可视化是 R 的一张真正的王牌,这也是这种编程语言通常击败其主要竞争对手 Python 的地方。

除了用于读入数据的 R (readr,用于数据清理的 tidyr,用于数据可视化的 ggplot2 等常见的多用途软件包。),还有很多针对各种应用分析问题设计的模块。例如:

  • fAssets–用于金融资产的分析和建模
  • MDA pack–一个医疗数据分析包
  • GEOmap——用于地形和地质测绘
  • 空气生物学——空气生物学数据的计算工具
  • Gali gor——网络营销包的集合
  • 语言类型学——用于语言类型学和映射

甚至像这样高度集中的图书馆:

  • ncov 2019–探索新冠肺炎统计数据

r 代表数据科学

正如我们前面提到的,R 是一种面向数据科学的编程语言,它提供了超过 18,000 个数据科学包。除了上一节中列出的纯分析任务之外,我们还可以使用 R 来解决更高级的问题,包括对未知数据进行预测和建模。使用 R 允许我们:

  • 执行特征选择
  • 执行所有类型的机器学习(监督、半监督、非监督和强化学习)和深度学习任务
  • 应用各种机器学习方法,如分类、回归、聚类、自然语言处理(NLP)或人工神经网络(ANN)
  • 估计模型准确性
  • 选择最佳型号

同样,还有常用的数据科学包(用于分类和回归训练的 caret,用于实现朴素贝叶斯算法的 naivebayes,用于构建随机森林模型的 randomForest,用于深度学习的 deepNN 等。),有许多高度专门化的库,直到真正特定的库。举几个例子:

  • OenoKPM–用于模拟酒精发酵过程中 CO2 产生的动力学
  • fHMM–用于将隐马尔可夫模型拟合到金融数据中
  • 古流行——面向模式的耦合生态位-种群古气候模型框架
  • IBD sim 2–用于模拟家庭成员共享的染色体区域
  • rSHAPE——用于模拟单倍体无性群体进化

r 项目

现在,我们将看一些 R 项目的例子,并为初学者和有经验的用户发现进一步开发的有趣想法。

r 项目示例

寻找 R 项目最值得的方法之一就是自己创造这样的例子!

别担心,它没有看起来那么可怕。即使您是 R 中数据科学的初学者,您也可以选择“沙盒”项目,这些项目带有准备好进行分析或建模的数据,向您介绍问题的背景,并提供关于要做什么步骤以及为什么要做的有用指导。

如果您是更高级的学习者,我们随时欢迎您从不同的角度更深入地探索数据,并超越建议的说明来满足您对数据的好奇心。无论如何,边做边主动学习是比仅仅阅读别人的项目更好的选择。

DataCamp 在 R 中提供了这种数据科学项目的大量选择,这将让你练习许多技术技能。这包括导入和清理数据、数据操作、数据可视化、概率&统计、机器学习等等。

除了传统上在各种数据科学学校分析的热门话题(如探索纽约 Airbnb 市场可视化新冠肺炎聚类心脏病患者数据用随机森林预测出租车费用),在这里,你还会发现无数新鲜而好奇的话题。请随意更深入地探索它们:

适合初学者的 r 项目

在浏览了现有的 R 项目或自己制作了一些指导性的项目后,您可以决定从头开始创建自己的项目。无论你处于学习的哪个阶段,这总是一个好主意。

如果你正在做你的第一个无指导的项目,首先要考虑的是在哪里找到要处理的数据。幸运的是,有很多流行的在线存储库,提供大量免费的和记录良好的数据集,包括真实世界和合成的数据集。这种资源的一些值得注意的例子是 DataCamp WorkspaceKaggleUCI 机器学习库谷歌数据集搜索谷歌云平台FiveThirtyEightQuandl

现在您有了一个很大的数据选择,作为一个 R 初学者,您到底可以用它做什么呢?因为这些将是您在 R 中的第一个数据科学项目,所以考虑进行基本的数据清理和操作、简单的数据探索和数据可视化。

探索 Spotify 数据

Spotify 是最大的数字音乐、视频和媒体服务之一,在这里你可以找到来自世界各地的数百万首歌曲、视频和播客。

你可以使用已经准备好的数据集 Spotify 音乐数据,其中包含一段时间内大约 600 首热门歌曲,并从多个方面探索其统计数据。例如,考虑分析以下因素和问题,必要时用有意义的图表补充你的发现:

  • 口语单词量
  • 音量
  • 歌曲时长
  • 每首歌的能量
  • 哪些艺术家最受欢迎
  • 哪些流派最受欢迎
  • 这些年来,全球音乐偏好发生了什么变化
  • 什么造就了一首顶级歌曲

分析 NBA 投篮统计

美国国家篮球协会(NBA)是由 30 支球队组成的北美男子职业篮球联盟,是世界上最大的联盟之一。

NBA 投篮数据数据集包含为 2021 年 NBA 附加赛收集的四名不同球员的数据。您可以分析和可视化这些数据,并尝试回答以下问题:

  • 每个球员的最佳投篮位置是什么?
  • 每个球员在什么距离最有可能投篮得分?
  • 这些球员中谁是最好的防守者?
  • 你认为这些球员中谁是最好的防守者?
  • 射手的效率和防守他的球员有关联吗?
  • 投篮和未投中的球在球场上是如何空间分布的?

分析世界人口数据

初学者数据科学项目的另一个有趣的想法是调查世界人口趋势。

世界人口数据数据集提供了从 1960 年到 2020 年每个国家的总人口统计数据,以及按国家划分的一些附加信息,如其地区、收入组和特别说明(如果有)。您可以在这里探索多个问题:

  • 随着时间的推移,你的国家(或任何其他国家)的人口是如何变化的?
  • 随着时间的推移,世界不同地区的人口是如何变化的?
  • 随着时间的推移,哪个或哪些国家经历了最高的人口增长/减少?
  • 在过去的五年(或十年)中,哪个或哪些国家的人口增长/减少最快?
  • 在你出生的那一年,你的国家(或其他国家)有多少人出生?
  • 收入群体如何影响一个国家的人口增长?
  • 地区人口增长的趋势是什么?

不要忘记在任何有帮助的地方添加引人注目的情节:它们将帮助你的读者更好地从你的分析中抓住主要观点。

更高级的研发项目

如果您正在学习 R 中的数据科学,您可能会对构建更复杂的 R 项目感兴趣,在这些项目中,您将应用您的数据分析技能和一些机器学习算法。

你能为他们选择什么话题?让我们来看看您的高级数据科学 R 项目的一些潜在想法。

预测电信客户流失

客户流失是指客户取消他们对某项服务的订阅,从而不再是该服务的客户。它是以一定时期内顾客流失的百分比来计算的。

该指标取决于许多因素,显示了公司的整体业务健康状况。当客户流失率过高时,它对任何公司来说都是一个严重的问题,因为它会导致公司的收入损失并损害公司的声誉。因此,能够预测客户流失率以预防它是非常重要的。

您可以使用电信客户流失率数据集构建一个预测电信公司客户流失率的数据科学项目。

特别是,在这里,你需要根据现有数据预测客户是否会流失,以及哪些因素会增加客户流失的可能性。从技术上讲,当客户端被标记为 1(客户流失)或 0(非客户流失)时,这是一个典型的机器学习分类问题。

检测信用卡欺诈

信用卡欺诈是银行业面临的一个严峻挑战,因为该领域传统上处理大量在线交易。信用卡欺诈检测主要是一个监督分类问题,我们可以应用 k-最近邻(KNN)、逻辑回归、支持向量机(SVM)或决策树等方法。

然而,它也可以使用聚类、异常识别或人工神经网络方法来解决。

这个问题对于一般的银行业务来说很难解决,因为欺诈模式和欺诈者的策略在不断发展,因此欺诈检测系统必须快速适应这些变化。

对于数据科学家或机器学习科学家来说,挑战也在于这种数据集的性质:它们总是意味着阶级不平衡,因为欺诈案件总是占少数(幸运的是),并且在真实交易中隐藏得很好(不幸的是)。

信用卡欺诈数据集包含美国西部的信用卡交易信息。考虑通过应用分类方法将其用于检测信用卡欺诈。

作为一个额外的提示,该模型应该更保守,这意味着为了安全起见,当交易不是欺诈时,将交易标记为欺诈并不是什么大不了的事情。您可能还想调查不同州之间欺诈率的地理分布。

预测自行车共享需求

虽然前两个项目与将数据条目分类到预定义的类别有关,但这里您应该基于输入特征预测连续的结果。换句话说,你需要应用线性回归、岭回归、套索回归、决策树或支持向量机(SVM)等方法来解决回归问题。

自行车共享需求数据集包括首尔自行车共享系统按小时出租的公共自行车数量、天气、日期、时间、是否是公共假日等信息。你的任务是根据这些信息预测将要出租的自行车数量。

您还可以使用该项目来比较四个不同季节中按时间(上午、下午和晚上)划分的平均自行车租赁数量,探索温度与自行车租赁数量之间的关系等。在适当的地方,添加有洞察力的可视化来支持你的发现。

聚类电子商务数据

在你的投资组合中至少有一个展示你运用无监督学习方法的能力的项目总是一个好主意。

为此,考虑一下电子商务数据数据集,该数据集由来自不同国家的客户在一段时间内在一家总部位于英国的在线零售商处购买的商品组成。

这里的一个推测场景是,零售商想要获得可用商品的库存。作为一名在该公司工作的数据科学家,您需要根据产品的相似性和一些共同特征(价格、销售量等)将产品分成几个类别。).这是一个无监督学习的聚类问题,k-means 是最流行的算法。

您还可以分析额外的问题,例如哪五个国家的利润最大,或者英国以外国家的订单规模是否明显大于英国国内的订单规模。

识别垃圾短信

最后,考虑在你的一个项目中展示你的自然语言处理(NLP)技能。

垃圾短信收集数据集包含超过 5,500 条英语消息的集合,这些消息被相应地标记为垃圾短信或非垃圾短信(“ham”)。

基于这些数据,创建一个能够准确区分垃圾邮件和普通邮件的过滤器。要做到这一点,您需要使用 R 的 NLP 包(例如 koRpus)来寻找消息文本中的语言和上下文模式,并找出是什么使消息成为垃圾邮件或 ham,然后对新数据进行归纳。

或者,您可以通过创建单词云可视化来调查最常见的容易产生垃圾邮件的单词。

结论

最后,我们讨论了为什么建立项目组合对于开始数据科学职业生涯非常重要,为什么以及如何使用 R 进行数据分析和数据科学,在哪里可以找到相关数据和 R 项目的示例,以及无论您是数据科学初学者还是高级学习者,您都可以在这些项目中开发哪些主题。

当然,为你的项目提出的建议只是冰山一角。使用 R,您可以做更多的事情:创建推荐系统、执行客户细分、预测股票汇率、进行客户情绪分析、确定出租车的最佳位置,以及许多其他事情。

要获得更多灵感,请访问 DataCamp Workspace ,这是一个在线 IDE,带有预加载的数据集和预定义的模板,可用于编写代码和分析数据,帮助您从学习走向数据科学。

此外,请随意探索 DataCamp 的初学者友好型和全面的在线职业轨迹:

它擅长高级和快速的统计计算、数据建模和构建有洞察力的可视化。此外,它是免费和开源的,配备了超过 18,000 个记录良好的数据科学包,与许多操作系统兼容,并由一个有用的在线社区支持。

解析来自网站的数据,阅读这些数据,对其进行清理和辩论,对其进行可视化,探索其统计数据,对其进行假设和测试,并从原始数据中提取有意义的见解和模式。在 R. 中还有许多特定于领域和任务的数据分析能力

进行分析任务,进行特征选择,进行所有类型的机器学习和深度学习任务,应用各种机器学习和深度学习方法,估计模型精度,选择最佳模型。R. 也有很多高度专业化的数据科学能力

要在 R 实践你的数据科学技能,从学习到做数据科学,并在面试中向潜在雇主展示你的技能。

上流行的免费在线知识库,如data camp WorkspaceKaggleUCI 机器学习知识库谷歌数据集搜索谷歌云平台

DataCamp R 项目GitHubKaggle等互联网平台。在 DataCamp R 项目目录上,您可以使用预加载的数据集,遵循关于要做什么和为什么要做的明确说明,并练习广泛的技术技能,自己创建这样的项目示例。

那些隐含基本数据清洗、数据操作、数据探索、数据可视化的,比如探索 Spotify 数据、分析 NBA 投篮统计、或者分析世界人口数据。

那些应用不同类型的机器学习算法,使用各种方法的。一些例子是预测电信客户流失、检测信用卡欺诈、预测自行车共享需求、聚类电子商务数据、识别垃圾短信、创建推荐系统等。

r vs SQL——我该学哪个?

原文:https://web.archive.org/web/20221210075939/https://www.datacamp.com/blog/r-vs-sql-which-to-choose

学习一门新语言有时会令人望而生畏。无论是口语还是编程语言,你都希望确保你学到的东西是有价值的、容易理解的,并且是你会坚持下去的。如果您已经将选择范围缩小到 R vs SQL,本文将帮助您选择首先学习哪一个。

我们将涵盖您需要了解的关于这两种语言及其用途的所有内容,以及每种语言的优点、用途,以及这两种语言在一些关键因素上的比较。

R 和 SQL 是什么?

先说基础的,这两种语言是什么? R 编程是一种主要用于统计计算和创建图形的编程语言和软件环境。这个系统由两部分组成:R 语言本身(这是大多数人谈论 R 时的意思)和运行时环境。

另一方面,SQL ( 结构化查询语言)是一种主要用于询问数据库问题(查询)的编程语言。我们使用 SQL 与关系数据库通信。在 SQL 的帮助下,我们可以访问、检索、排序和更新信息。它与许多著名的关系数据库管理系统(RDBMS)一起使用,如 Oracle、Microsoft SQL Server 和 MySQL。

R 和 SQL 的异同概述

在这篇文章中,我们将详细探讨这两种语言的优点,但是我们将从简单介绍 SQL 和 R 之间的主要相似之处和不同之处开始。

目的

r 和 SQL 都是编程语言,但是它们用于不同的目的。r 是一种用于统计计算和图形的编程语言和软件环境,而 SQL 是一种用于管理和操作存储在关系数据库中的数据的编程语言。

数据类型

r 被设计用来处理复杂的、结构化的数据集,比如那些常用于统计分析的数据集。相比之下,SQL 设计用于处理存储在关系数据库中的数据。这意味着 R 更适合数据可视化和统计建模等任务,而 SQL 更适合查询和更新数据库中的数据等任务。

它们是如何被使用的

r 是一种通用编程语言,这意味着它可以用于执行各种各样的任务,包括数据操作、统计分析和数据可视化。相比之下,SQL 是一种特定于领域的语言,这意味着它是专门为处理关系数据库中的数据而设计的。这意味着 SQL 通常用于查询和更新数据库中的数据等任务,而 R 用于更一般的数据分析任务。

用户

这两种语言都被数据分析师和其他处理数据的专业人员广泛使用,并且这两种语言都被设计为相对容易学习和使用。此外,R 和 SQL 都受到大量活跃的用户和开发人员社区的支持,这使得找到使用这些语言的支持和资源变得很容易。

R 的优势

选择学习 R 编程有几个好处。作为一种用于数据分析的强大且广泛使用的开源编程语言,有一些相当明显的优势需要考虑。其中包括:

  1. 这是一种高度灵活的语言,允许用户执行各种数据操作、统计分析和图形可视化任务。
  2. 有一个庞大而活跃的 R 用户社区,这意味着有大量的在线资源、文档和支持可以帮助你有效地学习和使用这门语言。
  3. R 还广泛用于学术界和工业界,所以如果你希望从事数据科学、研究或其他相关领域的职业,学习和使用 R 是有益的。
  4. r 有几个内置函数和包,可以更容易地执行复杂的数据分析任务,比如机器学习,而不必从头开始编写冗长复杂的代码。
  5. 这种语言是独立于平台的,所以它可以在任何操作系统上使用,这使得它成为一种通用的数据分析工具。

SQL 的优势

我们将看到学习 SQL 的许多优势与学习 R 的优势相似:

  1. SQL 对于任何使用数据库的人来说都是必不可少的。无论你是想成为数据分析师(T3)、数据科学家(T5)还是 web 开发人员(T5),对 SQL 的深刻理解对于处理数据都是必不可少的。
  2. 这是一种被广泛使用的语言,学习它可以在许多不同的行业打开就业机会。从小型创业公司到大型企业,许多公司都使用 SQL 来管理和分析他们的数据。
  3. 它是一种通用的语言,可以用来执行各种任务,包括创建和修改数据库,插入和更新数据,以及查询和分析数据。
  4. 与其他编程语言相比,SQL 相对容易学习。许多编程新手可以在很短的时间内学会 SQL 的基础知识。
  5. SQL 可以帮助你更有效地处理数据。使用 SQL,您可以快速轻松地检索、操作和分析数据,节省大量时间和精力。

R vs SQL 常见用例

现在我们对这些语言有了一些了解,让我们来看看它们的用途和重叠之处。你可以在另外的文章中读到更多关于什么 SQL 被用于你能用 R 做什么的细节。

数据分析

r 和 SQL 都是常用于数据分析的语言。两者的主要区别在于,R 是一种专门为统计计算和数据分析而设计的编程语言,而 SQL 是一种用于管理和查询存储在关系数据库中的数据的语言。

r 是执行复杂统计分析和创建可视化的强大工具,而 SQL 更适合处理大型数据集和执行更基本的操作,如过滤、排序和聚合数据。最终,它们都是对数据分析非常有用的工具。

数据操作

这两种语言都适用于数据操作,即提取信息并对其进行更改以使其更易于解释或组织的过程。使用 R,您可以以各种方式执行数据操作,例如使用 subset()、With()和 within()等函数,以及 data 之类的包。表格、ggplot2、整形 2 和 readr。

当处理关系数据时,SQL 是最有用的工具之一。诸如 Limit、Distinct、Aggregation、Groupby 等操作可以帮助您跨不同的数据库组织数据。

SQL 与 R 的比较

让我们来比较一下这两种语言在特定任务中的表现:

数据管理

数据库是数据管理的核心,这使得 SQL 成为这项任务的显而易见的选择。它是允许我们通过查询构建关系数据库并与之交互的底层语言。尽管 R 通常用于数据分析、统计和可视化,但它作为管理数据和文件的工具正变得越来越流行。

数据处理速度

当比较各种函数的速度时,您会发现 R 和 SQL 之间的各种差异。在对各种性能指标评测的分析中,R 在一些任务上的执行速度明显更快,比如基本的数据库查询,而在创建临时变量和基于条件执行聚合时,它要慢得多。因此,虽然 R 在一些数据操作任务上非常快,但 SQL 在所有任务上都很稳定。

图形功能

r 是专门为图形数据分析而设计的。因此,很容易为您的数据创建大量可视化效果,如直方图、条形图、散点图等。相比之下,SQL 本身并不是真正的图形工具,更侧重于组织数据。但这并不意味着没有各种工具可以帮助您将 SQL 数据转换成强大的可视化效果。

r vs SQL——应该学哪个?

那么,在决定学哪个的时候,怎么决定呢?正如我们所见,虽然有一些重叠,但这两个工具有不同的主要用途。r 设计用于处理统计数据和执行数据分析。另一方面,SQL 主要用于管理和操作数据库中的数据。

也就是说,R 和 SQL 可以以多种方式结合使用。例如,您可以使用 SQL 从数据库中提取数据,然后使用 R 来分析和可视化这些数据。您还可以使用 R 来创建和管理数据库,或者连接到现有的数据库,并直接从 R 中运行 SQL 查询。有许多 R 包使使用 SQL 处理数据库变得很容易,所以如果您有兴趣同时使用 R 和 SQL,这是完全可能的。

最终,R 和 SQL 之间的选择将取决于您的特定需求和兴趣。如果您对统计分析和数据可视化感兴趣,那么 R 将是一个不错的选择。如果您对使用数据库感兴趣,那么 SQL 将是一个更好的选择。如果你不确定选择哪一个,你可以考虑两个都学,因为它们可以以不同的方式一起使用。

在 DataCamp,您可以从这两个方面入手。查看我们的SQL 简介R 简介课程。

R 是一种用于统计计算和图形的编程语言和软件环境。它通常用于数据分析和机器学习。

SQL(结构化查询语言)是一种用于管理存储在关系数据库中的数据的编程语言。它用于创建、修改和查询数据库。

R 和 SQL 之间的一些关键区别包括:

  • R 是一种编程语言和软件环境,而 SQL 是一种专门为管理关系数据库中的数据而设计的编程语言。
  • R 主要用于统计分析和数据可视化,而 SQL 用于管理和查询数据库中的数据。
  • R 有各种各样的内置函数和包用于数据分析,而 SQL 有一组更有限的函数专门用于处理关系数据。

可以,R 和 SQL 可以一起用。例如,您可以使用 SQL 清理和准备数据库中的数据,然后使用 R 对清理后的数据执行更复杂的分析和可视化。

雷达回顾:数据职业洞察日

原文:https://web.archive.org/web/20230101102924/https://www.datacamp.com/blog/radar-recap-a-day-of-data-career-insights

概观

上周,在 6 月 23 日,Datacamp 举办了一次在线工作峰会。免费活动包括两场同时进行的讲座、网络研讨会和由数据行业巨头领导的小组讨论。Radar 的使命是帮助招聘人员和求职者驾驭数据职业的未来。

为什么是现在?随着数据科学和分析行业的持续增长,出现了对角色以及寻求填补这些角色的人的需求。Datacamp 知道在不断发展的市场中招聘和被招聘有多难。为了庆祝我们在美国、英国、欧盟和加拿大的工作公告板的发布,Datacamp 希望为 Radar 与会者提供对行业的独家见解,让他们准备好使用该网站并找到自己理想的工作或团队。

统计数据

雷达是数据营的巨大成功。来自世界各地的 18000 多名专业人士注册了免费在线活动的席位。社交网站的影响包括 300 万次展示、50 万次接触和 1 万次参与。

Sadie Lawrence at DataCamp Radar

演讲者见解:求职者

对于侧重于求职的 stream 1,发言者包括“数据中的女性”的创始人兼首席执行官赛迪·圣劳伦斯和 Datacamp 的分析总监豪尔赫·巴斯克斯。这些讲座旨在帮助所有阶段的求职者开始或推进他们的职业生涯。在这些会议中,主题包括如何开始你的职业生涯,如何应对数据科学面试的技巧,以及如何钉上你的简历和如何获得你梦想的数据工作的问答。

Sadie Lawrence 分享了她的理念,即“从社区获得价值的最佳方式是首先为社区提供价值。”她还提供了一些重要的战略建议,比如使用“找到你的桥梁”维恩图来比较你目前的技能和你的目标工作技能。

Glenn Hofmann at DataCamp Radar

演讲者见解:招聘人员

对于侧重于招聘的流程 2,会议主题旨在在整个招聘流程中为招聘人员提供支持。从如何雇佣和留住数据人才,如何解决你的雇主品牌问题,如何雇佣和建立

高影响力数据团队,构建和扩展远程团队。讨论这些问题的阵容包括企业分析和数据高级总监 Meenal Iyer 和 Lawrence Harvey 的 SVP Mariano Allegra。

纽约保险公司的首席分析官 Glenn Hofmann 解释说,“最大的保留措施是人们所做的有意义和有影响力的工作,所以创造有意义和有影响力的工作”。

访问录像

如果你没能在 Radar 活动中找到自己的位置,或者想重温一些鼓舞人心的演讲,请不要担心!您可以在此查看所有小组讨论的录音。点击“进入活动”并免费注册,即可访问活动日程中的所有重播视频。

雷达回顾—数据科学认证:值得吗?

原文:https://web.archive.org/web/20221129052847/https://www.datacamp.com/blog/radar-recap-data-science-certification-worth-it

随着对数据科学工作需求的不断增长,认证已经成为有抱负的从业者加速求职、证明他们的技能以及在招聘过程中脱颖而出的绝佳方式。

作为 DataCamp Radar 会议的一部分,我们与 DataCamp 职业服务主管 Jen Bricker、DataCamp 认证副总裁 Vicky Kennedy 和 DataCamp 课程副总裁 Maggie Remynse 共同主持了一场关于数据科学认证价值的专题讨论会。在整个小组中,他们概述了数据科学认证,讨论了追求认证的好处和缺点,并介绍了 DataCamp 的数据科学认证以及如何通过认证。

如果你正在考虑自己申请数据认证,请继续阅读,了解这条道路是否适合你

Screenshot of Radar Event

点击此处查看完整课程

数据科学认证概述

在会议中,Kennedy 将数据认证定义为“专门围绕评估过程。这是对某人知识、技能和能力水平的正式认可。”她认为这种区别很重要,因为尽管人们可以通过多种方式学习,从在职培训和体验到在线培训和 MOOCs,“认证为你所学的任何方法带来了可信度。”

Kennedy 还讨论了许多组织和开发人员提供的各种认证。课程或在线培训的结业证书与知识证书之间有着明显的区别。前者是完成课程的良好动力,而后者代表了技能水平的认证。

Remynse 随后讨论了数据认证的生命周期。她认为,如果某些特定工具没有被广泛采用或长时间不相关,它们会很快消失。其他人提供长期价值,并展示多年来有价值的知识。她讨论了有多少新的认证是“通过案例研究或真实世界的例子建立起来的”,这有助于你向自己和雇主证明“你已经为真实世界做好了准备。”

Kennedy 随后描述了人们可以获得的两种类型的数据认证:基于工具的认证,通常由工具的开发者提供;基于角色的认证,与工具或技术无关。基于工具的认证的例子包括 R 或 Python 的特定语言认证或数据可视化工具的认证。基于角色的一个例子是 DataCamp 的数据分析师或数据科学家认证,这些认证验证这些相应角色所需的典型技能。

追求认证的利弊

由于有多种类型的认证可用,小组成员讨论了追求数据认证的利弊。他们谈到了认证如何有助于补充以职业为重点的教育学位,并加强你告诉招聘人员的故事,尽管他们也警告观众不要从太多认证的故事中抽离。

Remynsed 讨论了教育学位(例如,学士或研究生学位)是如何非常耗时,却没有多少实际的、特定于工作的学习成果。她认为,通过认证,“你实际上是在认证与你所寻找的工作相关的技能。”这仍然是一个紧张的过程,但是花在这个过程上的时间更加集中,并且提供了更多与工作相关的实际培训。她还提到,学位不能像大多数证书那样跟上最新的内容。

Kennedy 提到,认证给你在某个领域的知识带来了可信度,不管你是如何获得这些知识的。这是他们的主要利益和价值。认证也迫使你采取措施努力掌握技能。一个证书是一个有形的,合法的奖励,类似于大学毕业后获得学士或硕士学位。

肯尼迪接着建议说,你应该把重点放在具体的证书上,以便为招聘人员讲述你的故事。Remynse 补充说,认证讲述的是你“花时间,学习一个主题,学习好,必须实践它,必须掌握它,并且能够通过获得认证来展示它。”

虽然这种用认证创造有价值的故事的想法显然是积极的,但太多的认证和太广泛的认证范围会有损于你的故事。从招聘人员布里克的角度来看,她说,当她看一份有太多证书的简历时,它会使故事变得不清楚,并降低相关的、与工作相关的证书的价值。

DataCamp 认证流程概述

在本次会议的最后部分,Kennedy 讨论了 DataCamp 认证以及如何通过认证。她讨论了数据分析师和数据科学家认证,申请人可以期待什么,以及申请人可以期待的认证更新。你可以在这里了解更多关于 DataCamp 认证的信息。更深入地说,这里有不同的技能和资质,不同的认证测试。

数据分析师认证

数据分析师认证评估以下领域的技能:

  • 数据管理:使用 SQL 和数据库工具查询、清理和聚合数据的能力。
  • 探索性分析:分析数据并从数据中解读洞见的能力
  • 生产编码:用 Python 或 R 和 SQL 创建高质量可读代码的能力
  • 分析基础:分析数据的最佳实践
  • 统计实验:用数据创建有意义的实验所需的统计分析技能
  • 数据交流:与各种利益相关者交流见解的能力

数据科学家认证

数据科学家认证评估与数据分析师认证相同的技能,但超出并测试以下技能

  • 模型开发:用 Python 或 R 创建机器学习模型的能力
  • 数据科学编程:为数据科学系统和解决方案创建高质量、可读且可投入生产的代码的能力

Vicky 指出,DataCamp 的认证旨在“正式承认个人已经达到成为数据科学家或数据分析师所需的技能水平。”

除了认证过程之外,获得认证的好处是可以访问职业服务和 DataCamp 上的专属社区,以获得额外的职业支持。

观看完整的会议,了解更多信息

要了解更多关于认证的价值、2022 年 DataCamp 认证的新内容以及认证路线图,请务必查看完整的Radar on session

记录:评分和排名

原文:https://web.archive.org/web/20230101103415/https://www.datacamp.com/blog/rdocumentation-scoring-and-ranking

RDocumentation.org 的核心特征之一是它的搜索功能。从一开始,我们就希望有一个超级简单的搜索栏,可以找到您想要的东西,而不需要复杂的表单来询问包名、函数名、版本或其他任何信息。只是一个简单的搜索栏。

在今天的技术博客帖子中,我们将重点介绍我们用来为用户提供相关且有意义的结果的技术和技巧。

弹性搜索

RDocumentation.org 使用 Elasticsearch 来索引和搜索所有的 R 包和主题。

Elasticsearch 是一个开源、可扩展、分布式的企业级搜索引擎。

Elasticsearch 非常适合查询文档,因为它不使用传统的 SQL 数据,而是将文档存储在类似 JSON 的数据结构中。每个文档只是一组简单数据类型(字符串、数字、列表、日期等)的键值对。它的分布式本质意味着弹性搜索可以非常快。

一个 Elasticsearch 集群可以有多个索引,每个索引可以有多个文档类型。文档类型只是描述文档的结构应该是什么样子。要了解更多关于弹性搜索类型的信息,你可以访问 Elasticsearch 指南

RDocumentation.org 使用三种不同的类型:package_versiontopicpackage。前 2 个为主;稍后再讨论package

因为 RDocumentation.org 是开源的,你可以在我们的 github repo 中看到 Elasticsearch 的映射。

包 _ 版本类型

package_version类型就像一个包的DESCRIPTION文件的翻译,它以你可以在那里找到的主字段为特色;package_nameversiontitledescriptionrelease_datelicenseurlcopyrightcreated_atupdated_atlatest_versionmaintainercollaboratorsmaintainercollaborators是从DESCRIPTION文件的Authors字段中提取的

主题类型

主题文档解析自 r 文档的标准格式Rd文件,topic类型有以下键:nametitledescriptionusagedetailsvaluereferencesnoteauthorseealsoexamplescreated_atupdated_atsectionsaliaseskeywords

弹性搜索评分

在进行任何评分之前,Elasticseach 首先通过检查文档是否与查询匹配来减少候选集。基本上,查询是一个单词(或一组单词)。基于查询设置,Elasticsearch 在特定类型的特定字段中搜索匹配。

然而,匹配并不一定意味着文档是相关的;同一个词在不同的上下文中可能有不同的意思。基于查询设置,我们可以按类型和字段进行过滤,并包含更多上下文信息。这种上下文信息将提高相关性,这就是得分的地方。

Elasticsearch 在幕后使用了 Lucene ,因此评分是基于 Lucene 的实用评分函数,该函数汇集了一些模型,如 TF-IDF向量空间模型布尔模型 对文档进行评分。

如果你想更多地了解如何在 Elasticsearch 中使用该功能,你可以查看 Elasticsearch 指南的这一部分。

提高相关性的一个方法是对某些字段进行增强。例如,在 RDocumentation.org 全搜索中,我们自然会提升包的字段package_nametitle,主题的字段aliasesname

提升流行文档

提高相关性的另一个有效方法是根据文档的受欢迎程度来提升文档。背后的想法是,如果一个包更受欢迎,用户更有可能搜索这个包。首先显示更受欢迎的包将增加我们显示用户实际寻找的可能性。

用下载量来衡量受欢迎程度

衡量受欢迎程度有多种方法。我们可以使用用户给出的投票或排名等直接指标(如亚马逊产品的评分),或销售商品数量或观看次数(对于 YouTube 视频)等间接指标。

在 RDocumentation.org,我们选择了后者。更具体地说,我们用下载次数来衡量受欢迎程度。间接测量通常更容易收集,因为它们不需要用户主动输入。

时间框架

使用下载数量时出现的一个问题是,旧包的总下载量自然会比新包多。这并不意味着它们更受欢迎,然而,它们只是存在的时间更长而已。如果一个包在几年前非常流行,但现在已经过时,不再被社区积极使用,该怎么办?

为了解决这个问题,我们只考虑最近一个月的下载次数。这样,旧包的受欢迎程度就不会被人为地提高,过时的包也会很快消失。

直接下载与间接下载

另一个问题来自反向依赖。r 包通常依赖于大量的其他包。有很多反向依赖的包会比其他包下载得更多。然而,这些包通常是更低级的,最终用户不直接使用。我们必须小心不要给他们的下载量太多的权重。

Rcpp 为例。CRAN 上超过 70%的软件包,综合 R 档案网络,依赖于这个包,这显然使它成为下载最多的 R 包。然而,很少有 R 用户会直接使用这个包并搜索它的文档。

为了解决这个问题,我们需要将直接下载(因为用户请求而发生的下载)和间接下载(因为依赖包被下载而发生的下载)分开。为了从 CRAN 日志中区分直接和间接下载,我们使用了 Arun Srinivasan 在 cran.stats 包中描述的启发式方法。

我们现在有了一个有意义的流行度指标:上个月的直接下载数量。Elasticsearch 提供了注入这些额外信息的简单方法;更多细节,请看关于 elastic.co的这篇文章。

分数修改如下:

new_score = old_score * log(1 + number of direct downloads in the last month) 

我们使用一个log()函数来平滑number of downloads值,因为每个后续下载的权重较小;0 和 1000 次下载之间的差异应该比 100,000 和 101,000 次下载之间的差异对流行度分数的影响更大。

这种重新评分提高了 documentation 提供的搜索结果的整体相关性,因此,用户可以专注于阅读文档,而不是搜索它。

如果你想了解更多关于 Elasticsearch 查询是如何实现的,你可以看看 GitHub 上的 RDocumentation 项目。查询本身位于 SearchController

如果你想了解更多关于 RDocumentation.org 是如何实施的,请查看我们的回复:

关于 r 文档

从 CRAN、BioConductor 和 GitHub——当前 R 文档的三个最常见来源——收集 R 包的帮助文档。然而,RDocumentation 不仅仅是简单地汇总这些信息,而是通过 RDocumentation 包将所有这些文档带到您的手边。RDocumentation 包覆盖了 utils 包中的基本帮助功能,使您可以在 RStudio IDE 中轻松访问 RDocumentation。查找最新和最流行的 R 包,搜索文档并发布社区示例。

博客摘要—2022 年雇佣和留住数据人才

原文:https://web.archive.org/web/20221129035725/https://www.datacamp.com/blog/recap-radar-hiring-retaining-talent-2022

随着大辞职、不稳定的经济状况和弹性工作的兴起,雇佣和留住数据团队变得前所未有的具有挑战性和重要性。

作为 DataCamp Radar Conference 的一部分,我们与 Momentive.ai 的数据科学副总裁 Meenal Iyer 和纽约人寿保险公司的首席分析官 Glenn Hofmann 一起主持了一个关于在 2022 年雇佣&留住数据人才的小组讨论。该小组讨论了当今许多招聘经理最关心的热点问题。在这篇博文中,我们提供了本次会议的主要收获。

Hiring & Retaining Data Talent in 2022

点击此处观看完整会议

引领 2022 年充满挑战的招聘格局

今年,组织在组建数据团队方面面临着严峻的形势。在疫情、大辞职和经济衰退的背景下,组织面临着在有限的数据专业人员供应的激烈竞争中建立数据团队的困难。

梅尔打趣道,如今的市场更青睐数据员工,而非雇主。受欢迎的数据专业人士在求职时可以有所选择。因此,希望建立数据团队的公司应该建立愉快而富有挑战性的员工体验,以吸引最优秀的人才。

通常,申请人会被市场薪酬、充足的福利、远程工作的灵活性以及健康的工作生活平衡所吸引。不仅如此,数据专业人员正在寻找与公司文化、工作范围以及他们为客户带来的价值的良好契合。因此,一个公司必须有良好的雇主品牌,以确保数据人才。

米纳尔还强调了留住现有员工的重要性。为此,公司应该平衡现有员工和新员工的薪酬。此外,他们还应该对现有员工进行再培训、技能提升和交叉培训,以保持他们的技能与时俱进。

面对严峻的市场形势,数据团队也应该公开招聘初级员工。Meenal 建议招聘经理根据他们的分析和思考能力而不是他们的经验来公平地考虑他们。Meenal 说,雇用初级员工的先决条件是有足够的现有数据从业者来指导新人通过陡峭的学习曲线。

与 FAANG 争夺数据人才

数据专业人士不断争夺 FAANG 公司中的角色,这已经不是什么秘密了。知道了这些,一个公司如何吸引数据人才?该小组提供了一些实用的技巧来留住那些在大型科技公司寻找职位的员工。

纽约人寿保险公司的格伦团队对 FAANG 的竞争并不担心。这是因为该团队拥有与 FAANG 公司相当的技术基础设施和工具。有了它,数据团队可以从事有助于他们职业发展的技术复杂的项目。

Glenn 提醒数据专业人员不要在不考虑个人-组织匹配的情况下盲目面试 FAANG。FAANG 的数据专业人员通常专注于一个特定的问题,这可能不符合一个人对理想工作的想法。例如,Meta 的数据科学家可能专注于广告优化,但没有机会探索其他领域。求职者在为 FAANG 公司面试时应该认识到这样一种权衡。

Meenal 将非 FAANG 公司的数据专业人员的经历比作“成为小池塘里的大鱼”。在非 FAANG 中,员工更有可能在跨职能团队中工作,以推动有影响力的项目。这反过来会加速员工的学习和职业发展。

2022 年雇佣和留住数据人才

结束前,专家组强调了 2022 年雇佣和留住数据人才的一些关键最佳实践。

除了提供市场水平的薪酬,Meenal 还强调了现有员工的再培训、技能提升和交叉培训对于留住员工的重要性。这种培训可以包括技术(例如编码)和非技术(例如通信)技能。这样的举措不仅填补了团队内部的技能缺口,还为员工提供了学习现有组合之外的技能的机会。

格伦发现有意义的工作机会是工作满意度的关键。这些机会可以是长期项目,也可以是临时工作。例如,应该允许认为指导初级员工有意义的员工这样做。当然,这样的机会必须与员工的兴趣相一致。因此,数据主管有责任与他们的团队进行真正的职业对话,并创造相关的机会。

此外,米纳尔和格伦都强调了积极的工作文化的重要性。工作文化应该鼓励主动学习和成长心态。此外,它应该是一个每个人的贡献都受到赞赏的地方。为了建立积极的工作文化,Glenn 建议数据团队打破远程工作的单调,定期举行面对面的团队合作会议。

观看完整的会议,了解更多信息

如果你有兴趣进一步了解如何在 2022 年留住和建立数据团队,请点击此处查看完整的会议。此外,如果你正在寻找建立自己的数据团队,请查看数据营招聘

数据营招聘:雇佣数据专业人员的更好方式

原文:https://web.archive.org/web/20221129052847/https://www.datacamp.com/blog/recruit-a-better-way-to-hire-data-professionals

我们推出 DataCamp Recruit 的原因

对数据专业人员的需求从未如此之高,而合格候选人的供应仍然很低。最重要的是,技术技能测试的难度使得招聘数据专业人员成为招聘人员最艰巨的任务之一。

通过 DataCamp Recruit ,我们不仅为招聘人员提供了一个最大的工作就绪数据专业人员来源,还提供了对每个候选人技术能力的清晰洞察。使用我们易于使用的过滤器,您可以更快地找到合适的员工。

DataCamp Recruit 能为你做什么?

寻找和雇佣合适的数据专家可能需要几个月的时间,但使用 DataCamp Recruit,我们可以在几分钟内让您如愿以偿。

DataCamp 的数据专业人员拥有丰富的经验和背景。通过我们的筛选工具,您可以匹配您需要招聘的候选人和技能组合。这可以节省你的时间,让你清楚地了解他们的技能,帮助你充满信心地招聘。

DataCamp 的内容和课程由数据科学领域的领导者设计,因此候选人拥有最新的技术技能,使他们从第一天起就为工作做好准备。

此外,你还可以雇佣通过我们排名第一的认证项目 ( 福布斯,2022 )认证的候选人。通过 DataCamp 认证的候选人不仅要测试他们的技术技能,还要测试他们的软技能,如在有效沟通的同时将数据转化为洞察力的能力。

data camp Recruit 上的专业人员分为六大类:

  • 数据管理
  • 探索性分析
  • 统计实验
  • 模型开发
  • 生产环境中的编码
  • 沟通

data camp Recruit 上的候选人简介是什么样的:

DataCamp Recruit Profile

亲身体验:查看我们的简短演示,了解如何使用 DataCamp Recruit

Rstudio -未决法律事务

原文:https://web.archive.org/web/20230101103301/https://www.datacamp.com/blog/rstudio-pending-legal-matter

2020 年 7 月 1 日,我与所有数据营的导师分享了以下信息:

亲爱的导师们:

为了保持透明并尊重我们的教师社区,我想通知您 DataCamp 和我们的竞争对手 RStudio 之间的一个未决法律问题。

在过去的几个月里,RStudio 继续传播关于 DataCamp 从 2017 年 10 月起对内部人力资源事件的处理以及我们对此的后续回应的错误信息,引用被证明不准确的文章,并故意忽略独立第三方审查的结果,尽管一再被告知这一点。*此外,RStudio 和 DataCamp 领导层之间的私下交流清楚地表明,RStudio 不是受企业责任的驱动,而是受其从贬低 DataCamp 和切断与我们的关系中获得的经济利益的驱动。

这场诽谤运动导致我们的员工在私下和公开场合受到不公平的对待,教师因害怕反弹而对推广学习材料感到不安,学习者在社交媒体上受到欺负。

我们对此非常重视。

由于 RStudio 没有表现出阻止这种恶劣行为的意图,我们今年早些时候决定聘请克莱尔·洛克·LLP,美国最负盛名的诽谤律师事务所之一,来探索我们对 RStudio 的法律选择。自那时以来,已经采取了初步的法律步骤。

在您的帮助下,我们构建了创新且经济实惠的学习体验,改善了 600 万学习者的数据科学教育。)全球范围。我们共同重新培训了数百万个人,帮助学习者在数据科学领域追求有前途的职业生涯,帮助数千家公司实现数据驱动,并通过我们的免费课堂计划为数十万数据科学学生的免费教育做出了贡献。因此,我们都应该兴奋地看到学习者在获得改变生活的技能后自豪地分享他们的成就,并赞扬为数据科学教育做出贡献的教师。

采取法律行动是最后的手段,但当竞争对手数月来故意公开传播虚假信息时,我们被迫做出反应。虽然我预计会因此受到一些社交媒体的关注,但我不能再袖手旁观,看着 RStudio 的这种行为对关心 DataCamp 并从中受益的人产生负面影响。

与此同时,DataCamp 将继续其民主化数据科学教育的使命。一次一个学生。

感谢您一直以来的支持,
Martijn Theuwissen,DataCamp 首席执行官

*他们错误信息活动的一个关键部分是分发并支持分发 BuzzFeed 在 2019 年 5 月发表的一篇文章,该文章歪曲了一起事件以及 DataCamp 从 2017 年 10 月起对该事件的后续回应。每个人都可以通过阅读我们在 2019 年 10 月委托的独立第三方审查来验证文章对事件的不准确描述(之前分发给导师)。令人失望的是,RStudio 相信 BuzzFeed 新闻(谁在乎这是不是真的)而不是奥巴马政府前司法部官员 Anurima Bhargava 和 Working IDEAL 的 Pamela Coukos 的职业声誉。

扩大人工智能在金融服务中的应用

原文:https://web.archive.org/web/20221129051850/https://www.datacamp.com/blog/scaling-ai-adoption-in-financial-services

https://web.archive.org/web/20220518121511if_/https://embed.podcasts.apple.com/us/podcast/73-scaling-ai-adoption-in-financial-services-with/id1336150688?i=1000538909250

DataCamp 播客 DataFramed 的主持人 Adel Nehme 最近采访了 TruEra Inc .的首席战略官兼金融服务负责人 Shameek Kundu。

介绍 Shameek Kundu

Adel Nehme:你好。我是来自 Data Camp 的 Adel Nehme,欢迎来到 Data Framed,这是一个播客,内容涉及数据及其对全球组织的影响。可以说,数据最丰富的行业是金融服务,无论是银行、保险、投资银行还是其他行业。数据科学和机器学习有各种各样的用例。然而,这并不意味着机器学习正被充分利用,因为在前进的道路上有许多不同的障碍。

Adel Nehme:这就是为什么我对 TruEra 首席战略官兼金融服务主管、渣打银行前集团首席技术官 Shameek Kundu 感到如此兴奋。Shameek 在金融服务行业推动负责任地采用数据分析和人工智能方面花费了大部分时间。他是英格兰银行人工智能公私论坛和 OCD 人工智能全球伙伴关系的成员,也是新加坡货币管理局人工智能公平、道德、问责和透明指导委员会的成员。最近,Shameek 是渣打银行的集团首席数据官,他帮助该银行在多个领域探索和采用人工智能,并塑造了该银行负责任的人工智能的内部方法。

Adel Nehme:在这一集里,Shameek 讨论了他的背景、金融服务中数据转型的状态、当今机器学习操作化和金融服务的深度与广度、行业中可扩展人工智能采用的障碍、数据素养的重要性、人工智能的信任和责任挑战、数据科学和金融服务的未来等等。

Adel Nehme: Shameek,很高兴你能来参加我们的节目。我很高兴与您讨论数据科学和金融服务的现状、您在主要组织领导数据科学的经验以及您目前在 TruEra 的角色。在我们开始之前,你能简单介绍一下你的背景和你是如何进入数据领域的吗?

Shameek Kundu:首先,非常感谢您给我这个机会。能上你的播客真是太好了。对于你的问题,我是一名训练有素的工程师。随后,我攻读了金融和系统专业的 MBA 学位。信不信由你,20 年前在印度,我的第一份工作是帮助建立一家在线零售经纪公司。然后加入麦肯锡,花了八年时间为欧洲的金融服务客户提供技术和运营方面的咨询。然后在 2009 年,就在金融危机期间,加入了渣打银行,这是一家专注于亚洲、非洲和中东的国际银行。在今年加入 TruEra 之前,我在那里工作了 11 年,主要从事数据和技术方面的工作。

Adel Nehme:太好了。你在金融服务、数据科学和人工智能的交叉领域拥有丰富的经验。如您所言,在您之前在渣打银行的工作中,您曾担任多个首席信息官职位,并担任集团首席技术官约六年。鉴于您丰富的经验,我希望您能描述一下您如何看待当今金融领域的数据转型,以及作为行业中的数据领导者,您的经历是如何演变的?

Shameek Kundu:金融服务一直是一个数据驱动的行业,对吗?你所做的一切...从某些方面来说,金融服务业没有什么是真实的。都是数据从一个地方到另一个地方的移动。你的银行余额是一个数据。空头或实物现金,以及为数不多的支票和需求下降,金融服务中的一切都是数据。因此,这一直是一项关于处理、存储、保护和移动数据的业务。

沙梅克·昆杜:在过去的六年里,有两件事情发生了变化。首先,我看到围绕数据的问题已经从纯粹的防御性转变为具有强大攻击性或面向业务的问题。这是防御性的,意味着我需要处理这些数据来运营我的业务,例如,我需要知道客户的余额。我需要保护他们的信息。我需要安全地发送数据。所有这些都是我需要做的,因为我必须这样做,这是我业务的核心。从那个到更具攻击性的,实际上是利用所有这些信息。我能够为我的客户、我的企业、我的合作伙伴等等做更多的事情。这是一个纯粹的防守转变,让我们称之为防守和进攻。

Shameek Kundu:在我们继续之前,我想强调一下进攻和防御的投标。并不是说防御部分没有了。事实上,可以说它变得越来越复杂,因为监管机构和公民已经开始超越大多数人早先担心的数据质量和数据保留,到隐私、数据道德,他们必须让透明度、公平性以及所有关于大型技术的更大关注点等等。所有这些都让防御角度变得更加有趣,我怀疑对 CDO 来说,但这也是对进攻方面的一个强大增强。这是我看到的一个巨大转变。

Shameek Kundu:第二件事是谁谈论数据。当我开始担任首席数据官时,至少我所在银行的每个人都乐于让我独自处理数据。我离开的时候,从集团首席执行官到下面的每个人...实际上,我撒谎了。从集团董事长开始,理解并希望参与数据之旅,对吗?因此,银行或金融机构中关心数据、认为自己的工作主要与数据有关的人的范围大大扩大,远远超过了职位中包含数据的人。

沙梅克·昆杜:当然,这是我看到的两个重大转变。当然,另外还有一系列有利的变化,从数据分析的进步,到邻近技术领域的机器学习相关技术,如 API,使数据交换变得更加容易。组织中与数据相关的人才在不断拓宽和深化。监管机构更加了解与数据和分析相关的挑战和机遇。所有这一切都发生了,但最终这些使这两个转变成为可能,从单纯的防御到防御和进攻,从一个独立的专业极客到从首席执行官到每个人都理解并希望参与的东西。

金融中的数据科学、分析和机器学习

Adel Nehme:我发现从防守到防守和进攻的转变非常令人着迷。您提到,在过去几年中,令人不快的部分是通过数据科学、分析和机器学习来实现价值。您能描述一下今天金融服务中的这些价值领域在哪里吗?

沙梅克·昆杜:当然。我的意思是,也许我们可以从它对金融服务业务模型的影响开始,而不是仅仅从用例的角度来说。因此,我认为这是第一个类别,在这个类别中,你会看到许多数据和分析的早期用例,特别是机器学习,是为了提高金融服务公司内部风险管理的有效性。现在你可能会说,嗯,这听起来很无聊,但实际上正如你所知,银行和保险公司或银行和保险从根本上讲是关于管理风险的,对吗?以各种形式。因此,能够更有效地做到这一点,无论是通过更好的反洗钱解决方案,还是评估和监控信用风险的新方法,或者是检测保险索赔欺诈的新方法,甚至是检测网络威胁,这显然是最重要的,坦率地说,是高级分析产生影响的最早领域之一,对吗?

沙梅克·昆杜:这是第一个。这就是风险管理的有效性。第二,可以说一点也不新鲜的是增量收入的增加。所以,你可能会说,这并不新鲜,因为银行业的第一个分析用例是围绕客户维系和交叉销售的。但今天,这些技术在分析和数据备份方面取得了巨大进步,对吗?如果你愿意的话,这是第二个用例块。第三,当然是中后台流程的效率提升。这不是很吸引人,但实际上,当您自动化顽固的手动过程时,可以节省相当多的美元,例如在贸易融资和保险游戏评估中。

Shameek Kundu:第四个与上述密切相关,但并不总是可见的,但很多时候,当你和我,作为客户,我们考虑端到端的数字体验时,无论是我们作为客户加入或完成交易或获得关于我的付款在哪里的信息所需的时间和精力,所有这些实际上都是由大量数据和分析支撑的,特别是良好的数据和数据交换,如果不是高级分析的话。因此,数据和分析在塑造你的应用或新网站的客户体验方面发挥着重要作用,对吗?

Shameek Kundu:最后,也是最重要的一点,数据和分析正在推动商业模式的变革。因此,这不是降低现有业务的风险、提高效率或增加收入,也不是改善客户体验,而是建立全新的业务。我这么说是什么意思呢?这是一个关于提高金融包容性的圣杯,不仅仅是在非洲、亚洲和拉丁美洲,在那里不是每个人都有银行账户,甚至在金融服务不均衡的所谓更发达的经济体中也是如此。通过能够有效地使用数据和分析,你将能够扩大这种访问,从而为自己创造一个全新的业务。

Shameek Kundu:这是一个巨大的机会领域。有机会围绕建立全新的业务,如与电子商务平台捆绑在一起的银行,成为支撑它们的银行。他们称之为“平台即服务”战略,在这种战略中,你是许多商业活动下的银行[听不清]。整个商业模式都基于此。但如果你不是银行或保险公司,如果你是保险科技公司或金融科技公司,要么试图从银行或保险公司窃取一些业务,要么试图支持银行或保险公司,你可以用截然不同的方式做事情。例如,你可以...例如,在保险业,基于 IOT 数据和分析的全新核保方式是不可能的。因此,这几乎就像一个连续体,从更有效的风险管理到增量收入,到效率提高,到更好的客户体验,最后是大规模的变化,商业模式的转型变化。这是一个完整的范围,当然,不同地区的采用水平是不同的。

Adel Nehme:那么您如何描述这些用例的采用情况?似乎有大量的用例正在运行,这在扫描价值方面是非常令人兴奋的。你认为这个行业现在处于什么位置?

Shameek Kundu:所以我认为区分我所说的数据和分析是很重要的,数据和分析包括一些预测模型,但不包括机器学习,另一方面是机器学习。如果你只是指传统的数据和分析,即数据的广泛使用,描述性分析,可视化分析,预测性分析,而不是使用机器学习,我会说这五个类别中的四个非常先进。唯一没有那么先进的是建立转型的新商业模式。但是,无论是更好的风险管理,还是提高效率,还是改变客户体验,所有这些事情都在大规模进行。我说的是银行和保险公司今天获得的数千万美元的增值,而不是明天,是今天,对吗?在过去的四到五年里,这种情况发生了显著的变化。

Shameek Kundu:但是当涉及到机器学习时,情况就不一样了。我会称之为广泛而浅薄的故事,对吗?我引用了三个不同的来源。一项是英格兰银行 2020 年和 2019 年的调查,调查了英国银行和保险公司的采用水平。另一个是新加坡主权财富基金淡马锡(Temasek)的一项研究,该研究最近公布了人工智能在金融服务中的应用。第三个是我自己根据今年上半年的 35 次采访得出的相当不科学的评估,对吗?这三件事都暗示了两件事。第一,50%到 65%之间,甚至一半到三分之二的传统金融机构已经开始以一种重要的方式使用机器学习,这意味着不仅仅是试点或概念验证。他们实际上正在使用它。这是有价值的。

Shameek Kundu:但是他们中的 10%到 20%之间,所以只有十分之一或十分之二,这取决于你选择的来源,实际上在一定程度上启用了人工智能,这对底线产生了真正的影响。所以不仅仅是试点和概念证明。人们正在采用人工智能。但如果你问一家银行或保险公司甚至大多数金融科技公司的首席执行官,一个失败的 ML 模型会不会成为你的一大担忧,在绝大多数情况下,它还没有到达那里。对吗?故事就是这样。很宽但是很浅。我想说的唯一例外是在营销和欺诈分析等领域,当然机器学习的采用已经有一段时间了。但一般来说,传统数据和分析的采用率相当高,在许多组织中相当有影响力。机器学习被广泛采用,但除了十分之一或十分之二的组织之外,在所有组织中仍然主要是肤浅的。

Adel Nehme:你认为在行业中深度采用机器学习和人工智能的主要障碍是什么?

Shameek Kundu:正如你所说,有很多这样的障碍。你们所处的行业存在技术障碍、组织障碍和人才障碍。有与数据本身相关的价值,还有监管障碍或可以被解释为障碍的东西。最后,当然,信任是有障碍的。因此,让我稍微深入一下它们。我的意思是,技术壁垒,银行和保险公司已经建立了他们的系统几十年,有时在我的前雇主的情况下,超过一个世纪,他们将有众所周知的筒仓,对不对?我的意思是,这可能听起来像是老生常谈,但这确实是一个非常大的挑战,要以一种既能让对那个人进行分析变得有意义的方式收集关于特定客户的所有数据,所以我真的理解作为客户的 Shameek Kundu,因为我涵盖了从他们的财富管理持股到他们与我们的最后互动和投诉,再到他们的外部数据。我将所有这些都集中在一个地方,并且实时地做了足够多的工作,能够影响一线业务流程。

我的意思是,你可以选择其中之一。你可以使用一些有限的数据与客户进行实时互动,或者你可以描绘一幅非常漂亮的客户画像,但这不可能实时进行。我的意思是,人们会告诉你把所有的东西都放在一起是可能的,但我还没有看到这一点,对不对?所以这是一个非常大的技术障碍。顺便说一下,这不仅仅是传统银行的问题。一个常见的错误是说,这就是为什么 fintechs 或 neobanks 会赢。嗯,除非他们在一个区域玩。当一家金融科技公司或新银行试图建立自己的形象时,你别无选择。你需要越来越深入专业领域。当然,它不会像传统银行或保险公司那样糟糕。但是,要说我已经为我与客户关系的不同部分建立了系统,这是一个挑战。我需要把这些联系起来。它是相当大的一个。这可能是你能看到的最大的障碍。

Shameek Kundu:存在组织障碍,部分原因是缺乏信任,我们稍后会谈到这一点[听不清],但更广泛的原因是缺乏对其他人如何对待我的数据的信任。组织内部存在一定程度的孤岛,不同的团队可能会担心更广泛地共享他们的数据,担心这些数据可能不会得到妥善处理,甚至不知道我为 XYZ 收集的这些数据是否可以使用。坦率地说,如果你来自一个以技术为先的组织,这些障碍正好相反。我是说,他们从假设每个人都可以访问所有东西开始。

Shameek Kundu:那么你就遇到了与人才相关的障碍,我想这是你们都很清楚的一个领域。我想说的唯一一点是,这可能是有用的,我们可以对此进行更多的讨论,既讨论与核心数据相关的技能,也讨论如何提高组织其余部分的数据谨慎性。仅有一群数据专家或分析专家是不够的。你需要整个组织的天赋、AI 或者数据商提升,否则你无法获得全部价值。我提到数据本身存在障碍。我的意思是,事实是我们有时高估了金融机构拥有的数据量或他们能够使用的数据量。这意味着在一些领域,可能没有足够的数据来建立有效的机器学习模型。

Shameek Kundu:洗钱就是一个例子,对吗?这是最佳领域之一,反洗钱是您希望使用预测分析来显著提高识别洗钱活动能力的最佳领域之一。但问题来了。当一家银行,在经历了很多痛苦和错误警报之后,我说的是 99%的错误警报。当一家银行将这 1%的资金用于它认为存在真实洗钱情况的地方,并向执法机构报告时,他们实际上通常不会得到肯定的确认,因为这几年内都不会为人所知。因此,这意味着任何有监督的机器学习中最重要的因素之一,即基础真理,正在丢失。你没有强调洗钱的正面事例。那你打算怎么训练?当然,你可以进行无人监督的学习,但你所产生的只是不寻常的行为。所以这真的很难...这只是一个例子。

Shameek Kundu:但是在很多这样的领域,很难说我有积极的行为可以利用。我的意思是,看看银行业之外,例如,围绕银行和保险的一个领域,这个领域变得非常明显...我的意思是,看看机器学习在应对疫情病毒的大多数领域表现得有多差,无论是预测谁会被它袭击,还是预测哪种药物可能会起作用,或者预测疫苗如何起作用...我的意思是,我认为一些模型得到了正确的数字,有多少人会有它。但是在帮助当局使用何种药物或谁更有可能制造这种药物方面,做得并不好。我的意思是,在麻省理工学院科技评论上有一篇很好的评论,对吗?

沙梅克·昆杜:这些都是非常严重的问题。当然,还有监管方面的问题。围绕数据主权、对大技术和大数据力量的担忧、对算法不公平行为的担忧,这些问题一直在增加。这些也在产生影响。最后,还有信任。我的意思是,这尤其是关于算法的可信度。在一个专业化程度很高的行业中,有一些主题专家...你可以和精算师或者原始数据科学家争论。例如,他们已经在保险业工作了很长时间。你不会突然进来说,“让开。我的算法会比你做得更好,因为它是根据历史数据训练出来的。”首先,这可能不是真的。事实上,像 COVID 这样的经历表明。过去的行为并不总是未来的良好指标,这是一个合理的担忧。

Shameek Kundu:但是第二,即使它是正确的,你正在进入一个对绝大多数银行和保险公司来说都有现成的工作方式的行业。你不能突然停止一切,至少如果你是一家传统的银行和保险公司。你确实需要作为一个数据科学团队,或者作为一个想要使用数据科学的人来完成这项工作。你必须做好工作来带动组织的其他部分。当然,你必须带上你的客户、你的监管者等等。我认为这是在受监管的金融服务中采用机器学习的主要障碍。

人才转型

Adel Nehme:我很高兴能和你一起解开信任和解释。但在此之前,你提到了人才转化,这是 DataCamp 关注的问题。你对金融服务中所需的人才转型挑战有什么看法,以便从数据科学、机器学习和人工智能中获得可扩展的价值?你提到了很多技术技能和数据科学以及机器学习。但除此之外,你如何想象一个数据文化组织和行业的样子?

沙梅克·昆杜:是的。我的意思是,老实说,你们可能是专家,但我一直在思考这个问题,我认为这是一个我会着迷于你们如何继续在这个领域做出贡献的领域。但正如你所说,有这两块工作。在第一块,我想,当然,有数据科学家、数据工程师,但在我看来,其他一些领域有些被忽视了,比如人们带给我的数据风险管理。我们称之为数据治理。但这是一个非常大的术语。我认为你需要数据管理员。我的意思是,如果你进入...我认为最初的谷歌作品是这样的。我怀疑他们雇佣了许多真正做信息管理的人,对吗?也就是如何恰当地组织数据,等等。所以我认为,除了建立预测模型的人和管理数据管道的人之外,甚至在数据领域也有更多的专业化。

Shameek Kundu:还有很多,无论是数据风险管理、数据治理还是数据可视化。我认为有些人能做到数据可视化,有些人不能。顺便说一下,我坚定地属于第二类。如果你不能,你就不能以一种有效的方式讲述这个故事。所以这里的重点是数量,我认为我们没有足够的这些技能,以及质量。但同样重要的是,要确保这些专家在加入时了解更广泛的行业背景。举一个非金融服务的例子,回到《麻省理工科技评论》中的 COVID 报告,其中一个例子是某家医院的 COVID 病例非常多,可能是因为它的[听不清]区域。这个模型从这些数据中学到了什么?其打印报告使用特定英语字体或罗马字体的医院最有可能具有高水平的 COVID。

Shameek Kundu:现在,基础学科专家会说,当然,这是个问题。但是,如果您不将数据科学专业知识与您正在谈论的领域的一些非常基本的理解相结合,那么它就不起作用。因此,我认为,即使对于在这一领域工作的专家来说,一个领域实际上是提高金融服务的商数。因此,正如我会谈到其他金融服务组织如何提高他们的数据商数一样,我认为数据专家需要提高他们的金融服务商数或他们所在的任何行业的商数。因此,我认为这是对数据科学家非常有帮助的一项工作,特别是那些来自行业外的科学家。

Shameek Kundu:但是第二个问题,正如我们都讨论过的,就是如何将组织的其他部分[听不清]带给设施人员?而且我真的很喜欢房地产例子的设施,因为你不会认为那个人是最数据驱动的。但实际上,在 COVID 加入之前,银行或保险公司的许多设施都进行了优化,对吗?哪些房间消耗了多少能源?这是非常数据驱动的。我对此印象深刻,因为这是我的首席信息官职能的一部分。令我印象深刻的是,至少在渣打银行,房地产公司的人在这方面是最先进的。这是一个很好的例子,因为当你想到懂数据的人时,你不会首先想到房地产人。但是你猜怎么着?他们是极端的,因为他们的整个价值主张围绕如何使业务,我们的足迹更环保,如何以可持续的方式减少空间。

Shameek Kundu:所有这些从根本上依赖于数据。我只是举个例子。从公共关系到人力资源,当然还有核心的银行和保险角色,甚至监管互动,每一个角色都需要更加精通数据。你需要有人能够理解数据和算法带来的机遇和风险。你需要知道如何在你的工作中最好地利用它,而不是在别人的工作中。当内部或外部销售人员向你许诺时,你需要能够提出正确的问题。对吗?听着,这很难,但我感觉这是一个更大的挑战。如果我选择像渣打银行这样的组织,我想,我不知道,数据专家可能只有几千名员工,对吗?任何组织,任何这样规模的银行,对吗?让我们从 100,000 人中,最多可能有 5,000 人是数据专家,对吗?

Shameek Kundu:但如果你有 10 万人,那就是另外 9.5 万人,他们需要掌握数据知识。所以可以说这是一个更大的挑战。老实说,我不知道是否有一个行之有效的模板。我认为这是一些基础教育与实际操作能力的结合,能够让数据与他们相关。我认为,我们这些数据人员经常陷入这样一种态度,即不要担心,让专家来处理。错误的态度,对吗?是的,专家会处理它,但我们也需要让组织的其他部分参与进来,这样最终即使它不是最好的,100%最好的处理问题的方法,也许它是 90%最好的方法,但它有更大的成功机会,因为我们有更多这样的方法。

信任人工智能

Adel Nehme:就你的观点而言,数据素养是增加数据团队正在开发的数据产品采用率的少数方法之一,因为最终数据团队会为职能业务专家创建数据产品。需要有一种通用的数据语言来支持它们之间的对话。我认为信任元素和数据素养元素之间也有一种有趣的联系,这需要理解并与构建这些数据系统的专家进行智能对话的能力。因此,我很乐意深入探讨您目前在 TruEra 的角色,以及在金融服务领域信任人工智能的重要性。你提到信任是人工智能应用和金融服务的主要障碍。您能否向我们介绍一下,为什么对金融服务机构来说,建立对人工智能的信任是一项如此困难的任务。

沙梅克·昆杜:当然。我想也许我会...我想借用你的话来说,实际上,建立信任并不是金融服务公司的一项艰巨任务。事实是,他们需要维护大量的现有信任级别,对吗?失去这种信任对他们来说既容易又是灾难性的。我是说,你可以看到上次金融危机来袭时有多困难。如果人们对金融服务失去信任,那就完了,对吗?我的意思是,除了你的医生,你的银行或保险公司可能比几乎所有人都更了解你。对吗?举例来说,我们过去曾有过这样的例子,人们抱怨为什么他们的信用卡账单会寄到他们的家庭住址,因为不幸的是,其中包含了妻子或配偶应该知道的与另一个伴侣的某些费用。

沙梅克·昆杜:所以有时候你的银行或保险公司可能比几乎任何人都了解你,除了你的医生。如果你不能相信你的金融服务提供商会为你做正确的事情,公平地对待你的客户,保护你的数据不被滥用,那你和他们的关系会怎样?对吗?所以这并不是说建立信任是一种新的行为。这实际上是有大量的信任需要捍卫。如果你不工作,它会很快很快落到你头上。特别是对于大型组织,成本...与更敏捷、更新的表单相比,这几乎是他们的一个优势。那就是,尽管它是一家声誉卓著的银行或保险公司,但如果我失去了这种信任,它就只是...特别是如果你用它来做一些高风险的事情,比如决定我的健康保险费,或者决定我是否能得到贷款,或者被建议我是否应该进行这项重大投资。在那些领域,如果我不能信任它,它就会变得极其复杂。

沙梅克·昆杜:所以这是两个层次。第一,作为一个组织,我希望我的客户和我的监管者信任我。但实际上,至少在传统银行和保险公司内部存在这种信任文化的 DNA,这意味着即使在组织内部,也有多层人员对此着迷,有时可能过于痴迷,但你必须让所有人相信,是的,这是可以信任的。这就是为什么这是一个如此大的挑战。

Adel Nehme:随着监管环境和金融服务的不断发展,创造负责任和值得信赖的人工智能的任务变得更加艰巨。你介意向我们介绍一下监管机构如何应对人工智能在金融服务中的出现,以及需要解决的主要问题是什么?

Shameek Kundu:这个问题有趣的地方在于它进化了多少。上周末,我在 LinkedIn 上发了两条关于这个话题的新帖子,坦率地说,这是因为上周发生了两件监管方面的事情,一件在欧洲,一件在中国。但是,我认为这是一个快速发展的领域。现在,与更广泛的技术数据或竞争监管机构相比,金融监管机构实际上相当合理。他们已经认识到所有相关的风险,以及继续鼓励这一领域创新的必要性。事实上,在这个问题上,我们 TruEra 一直与英国、新加坡和许多其他国家的监管机构密切合作。一些监管者从早期指导开始,思想指导,而不是监管,监管指导反对监管,对吗?意味着它更具强制性。新加坡的监管机构,2018 年 11 月,香港,一年后,荷兰,加拿大,英格兰银行。英格兰银行还没有公布,但我提到的其他银行都公布了在金融服务中使用人工智能的具体指导方针。

Shameek Kundu:英格兰银行和英国金融行为监管局成立了一个咨询论坛,我们是其中的一员。美国银行业监管机构就人工智能风险的一系列广泛问题征求了大量主要行业的意见。那是在三月份。然后,当然,在周末或者就在周末之前,证券交易委员会问了一个具体的问题,关于在线零售经纪公司和这种投资,在线零售投资,使用算法来鼓励某些行为。这是另一个令人感兴趣的领域。

Shameek Kundu:到目前为止,主要关注的是指导和概念,而不是新的有约束力的法规。但我确实认为,在未来 6 至 18 个月内,根据地理位置,我们可能会看到监管机构对行业参与者的期望变得更加明确。现在这不一定是一件坏事,因为坦率地说,留下许多指导方针和许多事情来讨论在某种程度上是不确定的。获得监管不确定性不一定是件坏事,对吗?至于他们关心什么,现在已经很清楚了。内部的可解释性、公平性和可解释性,这意味着组织是否希望了解正在发生的事情,以及面向客户或面向外部的透明度。所以这显然是一个很大的区域。公平性,因此防止不公正的偏见或不公平的结果,模型的稳定性。因此,确保模型不会在第一次数据发生巨大变化时崩溃。当然还有过度拟合,这是机器学习模型的一个特殊问题。

Shameek Kundu:这些显然是重点关注的领域。还有一些更广泛的方面,这是我们要花一点时间去做的。实际上,金融监管者通常不仅仅担心模型和数据是否得到了良好的管理。他们担心,回到关于其他组织的那一点,AI 商数在提高。他们担心组织中的其他人是否已经完全理解了风险并在实际业务中反映出来。例如,最近关于在线零售投资中数字参与的使用,问题不是使用人工智能鼓励某人购买产品是否非法。不是的。只要产品本身不违法,你可以用任何一种算法来鼓励他们。潜在的坏消息是,鉴于某人的风险状况,向他出售不适合他的股票或债券。

沙梅克·昆杜:如果你是人类顾问,你应该知道这一点。这是你的第一天。你知道,如果 Shameek 是一个中等风险的人,你不会在一个复杂结构的对冲产品上卖给他。但是算法,你不说算法,算法也不知道。所以管理一个模型和机器学习模型在公平性,可解释性等方面是有区别的。这实际上是比较好理解的。更复杂的是,你如何确保银行或保险公司或任何金融科技公司正在做的每一件事,都在考虑在该领域使用人工智能的间接影响。这是一个更复杂的问题。我认为,随着时间的推移,这将会进一步发展。

Adel Nehme:你如何看待它的发展?比如,你能为一家银行提出什么样的章程,以正确评估其风险。

Shameek Kundu:这是一个非常好的观点,因为实际上许多银行都在努力解决这个问题,银行和保险公司都在努力解决这个问题。但我认为最简单的思考方式是,你实际上不需要大量的数据或人工智能专家。你需要一些数据专家,但大多数银行和保险公司都有。坦率地说,至少我个人的经验是,如果你花很多精力教育其他风险人员,无论是信用风险、市场风险、合规风险还是声誉风险人员,如果你让他们意识到机器学习模型如何工作,可能存在哪些风险等等,实际上,他们会更好地理解这可能意味着什么。

沙梅克·昆杜:我第一次和管理金融市场风险的人交谈时,这个人立刻明白了我的意思,说道:“哦,好吧,等等。这项在线竞争政策可能会产生影响。”我说,“那是什么意思?这怎么可能?”因此,想象一下,如果我的模型和另一家银行的另一个模型参与操纵[听不清]价格,这可能是一个问题。这就像,作为一个数据和人工智能的人,我没有想过这个问题,但他立即想到了这个问题,因为他在考虑内在的风险。所以我想说这可能是一种方法。不要试图让一个中心团队去尝试和预测将要发生的一切。在更广泛的社区中传播人工智能带来的机遇和风险的知识,这些社区有能力处理这些风险,然后让他们消化这些知识,并弄清楚人工智能将如何影响他们。我认为这是一个更好、更联合的方法,而不是试图说银行或保险公司中的一个人或一个团队会以某种方式成为银行中所有人工智能风险的主宰。

模型可解释性和可解释性

Adel Nehme:这也是数据素养发挥作用的地方。因为如果商业专家不理解机器学习的局限性或数据系统通常是如何运行的,他们就无法做出这些评估。所以 TruEra 专门研究模型的可解释性和可解释性。你能给我们一个关于模型可解释性和可解释性的概述吗,尤其是考虑到它在机器学习研究中的重要性?

沙梅克·昆杜:是的。谈到它最初的方面,我加入 TruEra 的原因之一,我的意思是,最初我成为客户,然后加入他们,是因为我听说创始人 Anupam 教授在 2012 年开始研究这个。我不知道你怎么样。早在 2012 年,我就没有听说过模型可解释的可解释性。所以我想这家伙已经研究了这么久,他一定知道他在做什么。不管怎样,对于你的问题,它在哪里?我认为,首先,值得思考一些人所谓的内在可解释模型和后因素模型之间的区别,后因素模型是那些你只能在进入后才能解释的模型。有一个学派认为,也许在某些非常高风险的领域,你应该只使用内在可解释的模型。

Shameek Kundu:然而,我个人对他们有两个担心。一个是有几个领域,包括图像和文本相关的部分,其中非结构化数据的内在可解释模型还没有在性能上达到那种程度。它可能会随着时间而改变。但我认为更大的问题是,它有时可能会产生一种虚假的舒适感,因为你可能会得到一个解释得很好但极其复杂的内在可解释模型。但是如果你没有把它综合到对人类有实际意义的水平,它实际上给了你一种虚假的舒适感。因此,我认为内在可解释的模型扮演着一个角色,还有一个角色就是所谓的后演讲可解释性。

Shameek Kundu:我认为在相当准确的水平上已经有了很大的进步。因此,在这个层面上说,这个解释将是 X %准确,Y %的时间,这肯定是现在对大多数类型的机器学习模型来说是可能的,特别是在我们所处的阶段,不仅仅是 TruEra 自己的技术 QII,而是整个基于博弈论的解释方法。它们相当强大,对吧?它们被认为是有效的,特别是如果你...科学并不能解释...抱歉,这种科学的实现更加复杂。你如何实现这些解释技术,这可能是资源密集型的,等等,比科学本身更复杂。科学现在已经相当成熟了。

Shameek Kundu:现在在深度神经网络方面仍然需要一些工作。我们 TruEra 实际上已经认识到了这一点,我们创建了一个名为 TruLens 的开源项目,有点像 trulens.org。它根本不是 TruEra 产品的一部分。它需要今天开源中的东西加上我们自己的。我们刚刚开始。在过去的 10 天里,它得到了一些精彩的评论。确切地说,人们认识到在深度神经网络中还有更多工作要做。所以我们在商业产品上开放它。

Shameek Kundu:但我认为,我们最需要关注的领域,因为我们代表新加坡的 MAS 牵头的财团对此进行了一些审查,实际上是向最终用户提供的解释形式。因此,无论是你还是我这样的客户,或者是银行或保险公司中大多数不精通数据科学的人,仅仅给他们简单的解释是没有用的,对吗?你必须找到一种让他们产生共鸣的方式。当我们看到这方面的研究时,因为没有更好的词,我们称之为人机界面,当然还有更多工作要做,对吗?无论是如何向最终客户解释一个决定会有所不同,还是像这样简单的事情,哦,有一个人在决策的循环中,所以我们不应该担心它,因为每个人工智能决策,一个人都在审查它,并决定是否接受它。

Shameek Kundu:那么,有人研究过对算法的建议不断表示“是,是,是,是”的人的心理影响吗?然后,它应该说不的时候,它可能会忽略它,因为他已经看到了算法正确的最后 99 个案例。人类第一百次错了,而他们本应该介入。这不是一个理论观点。如你所知,特斯拉自动驾驶汽车的一些问题正是如此。人类已经假设...所以这个领域,与其说是潜在可解释性的直接标志,不如说是解释和人机界面工作的形式。我会说,这需要比基础科学更多的工作,除了在深度神经网络方面,我认为还有更多工作要做。

Adel Nehme:这是一个很好的概述,尤其是当你提到可解释性的包装时。你是否发现,在金融服务领域,有一些人工智能或机器学习用例的可信度和可解释性比其他用例更重要?如果是,组织需要根据这些不同的风险级别,从信任或风险角度应用哪些不同的措施?

Shameek Kundu:我认为你的第一个问题比第二个问题更容易回答,因为目前的监管和监管举措的一个问题是,人们还没有为我将使用 X 代表 Y 类别创建标准。随着时间的推移,这是我认为金融机构需要做更多工作的领域之一。但是关于你的第一个问题,是的,有非常明显的领域。就可信度和可解释性而言,并不是每个领域都有同样的风险,对吗?所以最受关注的是那些导致某人被拒绝任何服务的事件,特别是在这种情况下,当然是金融服务,对吗?那么这可能是什么呢?嗯,你没有得到一揽子保险或得到一个不可接受的高利率,因为人工智能表现不好或因为一些关于人工智能的问题,或者类似地没有得到贷款或甚至没有被接受为客户,因为你的 KYC 风险似乎太高。

Shameek Kundu:所以在任何地方,你被拒绝获得金融服务的比例可能是最高的,对吗?下一个最高的是你有比其他群体更差的经历或更差的结果的空间。那是歧视。但第一条不是歧视。这是绝对缺乏接触。因此,即使是算法也可以被用来,例如,拒绝某人来 ATM 机从自己的账户上取钱的权利,即面部识别。那么你最好有很好的保护措施,当人们有选择的时候,对吗?因为否则他们就无法进入,更不用说歧视了。我只是无法进入。

Shameek Kundu:所以我认为最大的风险是拒绝有效访问的风险。接下来是歧视的风险,政党之间的不公平歧视。我认为另一个非常重要的问题是,你必须向监管者证明你做了正确的事情。现在,当你必须证明时,最著名的是在金融犯罪和反洗钱制裁相关的事情上,以及比如说,内幕交易行为,等等,这与客户无关,但你必须证明,你有责任证明你在检测、捕捉和调查方面做了正确的事情。在这种情况下,如果你不能向监管机构证明,不是向员工或客户,而是向监管机构或你的内部风险管理团队证明,那也会变得很困难。所以,我想说,这些是你必须关心的非常容易的事情,因为你正在影响客户,或者它正在影响你的直接监管义务。

Shameek Kundu:现在,棘手的是那些不属于这些区域的,对吗?所以我真的对中国监管机构很感兴趣,不是金融服务监管机构,但他们在周末或周五提出了一系列关于他们所谓的算法推荐系统的规定。它并不局限于金融服务业。但是通常我们不会想到...抱歉,美国证券交易委员会对罗宾汉风格的在线投资工具进行了调查。这两个案例,在我脑海中产生了一个重要的想法,通常我会把营销用例看作,嗯,它会有什么危害呢?最坏的情况,它会卖东西给你,你不想买。好吧,走开。对吗?挺好的。问题不大。但实际上,你当然可以错过销售。你可能会不恰当地将某个金融产品的目标锁定在某个人身上,而这个人一开始就不应该被出售该产品。

沙梅克·昆杜:想象一下,把一笔非常高的利息贷款卖给一个机器已经解决了急需用钱的人。这公平吗?这合乎道德吗?这与拒绝服务或歧视无关,但向那个人提供贷款是错误的。你可能想给他们提供一些其他种类的帮助,但不是高息贷款来解决这个问题。

Adel Nehme:这是掠夺性的。是啊。

沙梅克·昆杜:这是掠夺性的。没错。这些就是我在开始提到的,拒绝服务,歧视,明确的监管。我认为在其他地方,我是在提供服务,但实际上,提供服务和提供不适当或掠夺性的东西之间的界限在哪里?这是一个更棘手的问题。但我认为大多数银行正在解决这个问题。因此,大多数银行和保险公司正在做的第一件事就是提出一个包含一系列条件的本质上不同的框架。现在,对于你问题的第二部分,我们是否已经到了这样一个阶段,人们已经说,对于这个层次,我们需要这种可解释性,对于这个层次,我们...我还没看过。我认为这是正在进行的工作的一部分。

关于 TruEra 公司。

Adel Nehme:我认为对于许多这样的用例来说,让一个人参与进来对于决策也是非常重要的。这也是包装信息的关键。这是讨论特鲁拉的一个很好的话题,他把可解释性和可解释性包装得非常好。你介意分享一下 TruEra 是如何解决你正在讨论的这些基本问题的吗?

沙梅克·昆杜:是的,当然。再次感谢给我这个机会。所以两件事,首先我们只做两件事。我们提供这样的软件,第一,它允许刚建立模型的人评估机器学习模型的质量。现在,当我说质量时,传统上,如你所知,数据科学家和他们的业务利益相关者通常会认为质量是相对于测试数据的准确性。但我们在讨论这个问题的同时,也在讨论其他一系列问题,比如不公正偏见的可能性,比如过度拟合不稳定性,以及与其他模型的比较。因此,这不仅仅是关于它对训练和测试人群的准确性,还包括机器学习模型在仅仅基于偏差的过度拟合不稳定性方面的已知弱点,等等。我们检查过了吗?这就像是质量诊断工具。

Shameek Kundu:现在,它的主要目的,实际上,在金融服务中,就是不做错事。但是实际上当你使用它的时候,它也帮助你做正确的事情,如果你明白我的意思的话。我的意思是,没有人出去说,我想建立一个过度拟合的模型,或者我想建立一个不稳定的模型。所以实际上,即使你为了防御的目的而提高质量,实际上,你只是为了提高质量而提高质量。你实际上提高了模型的质量。这是一部分,它就像一个模型诊断工具。另一个是监控。因此,一旦您开始使用模型,我们允许您以一种有意义的方式监控模型的输出和输入。也就是说,当您看到模型漂移或数据漂移时,您可以快速返回到该诊断模型,看看这是否是材料漂移,如果是,是什么原因造成的?对吗?

Shameek Kundu:所以监测和诊断之间的联系非常重要。就我们的部署方式而言,我们不是端到端的 ML 操作。所以你不在 TruEra 上开发模型。你不用 to TruEra 来训练模型,也不用 TruEra 来部署模型。这是有意的,因为我们的整个主张是,无论您使用 X、Y 还是 Z 平台,或者您只是在笔记本上完成它,或者您从某人那里购买了一个模型,都无关紧要。这种模式是如何产生的并不重要。我们只需要访问或者说你只需要访问 pickle 文件或类似文件中的模型输出,一个可序列化的输出,以及训练和测试数据。有了这些,TruEra 将能够为你提供所有这些人工智能质量诊断和监测,只要你有机会接触到那个模型。

Shameek Kundu:这非常重要,因为这意味着我们能够将内部模型与外部购买的模型进行比较,或者将一个团队使用一个平台构建的模型与另一个团队使用另一个平台构建的模型进行比较。所以,如果你想在一个组织中建立一致性和标准化,而不是强迫每个人在同一个平台上建立模型,这是一种确保某种程度一致性的好方法,对吗?这就是我们的工作方式。在这一点上,我们主要是在客户的前提下工作,至少对于大型企业客户来说是这样,这意味着要么在客户的前提下工作,要么在客户自己的云环境下工作。这不是一项服务。这是有意的,因为对于我们现在谈论的企业级客户来说,没有人愿意与我们分享模型和数据等机密信息。所以完全在客户端。TruEra 的任何人都不会看到你在用这个软件做什么。

Adel Nehme:看到围绕可解释性的软件栈的发展是非常令人兴奋的。我很乐意与您讨论数据科学和金融服务的未来,以及它如何与可解释性相交,对吗?你如何看待这个行业,例如,容纳大型语言模型 GPD three,特别是考虑到它的黑盒性质,以及从打包的角度来看,它可以随时使用,即插即用 API,而不是遵循 fit predict 范式的传统机器学习模型。

Shameek Kundu:显然,我还没有遇到过已经在使用 GPD three 的金融服务客户,但是有类似的例子。例如,面部识别模型不用于情感识别,但肯定用于身份认证,等等。我想说有一整套技术。在一个极端的情况下,最低的极限是,我已经得到了构建和创建这个模型的人的测试结果。我可以看到他们有百分之 X 的准确度,百分之 X 的精确度,百分之 Y 的回忆。我很喜欢这些词,对吧?所以不需要解释,因为我对有保证的表现很满意。为什么我对此感到高兴?因为特别是面部识别,如你所知,NISD 等有定期测试,你可以从中获得这类信息。

Shameek Kundu:这是可解释性的一个层次,在这个层次上,你理解模型是如何工作的,你对训练和测试数据有很好的理解,以及这个模型在野外的最近表现。所以你可以接受。一些用例经常在大量人工干预下被接受。因此,在这种情况下,你可能会说,好吧,这没问题,但我们希望 100%被拒绝的身份证明直接交给一个人,这样就没有客户受到不公平的对待,即使只有 0.1%,我也不希望任何客户受到不公平的拒绝。所以当你被拒绝时,它会去找一个人。这是解决问题的一种方式。这又回到了人类干预的部分。

沙梅克·昆杜:下一个层次就是说,实际上,不,这还不够。我希望提供商至少给我提供一个关于模型如何的一般性解释...不好意思,具体解释一下模型是怎么运作的。可能不是针对我客户的数据,而是针对你训练过的数据。对吗?现在,这就是一些深度神经网络的解释出现的地方,你不会说,啊,好吧,对于 X,Y,Z 银行,这就是所有的模型在工作。你说作为一个整体,这就是 GPD 三或这个特殊的面部识别模型是如何工作的。我确实认为随着时间的推移,这一点会变得越来越重要,因为当我在一家银行测试这一点时,或者当有人在一家银行测试这一点时,我意识到这一点,模型提供商明确表示,如果你戴上面具,模型将无法工作,这在 COVID 中是一种解脱,因为如果它开始与面具一起工作,而没有适当的认证,这将是一个问题。你瞧,有人发现了一张戴着面具的人的照片。

Shameek Kundu:模型提供者不知道这是怎么发生的。这表明,仅仅依靠过去的测试和训练数据是不够的。人们可能会强迫你说,好吧,你不必向我解释 GPD 或这个面部识别模型如何在我的银行或保险公司的环境中工作,但你需要给我一个更广泛的合理解释,对吗?这就把我带到了第三个层次。坦率地说,我认为这种模式可以安全管理的唯一方式是,如果你认为银行业肯定有这样的先例,如果你想到美国的 FICO 模式,信用模式,甚至一些大穆迪等等,Bangor 保险公司或投资者不会去挑战每一个穆迪的评级。实际情况是,监管机构正在检查穆迪是否尽职尽责。

Shameek Kundu:所以我认为这可能是一种可持续的方式,如果一个模型在整个行业中被广泛使用,对吗?不管是什么行业,该行业的监管者可能会监管这种模式。换句话说,模型提供商将私下向行业监管者解释他们的模型,并不断说服监管者说,是的,你可以依赖我,对吗?这样一来,金融科技领域的每家银行和保险公司都不必单独检查,如果你明白我的意思的话。所以我可以看到这三种处理方式。目前的大部分用法肯定属于我提到的第一类。

机器学习和人工智能在金融领域的未来

Adel Nehme:考虑到这个领域新兴的可解释技术和方法以及创新,你认为我们的机器学习或人工智能在金融服务中的用例将在明天实现,而我们今天无法实现?

Shameek Kundu:我认为这将是一个规模问题,而不是全新的事物,对吗?我的意思是,有些人正在使用机器学习进行信贷决策,也许是在挑战者模式下,也许在未来,他们不会使用挑战模式,对吗?或者面部识别变得更标准,不是为了情感识别,而是为了认证。因此,我认为你会看到,如果你花一两年时间,我认为区别不是全新的使用案例,而是它在没有大量手动干预的情况下使用得有多深入。我认为会被看到。因此,一些所谓的高风险领域可能会成为可接受的风险,无论是信贷还是定价、核保支持和保险等方面。

Shameek Kundu:我想我们会有两到三个其他有趣的话题,如果你想让我做一点水晶凝视的话,我认为这些话题会随着时间的推移而演变。我认为一个是,在金融服务业中出现了一些很难解决的问题。坦率地说,其中之一就是,当你有这么多不同的合作方时,实际上只是处理数据和数据权利,对吗?第三方、电信、零售商、搜索引擎和电子商务中的不同方。能够保证数据不被滥用,这本身就是一个巨大的挑战。我认为这是一个比算法问题更大的问题。在这方面,我认为会有进展。

Shameek Kundu:当然,另一个大难题是 ESG,特别是银行和保险公司的环境责任。现在做这件事非常困难。我确实认为无论是人工智能,还是更重要的,它就像数据和大数据在真正意义上的作用,以真正确定我们正在融资的这些事情,我们正在做的是绿色的,对吗?或者一个现有投资的非贪婪性,对吗?以一种现实且可验证的方式。这可能是最大的机会之一。这不是一到两年的时间,但我会说,如果我要投资一些东西,我会投资那些利用数据和人工智能的公司,这些数据和人工智能对于如何满足环境和个人数据权利方面的金融服务义务非常重要。可能就是这些了。但是在我谈到的用例中,我会说这是一个更高规模的问题,而不是全新的用例。

Adel Nehme:从技能的角度来看,你认为在人工智能和分析已经投入运营并成为日常工作流程的一部分的未来,金融服务专业人员最重要的技能是什么?你对未来的数据科学家有什么建议,例如,在加入科技或金融公司之间做出选择?

Shameek Kundu:所以让我来做后者,因为这肯定是我非常感兴趣的一个领域。听着,在很多行业,如果你是从一家技术第一的公司开始,是的,你可以用搜索引擎和电子商务推荐引擎等等做一些很酷的事情。但是,首先,你将开始处理一种非常不同的数据和大量的数据,这在某些方面比你在社交媒体上的日常行为更具实质性,因为你在社交媒体上做的很多事情都是基于情感,这可能是短暂的。但是你 10 年以上的财务历史就是 10 年以上。它告诉你一个你曾经的故事。因此,如果你说数据科学家真的对如何使用数据做出更好的决策感兴趣,那么数据和金融服务的丰富性要大得多。但更重要的是,我认为,你可以说,对于金融服务以及其他一些行业,如医疗保健和环境等,你用机器学习模型做的事情的价值可以说要高得多,对吗?

Shameek Kundu:我的意思是,拥有一个伟大的翻译工具真是太棒了。它将为许多人解决许多棘手的问题。我认为在一个例子中,我认为是一名白俄罗斯运动员使用谷歌翻译找到了离开东京机场的路,这甚至可能挽救生命。但在很大程度上,这很大程度上是为了让生活变得更容易,而不是解决金融包容性等根本问题。因此,你也将解决金融服务业中更大的问题。这就是为什么我会说它很迷人。你应该试一试。然而,现在到了另一个关于什么技能的问题,所以我将分两部分来回答这个问题。从技能组合的角度来看,我会向数据专家提出什么建议?坦率地说,了解你所在的行业,无论是医疗保健还是金融服务或交通运输或其他任何行业。因为任何认为没有背景数据就能主宰一切的人都忽略了这一点,例如,我强烈建议他们阅读新冠肺炎的经验。

沙梅克·昆杜:所以能够理解更广泛的背景,知道如何与保险公司的精算师、营销人员或银行的信贷人员等合作,这非常有帮助。这就是我对数据专家的建议。对于银行、保险公司或金融科技行业的其他人,我只有一条建议。你在银行、保险公司或金融科技公司工作的方方面面都会受到影响,对吗?你们中的一些人可能足够年轻或足够好奇或足够聪明,可以重建自己的职业生涯,成为一名数据专家,但大多数人不会。你甚至可能都不想。你可能只是想成为一名营销人员或学习人员或任何你想做的事情。你不需要成为一名数据科学家,但你绝对需要在这个话题上变得足够聪明,足够[听不见]来提出正确的怀疑性问题。如果你不能问正确的问题,那你就死定了,对吗?

Shameek Kundu:我想说的是建立一个你可以问聪明问题的平台。不要试图说“我知道如何编码”挺好的。如果你知道如何编码,那就太好了。理解代码如何工作以及数据如何用于训练模型可能比实际能够自己编码更重要。所以,我建议你去一个可以问正确问题的地方。

行动呼吁

Adel Nehme:太棒了。最后,Shameek,鉴于我们以这样一个鼓舞人心的音符结束,在我们今天结束之前,你还有什么最后的行动呼吁吗?

沙梅克·昆杜:是的。这是针对金融服务业本身的。我认为,正如我们所讨论的,在更广泛地使用分析、人工智能、数据和机器学习时,金融服务领域将出现一些真正有趣的机会,包括我们讨论的环境方面。还有一个非常真实的人工智能冬天的风险,也即将到来,当然是在金融服务领域。我的意思是,人们已经在许多大银行和保险公司投入了数十亿美元,当然还有数亿美元。我认为,如果我们不关注它,如果我们只是专注于我们能产生多少新的营销口号,而不是真正看到它是否有所作为,这将成为又一个人工智能冬天的真正风险。所以我会说,让我们认识到这个机会,让我们专注于用机器学习、数据和分析来做出真正的改变,而不是去炒作。

Adel Nehme:太好了。非常感谢你的洞察力。我们真的很感激。

沙梅克·昆杜:谢谢。

Adel Nehme:今天的数据框集到此结束。谢谢你和我们在一起。我非常喜欢 Shameek 关于金融服务行业人工智能采用状况的见解。如果你喜欢这个播客,一定要在 iTunes 上留下评论。我们下一集将采访 Brian Campbell,他是 Lucid Chart 的工程主管,负责有效管理数据科学项目。我希望它对你有用,我们下次在 Data Frame 上再见。

在彭博扩展混合学习

原文:https://web.archive.org/web/20221129034451/https://www.datacamp.com/blog/scaling-blended-learning-at-bloomberg

随着组织产生更多数据并将产品和流程数字化,数据驱动的员工队伍变得前所未有的重要。这就是为什么学习和发展已经成为业务战略的核心——尤其是专注于建立组织范围的数据科学能力的计划。

11 月 4 日,DataCamp 的数据科学布道者 Adel Nehme 与彭博大学的全球数据技术培训师谢尔·纳伊克一起,讨论了谢尔的团队如何利用混合学习来教授 Python 的数据分析,以及彭博如何衡量他们的技能提升计划后的行为变化。

成为数据驱动的价值

数据驱动从未像现在这样有价值。Anaconda 的首席执行官王蒙杰将数据科学描述为解决商业问题的基于证据的方法,其中数据科学家“利用数学和计算工具对商业世界进行推理”这种方法已经在各行各业中实现了大量的用例,从预测市场营销中的客户流失到金融机构的自动欺诈检测。

数据科学是彭博数据驱动文化的核心。他们的数据科学团队正在以多种方式推动可能性的边界,包括为自然语言处理项目创造最佳实践民主化数据工具,以及在其产品中提供智能解决方案。拥有数据驱动的文化还意味着让每个人都拥有必要的技能来做出数据驱动的决策,用数据改进流程,并制作数据驱动的新闻故事。

通过混合学习构建数据驱动的员工队伍

彭博的全球数据部门负责维护彭博终端上所有金融数据集的及时性和质量。作为一名数据技术培训师,谢尔·纳伊克与整个部门的业务领导合作,以确定在彭博从事数据工作时取得成功所需的技能,并设计、交付和评估旨在培养和提高这些技能的培训项目。这些技能包括使用版本控制工具,如 Git 和 GitHub,使用 SQL 进行数据分析,使用 Python 进行数据分析,等等。

彭博大学的 Python 数据分析课程是一个季度性的混合学习课程,包括一个小时的介绍,解释 Python 如何在彭博使用,12 到 20 小时的 DataCamp 课程,三个由内部技术专家领导的 1.5 小时的现场会议,以及一个使用彭博数据的最终项目。

彭博精心策划了 DataCamp 课程,以平衡学习目标和时间承诺,并包含来自诸如Python 简介中级 Python 等课程的章节。作为基础材料,这些课程已使 450 多名学习者(其中许多人以前从未编写过代码)能够学习和应用完成三个现场课堂会议、通过期末项目和完成培训计划所需的概念。

学习者能够从一生中从未编写过一行代码,到完成数据驱动的新闻分析,作为该项目最终项目的一部分——彭博大学全球数据技术培训师谢尔·纳伊克

这种混合式学习模式将自学与实时课堂培训相结合,可以在彭博实现跨地域、跨时间表和跨业务部门的学习的一致性和灵活性。在基础阶段提供的课程和经验的一致性允许彭博培训师扩展课堂并包括全球学习者。此外,在基础级别使用 DataCamp 这样的学习提供商可以提供用于衡量培训效果的见解和绩效数据。

衡量行为变化

评估培训项目直接投资回报的方法是 Kirkpatrick 评估模型。Kirkpatrick 模型提出了四个不同的评估级别:培训计划后的最初反应、学习评估、行为变化以及所获技能的业务影响。

彭博对 Kirkpatrick 模型第三层的实现测量了生产者在他们专有的 Jupyter 笔记本环境中的活动数量(保存、编辑、导入、重命名、发送等)。

通过利用这些数据点,Sheil 能够应用 Python 数据分析中教授的技术,发现从该计划毕业的一组学生的平均生产者活动增加了 561% 。根据 Sheil 的说法,彭博数据升级的最终目标是将技术与员工的主题专业知识相结合,以产生有洞察力的分析。

如果你想了解更多关于混合学习的知识,如何在你自己的组织中操作,以及 Sheil 建议每个学习和发展专业人员遵循的要点,请确保观看完整的网络研讨会记录

扩展机器学习的采用:一种实用的方法

原文:https://web.archive.org/web/20221129051850/https://www.datacamp.com/blog/scaling-machine-learning-adoption-a-pragmatic-approach

https://web.archive.org/web/20220705002325if_/https://embed.podcasts.apple.com/us/podcast/71-scaling-machine-learning-adoption-a-pragmatic-approach/id1336150688?i=1000535980085

DataCamp 播客 DataFramed 的主持人 Adel Nehme 最近采访了实用人工智能实验室的创始人诺亚·吉夫特(Noah Gift)和多产的作者,他谈到了在组织中操作机器学习以及他的新书《实用 MLOPs》。

介绍诺亚礼物

Adel Nehme:你好,我是 DataCamp 的 Adel Nehme。欢迎来到 DataFramed,这是一个播客,内容涉及所有数据及其对世界各地组织的影响。在过去的一年里,人工智能领域已经从实验过渡到可操作化。越来越多的是,围绕 MLOps、AIOps、DataOps 的新思想流派正在涌现,数据科学家越来越多地利用新技术来更快地发布模型。

Adel Nehme:可以说这是一种面向人工智能发展的实用主义哲学。这也是为什么我对今天的播客中有诺亚·吉夫感到如此兴奋。Noah Gift 是务实人工智能实验室的创始人,并在全球顶尖大学举办云计算讲座,包括杜克大学和西北大学的研究生数据科学项目。他设计研究生机器学习、MLOps、AI 和数据科学课程,并为 AWS 提供机器学习和云架构方面的咨询。他是 AWS 机器学习和将机器学习模型投入生产的大力倡导者。Noah 已经撰写了几本书,包括《实用 MLOps》、《实用 AI》、《Python for DevOps》和《数据分析云计算》。他为顶级课程提供商创建了关于 AWS 的内容,包括 Udacity、O'Reilly、Pearson 和 DataCamp。你可以在 LinkedIn 上关注诺亚,找到他的许多 AWS 例子。

Adel Nehme:在这一集里,我们讨论了他的背景,他关于实用人工智能的哲学,数据科学与学术界和现实世界之间的差异,数据科学家如何通过创建解决现实世界问题的解决方案变得更加以行动为导向,DevOps 的重要性,他最近关于 MLOps 实用指南的书,数据科学如何与巴西柔术相比较,数据科学家应该学习什么来衡量他们提供的价值,他对 AutoML 和自动化的想法等等。此外,我们非常希望您能就我们如何让 DataFramed 为您提供更好的节目以及您认为我们应该在节目中邀请哪些嘉宾提供反馈。我在剧集描述里留了调查链接。请务必填写它,因为我非常感谢它。

阿黛尔·奈姆:诺亚,很高兴你能上节目。你在数据领域有着非常丰富的职业生涯,并且在创建可操作的机器学习模型方面是知识的源泉。我很高兴与您讨论您对机器学习、MLOps 以及您最近与 O'Reilly 合作的关于它的书的想法。但是在我们开始之前,您能给我们简单介绍一下您是如何进入数据领域的背景吗?

Noah Gift:是的,我进入数据领域的背景是相当冗长的。一部分是因为我在大学里对运动感兴趣,所以我在大学里学了营养学。我在高中踢过足球,篮球。所以我一直对运动感兴趣。营养科学对我来说是一种了解自己的有趣方式。当时,我们不知道数据科学是什么,但在某种程度上,实际上我的观点是营养科学是开始数据科学的最简单的方法之一,因为它是你自己的身体。实际上,我们在学校里对我们的身体进行了数据科学研究。

诺亚·吉福特:我有一个非常有趣的老师,他让我们在课堂上做许多不同的实验。我上过的一门课叫做实验营养学,抱歉,是实验营养学。我们所做的实际上是离心我们自己的血液。所以我们会抽出自己的血液,离心,算出低密度脂蛋白和高密度脂蛋白的水平。这实际上是一个非常酷的数据科学时刻,因为你的直觉是班上非常健康的人...营养学领域的大多数人都非常健康,但那些一直吃胡萝卜和芹菜、每天锻炼两小时的最健康的人将会拥有惊人的高密度脂蛋白/低密度脂蛋白比率。

诺亚·吉夫特:结果发现有一些异常值,班上有一个女孩让我非常震惊。我和她是朋友,她非常有营养。她总是做最好的事情。但遗传上,她家族有心脏病史。所以我们能够从这些实验中诊断出来。然后我们用大剂量的维生素 C 做了其他实验,然后我们测量了维生素 C 的产量,结果发现维生素基本上都是维生素 b。所以我学到了一些营养科学中非常面向数据科学的很酷的东西。我认为这实际上是一个更有趣的学士学位,如果你对一些以后可以用的东西感兴趣,比如说数据科学硕士学位。这就是我开始的原因。

诺亚·吉夫特:然后我在加州理工工作了一段时间。这也确实帮助我更科学地思考。我遇到了很多对 Python 感兴趣的人,我只是无意中学会了它。事实上,和我一起工作过的一个人现在是新闻人物,是库宁博士,他写了一本非常极端的书,叫做《不稳定》。我不知道是否有人听说过,但这本书最让人们震惊的是,他说气候科学是不稳定的,这可能是你可能会说的最忌讳的事情之一。当你听到这样的事情时,你的直觉反应可能是,“哦,当然。你是个坏人,你怎么敢质疑科学和一切。”

诺亚·吉夫特:但事实证明,我实际上为他工作了三年,我非常了解他。我要说的是,我这辈子见过的最不可能成为巨魔的人,对科学不感兴趣,不太会思考,就像一个极其聪明的人。他是理查德·费曼的朋友,这一切。因此,我认为数据科学的另一个有趣的数据点是与这些人打交道,他们甚至有勇气说一些可能非常非常不受欢迎的话。我认为这是数据科学的另一个方面,我想这可能会困扰我一段时间。

诺亚·吉夫特:后来我在电影业工作了一段时间。当我在海湾的时候...我终于搬到了湾区。我对概率和统计越来越认真了。因此,我能真正认真对待这件事的唯一方法之一,就是在我全职工作的同时获得 MBA 学位。我尽我所能上了所有的概率和统计课。在我的 MBA 项目中,我实际上做了很多 Python 编程,线性优化等等。事实证明,我做的很多事情和我今天教的非常相似,基本上都是基于分析和概率。他们在 2010 年没有提供这项服务。

Noah Gift:从那以后,我对机器学习和数据科学越来越感兴趣。当我还是一家初创公司的首席技术官时,我们有多种概率模型,可以用来判断与谁做生意等等。所以目前我在杜克数据科学项目,MIDS 项目教书。此外,我在杜克大学教授工程课程。我教一门叫做操作化人工智能和机器学习的课程。我也在西北大学教数据科学。因此,在过去的几年里,我更多地从事教学和咨询工作。

面向数据科学家的实用方法

Adel Nehme:太好了。我很高兴能和你讨论这一切。我认为你们非常著名的一件事,也是你们在很多课程和书籍中可以看到的,是对数据科学和机器学习的务实和实用的方法,这种方法产生了影响。这是你的一本书《实用人工智能》的书名。您介意向我们介绍一下为什么您认为实用和务实的方法对数据科学家来说如此重要吗?当涉及到数据工作时,数据科学家如何被引导到非实用主义的道路上?

诺亚·吉夫特:是的,我认为...让我们稍微重复一下库宁博士的那本书,因为我认为这是一个很好的例子。所以他在书中的观点是,他提出了几个不同的观点。其中之一是很难做出预测,我希望任何数据科学家都会说这是真的。他提到的一件事是,已经对环境造成的破坏会在未来,比如说,50 年内持续存在。我认为不管你是否相信他。我想我真的不知道气候变化有多严重。我真的很无知。所以别听我的。

诺亚·吉福特:但我认为有趣的是,如果这种损害是真的,我们真的要在未来 50 年内忍受所发生的一切,那么我认为这就是务实的方法出现的地方,我们不能争论,嗯,我们应该这样做或那样做一些在未来 50 年内,我们必须通过实际适应来解决的事情。我认为这就是事情变得有趣的地方,我们能做些什么来操作气候科学?

诺亚·吉福特:假设你是最自由、最进步的气候人。我可能会把自己放入这一类。我有电动汽车、太阳能、电池、智能家居等等。但是除了这些,我认为更有趣的是,如果我们不能在未来 50 年改变正在发生的事情,你如何操作气候变化的影响?你不能假装这不会发生。这就是我认为实用主义方法的用武之地,我们能做什么?

诺亚·吉夫特:当没有办法真正避开正在发生的事情,比如海平面将要上升,你会怎么做,这确实会给你带来限制。你不能只是说,“嗯,这是别人的错,我很生他们的气。”那我们该怎么办?我们是否可以应用一些技术来解决沿海地区的问题,比如可以上下移动的房子或者类似桌子的东西?我们能想出办法让我们更好地适应气候吗?也许我们有更多使用默认材料的太阳能房屋?所以基本上,所有的房子基本上都是太阳能材料。因为温度很高,所以这并不重要,因为你可以根据新的能量自动汇集它。因此,有一个不可移动的约束的概念,然后你必须用这个约束做一些事情,我认为这是真正实用的方法。

Noah Gift:那么现在让我们进入数据科学和机器学习。例如,如果你说,我必须把一些有助于我的公司或改善一个被诊断患有乳腺癌的人的体验的东西投入生产。如果你把约束条件改为,无论我做什么,都必须改善他们的健康状况,这是务实的。我认为学术方法更多的是考虑为什么。人为什么会得癌症?或者我们能做些什么来让这个工具变得更好或者什么的?

诺亚·吉夫:并不是说那些事情不需要发生。事实上,我会说我们在“为什么”和“研究”等方面都做得太好了,但我们很少有人有紧迫感,看,有人在死去,世界有麻烦了,我们有错误信息的问题,那些是紧急的,迫切的问题,它们不一定需要挥手。他们真正需要的是改善结果的具体行动。这就是我所说的实用人工智能。

弥合学术界和工业界之间的差距

Adel Nehme:我完全同意采用务实的人工智能方法来解决作为一个行业和一个物种的这些现实世界的问题。你在整个讨论中暗示了这一点,但我认为,数据科学家在学术界学习和获得的知识或在货物上做的事情与对他们和他们加入组织的野生动物的期望之间往往存在脱节。你认为这种脱节在哪里最突出?还有你为什么觉得学术机构在学术界和产业界之间搭起桥梁很费劲?

诺亚·吉夫特:是的,我认为这是一个很好的问题,我认为这不是一件事,但你绝对可以做一个清单。我想我们可以从任何地方开始。首先想到的一件事是,大多数在大学教书的人从未有过真正的工作。我说的真正工作是指行业经验。所以这是个问题。我认为这可能是为什么这些东西还没有应用到生产中的因素之一。

诺亚·吉夫特:现在,我不一定想向研究人员扔石头,因为我认为这是一项非常重要的工作。我认为,也许这些人不应该是唯一教授数据科学和机器学习的人。所以我认为有一件事是不匹配的,如果你从来没有工作过,想象一下你去的人喜欢你当地的五金店,而拥有五金店的人实际上是一个商人,他们知道购买木材,喜欢出售木材,但实际上从来没有建造过书架,你说,“嘿,我怎么建造书架?”理论上,他们可能会告诉你如何建造书架,但整天在那里工作的人是木匠,这就是为什么你需要木匠,他们会帮助你。即使拥有五金店的人很有声望,很富有,有很高的地位,那也不一定意味着你想让那个人在你的房子里安装书架。我认为这是问题之一。

Noah Gift:另一个问题是,教授数据科学所必需的工具与行业工具非常不同。一个很好的例子是,我现在正和杜克大学合作分析鲸的声音数据。我认为数据集大约有 30tb。所以你不能像这样,“哦,好吧,让我们把它放在我的笔记本电脑上。让我们来玩一会儿吧。”好像不太合适。然后你也不能像这样,“嘿,进口熊猫作为 PD。让我们用这 30 兆字节制作一个数据帧。”它不起作用。

Noah Gift:所以当你教授数据科学时,展示琐碎的工具是很容易的,但是现实世界要混乱得多。结果是,哦,现在我不得不使用不同的工具,比如我可能必须使用 Databricks 或 SageMaker,我必须做所有这些预处理并旋转群集。这不一定是你在第一天上课的时候,你会说,“好吧,来吧,大家,让我们旋转 20 台机器。然后我们将建立一个数据块,然后我们将分析 30tb 的数据。”这不像是...你把它从笔记本上翻出来,开始教它。所以我认为这可能是它的另一个方面。

Adel Nehme:鉴于许多数据科学家正在退出学术界并进入行业,您认为数据团队在设计和界定机器学习或数据科学项目时应该考虑哪些因素,这些项目通常不会在学术界教授或讨论,而是在工作中学习?

Noah Gift:是啊,我觉得构建软件系统的现实主义真的没有教过。我认为特别是 DevOps。DevOps 的功能是自动测试代码、提高代码质量和部署代码。因此,我认为这是一家公司明智的做法,确保他们了解 DevOps 的基本原理。那么他们能测试他们的代码吗?他们能连接他们的代码吗?他们知道什么是构建系统吗?他们能做自动持续集成吗?然后他们能在某个地方将 Flask 应用程序部署到生产环境中吗?我认为仅仅这一点就非常重要,这可能会解决人们 80%的问题。

DevOps

Adel Nehme:太好了。然后你在这里提到了持续集成和 DevOps。为了缩小传统数据科学教育和 DevOps 之间的差距,您建议学生学习哪些工具?

Noah Gift:是的,我认为特别是 Python,我认为我推荐的工具是 GitHub Actions,我认为这可能是开始持续集成的最简单的方法。另外,人们可以使用 Pytest 在一些林挺工具中进行测试,无论是 Pylint 还是 Flake。我认为这些将会对成功地进行持续集成和持续部署大有帮助。

Adel Nehme:在工业界工作的另一个角度是弥合价值差距。最终,数据团队正在开发一个解决业务问题的模型,这些解决方案将由业务部门的职能领导负责。你认为数据科学家在加入组织之前,在与业务部门合作时会陷入哪些他们没有意识到的陷阱?

诺亚·吉夫特:是的,我认为我经常看到的一件事是,我在研究生院时就知道了这个问题的解决方案,我有一位非常明智的统计学教授告诉我,当你向一位高管展示一些东西时,你不需要向他们展示一堆代码。你想有一个总结。这一段说这是解决问题的方法,这是我的建议。

诺亚·吉夫特:我认为这可能是数据科学家没有做的一件大事,那就是很快说明问题是什么以及他们如何解决它。因为这样的话,那些可能不知道什么是代码,或者可能不知道符号表示法或者其他什么的商业人士,他们就可以说,“哦,你在试图解决这个问题。然后这是你推荐的。我们不想那样。再给我一个问题陈述和解决方案。”我认为你越快找到问题陈述和解决问题的方法,至少会让你做正确的事情,因为悲剧是花九个月的时间去做某件事情。这真的很复杂,事实证明他们想从这开始。我认为这种脱节是最重要的反馈回路。

诺亚·吉夫:这是其中之一。第二,我认为因为反馈循环已经太长了,所以当你想出一个解决方案的时候,它可能已经不重要了。因此,我认为许多数据科学家明智的另一种方法是采用为你做大量自动化工作的工具。特别是 AutoML,我真的对那些不想接种疫苗的人感到困惑。就像,“什么?”这就像让小儿麻痹症再次变得伟大。就像,“什么?”

Noah Gift:当人们不想使用 AutoML 时,情况是一样的。就像,“什么?为什么您不想使用最初帮助您解决问题的工具呢?”这并不意味着这将是最终的解决方案,但最初,你为什么不使用一些自动化?我认为这是数据科学家真正能够更有效地利用他们的时间的地方之一,那就是他们尽可能多地采用自动化。再一次,到达反馈循环的末端,将结果呈现给业务领导,因为这可能是你在做错误的事情。因此,如果超参数只想要您构建的东西,谁会在乎您自己是否手工编写了所有的超参数呢?

云平台

Adel Nehme:在数据科学中拥有一个工具不可知的方法是如此重要,我很高兴在展览结束时围绕 AutoML 展开我们的讨论。继续你的书《务实的人工智能》,一个很大的焦点是利用云计算技术来提供高影响力的数据科学。数据科学家可以学习各种各样的云平台,如 AWS、Azure、Google Cloud,但你是从 AWS 开始的大力支持者。您能向我们介绍一下为什么您认为 AWS 是更好的云平台,以及它如何帮助数据团队吗?

Noah Gift:是的,我认为从数据科学的角度来看,他们拥有最大的市场份额。这可能是我认为 AWS 可能是大多数人最安全的选择的首要原因。同样,你为什么要用 Python 呢?嗯,使用 Python 的原因之一是大多数人都知道它。和 AWS 一样,如果大多数人都知道 AWS,就很容易雇人。

Noah Gift:我认为,总的来说,这是我作为一名工程经理或 CTO 多年来,人们没有认真对待的一件事是,最好的工具不一定是你应该使用的工具。举个例子,我在职业生涯的大部分时间里都在使用 Erlang 语言,因为从理论上讲,它确实有一些关于高并发性的非常有趣的特征。实际上没人知道。所以你已经死在水里了。

Noah Gift:所以像 Julia 这样的语言或像 Google Cloud 或 Ali Cloud 这样的外来云平台仍然是一样的,并不是说它们不好。事实上,在某些情况下,他们可能在某些方面有更好的技术,例如 BigQuery,我认为它是一个令人难以置信的工具。但是现在我们来看看实施细节,你雇佣的大多数人知道吗?我认为这可能是 AWS 最初是最佳选择的原因。现在,我认为紧随其后的是微软云。我认为微软有很多让人喜欢的地方,而且他们真的很有挑战性。所以我要说,再次,我的建议是,从数据的角度来看,只是字面上看你可以雇用的人数,AWS 第一,但微软可能也不是一个坏的选择。

组织在操作机器学习模型时面临的主要陷阱

Adel Nehme:当然。微软在云领域收获颇丰,尤其是最近与 OpenAI 和 GPT-3 的合作。我认为这标志着与奥赖利讨论你的新书《实用操作》的一个很好的开端。在深入细节之前,你介意强调一下你为什么写这本书,以及你发现组织在操作机器学习模型时面临的主要陷阱是什么吗?

Noah Gift:如果我从零开始雇佣所有的数据科学家,那么运行数据科学似乎就是多重数据科学。然后,我还以顾问的身份雇佣并建立了数据科学团队。我看到的一件事是,我们真的雇佣了一些非常有才华的人,但是这些限制是以错误的方式设置的,对此我部分地责怪自己,如果你不告诉别人他们正在建造什么或者他们正在做什么,那么你怎么能衡量它是否成功呢?再一次,回到 COVID 什么的,就像如果我们没有数据显示谁接种了疫苗,谁没有,有多少人接种了疫苗,你需要有一个仪表板来显示什么是好的。

诺亚·吉夫特:我认为数据科学的最大问题之一是没有人知道什么是好的。我认为我们现在越来越接近了,但如果你只是说,“嘿,我们公司里有所有这些博士,我们在做数据科学,”这意味着什么。我认为这是我写这本书的原因之一,就是深入了解什么是好的细节?你该怎么办?你如何衡量一个人在数据科学领域是否成功?这是一个。

诺亚·吉福特:第二件事是我参加了一个叫做“奥莱利足球营”的活动,如果你为奥莱利写了一本书,你有时会被邀请参加这个活动。很酷的极客聚会。我与 O'Reilly 的所有者 Tim O'Reilly 和另一个与 O'Reilly 共事很长时间的人 Mike Loukides 进行了交谈,我们讨论了为什么机器学习没有结果?为什么我们不能快 10 倍?

诺亚·吉夫特:我们想到的一件事是,当出现像新冠肺炎这样的疫情,或者出现像乳腺癌、气候变化或其他任何可以通过机器学习解决的真正重大问题时,我们为什么不有紧迫感来解决这些问题呢?为什么我们不能快 10 倍?我认为这真的是这本书的驱动力,让我看看我能否写一本书,让机器学习快 10 倍,数据科学快 10 倍,而不是只关注技术,我们关注结果。而且结果比技术更重要。

Adel Nehme:为什么你认为今天的机器学习没有 10 倍快?背后的一些原因是什么?

诺亚·吉夫特:我认为人们太看重这项技术,而对实际结果关注不够。我在书中分享了这个故事,在最后一章,我无意中进入了巴西柔术,我并不想进入武术领域。我只是碰巧在某个地方工作,那里有所有这些职业 UFC 拳手的训练,我和他们成了朋友。然后我开始和他们一起训练,我花了很多年来练习格斗,但更像是一个真实世界的格斗,你在那里训练成为职业拳击手。

诺亚·吉夫特:我发现的一件事是,如果你去一个更学术的地方,当你在阿格时,你会发现更多的学术斗争。所以你穿着制服,某些技术只有在你穿着制服的时候才有效。这和大学非常相似。有些东西只在大学里有效,因为它是受约束的。你有一个非常受约束的模型。然后,当我与比我更优秀的专家一起训练时,他们会尝试一种在通用电气制服上总是有效的技术,但当他们退出时,这种技术就不再有效了。有人会试图把我的胳膊锁起来,同样,如果你穿着制服,你在学术环境中,这总是行得通的。但是我甚至能从奥林匹克柔道中抽出我的手臂。在柔道比赛中获奖的人,因为他们知道某种限制。

诺亚·吉夫特:所以我会对机器学习说同样的话。我认为人们有这么多问题的原因之一是,他们只从学术角度和技术角度看待事情。这项技术真的很有趣,从某种意义上说也很重要,但归根结底,它有用吗?我认为这是机器学习的一部分,我们需要更加关注的是,忘记你有更好的技术或没有更好的技术或无论什么,你的公司使用你的机器学习模型吗?有改善事情吗?您实施该解决方案的速度有多快?我认为这就是如何在正确的时间解决正确的问题的紧迫感。

MLOps 的子域

Adel Nehme:太棒了。而且我很喜欢巴西柔术和数据科学、机器学习的对比。因此,这本书在介绍机器学习实践者需要用来开始操作机器学习模型的许多现代工具方面做得很好。您是否介意带我们浏览一下 MLOps 的不同子领域,以及当今从业者应该学习的最重要的工具是什么?

Noah Gift:是的,所以我认为首先从 DevOps 开始,这可能是大多数数据科学家最薄弱的地方,我知道这一点,因为我教过很多数据科学家。我想你一定精通德文。所以你应该知道如何持续集成,持续交付。还好,没那么难。你可以在一两天内学会大部分的 DevOps。所以我认为这是最基本的。

Noah Gift:现在,另一个步骤是有一些机制来管理您的数据。数据治理是一个非常大的话题,但一般来说,在云中,这意味着您的数据很可能处于某种形式的数据湖中。例如,在 S3 的对象存储中。一旦你把数据放在云中,放在类似对象存储的地方,你就有能力拥有无限容量的磁盘 I/O 或 CPU,然后你就可以使用 SageMaker 或 Spark 或 Athena 等工具或其他大数据技术。

诺亚·吉福特:所以我认为这可能是第二个大问题,你必须在一个可以使用现代工具的环境中使用它。然后在机器学习实现的更多方面,我认为人们需要有一个大问题,再次,最初当你建立一个原型时,你需要自己做多少工作来调整超参数?你真的应该 100%自己训练你的模型的第一个版本吗?例如,如果你有 X 和 Y,在一个数据集中有两列,你真的需要手工选择这些算法中的每一个吗?这是一个简化的问题。为什么不直接点击它,让机器为你做呢?

Noah Gift:后来当你变得越来越复杂时,也许你不想让机器为你做所有的事情,但我认为,再一次,从一开始就用机器学习拥抱高级工具。然后机器学习的最后一部分将会是你在哪里部署这个模型?你是在定制一个复杂的系统,还是在使用一个像 SageMaker 这样的工具,它可以自动缩放模型,编辑模型,进行 A/B 测试?我认为重新发明轮子对人们来说是一个非常糟糕的主意。你应该使用现有的最好的工具。再一次,一个很好的例子,一个潜在的类似 SageMaker 的东西。

Adel Nehme:在本书的最后几章,您强调了数据团队在 MLOps 中面临的一些关键挑战。其中的关键是道德和意想不到的后果,缺乏卓越的运营,过于关注小细节,而不是大局思维。可以在这里分享一下你的想法吗?你如何看待 MLOps 的未来,也许会缓解其中的一些挑战?

诺亚·吉夫:是的,我会一个一个的解决它们。因此,我认为道德部分很容易被夸大和自以为是。我认为当你自以为是时,大多数人都会被冒犯。让别人接受你的观点并不是一个好方法。但这并不意味着我们不能谈论道德和错误信息以及一些影响。我认为解决这个问题的一个方法是,如果你是一个有才华的人,要小心你为谁工作。我认为这是你解决问题的方法之一,如果你知道你有能力做不可思议的事情,我个人会建议你为帮助世界变得更美好的事情而努力。

诺亚·吉夫特:我认为你可以用信息来解决这个问题,我可以把事情分为三个层次。你可能会得到一个有害的信息。所以,再次告诉人们,世界是平的,或者他们不应该接种疫苗,因为它有一个微芯片。这是有害的虚假信息或错误信息。你真的在伤害这个世界。然后是 B,中性。比如说你在拍迪士尼电影,好吧,这是娱乐,但这是中性的。

诺亚·吉夫特:然后是 C 类,即你积极致力于让世界变得更美好的事情,比如帮助治愈癌症,或者为低收入人群提供住房,或者教育人们等等。我认为解决这个问题的方法之一就是不要为制造错误信息和虚假信息的公司工作。最终他们会崩溃,因为没有人才会为他们工作。所以我认为这是一种不用自以为是就能解决问题的方法。我希望人们会这样做。

诺亚·吉夫特:现在,它的另一个方面是,你关注的是小细节而不是大细节。是的,我认为这又是一个技术与实现的问题,这并不意味着小细节没有帮助,但是当你第一次开始时,如果你意识到紧迫性在这方面非常重要...一个很好的例子是,如果你看看第二次世界大战,特别是英国,有一段时间他们被纳粹德国围困。他们真的不知道他们是否会被彻底摧毁。所以他们有一个窗口,比如说 30 天,他们必须想出如何支撑他们的防御,关掉灯,这样他们就不会被轰炸。

诺亚·吉夫特:你应该致力于不能解决问题的事情吗?这是一个很好的约束,就像,我们将会被一场可怕的战争淘汰,除非我们做 X,Y,Z,也就是关灯,不管是什么,他们会阻止入侵。所以我认为同样的事情,不是你需要担心纳粹入侵你,而是如果你专注于,好吧,我能做的唯一的事情是什么来让这个模型投入生产?这并不意味着其他事情不重要,但我如何只关注那些能立即帮助我的事情,这是一个很好的启发,你可以用它来提高效率。

Adel Nehme:你认为战术数据团队可以做些什么来采用这种启发式方法,并将其操作化和形式化?

诺亚·吉夫特:我认为其中一件事就是看 KPI。一个 KPI 可能是,模型投入生产的频率是多少?我认为这可能是...我知道软件工程的这个技巧是非常合理的,那就是,你多久部署一次你的软件?我曾为每周部署一次的公司工作过,也曾为每天部署 20、30 次的公司工作过。那些我们每天部署 20、30 次的地方,我们实际上有一个非常、非常健康的文化,那里的东西在不断地被改进。我们一周只部署一次软件,这通常是有问题的迹象。

Noah Gift:我想说的是,如果你不能每天部署大量不同的模型或实验,这不一定意味着 100%的生产,但让我们说准生产,你公司里有人在使用这些模型。如果你不能每天都这样做,我认为这是你可以衡量和解决的事情之一。让我们把它作为一个 KPI 来衡量。为什么我们不在生产中每天生产多个模型?让我们来解决它。让我们找出根本原因,并使用五个为什么技巧。为什么不能将模型部署到生产中?每次我们把一个模型投入生产,它都会爆炸。好吧,为什么会爆炸?啊,我们没有连续送货。为什么我们没有连续交货?你打破它,直到你到达底部。这就像,“哦,事实证明,我们没有理由不将模型部署到生产中。这是合理的,我们可以很容易地解决这个问题。我们去做吧。”

Adel Nehme:说到唱反调,您是否认为针对 KPI 之类的模型部署量进行优化会导致数据团队在部署模型之前不必考虑道德因素就进行部署?

诺亚礼物:我认为任何 KPI 都需要半信半疑。所以,就像,特别是数据科学家应该意识到这一点,你不能只是在一个功能上过度优化和过度适应,因为这样你基本上是在做一个不符合现实世界的糟糕预测。所以我认为这只是众多数据点中的一个。不过,最初,我认为这可能是一个好的开始,因为它会消除一些借口,比如,“等等,我们一年只部署一个模型。让我们解决伦理问题。之后,我们可以每天至少部署一个模型。”

Noah Gift:一旦我们今天部署了一次模型,相信我,我是这方面的伦理关注的巨大粉丝,但是让我们首先确保我们能做任何事情。然后,一旦我们可以做些什么,那么让我们深入研究,也许我们等待事情结束,也许还有另一个同样重要的 KPI,它会说有什么影响,假设你是一家信用卡公司,突然之间,少数群体在接下来的 60 天内不再获得信用卡优惠。是啊,那真的很糟糕。你最好修好它。所以你可以把它看作一个 KPI。

给未来从业者的建议

Adel Nehme:这是一个聪明的主意。我认为在大规模部署机器学习模型时,有一个整合风险管理最佳实践的绝佳机会。展望未来,鉴于数据科学和机器学习领域的性质,你认为你给即将到来的从业者的建议是什么,以保持他们的技能竞争力,并保持高度专注于创造影响?

Noah Gift:是的,我认为一件事是我几年前写了一篇文章,说我不认为数据科学的工作头衔会在 2029 年出现。这实际上是一篇相当两极分化的文章。我认为我已经被证明是正确的,但我的观点是,当你不应该做数据科学时,我并不认为数据科学是不好的。事实上,我认为它实际上非常有帮助,但你不能只做数据科学。我的看法,仅仅是数据科学是不够的。我认为你把这作为你工作的一部分。

诺亚·吉夫:让我们再回到综合格斗上来。所以说我是一个格斗手,这是真的,这很有帮助,但是如果你在战斗,你会使用击打,摔跤,柔术,泰拳,你会做所有这些事情。因此,我认为数据科学家,如果你只关注你从事数据科学的事实,这有点太狭隘了,但如果你可以说我是一名从事数据科学的生物学家,或者我是一名从事数据科学的机器学习工程师,或者我是一名从事数据科学的记者,我认为这对你的职业生涯来说是一个更好的方向,因为你不能被束缚住,像这样,“哦,你只是从事数据科学。”不。数据科学是我擅长的领域之一,例如,这就是为什么我在新闻业如此出色。

Adel Nehme:我认为这也是你的职业哲学。你如何看待成为专家和通才之间的权衡以及多学科的重要性?

诺亚·吉夫特:是的,我不知道是否有那么多专家的风险回报比得到回报的例子。也许如果我们看看奥运会,那是专家的一个很好的例子,但是那真的有回报吗?对于大多数人来说,成为那个级别的专家可能没有回报。但我认为,如果你看看世界上发生的大多数事情,拥有一个多学科的方法真的是最好的方式,它允许你对未来发生的事情保持灵活,而不是只专注于一件特定的事情。

Noah Gift:我认为,特别是在数据科学方面,它正在发生变化,变化如此之快,以至于最好采取更多的机会主义或贪婪的方法,例如,在未来五年内,我可以看到清洁能源正在成为一件大事。它曾经更像是一个超级铁杆的进步议程,人们因此对它感到厌恶,但它实际上不再是假的了。是真实存在的。事实上,我的预感是,它将在五年内普及。因此,如果你只专注于数据科学,也许你会失去它,因为你把它留给了别人。另一个是医疗保健。医疗保健可能会经历快速的变化。因此,如果你更感兴趣的是能够灵活地跳入任何事物,我认为你更适合站在前沿。

Adel Nehme:我完全同意。我认为作为一个多学科的人所能提供的唯一的个人回报就是。在今天的讨论中,我们多次提到 AutoML。鉴于不断发展的工具堆栈、数据科学和自动机器学习工具以及 GPT-3 和 GitHub Copilot 等 NLP 创新,它们肯定会成为许多数据科学工作流的颠覆者。你认为机器学习和数据科学的主要趋势是什么,这些趋势将打破我们对数据工作的看法,并可能成为 2029 年不一定相同的数据科学角色的后盾?

诺亚·吉夫特:是的,我只是想说清楚。所以我觉得数据科学在职称上,我觉得可能不行。我们会看到的。或者说清楚如果说 80%的数据科学职位会做 80/20,可能到 2029 年我的观点就不存在了。但我在这里看到的所有自动化工具是,要么你拥抱自动化,要么你对抗它,但拥抱它的人将会非常成功,因为你能够更快地获得结果。你关注的是重要的事情,而不是重新实现机器可以做得更好的糟糕的事情。我认为这真的是我们将在许多领域看到的,那些能够接受任何事情并使用最佳工具的人将会取得巨大的成功。

诺亚·吉夫特:所以我认为最重要的一点是,当人类使用先进技术时,他们会有巨大的生产力。一个最简单的例子是钻子。如果你曾经拿起一个螺丝钉,自己把它拧进木头里,如果你非常强壮,并且有非常强的握力,是的,你也许可以把它拧进木板或者别的什么东西里,但是你为什么要这么做呢?你可以用一个钻孔机,用不到一秒钟就能在板上钻一个两英寸的螺丝。这是一回事。它没有...这和一个木匠因为用了钻子而变得更差或更好有什么关系,这是不合理的。所以我认为同样的事情也适用于数据科学,最好的数据科学家将使用最好的工具,因为他们将获得更多的产出,他们将获得他们构建的东西。这就是未来。

Adel Nehme:你如何看待自动化程度不断提高的数据科学工作流程?你以为连数据准备和清理都会自动化吗?

诺亚·吉夫特:我认为一些清洁工作将会自动化。我认为它更像是自动驾驶汽车...再说一次,我们不知道会发生什么。我有点相信在未来五年内,我们会有自动驾驶汽车。我认为我们会得到越来越好的辅助技术。我认为数据清理也是如此,这是一个非常复杂的话题。我认为我们可以有一些非常好的辅助技术。同样,你为什么不使用这些辅助技术呢?我不能 100%确定你能自动完成所有的工作,但是你可以做很多。

Noah Gift:我想说一种思考 AutoML 的方式是,我认为在某种程度上,它就像一面假旗。人们看着 AutoML,他们会说,“AutoML。”就像,“等一下。”这只是其中之一。也就是说,当你在做书架时,钻孔机是唯一需要考虑的东西。你可以有一个钻孔机,你可以有一个锯子,你可以有一个水平仪。机器学习超参数调整和自动训练是一个方面,但我会把整个事情称为 KaizenML,这基本上是你正在改善的每一个方面。业务问题被触及。软件工程问题与 DevOps 有关。这些自动清理工具触及了数据工程方面。

Noah Gift:我认为所有这些,或者 KaizenML 或 MLOPs,都是我们将会看到很多变化的东西。因此,我认为太过于专注于 AutoML 这个词,再次,真的会分散注意力,因为它是自动化的许多事情之一。如果你仅仅停留在它是自动的这个事实上,你就失去了对整个事情应该是自动的这个事实的关注,每一件事情。如果不是自动化的,它就坏了。

Adel Nehme:那么,一旦大量数据工作实现自动化,您认为高影响力数据科学家的优势是什么?伟大的数据科学组合的标志是什么?

诺亚·吉夫:这是一个很好的问题。我认为重新实现自动化工具可以完成的事情是最糟糕的投资组合。让我们从这里开始。因此,如果你展示你如何做一堆超参数调整,我不会在这方面的工作。现在,我认为一个更有趣的投资组合是关于非常奇特的话题,这里有一个我认为有趣的个人话题是无家可归。我认为我们仍然没有这方面的全面数据,但想象一下,围绕无家可归问题建立真正全面的分析,提出具体的建议和结论,例如,X %来自这里,X %有这个,这将是围绕数据的思想领导力的一个很好的例子。因此,任何一种定制的和创造性的思想领导,我认为都是一个巨大的数据科学项目。

诺亚·吉夫特:这是一个原因,因为你真的不能...在这种情况下,人类和机器之间的对抗毫无意义。所以不要在比你更擅长的事情上和机器竞争。在他们做不到的事情上与机器竞争,也就是说,给问题添加背景。另一个我认为会显示你有非常强的软件工程技能,这在某种程度上是与其他数据科学家竞争的一个很好的方式。因为如果几乎所有人,比如说 2021 年当前 80%的数据科学家不做软件工程,而你做了,你将会脱颖而出。

Noah Gift:所以我认为这是一个很好的方式,表明你可以持续集成,持续交付,你可以建立一个网站,自动进行部署。这是我在 Coursera 课程中涉及的内容,我和杜克大学一起建立了一个 Hugo 网站,可以自动部署。我认为你能做的任何显示你有很强的软件工程基础的事情也是一种突出的方式。

行动呼吁

Adel Nehme:我认为令人兴奋的是,AutoML 可以作为一种工具,吸引障碍来创造思想领导力。最后,诺亚,在我们结束之前,你还有什么最后的行动要求吗?

Noah Gift:是的,我想说就数据科学而言,我遇到了太多聪明的人。我可能在教学或书籍或研讨会中接触过成千上万的人,我给你的建议是,尽可能多地获得技能,然后将这些技能应用到对世界毫无疑问有益的事情上。你可以从中获得丰厚的报酬。我认为拥有员工很容易,也许是一家毫无疑问很差的公司,但为一家毫无疑问很好的公司工作也同样容易。如果你很有天赋,你就应该对这个世界负责,真正专注于帮助人类而不是毁灭人类的事情。

Adel Nehme:这非常鼓舞人心。非常感谢你,诺亚,来到播客。

诺亚·吉夫:很高兴来到这里。

Adel Nehme:今天的 DataFramed 节目就到这里了。谢谢你和我们在一起。我真的很喜欢 Noah 关于如何通过对人工智能开发使用实用主义哲学来衡量人工智能价值的见解。如果你喜欢这个播客,请务必在 iTunes 上留下评论。下一集,我们将与 Gojek 的数据科学副总裁 Syafri Bahar 探讨数据科学为 Gojek 提供动力。我希望它对你有用。我们希望下次能在 DataFramed 上看到你。

更好地讲述数据故事的七个技巧:第一部分

原文:https://web.archive.org/web/20230101103026/https://www.datacamp.com/blog/seven-tricks-for-better-data-storytelling-part-i

1.在头脑中构思数据故事

设计中的细微差异会深刻影响受众对数据可视化的理解。这些设计可以以颜色选择、标题和注释的形式出现。

一个令人不寒而栗的例子是西蒙·斯卡(Simon Scarr)的《伊拉克血腥死亡人数》(Iraq Bloody Toll),该书强调了美国在伊拉克的军事行动造成的死亡人数。向下的红色条形图强烈地唤起了人们对伊拉克大屠杀的回忆,这一形象化的比喻让人记忆深刻。有趣的是,一个简单的重新定位和颜色变化完全改变了信息。

Figure 1: Iraq’s Bloody Toll by Simon Scarr [Source]

数据说书人应该运用这种力量,负责任地、有意识地传达观点。在讲述一个理应客观的数据故事时,数据故事讲述者应该注意图表中可能放大偏见的细节。例如,轴应该从零开始,以避免误导的相关性。

Figure 2. The same data points can convey dramatically different results [Source]

2.适当定位数据故事中的元素

古腾堡原理指出,当阅读内容时,用户的眼睛按照从左上到右下的 Z 形路径移动。

Figure 3. The Gutenberg principle [Source]

应用于数据故事,这个原则告诉我们,最重要的信息应该在左上角。更多的细节应该在图表的底部变得更加具体。行动号召也可以包含在终端部分所在的图表的右下角。

3.运用设计原则了解你的受众

设计原则可以用来理解受众对数据故事的体验。在《日常用品的设计》一书中,作者唐·诺曼认为,最终用户在三个情感层次上处理所有物品,这三个情感层次是:本能的、行为的和反思的。

  • 直觉层面:在看到图表的第一秒钟内,用户根据图表的外观对其进行判断。这是本能的处理水平,指的是人类情感的根深蒂固和自动的品质。因此,图表的美感是保持受众对数据故事的注意力的关键。

  • 行为层次:用户然后根据其有用性来判断一个可视化,这被称为处理的行为层次。换句话说,观众必须能够通过可视化看到作者的观点。

  • 反思层次:在与可视化交互之后,用户反思他们的体验。例如,如果用户反思后发现他们的体验很愉快,他们可能会重用数据仪表板。

关于数据故事的更多提示

本文介绍了数据团队如何通过深思熟虑的设计来增强数据故事。在博文的第二部分,我们将为展示优秀的数据故事提供更多可行的技巧。

更好地讲述数据故事的七个技巧:第二部分

原文:https://web.archive.org/web/20230101103026/https://www.datacamp.com/blog/seven-tricks-for-better-data-storytelling-part-ii

4.在数据故事中使用叙事结构。

故事通常遵循一个共同的弧线——主角面临挑战,解决它,然后回归正常。这种弧线的一个例子是主人公的旅程。

Figure 1: The hero’s journey

当讲述一个故事时,听众记住一个事实的可能性是普通人的 22 倍。显然,数据可视化会从采用古老的叙述结构中受益。

采用叙事结构,数据故事以当前形势的背景开始,以建立核心洞察力的证据继续,以行动呼吁结束。(图 2)

Figure 2. The narrative structure of a data story (Source: Effective Data Storytelling By Brent Dykes)

盖茨基金会的守门员报告是一个很好的数据故事的例子,它展示了疫情是如何加剧不平等的。(图 3A、3B 和 3C)

Figure 3A: To set the scene, the data story first established the impact of COVID-19 on poverty-stricken countries. [Source]

Figure 3B: The data story provided rising insights by highlighting the widening chasm between the haves and the have-nots pre-pandemic and post-pandemic.

Figure 3C: The data story closes with a call to action–for greater investments in women, communities, and innovations.

5.让数据故事适应媒体

跨多种媒介重用现有图表是很诱人的。这样做的数据说书人是在给自己帮倒忙。

没有针对媒体进行优化的图表可能无法有效地传递信息。最初为电子邮件设计的图表可能包含无法在屏幕上阅读的微小文本。

《经济学人》描绘了数据故事如何从印刷媒体改编到社交媒体。印刷的图表(为严肃的读者设计)信息密集。它针对 Instagram 进行了精简(专为休闲 scrollers 设计)。

Figure 4: The Economist’s printed chart (left) is adapted for social media (right) [Source]

6.整理您的数据故事

杂乱使数据故事更难阅读。额外的认知负荷分散了观众对主要信息的注意力。

数据讲述者有责任识别和删除对预期信息没有贡献的多余元素。清理的结果是惊人的。

特别是,我们的白皮书“更好地讲述数据故事的 8 条规则”建议数据故事讲述者:

  • 删除图表边框
  • 删除网格线或坐标轴
  • 清理轴标签
  • 直接标注数据(与使用图例相反)
  • 删除数据标记
  • 谨慎使用特殊效果(粗体、下划线、斜体、阴影)

7.分阶段解释数据故事

当呈现复杂的数据故事时,一个实用的技巧是逐渐揭示图表的元素。当信息以易于理解的片段呈现时,观众更有可能参与到演示中。

一个典型的例子是汉斯·罗斯林的演讲“统计的快乐”。观看罗斯林如何娴熟地讲述他的数据故事。

https://web.archive.org/web/20220827164502if_/https://www.youtube.com/embed/jbkSRLYSojo

数据讲故事将会持续下去

随着数据洞察力成为组织的基石,数据故事很快将成为未来十年所有人的必备技能。要了解更多关于数据故事的技巧和诀窍,请收听 Andy 的播客,或学习他最近在 DataCamp 上的网络研讨会。

商业智能分析师应该学习编码吗?

原文:https://web.archive.org/web/20221129033335/https://www.datacamp.com/blog/should-bi-analysts-learn-to-code

每天,我们都会产生难以想象的大量数据。根据 Statista 的数据,2020 年全球产生的数据总量已达到 64.2 zetta bytes(1 zetta byte = 10 亿 TB),在未来五年内,预计将增长到 180 zettabytes 以上。

随着数据量的激增,数据科学和商业智能在帮助组织理解这些数据方面发挥着关键作用。

数据科学家的工具箱主要围绕基于编码的工具,如 Python、R、命令行工具等,而商业智能分析师则利用复杂的基于 GUI 的工具,如 Tableau 或 Power BI。

在这种情况下,商业智能分析师在推动任何组织的洞察层方面发挥着重要作用。这就是为什么商业智能角色的需求越来越大。例如,在美国,商业智能分析师的平均年薪是 84019 美元。

BI Analyst Salaries

随着低代码工具变得越来越复杂,商业智能功能继续为组织创造价值,编码技能对 BI 分析师的职业发展有多重要?在这篇文章中,我们开始回答这个问题。

如果不概述现代分析师角色的演变、需要编码的任务类型以及学习编码的价值,很难给出一个简短的答案。开始吧!

商业智能的历史

“商业智能”一词最早是由作家理查德·米勒·德文斯在 1865 年创造的,当时他在《商业和商业轶事百科全书》中用它来描述一位金融家如何通过收集信息并根据信息采取行动来成功击败竞争对手。

然而,直到 1956 年 IBM 发明了硬盘,现代商业智能的基础才到来。这允许用户存储 5 MB 的数据,这在当时构成了巨大的数据量。

两年后,IBM 研究员 Hans Peter Luhn 发表了一篇期刊论文,A Business Intelligence System,通过评论企业在处理和使用大量数据以做出更好决策时面临的挑战,介绍了商业智能的原则。由于这些原因,汉斯被认为是商业智能之父。

在 20 世纪 60 年代和 70 年代之间,第一批数据管理系统和决策支持系统被开发出来,这导致了 80 年代数据仓库的创建,该数据仓库一直沿用至今。

数据仓库是将来自不同来源的数据收集和组织到一个中央存储库中的系统,允许进行更有效和更深入的分析。快进到 20 世纪 90 年代末,随着技术创新、个人电脑的兴起和互联网的诞生,现代 BI 系统的前身变成了现实。

现代商业智能分析师的崛起

在过去的二十年里, 商业智能分析师的角色发生了巨大的变化。大数据的兴起和不断增长的数据量导致对复杂的 BI 平台和工具的需求不断增加,以帮助分析师理解他们公司的数据。

在 90 年代末和 21 世纪初,分析师使用 Excel、SQL 或基本的 BI 工具来分析和可视化他们组织的数据。然而,随着像 Power BITableau 和 Qlik 这样的工具的发布,现代分析师被期望在日常工作中掌握各种工具。

除了特定工具的技术专长,现代分析师还被期望成为广泛领域的专家。这意味着拥有强大的项目管理技能、领域知识、讲故事和沟通技巧,是当今现代分析师的赌注。

考虑到这一点,是时候重新考虑开始时提出的主要问题了:商业智能分析师应该学习编码吗?答案是肯定的!

虽然许多商业智能角色可能不需要编码技能,但学习编程技能可以使分析师加速他们为组织提供的价值,并帮助他们在求职中脱颖而出。下面,你会发现商业智能分析师应该学习如何编码的五个关键原因。

学习如何为商业智能分析师编码的价值

1.提高解决问题的技能

无论是了解 A/B 测试对关键指标的影响,为利益相关者构建仪表板,还是基于数据洞察提供建议,商业智能分析师每天都在解决问题。学习编程可以提高这些技能,因为编程提供了一个看待技术问题的新视角。

编程和提高解决问题的技能之间的联系已经得到了广泛的研究,因为它训练从业者思考潜在问题的各种解决方案。

2.与其他数据团队成员更好地合作

商业智能分析师通常坐在更广泛的分析或数据团队中。这意味着他们将与编码优先的实践者合作,比如数据工程师、数据科学家和数据分析师。学习如何为商业智能分析师编码的一个关键结果是与其他团队成员更好的共情和协作。

学习如何编码,将有助于商业智能分析师从其他团队成员那里更好地处理问题,在其他团队成员时间有限的情况下创建需要编码技能的临时解决方案,并更好地了解他们的团队成员的工作流。更好的团队凝聚力只会给更广泛的组织带来更好的结果。

3.构建更复杂的数据可视化和工作流

掌握像 Tableau 和 Power BI 这样的商业智能工具是现代商业分析师的头等大事。然而,学习如何编码有助于以各种方式加速商业智能分析师的工作流程。

首先,Tableau 和 Power BI 提供了与 R 和 Python 的集成。这允许分析师通过使用他们最喜欢的商业智能工具中的脚本来自动化他们的工作流。一个重要的例子是在 Power BI 中运行 Python 来自动化一个常用数据集上的数据操作步骤。

此外,像 R 和 Python 这样的编程语言可以让您构建更复杂的数据分析和可视化,这在 BI 工具上是不可能的。例如,使用诸如 R 的 ggplot2 和 Python 的 Matplotlib 之类的包,从业者可以设计非常定制的可视化和报告。

4.成为开源社区的一员

编程语言的一个独特之处在于,几乎所有最好的从业者和研究人员使用的工具都是开源的。这意味着任何人在任何时候都可以零门槛地免费下载最强大的复杂工具。

此外,这也意味着从业者可以直接与这些工具的创建者接触,为源代码的改进提供建议。加入开源社区可以帮助分析师丰富他们的职业、知识和声誉。这意味着未来更好的职业机会和数据世界中更丰富的联系。

5.职业发展机会

学习编程的一个主要优势是有可能扩大你的职业机会,甚至转向其他职业道路。商业智能是一个巨大的领域,有许多不同的职业道路,如数据分析师、产品分析师、BI 开发人员和商业智能架构师。根据 Glassdoor 的统计数据,编码工作需求量很大,薪水很高,满意度也很高。

这种角色的例子是数据分析师职位,它与商业智能角色密切相关,但需要更高程度的编程和统计知识。在美国,数据分析师的平均年薪约为 94687 美元,最高可达 39.1 万美元。

此外,我们不断看到对数据工程师和数据科学家的巨大需求。数据工程师在整合大量数据方面发挥着重要作用,数据科学家将利用这些数据来提取见解和建立机器学习模型。数据工程师和数据科学家的工资中位数分别为每年 112,493 美元和 117,212 美元。

分析师角色的未来

随着商业智能的不断发展,现代商业智能分析师也需要发展。获得编码技能可以实现更好的问题解决技能、与其他团队成员更好的协作、高效和复杂的工作流、职业发展机会等等。

如果这篇文章启发了你开始学习编程,一定要查看下面的参考资料。

新加坡正在使用 DataCamp 创建一个人工智能流畅的国家

原文:https://web.archive.org/web/20230101103339/https://www.datacamp.com/blog/singapore-is-using-datacamp-to-create-an-ai-fluent-nation

我们生活在一个每天产生 2.5 万亿字节数据的世界里。移动设备的数量超过了地球上的人口数量,多年来我们一直听到这样的说法,即世界上 90%的数据都是在过去两年中生成的。各行各业尚未开发的数据数量惊人。构建基础设施和工具来将这些数据转化为见解,然后利用它为决策过程提供信息,这是每个行业都面临的一个始终存在且日益严峻的挑战。这同样适用于为员工配备管理和分析所有这些数据所必需的技能。在 DataCamp,我们看到我们的客户、合作伙伴和协作者使用一系列方法来应对这些挑战。

最近,在我们的播客 DataFramed 中,我与人工智能新加坡公司人工智能产业创新总监 Laurence Liew 聊天时,对人工智能新加坡公司的战略感到兴奋。我计划在 DataFramed 回归时发布这篇采访,它是一次旋风式的旅行,介绍了新加坡的技术和人工智能现状,以及人工智能新加坡如何与 DataCamp 合作,尽可能使这个国家成为人工智能驱动的国家,以及其他许多事情。

大赦国际新加坡办事处的既定任务是:

锚定人工智能方面的深度国家能力,从而创造社会和经济影响,培养本地人才,建立人工智能生态系统,并通过人工智能研究、人工智能技术和人工智能创新三大支柱将新加坡放在世界地图上。

我发现他们的方法令人兴奋的一点是,他们认识到存在于以下方面的深刻挑战:( I)确保尖端研究掌握在行业从业者手中;( ii)在数据科学、机器学习和人工智能工具和技术方面教育整个劳动力(和未来的劳动力)。

让我们深入研究人工智能研究、人工智能技术和人工智能创新的三大支柱,看看新加坡人工智能公司是如何考虑弥合(I)研究和工业与(ii)21 世纪现代工业所需的劳动力和数据技能之间的差距的。

人工智能研究:播种高质量

人工智能研究支柱的目标是播种高质量的研究成果,开发基础和新颖的人工智能技术、算法和相邻技术——这些成果最终将对新加坡人工智能的其他支柱做出重大贡献。人工智能新加坡的研究项目也鼓励国家研究合作,培养本地人工智能人才。

优先研究领域包括:

  • 可解释的人工智能
  • 艾设计
  • 人工智能在感知中
  • 人工智能-人类协作
  • 小数据集培训

最后一条对新加坡尤为重要。作为一个小国,人类生成的数据集与人口更多的国家相比将会很小,所以他们的研究人员推进这一人工智能研究领域是很重要的。简而言之,这一支柱通过认识到正在进行的研究在开发将被下游产业采用的技术方面的重要性,为未来的人工智能工作提供了基础。

人工智能技术:应对重大挑战

这个支柱关注的是新加坡人工智能所称的重大挑战&这类问题非常困难,人工智能可以用来(作为几种技术之一)帮助解决。重大挑战(I)需要有影响力,(ii)需要影响新加坡的每一个人,以及(iii)必须可以衡量。

在大挑战下,AI Singapore 优先考虑了四个垂直领域:医疗保健、教育、城市和智能国家以及金融。将这些视为他们渴望解决的四大问题陈述。

作为一个引子,现在让我们来探索第一个垂直领域,医疗保健(您必须等到其他三个挑战发布后才能了解其余内容)。医疗保健大挑战问“我们如何在未来五年内将三高降低 20%:高血压、高胆固醇和高血糖症(或糖尿病)?”医疗保健大挑战已经启动,事实上,就在我与劳伦斯交谈的两周前,他们举行了颁奖仪式,宣布三个团队获得了开展大挑战的最初资助。

“三高、高血压、高胆固醇和糖尿病是新加坡政府非常关注的问题。他们使医疗保健系统和这里的预算变得紧张。我们希望通过人工智能,我们可以尝试至少减轻一些影响。”这个支柱旨在展示现代人工智能对这些重大挑战的持久影响。

人工智能创新:解决现实世界的问题

人工智能创新支柱包括一系列计划和战略,将尖端的人工智能研究技术引入行业合作伙伴的手中,以解决现实世界的问题。

人工智能创新下的旗舰项目是 100 个实验项目,在该项目中,公司向人工智能新加坡公司提出他们认为可以用数据科学、机器学习或人工智能来解决的商业问题或挑战。AI Singapore 对每一项提案进行系统的审查。如果他们认为这是一个有趣的问题,没有现有的商业可用的解决方案或技术合作伙伴可以帮助他们,他们就可以介入并为项目提供核心资金(有关申请流程的更多细节和更多信息可在此处找到)。

这看起来像什么?AI Singapore 为每个项目出资 250,000 新元(180,000 美元),公司以 1:1 的比例进行匹配。Laurence 有一个执行 100 个项目的 KPI,因此命名为 100 个实验,总项目资金为 2500 万新币。

自 2017 年 6 月开始以来,他们已经批准了 40 个项目,由于该计划的成功,他们获得了第二轮政府资助,使项目数量达到 200 个。在医疗保健、制造、物联网、异常检测、采购和金融等领域已经有了一些项目。

每个实验的目标是在 9 到 18 个月内生产出最小可行产品(MVP)。这需要双方的合作,共同开发 MVP,然后公司可以把它放回他们的组织中。这笔资金支持一个项目团队,该团队包括新加坡当地大学的研究人员和新加坡人工智能的工程资源,包括他们所谓的人工智能学徒。劳伦斯告诉我,让教授参与进来相对简单,但他们也需要人工智能工程师来完成 MVP。这就是围绕快速发展的数据科学生态系统、机器学习和人工智能技术、工具和工业应用的教育发挥作用的地方。

人工智能学徒计划:培养未来的领导者

为了帮助建立所需的劳动力,以支持行业当前和不断增长的人工智能需求,新加坡人工智能创建了人工智能学徒计划。这给具备基本知识的新加坡人提供了深入学习技能的机会。该计划将通过 DataCamp 课程和其他资源进行的学习与通过 100 实验计划下的项目获得的实际经验相结合。

这个学徒项目迅速发展起来。这是 AI 新加坡的核心项目之一,加上 100 个实验项目(其中每个实验都有两个学徒)。

学徒计划是全职的,带薪的,为期九个月。AI Singapore 每月付给每个学徒 3000 到 5000 新币的津贴(参加是免费的)。劳伦斯告诉我,人工智能学徒计划正在帮助解决他们未来 10 年的人工智能工程挑战。然而,一个国家的技能提升、技能再提升和技能深化并不止于此。他们需要提升整个行业的技术技能,这就是他们如何提出工业人工智能的想法。

工业人工智能:民主化技能

AI for Industry 的目标是提升那些为各种垂直行业的组织工作的人的技术技能。AI Singapore 与 DataCamp 在这个项目上紧密合作。它建立在他们的 AI for Everyone program 的基础上,这是一个 3 小时的研讨会,向任何人介绍现代人工智能技术和应用,以便他们可以成为人工智能产品和服务的精明消费者。在 AI for Everyone 中,参与者学习如何在工作和日常生活中识别机会和潜在用例。他们还用在线工具建立了一个简单的人工智能模型!人工智能新加坡的任务之一是不仅让公司,而且让工作专业人士和其他所有人都为人工智能做好准备。人工智能为每个人服务是这一使命不断发展的结果。

AI for Industry 将面向每个人的 AI 与 DataCamp 的数据科学家和 Python track 结合在一起,这是一个 100 小时的课程集,涵盖了从 Python 基础到导入、清理和管理数据到统计、机器学习、SQL、包管理、数据可视化等所有内容。参与者将在 12 个月内完成这一课程。AI Singapore 策划了一份与赛道课程一致的月度通讯,并主持了一个三小时的机器学习实践研讨会。劳伦斯说,他们决定使用带有 Python track 的 DataCamp 数据科学家作为该计划的焦点,因为“它背后的思想是训练应该如何进行。”

但是教育并不止于此。还没入行的同学怎么办?这就是面向学生的人工智能发挥作用的地方。

面向学生的人工智能:用人工智能的流畅性赋能下一代

当 Laurence 意识到 DataCamp 一直为大学、教授和学生提供免费访问 DataCamp 平台的机会时,他想知道他们是否可以利用这一点并将该计划正式化,以便 AI Singapore 可以帮助更多学生加入进来。

“我们为什么要仅仅停留在大学生身上呢?我们能把它一直开放给中学生吗?”

在新加坡,中小学的孩子们已经在学习 Python 了——那么他们为什么要在大学阶段开始正式的 Python 培训呢?为了测试他的理论是否可行,劳伦斯让他的儿子在 DataCamp 上用 Python 追踪数据科学家。

劳伦斯报告说:“他完成了。他通过了。他在学校做项目。有趣的是,他在 13 岁时就完成了。一个真正喜欢编程的聪明孩子。我们在新加坡有很多。他们可以通过这些模块。我想,如果他能做到,我相信很多其他孩子也能做到。”

在这个家庭试点项目之后,Laurence 与 DataCamp 密切合作,我们于去年 11 月宣布并启动了该项目。在我们谈话的时候,AI Singapore 有 7,000 名学生注册了 AI for Students,他们不仅来自大学,还来自理工学院和中学等。几个月后,他们现在有 11,000 名学生!Laurence 告诉我,学校教师对该计划非常感兴趣,他们希望在课后使用 Python、数据科学、人工智能和机器学习在该平台上培训他们的孩子。

劳伦斯明确表示,学生人工智能项目本质上是纯粹的数据营。AI 新加坡的角色是走出去说,“嘿,我们有这个平台。它是免费的。作为一名教师,你来对我们说,‘我已经查看了 DataCamp 平台。我真的很喜欢。我想学模块 1 到 10。“然后,AI Singapore 将在后端与 DataCamp 合作,将数据提供给老师。

就个人而言,这条消息对我来说意义重大。我在 DataCamp 的第一个角色本质上是构建基础 Python 数据科学课程,所以我在这里的前 18 个月的大部分时间都花在了 Python track 的数据科学家上。随着我们从一个 10 人的公司发展到 50 人(今天,我们有 140 多名员工),许多鲜血、汗水和泪水都投入了这条赛道。).它涉及到我们的外部讲师和内部内容、工程、产品和营销团队的大量工作。听到这条赛道现在被免费用于教育包括儿童在内的 11,000 名新加坡学生,我真是欣喜若狂。

着眼未来

更令人兴奋的是未来将会发生什么:DataCamp 最近同意在课堂上支持 100,000 名学生,而新的行业协作人工智能现在的任务是让新加坡的 25,000 名工作专业人员精通人工智能。AI Singapore 将继续在 DataCamp 的数据科学家和 Python track 的基础上为行业提供人工智能,为参与者提供数据流畅和人工智能精通的基本技能和知识。这是一次值得关注的合作。

程序 描述
人工智能研究 Seeds 旨在开发基本人工智能新技术、算法和相邻技术的高质量研究工作,这些工作最终将对人工智能新加坡的其他支柱做出重大贡献。这个研究项目鼓励国家研究合作,培养本地人工智能人才。
AI 技术 支持人工智能新加坡称之为大挑战,这类问题非常困难,人工智能可以用来解决。重大挑战(I)需要有影响力,(ii)需要影响新加坡的每一个人,以及(iii)必须可以衡量。AI 新加坡优先考虑四个垂直领域:医疗保健、教育、城市和智能国家以及金融。
人工智能创新 一套程序和策略,让尖端的人工智能研究技术进入行业合作伙伴的手中,以解决现实世界的问题。人工智能创新下的旗舰项目是 100 个实验项目,公司带着他们认为可以用数据科学、机器学习或人工智能来解决的商业问题或挑战来到人工智能新加坡。
人工智能学徒计划 为了帮助建立劳动力以支持工业当前和不断增长的人工智能需求,AI 新加坡公司创建了人工智能学徒计划。这使得具备基础知识的新加坡人有机会利用自己的时间发展更深层次的技能。该计划将通过 DataCamp 课程和其他资源进行的学习与通过 100 实验计划下的项目获得的实际经验相结合。
AI for Industry 提升垂直行业专业人士的技术技能。新加坡人工智能公司与 DataCamp 紧密合作开展该项目。
AI for Everyone 一个三小时的研讨会,向任何人介绍现代人工智能技术和应用,使他们成为人工智能产品和服务的精明消费者。
学生 AI 一个赋予下一代人工智能流畅度的计划。该计划为中学、理工学院和大学的学生提供免费访问 DataCamp 的 100 小时 Python track 数据科学课程的机会。

DataCamp 新增六种字幕语言

原文:https://web.archive.org/web/20221129044127/https://www.datacamp.com/blog/six-new-subtitle-languages-added-to-datacamp

现在,用您的母语学习更加容易,有 16 种语言的视频字幕,包括阿拉伯语、印度尼西亚语、波兰语、泰语、土耳其语和越南语。

所有视频还配有英语、西班牙语、法语、中文(简体)、葡萄牙语、德语、韩语、日语、俄语和意大利语字幕。

如何在 DataCamp 中打开视频字幕:

要使用这些新字幕,请在观看任何视频时点击隐藏字幕(CC)图标,并选择您喜欢的音频或字幕选项。

请继续让我们知道我们如何改进产品功能比如我们的翻译,并推荐我们接下来应该考虑添加哪些语言。我们也希望听到您对我们课程的反馈!我们可以一起让 DataCamp 成为一个各行各业的人都可以学习数据语言的地方。

您可能还喜欢:

客户成功案例:DataBird

DataCamp 帮助一个法国训练营满足该国对数据技能的需求。

用数据、叙述和视觉效果讲述有效的数据故事

Brent Dykes 在最近的一次网络研讨会上讨论了数据、叙事和视觉如何推动有效的数据故事。在这篇文章中学习他的最佳实践。

技能支持实验室鼓励雇主投资终身学习

原文:https://web.archive.org/web/20230101103328/https://www.datacamp.com/blog/skillsup-lab-encourages-employers-to-invest-in-lifelong-learning

鹿特丹的外面下着雨,又黑又冷。在 SkillsUP 实验室里,只做好事公司最喜欢的程序“天气”是不同的。11 月意味着我们当前的团队已经开始了他们的顶点项目。他们自 7 月份以来所做的所有工作对他们来说都将爆发出新的增长——这是过去四个月的综合。

数据科学和分析的非正统社区

SkillsUP 实验室是人们在一个包容性的环境中学习实用数据科学和数据分析技能的地方。我们运作的基础是,如果任何人都可以获得信息、工具和网络,他们就可以学习。我们提供机会,并要求我们的参与者带来动力、毅力、好奇心和社区建设。在为期四个月的紧张旅程中,我们的同学形成了一个紧密团结的团体,每个人都是学生和老师。当他们继续寻找新的工作时,这个社区将站在他们身后,当他们为他人敞开大门时,他们将回到这个社区。

我们 2019 年 7 月的队列

我们选择教授实用的数据科学和数据分析技能是因为它们的灵活性。这些技能可以跨行业、跨角色应用。当我们开始这个项目时,我们认为最大的挑战是找到有兴趣加入我们团队的人。我们项目的独特之处在于,我们没有任何关于年龄、教育水平、职业经历、民族血统、宗教、性别、公民身份或任何其他典型选择类别的先决条件。在一个一切都井井有条的国家,我们的方法是不同寻常的。例如,在荷兰,妇女组织与妇女合作,难民组织与难民合作,等等。然而,我们的学生代表了所有这些背景以及更多——通过 SkillsUP Lab,他们继续构建自己的专业网络,为更加多样化的 IT 劳动力储备提供支持。

挑战雇主以满足就业市场的需求

讨论数据可视化

我们必须付出更多努力,向雇主传达终身学习对增长和创新至关重要。这意味着改变雇主不愿投资技能发展的心态。在荷兰,劳动力市场失调意味着 70%的职位空缺被认为难以填补,是时候重新审视我们在技能和社会方面的投资了。

SkillsUP 实验室如何整合 DataCamp 以促进终身学习

我们认为我们在 SkillsUP 实验室找到了部分解决方案。我们希望雇主关注他们的员工,投资于他们的发展,并看到终身学习的全部价值,而不是在“studietijd”后停止这对双方来说都是一种强大的协同作用。

共享模型知识

除了我们建立的课程,我们团队中的每个人都获得了为期一年的 DataCamp 订阅,作为我们对他们投资的一部分。在他们与我们一起的活跃时间里,他们用它来补充他们的知识,甚至进一步探索——我们喜欢把它看作脚手架学习。然后,一旦他们过渡到求职阶段,他们就能够继续使用 DataCamp 来扩展他们的技能。我们还使用 DataCamp 作为衡量他们进步的一种方式。我们鼓励他们探索他们感兴趣的所有话题,因为无论是现在还是将来,处理数据最重要的品质就是好奇。

我们现在的学生已经获得了两份工作邀请和四份实习机会——而他们甚至还没有完成他们的项目!前一批人的工作安置或带着新技能重返工作岗位的成功率高达 90%。

如果您有兴趣了解我们计划的更多信息,您可以通过 www.skillsuplab.nl 找到我们。

要了解如何在您自己的组织内建立数据流畅性,阅读 DataCamp 的新白皮书《300+ L & D 领导者学到了什么建立数据流畅性》

卡罗琳·威廉姆斯是 Do Good Only 公司的创始人和首席叛逆者,致力于每天增加数字包容性。在 LinkedIn 上和她联系。

意大利面条图和飓风路径

原文:https://web.archive.org/web/20230101103400/https://www.datacamp.com/blog/spaghetti-plots-and-hurricanes-paths

可视化帮助我们理解世界,让我们以简洁的形式传达大量复杂的信息、数据和预测。需要传达给非专家受众的专家预测,无论是飓风的路径还是选举的结果,都包含一定程度的不确定性。如果这种不确定性没有在相关的可视化中传达,结果可能会误导人,甚至是危险的。

在这里,我们探讨了数据可视化在绘制飓风预测路径中的作用。我们探索不同的视觉方法来传达专家预测的不确定性和对外行人解释的影响。此外,我们还将此与更广泛的最佳实践讨论联系起来,这些最佳实践涉及新闻媒体如何报道专家模型和对大众而言重要的主题的科学成果。

没有意大利面情节?

我们最近看到了热带风暴系统在美洲造成的破坏。例如,《纽约时报》这样的新闻媒体已经通过互动可视化传达了大量关于飓风哈维和 T2 的信息。可视化包括地理可视化的百分比没有电的人,降雨量,损失金额和人数在避难所,以及许多其他事情。

可以理解的是,最近出现了一种特殊类型的绘图,并引起了争议:如何绘制飓风在未来 72 小时内的预测路径。有几种方法来可视化预测的路径,每种方法都有自己的陷阱和误解。最近,我们甚至在 Ars Technica 上看到一篇名为的文章,请不要再分享飓风模型的意大利面条图,矛头直指内特·西尔弗和 fivethirtyeight。

在接下来的内容中,我将比较三种常见的方式,探讨它们的优缺点,并对未来的情节类型提出建议。我还将深入研究为什么这些类型是重要的,这将帮助我们决定哪些视觉方法和技术是最合适的。

声明:我绝对不是气象和飓风预报方面的专家。但是我想了很多关于传递数据、预测和模型的视觉方法。我欢迎并积极鼓励专家和其他人的反馈。

可视化预测的飓风路径

有三种常见的方法来创建预测飓风路径的可视化效果。在谈论它们之前,我想让你看看它们,并考虑一下你能从它们中得到什么信息。反过来,尽最大努力解释他们每个人试图告诉你的内容,然后我们将深入研究他们的意图,以及他们的利弊:

不确定性的圆锥体

spaghetti plot python

Caption: From the National Hurricane Center.

意大利面条图(I 型)

spaghetti plot hurricane

From South Florida Water Management District via fivethirtyeight.

意大利面条样地(类型二)

From The New York Times. Surrounding text tells us 'One of the best hurricane forecasting systems is a model developed by an independent intergovernmental organization in Europe, according to Jeff Masters, a founder of the Weather Underground. The system produces 52 distinct forecasts of the storm’s path, each represented by a line [above].'

飓风预测路径可视化的解释和影响

不确定性的圆锥体

“不确定圆锥”是国家飓风中心(NHC)使用的一种工具,被许多新闻媒体传播,它向我们展示了飓风在未来五天内最有可能在 T2 的路径,由圆锥中的黑点给出。这也显示了他们对这条道路有多确定。随着时间的推移,预测变得越来越不确定,这被圆锥体捕获,因为有大约 66.6%的机会飓风的中心将落在圆锥体的边界内。

从情节本身来看,这很明显吗?

最初不是我,我从情节本身、NHC 的“关于不确定的圆锥”页面和 weather.com 的“T2”揭秘圆锥帖子中收集了这些信息。还有三个突出的要点,我们将全部回到:

  • 这是一个常见的最初误解,即随着时间的推移,锥体的扩大表明风暴将会增长;
  • 该图没有包含关于风暴规模的信息,只包含了风暴中心的潜在路径,因此在告诉我们哪里会有飓风级别的风方面用处有限;
  • 伴随可视化的文本以及可视化本身包含了重要的信息,例如位于顶部显著位置的注释,“圆锥体包含风暴中心的可能路径,但不显示风暴的大小……”;在判断数据可视化的功效时,我们需要考虑它的所有属性,包括文本(以及我们是否真的能期望人们阅读它!);请注意,交互性是这些可视化不具备的属性(但也许应该具备)。

意大利面条图(I 型)

这种类型的图在一个图中显示多个预测。在任何给定的 I 型意大利面条图中,可视化的轨迹是来自不同机构(例如,NHC、国家海洋和大气管理局以及英国气象局)的模型的预测。它们是有用的,就像不确定的圆锥一样,它们告诉我们飓风可能经过的大致区域。它们非常无用,实际上还会误导人,因为它们对每个模型(或预测)的权重都是一样的。

在上面的 I 型意大利面条图中,有来自机构的具有不同程度不确定性的预测,这些机构先前已经做出了具有不同程度成功的预测。因此,根据我们目前所知,有些路径比其他路径更有可能。该信息不存在。更令人担忧的是,有些路径甚至连预测都算不上。以黑色虚线 XTRP 为例,这是一个给定风暴当前轨迹的直线预测。这甚至不是一个模型。埃里克·博格在这篇 Ars Technica 文章中进行了更详细的描述。

本质上,这种类型的图提供了一个集合模型(与集合轮询相比)。然而,集合模型的一个关键方面是每个模型被赋予适当的权重,并且这些权重需要在任何数据可视化中被传达。我们将很快看到如何使用类型 I 的变体来实现这一点。

意大利面条样地(类型二)

这些图显示了任何给定模型的许多不同实现,比如说 50 个。关键是,如果我们多次模拟(运行)一个模型,每次都会给出不同的轨迹。为什么?内特·科恩说得好,结果是:

很难准确预测风暴何时会转向。即使它转向北方时有 15 或 20 英里的差异,也可能改变迈阿密是否会受到眼墙的影响,眼墙是一种激烈的雷暴环,包括风暴中最强的风,并围绕着平静的眼。

这可能是三个中我最喜欢的,原因如下:

  • 通过模拟模型的多次运行,它们提供了每个模型潜在的不确定性的指示;
  • 它们给出了风暴中心穿过任何给定位置的相对可能性。简单地说,如果通过位置 A 的绘制轨迹多于通过位置 B 的绘制轨迹,那么在当前模型下,风暴中心更有可能通过位置 A;
  • 它们不太可能被曲解(至少与不确定性圆锥和 I 型图相比)。可视化所需的所有单词是“每行代表 Irma 路径的一个预测”。

类型 II 的一个缺点是它们不能代表多个模型,但是,正如我们将看到的,这可以通过将它们与类型 I 图结合起来而改变。另一个缺点是,他们和其他人一样,只传达风暴中心的路径,而对其大小只字不提。很快我们也会看到如何补救这一点。请注意,类型 I 和类型 II 意大利面条图之间的区别不是我在文献中发现的,而是我创造的,因为这些图有如此不同的解释和效果。

然而,现在请注意,我们一直在讨论某些类型情节的功效,而没有明确讨论它们的目的,也就是说,我们到底为什么需要它们。在继续深入之前,让我们后退一步,尝试回答这个问题“可视化飓风预测路径的目的是什么?”执行这种看似幼稚的任务往往很有启发性。

为什么要绘制飓风的预测路径?

为什么我们试图传达热带风暴的预测路径?我将在一分钟内提供几个答案。

但是首先,让我说一下这些可视化是而不是的目的。我们并没有用这些可视化来帮助人们决定是否撤离他们的家园或城镇。命令或建议疏散是由地方当局在反复咨询专家、科学家、建模者和其他关键利益相关者后完成的。

这种可视化的主要目的是让公众尽可能了解飓风的可能路径,并让他们做好最坏的准备,如果他们现在或将来有可能处于毁灭的路径上。这并不是为了过分地吓唬人。正如关于不确定性圆锥的功能,“每个热带系统都有一个预测圆锥,以帮助公众更好地了解它的走向”,圆锥的设计是为了显示随着时间的推移不断增加的预测不确定性

为此,我认为对于读者来说,一个重要的属性是能够看着它并说‘我的房子(例如)很可能/很可能/50%可能/不太可能/非常不可能’会被飓风严重损坏。

更好的是,能够说“鉴于目前最先进的建模技术,我的房子有 30-40%的可能性会受到严重损坏”。

然后,我们有一个我们希望我们的可视化传达的层次结构:

  • 最起码,我们希望平民知道飓风可能的路径。
  • 然后,我们希望平民能够说,例如,他们的房子是非常可能、可能、不太可能还是非常不可能在路上。
  • 理想情况下,一个平民会看到可视化,并能够定量读出他们的房子在飓风路径上的概率(或概率范围)。

最重要的是,我们希望我们的可视化既不误导也不容易误解。

不确定性圆锥与意大利面条图

所有这三种方法都发挥了最低限度的功能,提醒平民注意飓风可能的路径。不确定性圆锥做了一件很好的工作,允许一个平民说出飓风经过特定位置的可能性有多大(在圆锥内,大约有三分之二的可能性)。至少在定性上,类型 II 意大利面条图在这里也做得很好,如上所述,“如果通过位置 A 的轨迹比通过位置 B 的多,那么在当前模型下,风暴中心更有可能通过位置 A”。

如果你画出 50 条轨迹,你就能感觉到风暴的中心可能在哪里,也就是说,如果大约一半的轨迹穿过一个位置,那么大约有 50%的可能性(根据我们的模型)风暴的中心会击中那个位置。这些方法都没有执行第三个功能,我们将在下面看到如何结合类型 I 和类型 II 意大利面条图将允许我们这样做。

不确定性圆锥体和 I 型意大利面模型的主要问题是,不确定性圆锥体很容易被误解(因为许多人将圆锥体解释为不断增长的风暴,并且不理解不确定性的作用),I 型意大利面模型具有误导性(它们使所有模型看起来同样可信)。这些模型没有满足“我们希望我们的可视化既不误导也不容易误解”的基本要求。

可视化飓风预测路径的最佳实践

第二类意面图是最具描述性的,也是最不容易被误解的。但是他们确实不能展示所有模型的结果。也就是说,它们不会像我们在类型 I 中看到的那样在多个模型上聚合。

那么如果我们把 I 型和 II 型结合起来会怎么样呢?

为了回答这个问题,我用pythonfoliumnumpy做了一个小实验。你可以在这里找到所有的代码

我首先选取了上周 NHC 飓风厄玛的预测路径,添加了一些随机噪声,并绘制了 50 条轨迹。请注意,再一次,我不是所有气象问题的专家。我生成并添加到预测信号/路径中的噪声并不基于任何模型,在实际用例中,它将来自模型本身(如果您感兴趣,我使用的是高斯噪声)。为了记录在案,我还发现很难找到关于媒体报道的任何预测路径的数据。我最后用的数据我在这里找到了。

这是一个简单的二型意大利面条图,有 50 条轨迹:

https://web.archive.org/web/20220626103721if_/https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Hurricane+Visualization/trajectories.html

但是这些是由单一模型产生的可能轨迹。如果我们有来自不同机构的多个模型会怎么样?好吧,我们可以从每条曲线上画出 50 条轨迹:

https://web.archive.org/web/20220626103721if_/https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Hurricane+Visualization/trajectories_spag.html

II 型意大利面条图真正酷的一面是,如果我们绘制足够多的面条图,每条轨迹都变得模糊不清,我们开始看到飓风中心可能在哪里的热图。所有这一切意味着,在一个给定的区域,蓝色越多,路径通过那里的可能性就越大。放大查看。

https://web.archive.org/web/20220626103721if_/https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Hurricane+Visualization/trajectories_spag_heat.html

此外,如果我们认为一个模型比另一个更有可能(例如,如果产生该模型的专家以前已经产生了更精确的模型),我们可以通过例如轨迹的透明度来相应地加权这些模型,如下所述。请注意,对这些模型进行加权是专家的任务,也是总体建模过程的重要部分。

https://web.archive.org/web/20220626103721if_/https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Hurricane+Visualization/trajectories_spag_weight.html

上面所做的是解决我们希望我们的可视化具有的前两个属性所要求的任务。要实现第三个,读者能够读出飓风中心通过特定位置的可能性为 30-40%,有两种解决方案:

  • 更改热图,使其在红色和蓝色之间移动,并包含一个关键字,例如,红色表示概率大于 90%;
  • 将热图转换为等值线图,显示概率为特定值的区域。

也请注意,这将告诉某人某个给定位置被飓风中心袭击的概率。你可以结合(嗯,卷积)这个与飓风大小的信息,将热图转换成一个位置被飓风袭击的概率。如果你想这样做,就去修改我写的代码,生成上面的图(我计划写一篇后续文章来做这件事,并遍历代码)。

可视化不确定性和数据新闻

我们能从中学到什么?我们已经探索了几种预测飓风路径的可视化方法,讨论了每种方法的优缺点,并提出了一种方法来绘制这些路径的更多信息和更少误导的图,这些图不仅传达了结果,还传达了模型的不确定性。

总的来说,这是我们需要进行的更广泛的对话的一部分,关于报告可视化和数据新闻中的不确定性。我们需要积极参与关于专家如何通过新闻媒体向平民报告不确定性的对话。这里有一篇来自结果的精彩文章展示了即使就业稳定,由于统计噪音,就业报告看起来会是什么样子。这是另一篇总结文章,展示了噪音和不确定性在解读民意调查中的作用。我很清楚,我们需要标题来销售新闻,以及点击诱饵在现代新闻媒体格局中的作用,但我们需要传达的不仅仅是结果,而是围绕这些结果的不确定性,以免误导公众和潜在的我们自己。也许更重要的是,教育系统需要转变并使所有平民具备一定水平的数据素养和统计素养,以应对进入数据驱动时代的这一趋势。我们都可以为此做出贡献。

SQL 服务器、PostgreSQL、MySQL...有什么区别?我从哪里开始?

原文:https://web.archive.org/web/20221129045010/https://www.datacamp.com/blog/sql-server-postgresql-mysql-whats-the-difference-where-do-i-start

关系数据库是一组表(包含行和列的数据集),包含与数据库中其他表相关的信息。

下图包含一个示例关系数据库中两个表中列的信息。两个表都包含名为 customer_id 的列,这在两个表之间建立了关系。随着公司的发展和记录数以千计(或数百万计)的订单,将数据存储在单独的表中有助于优化空间和减小数据库的大小。

SQL 或结构化查询语言是与关系数据库交互的标准语言。使用 SQL,您可以对关系数据库中的数据进行查询或提问。对于数据分析师、数据工程师或数据科学家来说,使用 SQL 和关系数据库是一项无价的技能。

如果你已经开始寻找学习 SQL 的方法,你可能已经注意到了 SQL 的许多不同的方言,不同的方言之间有一些明显(或不明显)的区别。那么你从哪里开始呢?如果你以前没用过 SQL,哪个版本对你最有帮助?在本文中,我们将关注四种最流行的数据库管理系统——PostgreSQL、MySQL、SQLite 和 SQL Server——以及它们的 SQL 语法版本。

下面的堆栈溢出趋势图提供了一种对这些平台的讨论频率的感觉——每条线代表了关于 SQL 每个版本的所有堆栈溢出问题的百分比。

MySQL 一直是栈溢出问题中最受欢迎的 SQL 版本。排在第二位的是微软 SQL Server (包括 T-SQL,微软 SQL 方言的名称),它始终比 PostgreSQLSQLite 更受欢迎。这意味着,如果您有一个特定于这些系统的问题,您很可能会发现有人已经问过您的问题。

有什么区别?

PostgreSQL、MySQL 和 SQLite 使用非常相似的语法,下面突出了一些显著的区别。Microsoft SQL Server 在 SQL 语法方面有着最大的差异,并且有着其他平台所没有的各种各样的功能。下表突出了 SQL 平台之间基本差异的一些示例。

SQL Server 关系型数据库 一种数据库系统 SQLite
挑选... 选择[列 1],[列 2] 选择列 1、列 2 选择列 1、列 2 选择列 1、列 2
表中的数据区分大小写? 是,其中 name = 'John '和 WHERE name = 'John '是不同的 不,WHERE name = 'John '和 WHERE name = 'john '是一样的 是,其中 name = 'John '和 WHERE name = 'John '是不同的 是,其中 name = 'John '和 WHERE name = 'John '是不同的
使用引号 仅约翰一人 name = 'John '或 name = "John " 仅约翰一人 name = 'John '或 name = "John "
列和表的别名 选择 AVG(列 1)=avg1 选择 AVG(列 1)作为 avg1 选择 AVG(列 1)作为 avg1 选择 AVG(列 1)作为 avg1
使用日期 GETDATE()日期部分() CURDATE() CURTIME() EXTRACT() 当前日期()当前时间()提取() DATE(‘now’) strftime()
窗口函数,即 OVER(),PARTITION BY() 否(需要使用子查询)

我从哪里开始?

对于很少或没有 SQL 经验,并且希望获得最广泛适用的技能的学生,我建议从 PostgreSQL 开始。尽管 MySQL 非常流行,但 PostgreSQL 可能是更好的选择,因为它的语法最符合标准 SQL。这意味着您可以轻松地将您的技能移植到其他数据库管理系统,如 MySQL 或 SQLite。例如,下面的查询从销售信息数据库中聚合数据。它包含一个连接、一个聚合函数和一个过滤器。该语法将在所有三个数据库系统中生成相同的结果。

Select    
    c.customer_name,
    SUM(p.amount) AS total_sales
FROM customers AS c
    LEFT JOIN purchases AS p
    ON c.customers_id = p.customer_id
WHERE
    c.customer_location = 'USA'
GROUP BY
    c.customer_name; 

如果你打算在职业生涯中使用 Microsoft SQL Server,我建议你从学习 T-SQL/Microsoft SQL 开始。SQL Server 继续保持相当大的市场份额,并且是许多行业中重要的数据库管理系统。如果你不确定这两个对你来说哪个更重要,我建议浏览你所在领域的职位空缺,以确定特定角色或行业是否偏好特定的数据库系统。

DataCamp 能有什么帮助?

在 DataCamp,我们目前为提供两门 SQL 课程,涵盖了入门主题和 PostgreSQL 联接。我们正在开发一些激动人心的课程,涵盖 PostgreSQL 的中级和高级主题。我们还在开发几门 SQL Server 课程,包括 T-SQL/Microsoft SQL 入门课程,它将为您提供使用 SQL Server 的清晰基础。您可以查看我们的课程路线图了解更多信息。

如果你想自己练习与 PostgreSQL 数据库交互,我推荐你在 Kaggle 上探索数据集。如果你发现了你感兴趣的东西,继续前进,导入到 PostgreSQL (CSV 或 SQLite 文件将导入到 PostgreSQL)并开始探索!

来和我们一起教书吧!

您有兴趣在 DataCamp 上与我们的 300 万学生分享您的知识和专业技能吗?我们一直在寻找教师为我们不断增长的课程库做出贡献。我们的课程愿望清单强调了我们希望在未来几个月向学生提供的技能。你可以在这个链接这里申请。我们期待与您合作!

讲述更有影响力的数据科学

原文:https://web.archive.org/web/20230101103227/https://www.datacamp.com/blog/storytelling-for-more-impactful-data-science

讲述关于分析或模型的高质量故事的能力是采用数据科学家开发的解决方案的关键驱动力。在最近的网络研讨会中,德勤的机器学习主管 Gert De Geyter 和德勤的数据科学家 Bhavya Dwivedi 讨论了讲故事对于数据科学的重要性以及如何有效地讲故事。

讲故事实现更有影响力的数据科学

数据科学家以描述性、预测性和规范性分析的形式调查、分析和交流数据见解。概括地说,成为一名高效的数据科学家需要具备四个方面的能力:

  1. 数据分析
  2. 机器学习和统计
  3. 大数据技术
  4. 讲故事和交流

受过正规教育的数据科学家大量接触了前三种,但在有效沟通方面没有接受多少教育。在网络研讨会中,Gert 提到,通过对数据科学和人工智能会议进行粗略分析,从 2018 年到 2020 年,只有 1%的数据科学和人工智能会议讨论了讲故事。

尽管数据科学在教育中的代表性不足,但如果数据科学家想要在职业生涯中变得有效,他们必须学习这些技能。在建立人工智能驱动的组织的过程中,研究人员发现,参与调查的成功实施人工智能的公司中,有 89%将超过一半的分析预算用于采用活动,其中包括沟通和培训。

数据素养在将数据科学与非技术利益相关方联系起来方面发挥着重要作用。这解释了为什么组织在沟通和培训上花费这么多。埃森哲发现,84%的企业高管认为人工智能是实现增长目标的必要条件。然而,许多高管没有接受过该领域的正规教育,这进一步增加了在整个组织中提高数据素养和有效沟通的需求。

随着人工智能变得越来越普遍,理解数据并将其正确地传达给受众对于在技术和非技术利益相关者的商业环境中推动价值至关重要。准确描述人工智能在特定背景下推动业务成果的潜力,对于让利益相关者做出导致积极业务成果的正确决策至关重要。一个非常常见的陷阱是夸大其潜力。

沟通对于扩大数据科学在组织中的影响是必要的,因为最终用户的接受以及高管和数据团队之间的协调是必不可少的。最有效的方式是讲故事。讲故事有助于观众与演讲者建立联系并记住内容。这种联系得到了神经耦合理论的支持。故事在我们记忆过去的方式中也发挥着重要作用——通过有效的故事讲述,我们帮助观众与我们这个演示者联系起来,并记住重要的内容,从而更好地理解模型或分析如何影响组织。

了解你的观众

有效讲故事的第一步是理解观众。一个好的故事需要让你与之交流的人能够理解。对受众的数据流畅性、组织的目标以及与您和组织的关系的深刻理解应融入故事中。

对这些问题的回答将有助于了解如何最好地讲述一个故事,以推动演示的预期结果。作为演示者,它们帮助我们知道强调什么,如何沟通以使观众理解内容,以及根据观众做出决策的动机,什么类型的信息将有助于达到预期的结果。当听众非常广泛时,确定演讲的目标听众是谁是非常重要的。

了解观众有助于告知故事讲述的顺序。用数据有效地讲述故事有三个关键部分:

  1. 目标和信息,
  2. 背景和
  3. 论据,和流程。

一般来说,技术利益相关者更喜欢故事以争论开始,以结论结束。决策者喜欢信息以建议或结论开始,以论据和支持结束。

让故事变得透明和可操作

理解正在讲述的故事也很重要。IBM 发现 68%的商业领袖认为客户会希望人工智能在未来三年内给出更好的解释。使用黑盒或白盒模型的决策严重影响了解释的容易程度。

黑盒模型通常表现得更好,但是很难解释。白盒模型更简单,通常表现不佳,但更容易解释。如果可能的话,使用白盒模型会产生更好的故事。然而,一些高维问题是不可能使用白盒技术精确建模的。因此,业务环境在做出这个决定时很重要。

准确描述模型的输出代表什么也非常重要。许多模型描述了反应和预测之间的相关联系,而不是因果关系。向非技术利益相关者描述这种区别对于做出正确的数据驱动型决策至关重要,这种决策将为组织创造价值。一个模型的预测并不代表最好的商业决策,这需要包含在一个有效的故事中。如果有因果关系,这也必须准确描述。

如何讲述一个有效的故事

既然我们已经了解了关于听众和故事内容的关键考虑因素,我们就可以有效地讲述故事了。虽然有整本书都是关于这个主题的,但是我们将在这一节中讨论基础知识。

首先要考虑的是演示的形式:书面还是现场演示。书面演示让演示者更难控制观众如何理解信息,而现场演示中的演示者可以口头上为观众指明预期的方向。了解人们的注意力通常是如何工作的,可以澄清页面上内容的最佳位置,以引导预期的体验。

在 Cole Nussbaumer 的书《用数据讲故事》中,她强调了极简主义在可视化中的重要性。去除背景和不必要的标签,使用颜色来强调,通过将观众的注意力引向重要的东西,帮助我们讲述更清晰的故事。正如我们在她书中的以下示例中看到的,通过改进默认的 excel 图表(在左侧),我们立即了解到,在两名员工辞职后,组织收到了超出其处理能力的数量。这个故事有助于 HR 了解需要再雇用两名员工以及这样做的确切原因。这种可视化讲述了一个强大的故事,有助于推动数据驱动的业务决策,而决策者只需付出很少的认知努力。

这是一个强有力的例子,展示了什么是好的故事。我们可以通过颜色、注释和图表选择来显著改变人们接近我们视觉化的方式。

让组织能够访问数据科学

我们通过许多大规模的高管调查看到,组织对数据科学和人工智能的重视程度有多高。要让这些系统变得可访问,首先要提高组织中的数据素养。数据素养允许非技术利益相关者轻松访问并做出数据驱动的决策,从而创造价值。展示这类信息的最有效方式是通过故事,在做出设计决策时,将观众和背景考虑在内,将注意力吸引到正确的地方。如果您想更深入地了解有效讲述数据科学的最佳实践,请务必观看完整的网络研讨会录像。

监督机器学习

原文:https://web.archive.org/web/20221129041202/https://www.datacamp.com/blog/supervised-machine-learning

介绍

监督机器学习是一种学习输入和输出之间关系的机器学习。输入被称为特征或“X 变量”,输出通常被称为目标或“y 变量”。包含特征和目标的数据类型称为标记数据。这是有监督和无监督机器学习之间的关键区别,这是两种主要的机器学习类型。在本教程中,您将学习:

  • 什么是监督机器学习

  • 有监督与无监督的机器学习

  • 半监督机器学习

  • 监督机器学习算法:

  • 线性回归

  • 决策图表

  • k 个最近邻居

  • 随机森林

  • 朴素贝叶斯

  • 监督机器学习 Python 代码示例

什么是有监督的机器学习?

监督机器学习学习输入和输出数据之间的模式和关系。它是通过使用标记数据来定义的。标记数据是包含大量要素和目标示例的数据集。监督学习使用从数据集中学习特征和目标的关系的算法。这个过程被称为训练或调整。

有两种监督学习算法:

  1. 分类
  2. 回归

Supervised machine learning

图片来源:https://www . mathworks . com/help/stats/machine-learning-in-MATLAB . html

分类

分类是一种受监督的机器学习,其中算法从数据中学习,以预测未来的结果或事件。例如:

银行可能拥有包含信用历史、贷款、投资详情等的客户数据集。他们可能想知道是否有客户会违约。在历史资料中,我们会有特征和目标。

  • 特征是客户的属性,如信用历史、贷款、投资等。
  • 目标将表示特定客户过去是否违约(通常用 1 或 0 /真或假/是或否表示)

分类算法用于预测离散的结果,如果结果可以取两个可能的值,如真或假,默认或无默认,是或否,这就是所谓的二元分类。当结果包含两个以上的可能值时,称为多类分类。有许多机器学习算法可用于分类任务。其中一些是:

  • 逻辑回归
  • 决策树分类器
  • k 最近邻分类器
  • 随机森林分类器
  • 神经网络

Regression

回归

回归是一种受监督的机器学习,其中算法从数据中学习以预测连续值,如销售额、工资、体重或温度。例如:

包含房屋特征的数据集,如地段大小、卧室数量、浴室数量、邻居等。和房屋价格,可以训练回归算法来学习特征和房屋价格之间的关系。

有许多机器学习算法可用于回归任务。其中一些是:

  • 线性回归
  • 决策树回归器
  • k 最近邻回归量
  • 随机森林回归量
  • 神经网络

图片来源:https://static . Java point . com/tutorial/machine-learniimg/regression-vs-class ification-in-machine-learning . png

监督与非监督学习

数据类型

有监督的和无监督的机器学习的主要区别在于,有监督的学习使用有标签的数据。标记数据是包含特征(X 变量)和目标(y 变量)的数据。

当使用监督学习时,该算法迭代地学习预测给定特征的目标变量,并针对适当的响应进行修改,以便从训练数据集中“学习”。这个过程被称为训练或调整。监督学习模型通常比非监督学习产生更准确的结果,但它们确实需要一开始就进行人工交互,以便正确识别数据。如果数据集中的标签没有被正确识别,监督算法将学习错误的细节。

另一方面,无监督学习模型以自主方式工作,以识别尚未标记的数据的固有结构。重要的是要记住,验证输出变量仍然需要一定程度的人工参与。例如,无监督学习模型可以确定在线购物的客户倾向于同时购买同一类别的多个项目。然而,人工分析师需要检查推荐引擎将项目 X 与项目 y 配对是否有意义。

使用案例

监督学习有两个突出的用例,即分类和回归。在这两项任务中,监督算法从训练数据中学习,以预测一些事情。如果预测变量是离散的,如“是”或“否”,1 或 0,“欺诈”或“无欺诈”,则需要分类算法。如果预测变量是连续的,如销售额、成本、工资、温度等。,则需要回归算法。

聚类和异常检测是无监督学习中两个突出的用例。要了解关于集群的更多信息,请查阅这篇文章。如果你想更深入地研究无监督的机器学习,请查看 DataCamp 的这个有趣的课程。您将学习如何使用 scikit-learn 和 scipy 对未标记的数据集进行聚类、转换、可视化和提取洞察。

目标

监督学习的目标是基于从标记的训练数据集学习的模型来预测新数据的结果。你可以预期的那种结果是以标记数据的形式预先知道的。无监督学习算法的目标是在没有明确标签的情况下从大量数据中获得洞察力。无监督算法也从训练数据集学习,但训练数据不包含任何标签。

复杂性

相对于非监督学习,监督机器学习是直接的。无监督学习模型通常需要大的训练集来产生期望的结果,这使得它们在计算上很复杂。

Supervised vs Unsupervised

图片图片来源:https://www . sharpsightlabs . com/blog/supervised-vs-unsupervised-learning/

半监督机器学习

半监督学习是一种相对较新且不太受欢迎的机器学习类型,在训练期间,它将大量的未标记数据与少量的标记数据混合在一起。半监督学习介于监督学习(有标签的训练数据)和无监督学习(无标签的训练数据)之间。

半监督学习提供了许多现实世界的应用。很多领域都缺乏标注数据。因为它们涉及人类注释者、专门的设备或者昂贵、耗时的研究,标签(目标变量)可能很难获得。

半监督学习有两种类型:

  1. 直推式学习
  2. 归纳学习

Semi-supervised

图片来源:https://www . enjoyalgorithms . com/blogs/supervised-unsupervised-and-semi supervised-learning

监督机器学习算法

在这一节中,我们将介绍监督机器学习的一些常见算法:

线性回归

线性回归是可用的最简单的机器学习算法之一,它用于学习根据训练数据集中的特征(自变量)预测连续值(因变量)。代表效果的因变量的值受自变量值变化的影响。

如果你还记得学生时代的“最佳拟合线”,这就是线性回归。根据身高预测一个人的体重是这个概念的一个简单例子。

Linear regression

图片来源:http://primo.ai/index.php?title=Linear_Regression

| 赞成的意见 | 面向连接的网络服务(Connection Oriented Network Service) |
| 简单,易于理解和解释 | 容易过度拟合 |
| 对于线性可分的数据表现异常出色 | 假设特征和目标变量之间呈线性关系。 |

逻辑回归

逻辑回归是线性回归的一个特例,其中目标变量(y)是离散的/分类的,例如 1 或 0、真或假、是或否、默认或无默认。概率的对数被用作因变量。使用 logit 函数,逻辑回归预测二元事件发生的概率。

Logistic Regression

要了解关于这个主题的更多信息,请查看 Python 教程中这篇关于 DataCamp 的优秀文章了解逻辑回归。

| 赞成的意见 | 面向连接的网络服务(Connection Oriented Network Service) |
| 简单,易于理解和解释 | 过度拟合 |
| 输出概率校准良好 | 体验捕捉复杂关系的困难 |

决策图表

决策树算法是一种类似概率树的结构模型,它不断地分离数据,以便根据前一组问题的结果进行分类或预测。该模型分析数据并提供问题的答案,以帮助您做出更明智的选择。

例如,你可以利用一个决策树,在这个决策树中,答案“是”或“否”被用来根据数据元素选择某种鸟,这些数据元素包括鸟的羽毛、飞行或游泳的能力、鸟喙的种类等等。

Decision Tree

图片来源:https://aigraduate.com/decision-tree-visualisation-quick-ml-初学者教程/

| 赞成的意见 | 面向连接的网络服务(Connection Oriented Network Service) |
| 非常直观,易于解释 | 不稳定——训练数据的微小变化都会导致预测的巨大差异。 |
| 决策树不像一些线性模型那样需要大量的数据准备。 | 倾向于过度拟合 |

要了解更多关于 Python 中基于树的模型的机器学习,请查看 DataCamp 的这个有趣的课程。在本课程中,您将学习如何使用基于树的模型和集成通过 scikit-learn 进行回归和分类。

k 个最近邻居

k-最近邻是一种统计方法,它评估一个数据点与另一个数据点的接近程度,以决定这两个数据点是否可以组合在一起。数据点的接近程度代表了它们之间的可比较程度。

例如,假设我们有一个图表,其中有两组不同的数据点,它们彼此非常接近,分别命名为组 A 和组 B。每组数据点将由图上的一个点来表示。当我们添加新的数据点时,该实例的组将取决于新点更接近哪个组。

K-Nearest Neighbors

来源:https://towards data science . com/get-熟人-k-nearest-neighbors-ba 0 a 9 ECF 354 f

| 赞成的意见 | 面向连接的网络服务(Connection Oriented Network Service) |
| 对数据不做任何假设 | 训练需要很长时间 |
| 直观简单 | KNN 可以很好地处理少量的要素,但随着要素数量的增加,它很难准确预测。 |

随机森林

随机森林是建立在树上的算法的另一个例子,就像决策树一样。与只由一棵树组成的决策树不同,随机森林使用了许多决策树来做出判断,创建了本质上的树的森林。

它通过组合多个不同的模型来产生预测,并且可以用于分类和回归。

Random Forest

来源:https://blog . tensor flow . org/2021/05/introducing-tensor flow-decision-forests . html

| 赞成的意见 | 面向连接的网络服务(Connection Oriented Network Service) |
| 随机森林可以轻松处理数据中的非线性关系。 | 因为有多棵树所以很难解释。 |
| 随机森林隐含地执行特征选择 | 对于大型数据集,随机森林的计算开销很大。 |

朴素贝叶斯

贝叶斯定理是用于计算条件概率的数学公式,朴素贝叶斯是该公式的应用。假设一个事件已经发生,那么这个事件发生的概率就是条件概率。

它预测每个类别的概率属于特定的类别,并且具有最高概率的类别是被认为是最有可能发生的类别。

Naive Bayes

图片来源:https://www . kdnugges . com/2019/10/introduction-artificial-neural-networks . html

| 赞成的意见 | 面向连接的网络服务(Connection Oriented Network Service) |
| 算法非常快。 | 它假设所有特征都是独立的。 |
| 它简单且易于实现 | 该算法遇到了“零频率问题”,如果分类变量的类别不在训练数据集中,则它给出的分类变量的概率为零。 |

监督机器学习 Python 代码示例

在这一部分中,我们将使用 Python 中的 scikit-learn 来训练一个伪数据集上的逻辑回归(分类)模型。点击这里查看完整的笔记本

create fake binary classification dataset with 1000 rows and 10 features

from sklearn.datasets import make_classification

X, y = make_classification(n_samples = 1000, n_features = 10, n_classes = 2)

check shape of X and y

X.shape, y.shape

train test split

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)

import and initialize logistic regression model

from sklearn.linear_model import LogisticRegression

lr = LogisticRegression()

fit logistic regression model

lr.fit(X_train, y_train)

generate hard predictions on test set

y_pred = lr.predict(X_test)

y_pred

evaluate accuracy score of the model

from sklearn.metrics import accuracy_score

accuracy_score(y_test, y_pred)

如果你想学习 R 中的监督机器学习,请查看 DataCamp 的 R 课程中的监督学习。在本课程中,你将学习 R 编程语言中分类机器学习的基础知识。

结论

近年来,机器学习彻底改变了我们开展业务的方式。将机器学习与其他自动化策略区分开来的一项根本性创新,是对基于规则的编程的背离。由于有监督的机器学习技术,工程师可以在没有明确训练机器的情况下使用数据以某种方式解决问题。

在监督机器学习中,问题的预期解决方案对于未来数据可能是未知的,但可能是已知的,并在历史数据集中捕获,监督学习算法的工作是从历史数据中学习这种关系,以预测未来的结果、事件或值。

在本文中,我们对监督学习是什么以及它与无监督学习有何不同有了基本的了解。我们还回顾了监督学习中的一些常见算法。然而,有许多事情我们还没有谈到,如模型评估,交叉验证,或超参数调整。如果您想更深入地了解这些主题并进一步提高您的技能,请查看这些有趣的课程:

分类和回归是监督学习的两种常见类型。分类用于预测离散的结果,如“通过”或“失败”、“真”或“假”、“默认”或“无默认”。而回归用于预测数量或连续值,如销售额、工资、成本等。

监督学习和非监督学习的主要区别在于数据。对于监督学习,您必须有标记数据,而非监督学习则不需要标记数据。

是的,时间序列预测是一种监督学习,我们在给定数字序列的情况下预测下一个值。这是一项受监督的学习任务。

两者都可以。这要看问题是怎么框定的。例如,预测文本文档的类型很可能是一项受监督的任务,而另一方面,如果用例是基于文档中包含的文本将相似的文档分组在一起,这种特定的用例称为主题建模,它是完全不受监督的。

对于聚类任务,你不需要标记数据,因此这是一个无监督的学习。

是的,算法完全不同。

线性回归、决策树、神经网络、支持向量机是监督学习的一些常用算法。

Tableau 桌面专家认证:了解如何使用 Tableau 并通过考试

原文:https://web.archive.org/web/20221129033105/https://www.datacamp.com/blog/tableau-desktop-specialist-certification-learn-how-to-use-tableau-and-ace-the-exam

Tableau Skill Track

什么是 Tableau?

Tableau 是一个商业智能(BI)平台,其功能就像一个增压的 Microsoft Excel。它的用户友好的拖放功能使任何与数据交互的人都可以分析和创建演示就绪的可视化效果——从数据新手到分析师,甚至是商业领袖。使用 Tableau 绝对不需要成为经验丰富的数据科学家!##哪些公司用 Tableau?Tableau 的客户名单是商业世界的名人录,包括亚马逊、益百利和联合利华等知名品牌。但是,不仅仅是全球巨头使用 Tableau 来民主化他们的数据——超过 86,000 家企业正在使用 Tableau 从他们的数据中提取和分享见解。##认证概述

Tableau Desktop Specialist
Fee: $100
Title valid for: No expiration

桌面专家考试的要求

Tableau 建议您在参加桌面专家考试之前至少有三个月的产品经验。如果你还没有这方面的经验,DataCamp 建议你通过完成我们的在线 Tableau 基础知识技能课程来准备考试。考试持续 60 分钟,由 30 个问题组成,包括选择题和动手练习,在这些练习中,您必须使用 Tableau 连接数据源并创建可视化效果。考试将在 GoToMeeting 或 Zoom 上进行,你将被要求使用谷歌浏览器设置你的工作空间,并确认你的连接速度符合 Tableau 的要求。此外,您还需要:

  • 通过网络摄像头向监考人出示带照片的身份证明
  • 关闭程序,标签,并删除任何可能有助于你考试的文书工作
  • 通过网络摄像头向监考人展示你独自一人在房间里
  • 同意在考试期间通过网络摄像头进行监控

使用 DataCamp 准备桌面专家考试

查看完整的考试设置要求就像 DataCamp 上的 Tableau 学习体验一样,考试是使用安装了 Tableau Desktop 的 Windows 虚拟机完成的——这可能需要在问题和虚拟桌面屏幕之间进行一定程度的切换,这可能会导致屏幕尺寸比您可能习惯的略小。同样值得注意的是,在考试期间,除了评估所需的窗口或程序之外,你不能打开任何其他窗口或程序——就像在学校考试一样,你不能在计算器套中隐藏任何笔记。考试是自动评分的,必须达到 70%或以上的及格分数才能获得认证。您可以在由忠诚者考试服务公司(LES)管理的 Tableau 产品认证考试中心注册并预订考试。你也可以使用这个网站重新安排你的考试。##培训资源在 DataCamp,我们所有的讲师指导课程都是完全交互式的,不需要安装或先前的经验。您还将收到一份成就声明,完成后您也可以在您的 LinkedIn 个人资料上分享。请注意,DataCamp 的成绩声明与 Tableau 桌面专家认证不同: Tableau 基础知识 : 14 小时。4 门课程获得自信使用 Tableau 所需的基本技能,并准备通过 Tableau 桌面专家认证。不需要以前的经验。

  • Tableau 简介 : 4 小时
    了解如何使用 Tableau 用户友好的拖放功能快速清理、分析和可视化您团队的数据。
  • 分析 Tableau 中的数据 : 4 小时
    创建细节丰富的可视化地图,配置日期和时间字段以显示时间趋势,并使用计算字段扩展您的数据。
  • 在 Tableau 中创建仪表板 : 4 小时
    应用仪表板最佳实践,添加交互式或解释性元素,并使用操作使您的仪表板完全交互式。
  • 连接 Tableau 中的数据 : 4 小时
    了解如何将 Tableau 连接到不同的数据源,并为顺利分析准备数据。

Tableau 的其他资源

Tableau 还提供了一个很好的学习资源选择,您可以使用它来准备考试:

觉得这篇文章有用?如果有,请在 LinkedInTwitter脸书上分享。

Tableau Skill Track

Tableau:从学生到认证

原文:https://web.archive.org/web/20230101103202/https://www.datacamp.com/blog/tableau-from-student-to-certification

有时回归基础是有益的,因此我们让我们的三名讲师承担角色扮演的任务,让学生通过 Tableau 的官方服务获得 Tableau 桌面专家认证-使用他们在创建我们的 Tableau 技能跟踪和我们的新课程Tableau中的统计技术时所学的知识。既然他们已经从另一边出来了,我们决定采访他们,了解他们的经历!

DataCamp's Tableau Instructors

DataCamp 是如何帮助你准备 Tableau 认证的?

Hadrien:你可能会被要求创建一个可视化,或者被要求使用哪个特性。DataCamp 的课程会让你大致了解 Tableau 有哪些功能,以及你可以用 Tableau 创建哪些功能。他们还深入到特定的主题,即认证所围绕的主题——包括分析数据、创建仪表板和连接到数据源。

萨拉:数据营的课程涵盖了考试所需的所有主题。这些视频为您提供了一个介绍,告诉您使用该工具可以做什么——因此,视频中显示了如何连接到数据集或创建可视化。你可以在练习中运用这些知识。这真的很有帮助,因为在考试期间,你会被要求一遍又一遍地创造这些形象。所以,你练习得越多,到时候你就能越快地做到这些。这很好,因为它是定时的,这将为其他问题腾出时间。此外,练习是在虚拟机中进行的,因此您可以使用 Windows 界面进行练习,这正是您在考试期间的工作方式。

考试最让你惊讶的是什么?

Hadrien:大多数问题不需要你在 Tableau 中构建一个可视化来回答它们,因为它们是关于在哪里找到某些功能的——当然,有些问题确实需要你构建一个可视化来收集见解并选择正确的答案,但这是少数。此外,您可能会被问到考试准备指南中没有的主题,这些主题本来是为更高级的认证级别保留的,所以不会有很多,但知道这一点是有好处的。

萨拉:很可能考试是多项选择,而不是像创建可视化这样更活跃的练习,而且很多都与你在哪里可以找到某些功能有关。当你不完全确定的时候,你也可以使用谷歌,所以这是一个很好的惊喜。

你会给准备考试的人什么最好的建议?

Sara:我想说两件事:一方面,练习,练习,练习,确保你经常使用 Tableau,所以做一些事情,比如连接到数据集和构建可视化,直到你对它感到舒服为止。另一方面,我想说的是看一看网上的一些模拟考试,感受一下将会被问到的问题,并找出和巩固任何弱点。

在数据营的新 Tableau 课程中,我们可以期待什么?

Maarten:你可以学习统计技术是如何工作的,然后看看它们是如何在 Tableau 中实现的。本课程面向拥有使用 Tableau 的经验,但希望更多了解何时以及如何使用某些统计技术(如添加趋势线或执行聚类)的人,以及希望更多了解幕后发生的事情的人。

你在本课程中教授的最喜欢的报告类型是什么?

马腾:我喜欢这门课程教授的预测报告,例如,你会看到我们的虚拟机根据弓的长度预测恐龙的类型,或者预测 YouTube 视频的浏览量。

DataCamp Tableau Skill Track

权力 BI vs Tableau:2023 年你该选哪个?

原文:https://web.archive.org/web/20230101102851/https://www.datacamp.com/blog/tableau-vs-power-bi-infographic

一个好的决策过程在果断和尽职调查之间找到了平衡,因此快速传达信息在各种业务中都受到高度重视。这个概念是数据可视化的核心;通常,一个图形或图表可以毫不费力地显示和解释成千上万的数字和文字。您可以使用 Tableau 和 Microsoft Power BI 等商业智能工具来创建这样的图表。

在本文中,我们来看看 Power BI vs Tableau,探索它们的相似之处和不同之处,以及它们的优缺点。看完之后,你应该有一个想法,哪一个适合你的需求。

A chart in Power BI

A Tableau Visualization

商业智能工具的背景

商业智能是一种先于数字时代的实践。这个词的第一次使用可以追溯到 19 世纪 60 年代,指的是一位美国银行家收集和分析数据,以获得可操作的见解,并在竞争中领先。

自那以后,事情发生了很大变化,现代企业可访问的数据量不断增加。由于这种数据的涌入,各种组织已经开发出软件来帮助企业理解大量的信息。

Tableau 于 2004 年首次推出,为用户提供了一种拖放的方式来创建交互式视觉效果和仪表盘。事实上,Tableau 有各种各样的产品可以帮助企业存储、分析和可视化数据。

几年后,微软 Power BI 问世,并于 2011 年首次面向公众推出。同样,重点是创建一个易于使用的界面,使非程序员能够组织和可视化数据。像 Tableau 一样,Power BI 包含几个不同的组件。你可以在另外的文章中找到更多关于你能用 Tableau 做什么和你能用 Power BI 做什么的信息。

电源 BI 与 Tableau -相似性

让我们来看看 Tableau 和 Power BI 的一些相似之处:

它们非常受欢迎

根据 Gartner 的数据,Power BI 和 Tableau 分别是市场上最受欢迎的商业智能工具。在 2500 多条评论中,Power BI 的平均评分为 4.4 星,略高于 Tableau,Tableau 在 2100 多条评论中的评分为 4.3 星。

他们产生了各种不同的视觉效果

Tableau 和 Power BI 都可以帮助您以各种不同的方式展示您的数据。您可以选择可视化,包括条形图和折线图、树状图和地理图。在这两个平台上,您可以与这些可视化进行交互,例如将鼠标悬停在它们上面以获取更多信息和应用过滤器,您还可以将它们组合起来创建交互式仪表板。

他们可以连接到各种数据源

可视化您拥有的数据是一回事,但拥有一组输入也很重要。毕竟,企业倾向于从多个渠道收集数据。当比较 Tableau 和 Power BI 时,我们看到两者都可以连接到广泛的信号源。其中包括 MS Excel、CSV 和 JSON,这两个平台的付费版本可以让您访问 50 多个额外的数据连接器,如 Google Bigquery、Amazon Redsift 和 Salesforce。如果基础数据发生变化,可视化效果也会更新。

它们都是无代码和用户友好的

使用商业智能工具的部分吸引力在于,您需要的一切都触手可及。这使得 Tableau 和 Power BI 成为数据分析新手学习的理想工具。如果您是业务分析师,它们是您处理数据时需要的两个主要数据可视化工具。你可以通过 Power BI 或 Tableau 学习成为数据分析师。

当然,您还可以使用其他工具,如下图所示。SQL、R 和 Python 也是很有价值的工具,在您的技能组合中增加一个或多个是非常有价值的。

其他相似之处

由于最近的更新,Tableau 和 Power BI 变得越来越相似。

例如,Power BI 曾经在数据准备方面表现出色,因为用户总是能够通过 Power Query 建模、清理和向数据集添加计算列。然而,随着 Tableau Prep 的推出,Tableau 最近也取得了自己的进展。

功率 BI 与 Tableau -差异

当比较 Tableau 和 Power BI 时,您应该考虑一些不同点,如果您正在考虑在您的业务或职业生涯中使用它们,这些可以使选择更容易。

Power BI 仅适用于 Microsoft Windows

这可以使两个平台的选择更加容易。如果你经常在工作中使用 Mac,Tableau 会是更好的选择,因为你不能在 Mac 上使用 Power BI。

证书

Tableau 为特定职业提供了更广泛的选择。你可以在 Tableau 网站上找到更多关于这些的信息,但基本上有助理、专家和分析师级别。

在 DataCamp,你还可以成为 Tableau 的数据分析师,参加一系列可以为 Tableau 认证做准备的课程。官方 Tableau 认证费用从 100 美元到 250 美元不等,视等级而定。

Power BI 拥有一项涵盖该平台所有主要功能的认证。还有 PL-300:微软 Power BI 数据分析师考试,165 美元。

认证之间的另一个关键区别是,虽然 Power BI 提供多种语言的考试,但 Tableau 目前只提供英语的认证专业考试。Tableau 助理考试有多种语言版本。

易于集成

由于 Power BI 是由微软开发的,如果您使用办公软件,它将更容易集成到您的工作空间中。同样,Tableau 最近被 Salesforce 收购,由于其原生集成,它们值得考虑。然而,两者都能够连接到像 Excel 和 Salesforce 这样的工具,所以这是一个更适合您的设置的问题。

编程语言

当谈到在不同的编程语言中使用每一种语言时,还有进一步的区别:

  • Power BI :可以使用 Power BI 中的数据分析表达式和 M 语言进行数据操作和数据建模。也可以使用微软 revolution analytics 连接 R 编程语言。
  • Tableau :你会发现 Tableau 有更多的选择和灵活性。除了更容易与 R 集成,您还可以用 Python、Java、C 和 C++实现 Tableau 软件开发工具包。

Tableau vs Power 双价

值得更详细地了解这两个商业智能工具的价格,因为这可能是 Power BI 和 Tableau 之间最大的差异。

功率 BI

(舞台上由人扮的)静态画面

  • Tableau Public-Free:这个是为在家用户准备的,可以用来创建连接到 Excel、CSV、JSON 文件的可视化。所有可视化将公开可见。
  • Tableau 创建者 - $70 每月/用户:该选项面向个人和团队成员,提供对 Tableau 桌面、Tableau Prep Builder 的访问,以及 Tableau 服务器或 Tableau 云的一个创建者许可证。这为您提供了所需的可视化和分析工具。
  • Tableau Explorer-【40 美元/月/用户:此选项允许您通过自助分析来浏览数据。它附带一个 Tableau 云浏览器许可证。
  • Tableau Viewer-【15 美元/月/用户:使用此选项,您只能查看现有的 Tableau 仪表盘和可视化效果。它附带一个 Tableau 云视图许可证。

作为快速参考,我们在下表中列出了这些详细信息:

| 许可证名称 | 费用(每月) | 描述 | 许可证名称 | 费用(按月、按年计费) | 描述 |
| Power BI 桌面 | 免费 | 允许您在本地机器上使用所有基本的 Power BI 功能 | Tableau Public | 免费 | 可用于创建连接到 Excel、CSV 和 JSON 文件的可视化效果。所有可视化将公开可见。 |
| 动力 BI Pro | $13.70(如果你有 Office 365 就免费) | 为个人用户提供访问权限,使他们能够构建自己的仪表板并连接到广泛的数据源。 | 表格总管 | $40 每用户 | 允许持有者根据同事提供的数据集构建仪表板和可视化效果。 |
| Power BI Premium(每用户) | $27.50 | 类似于 Power BI Pro,但增加了存储容量,允许您更频繁地刷新仪表板,并提供了一些附加功能。 | Tableau 创建者 | $70 | 提供所有资源管理器权限,以及创建数据源连接的能力。推荐个人用户使用。 |

上面的许可证是为创建仪表板的个人数据分析师设计的。如果您的公司有兴趣推出 Tableau 或 Power BI,您还需要考虑查看器许可证:

| 许可证名称 | 费用(每月) | 描述 | 许可证名称 | 费用(按月、按年计费) | 描述 |
| Power BI Premium(每容量) | 起于 6,858 美元 | 特定于企业的许可证,允许您组织中的每个人进行查看访问(编辑仪表板仍然需要 PBI 专业版许可证)。 | Tableau 查看器 | $15 每个观众 | 特定于企业的许可证,允许持有者查看同事创建的仪表板并应用过滤器。还提供定制的企业订阅计划。 |

Tableau vs Power BI - Performance

Power BI 和 Tableau 都是为处理大量数据而构建的。这两种工具都有不同的存储和连接类型。有些是为了处理大量数据而构建的,而有些是为了确保实时仪表板更新而构建的。

然而,当涉及到非常大的数据集时,Tableau 往往比 Power BI 表现得更好。当数据集更有限时,Power BI 更快。同样,这取决于您将使用哪些工具,以及哪种工具最适合您。

Power Bi 与 Tableau -用户界面

当谈到用户界面和 UX 时,这两者很少分开,只有个人偏好。两者都设计得直观易用,让用户有机会以一种熟悉的方式探索他们的数据。你将能够以相似的轻松程度学会任何一种。

Power BI 和 Tableau 哪个好?

你可能想知道在 Tableau 和 Power BI 的比较中哪个更重要。但是,现实中,最好的选择真的取决于个人。这取决于您的需求和用途,以及您的业务需要什么。

如果你想提高技能,增加你对潜在雇主的价值,具备商务智能或桌面的工作知识是很好的。此外,两者都可以在 DataCamp 上学习,一旦你学会了如何使用一个,学习如何使用另一个就很简单了。你可以从介绍力量 BI 或者介绍画面开始,然后从那里开始。

我该选哪个?

那么,应该选择 Power BI 还是 Tableau 呢?这两者之间肯定有很多重叠,最终都是有用的工具。对于一些用户来说,选择学习这两者可能是最好的选择。然而,对于那些希望在两者之间做出选择的人来说,必须考虑成本和可获得性的差异。

考虑您将使用的系统、您将处理的数据量、您是否需要在工作中使用编程语言,以及您是否希望获得认证。

DataCamp 提供了一系列课程,包括 TableauPower BI 。我们的课程使您能够在不涉及任何安装的情况下练习每个工具的界面,并涵盖连接数据和构建仪表板等功能。

概括起来

(舞台上由人扮的)静态画面 功率 BI
市场领导者? 981 号房 981 号房
各种不同的可视化? 981 号房 981 号房
可以连接各种数据源? 981 号房 981 号房
用户友好? 981 号房 981 号房
它能在什么类型的机器上工作? 苹果电脑和视窗电脑 仅限 Windows 电脑
认证? 多重 一个
更易于集成... 销售力量 微软
费用 各不相同,但 Tableau 通常更贵 各不相同,但 Tableau 通常更贵

功率 BI 与 Tableau 对比

如果你正在寻找这两种神奇工具之间的差异的便捷指南,我们准备了一张信息图,其中列出了关键的比较点。

Power BI vs Tableau Infographic

放大图像

想从事数据方面的职业?在 Microsoft Power BI 职业跟踪中发现我们的数据分析师,您将立即为工作做好准备。

这个问题的答案完全取决于你的个人或业务需求。这两种工具都可以创建有用的数据洞察和可视化,并且每种工具都有一系列适合不同环境的功能。

它们之间没有太大的区别,但是很多人认为 Power BI 比 Tableau 更适合初学者。如果你不是数据分析师,Tableau 的学习曲线可能会稍微陡一点。然而,两者都很直观,并且有很好的用户界面。

两者都是很好的学习选择。如果您对商业智能的概念完全陌生,Power BI 可能是一个更温和的介绍。但是,如果您想要构建定制的仪表板,Tableau 也是一个不错的选择。

不,Tableau 和 Power BI 都不需要编码技能。然而,如果你想充分利用你的数据和可视化,那么掌握 R 编程、Python 和 SQL 的知识总是有用的。

通过我们的入门课程,您可以在大约 3-4 个小时内掌握这两种工具的基础知识。然而,要达到流利程度,可能需要相当长的时间,通常需要几个月。Tableau track 中的数据分析师大约需要 42 小时才能完成,而 Power BI 中的数据分析师大约需要 51 小时。

技术招聘人员如何在不断变化的经济时代保持竞争力

原文:https://web.archive.org/web/20221129041202/https://www.datacamp.com/blog/technical-recruiters-stay-competitive

2021 年是技术招聘蓬勃发展的一年:更多的公司认识到技术人才是成功的关键,他们需要技术招聘人员来帮助他们有效地扩大团队。数据人员发现,与 2019 年相比,广告中的科技职位增加了 81%,LinkedIn 报告称发布的招聘职位同比增加了7 倍。即使在最好的市场,在预算限制内找到具备特定资格的顶尖人才并评估文化契合度,也是一项艰巨的任务。但是,今年是一个不同的故事——随着通货膨胀的加剧和潜在的经济衰退,技术招聘人员需要克服更多的障碍。在这些新的挑战中,还会有对技术招聘人员的需求吗?在这个不断变化的经济时代,技术招聘人员如何保持竞争力?

2022 年技术招聘人员面临的挑战

大范围的技术裁员

2022 年,科技行业已经有超过 37,000 名员工被解雇,许多组织都在年底前冻结招聘。根据 Crunchbase 的报道,企业将招聘放缓归咎于“通胀担忧、地缘政治问题和快速增长时期的过度招聘”,这对技术招聘人员来说是一个令人担忧的迹象。当新冠肺炎在 2020 年让世界陷入停滞时,由于公司专注于生存而不是增长,招聘受到冻结,T4 受到的打击最大。这一次,它不太可能如此引人注目,特别是对技术招聘人员来说——EY 首席技术官 Nicola Morini Bianzino 向美国消费者新闻与商业频道承认技术招聘将放缓,但指出“拥有人工智能、数据、Web3 和云架构技能的人将继续寻找机会”,因为他们可以将“公司带到一个新的水平。”

对顶尖人才的竞争加剧

商业领袖们深谋远虑,认为技术人才是推动增长的关键,即使是在经济放缓的时期。这就是为什么,尽管经历了一轮又一轮的裁员,技术工人还是在几周内被抢购一空(美国消费者新闻与商业频道)。对这种人才的需求仍然很高,但很难找到,根据美国消费者新闻与商业频道的一项调查,64%的技术领导者表示越来越难或明显更难找到技术工人。一旦真的有机会,招聘人员会迅速出击——让保持领先变得很有挑战性。

高工资要求

科技人才不断提高的薪资要求更是火上浇油。紧张的劳动力市场加上“大辞职之后更大的工作流动性,提高了技术人员的工资门槛。考虑到不断上升的通货膨胀,技术招聘人员面临着一个巨大的挑战:既要在紧缩的企业预算中工作,又要为人才支付高额奖金。

作为一名技术招聘人员,如何保持竞争力

即使面临这些挑战,技术招聘人员也有机会获得竞争优势,并雇佣顶尖人才。

1.从反应性到主动性

不要坐等申请蜂拥而至,开始主动寻找并接触合格的候选人。考虑持续拓展,根据候选人的技能和背景创建候选人小组。当相关的工作变得可用时,你将能够更快地提出选择,这将是在这个火热的劳动力市场的一个关键优势。

2.拓宽招聘渠道,根据角色进行专业化

通过在当前工具之外实现多样化,并使用专门招聘技术职位的平台,招聘人员有机会在竞争中保持领先。专业化的招聘平台让招聘人员能够更快、更有效地招聘员工。

同样,向远程工作者开放机会可以增加潜在候选人的多样性和数量。规模更大的技术招聘行业正在参与进来:在 CoderPadCodinGame 的一份报告中,57%的招聘者愿意在招聘过程中删除简历,而 40%的人则在其他国家的职位上进行国际招聘。

我们喜欢的一些非传统平台包括:

| 提供方 | 角色类型 | 详情 |
| 数据营招募 | 数据科学家和数据分析师 | DataCamp Recruit 专门招聘顶尖数据人才。您可以查看候选人的技能概况,评估他们在数据技能方面的专业知识,从而找到满足您团队需求的合适人选。 |
| 大学就业委员会和学生社团 | 初级或入门级人才 | 许多学院和大学都有自己的工作公告板,这是发布入门级工作的好地方。联系职业中心或相关的学生社团,寻找参加活动的机会。 |
| 图灵 | 开发人员和软件工程师 | 图灵专门研究远程软件工程师,他利用人工智能使寻找顶尖人才变得容易。 |
| GitHub | 开发人员和软件工程师 | 作为一个面向开发者的平台,GitHub 拥有一个活跃的社区,聚集了高素质的人才。您可以看到他们完整的技术堆栈和项目,以确定他们是否适合您的组织或客户。 |
| 栈溢出 | 开发人员、软件工程师和数据科学家 | 一个寻找技术问题答案的公共平台,仔细阅读 Stack Overflow 上的论坛,寻找经常准确回答问题的人——这些人拥有深厚的专业知识,知道如何解决复杂的问题。 |

3.看内在天赋

你的团队中有超级明星准备成长为新的角色,或者寻求接受更具技术性的挑战吗?员工福利新闻 (EBN)报道称,雇佣一个替代者要花费雇主 33%的员工年薪——如果有机会在内部雇佣或提高技能,这有助于降低成本。提高技能也是留住顶尖人才的关键。根据麦肯锡的一项研究,41%的受访者将“缺乏职业发展和进步”列为辞职的首要原因。增强员工职业生涯的能力是 2500 多家公司与数据营合作以提升其团队数据科学技能的原因之一。为了确认他们已经做好工作准备,员工可以通过认证项目获得特定技能或技术工具。从内部招聘为扩大你的团队提供了一个负担得起且可持续的选择。

4.刷新招聘流程

在竞争激烈的情况下,不要冒险在招聘过程中因沟通不畅或失实陈述而失去顶尖人才。提前建立清晰、公平的流程,在让候选人参与进来之前,确保所有利益相关方都参与进来。如果这个过程混乱或者没有条理,可能会让候选人离开。

首先,用你的工作描述给人留下好的第一印象。这些实际上是该职位的广告,应该从销售的角度来处理。围绕候选人在该职位中将产生的影响以及如何在工作的第一个月、第六个月和第一年培养他们的职业发展来设计职位。对要求、绩效指标和工资级别要明确和坦率,以避免在不一致的期望上浪费时间。使用包容性的语言确保你没有排斥任何潜在的申请人(福布斯)。

第二,确保你的面试过程是深思熟虑的、清晰的和一致的。确认所有参与者在每个阶段都是一致的,并在过程中的每一步都得到更新,以避免误解和浪费时间。让整个过程对候选人完全透明,这样他们就可以有备而来。

第三,选择合理且相关的评估。许多候选人很早就放弃了招聘过程,因为评估时间太长,没有一个现实的截止日期,或者感觉太不人性化。将评估时间控制在一个小时以内,并允许在工作时间之外的足够时间内完成评估。选择一个能让候选人一瞥他们在这个角色中实际会做什么,并允许他们展示他们批判性思维技能的。

5.出售整套产品

薪资要求提高了,但这并不是求职者在申请职位时寻求的唯一因素。除了薪酬总额不足之外,麦肯锡发现,去年人们辞职的其他主要原因包括缺乏职业发展和进步、领导漠不关心和缺乏激励、缺乏有意义的工作以及不可持续的工作期望。薪水需要有竞争力,但“大辞职”也提高了对改善工作/生活平衡、强大的公司文化和影响力的要求。技术招聘人员应该知道候选人在下一份工作中想要什么,这样他们才能在最终的工作中突出相关优势。通过激发他们的个人兴趣,技术招聘人员可能会增加雇佣顶尖人才的机会,即使竞争非常激烈。

底线

技术招聘人员通过有效和可持续地扩展技术团队来帮助推动公司成功。他们是长期发展所必需的,但随着时间的推移,这项工作变得越来越具有挑战性。通过主动招聘、拓宽招聘渠道、在内部寻找、更新当前流程和销售完整的薪酬方案,技术招聘人员将能够获得竞争优势,用顶尖人才填补空缺。

想招聘数据专家吗?在 DataCamp Recruit 上寻找行业领先的人才

DataCamp Recruit 让您接触到工作就绪的数据专业人员,帮助您更快地找到合适的员工。不再需要在 LinkedIn 这样的平台上无休止地滚动——你可以有效地找到并筛选具有你需要招聘的技能、经验和背景的专业人士。

DataCamp Recruit 允许您

  • 访问数据科学教育领域的领导者和 2022 年福布斯排名第一的全球认证计划的认证数据人才网络
  • 与您需要招聘的候选人和技能相匹配
  • 与合格的候选人聊天
  • 通过清楚地了解候选人的技能,满怀信心地聘用

用数据、叙述和视觉效果讲述有效的数据故事

原文:https://web.archive.org/web/20221129045128/https://www.datacamp.com/blog/telling-effective-data-stories-with-data-narrative-and-visuals

“讲故事是将想法融入当今世界的最有力的方式,”编剧大师罗伯特·麦基说。今天的企业世界充斥着设计糟糕的幻灯片和不合适的图表,而数据讲述是将数据转化为推动行动和价值的见解的关键。

事实证明,数据故事比单纯的统计数据更令人难忘、更有说服力、更吸引人。但是我们如何讲述数据故事呢?《有效的数据叙事:如何用数据、叙事和视觉推动变革》一书的作者布伦特·戴克斯为构建数据故事制定了一个有价值的框架

在这个框架中,数据故事由三部分组成——叙述、数据和视觉。在本帖中,我们将深入探讨数据故事的每一个组成部分。

Figure 1: Narrative, visuals and data are data stories that drive changes

叙事结构

大多数故事都遵循一个共同的轨迹——一个面临复杂情况的主角在回到正常生活之前开始了解决困难的旅程。亚里士多德的悲剧结构,坎贝尔的英雄之旅,弗莱塔格的金字塔是这些故事中常见模式的变体。

数据故事受益于古老的叙事结构。数据故事从设置当前情况的场景开始,通过提供导致核心见解的见解继续,并以相关建议结束。

Figure 2. The narrative structure of a data story

数据

面对海量数据的分析师可能会试图将所有可用的数据都压缩到一个图表中。那些这样做的人冒着用噪音混淆他们的数据故事和迷惑他们的观众的风险。

这就是为什么在数据故事中选择正确的数据至关重要。Brent Dykes 建议数据说书人删除或汇总次要数据点,如下例所示。

Figure 3. Explicitly demonstrating that the revenue per customer is falling (right) is a better choice than plotting the total revenue and customer side-by-side (left)

Figure 4. The market shares of the largest markets become apparent when the smallest markets are aggregated.

Figure 5. Often, less is more when it comes to showing multiple charts in one graph.

视觉的

有了正确的结构和数据,我们就可以用视觉来讲述数据故事了。在这里,Brent 提供了为数据故事制作完美视觉效果的有用技巧。

1.选择合适的可视化

基于数据故事的上下文,可视化的有效性有所不同。关键是根据信息选择最佳图表。

例如,在传达比例差异方面,条形图优于饼图(图 6A 与图 6B)。另一方面,当显示不同类别的比例总和时,饼图是更好的选择(图 7A 与图 7B)。

Figure 6A and 6B

Figure 7A and Figure 7B

2.根据信息调整视觉效果

一个合适的数据故事安排视觉效果,以满足观众的需求。为了证明这一点,戴克斯比较了两个图表,这两个图表传达了针对略微不同的目标优化的相同数据。

比较图 7A 和 7B,我们观察到水平轴的对齐如何使观众更容易进行快速比较。

Figure 8A. A comparison of the total revenue from each country

Figure 8B. A comparison of the revenue of individual products across countries, especially for product B

另一方面,根据可视化的目标,图 9A 和 9B 被稍微不同地重新排列。

Figure 9A. A comparison across products for each segment

Figure 9B. A comparison across segments for each product

3.集中观众的注意力

观众关注的是图表中突出的部分。突出关键点从噪音中提取信号,让观众快速从图表中获得洞察力。

例如,节约使用颜色(图 10B)和文本(图 10C)可以极大地改善混乱的图表(图 10A)。

Figure 10A

Figure 10B

Figure 10C

另一个吸引观众注意力的技巧是使用动画分阶段展示洞察力。在下面的例子中(图 11),观众能够想象新冠肺炎开始时利润显著下降的影响。

Fig 11: Revealing insights in stages

结论

布伦特写道:“许多大胆、不可思议的见解如果不能成功地融入数据故事,也会遭受类似的命运。”因此,随着公司积累更多的数据,讲述数据的技能将变得越来越重要。

无论您是数据故事讲述的新手还是老手,Brent 举办的网络研讨会“有效的数据故事讲述:如何将见解转化为行动”为所有级别的数据故事讲述者提供了宝贵的框架和实用技巧。

未来数据科学家的十课

原文:https://web.archive.org/web/20230101103026/https://www.datacamp.com/blog/ten-lessons-for-future-data-scientists

每天都有越来越多的人闯入数据科学领域。这种趋势有多种原因。首先,蓬勃发展的需求:根据领英 2020 年新兴工作报告,数据科学仍然是市场上增长最快的工作之一,尽管由于新冠肺炎疫情,该行业在 T2 有所放缓。

接下来,薪资预期: Glassdoor 2020 统计数据显示,一名入门级数据科学家的薪资约为 89000 美元。最后,显著的受欢迎程度:《哈佛商业评论》在一篇令人难忘的 2012 年文章中宣称数据科学家是 21 世纪最性感的工作。

如果你正在考虑在数据科学领域开始新的冒险,不要犹豫,大胆尝试吧。为了帮助您在旅程中取得成功,我们准备了 10 个课程和实用技巧,帮助您在数据科学的奇妙世界中导航并找到自己的位置。

  1. 揭开数据科学的神秘面纱
  2. 什么是编程语言?
  3. 开始的时候,会很痛。但是要有耐心。
  4. 你并不孤单:数据科学资源
  5. 编码的艺术
  6. 我从哪里开始学习?
  7. 不断学习
  8. 数据科学是达到目的的手段
  9. 能力越大,责任越大
  10. 结论:(你会)是数据,我的朋友

揭开数据科学的神秘面纱

数据科学经常与大数据、人工智能和机器学习等其他技术术语一起讨论,这使得人们很难清楚地了解数据科学到底是什么。

简而言之,数据科学是一个跨学科领域,它结合了科学方法、编程、算法和统计,从数据中提取知识。数据科学包含一套强大的工具和方法来处理数据,几乎可以在每个行业中使用。可能性范围很广,从基本的数据探索性分析和数据收集技术(如网页抓取)到一些最有价值的领域应用,如推荐引擎、计算机视觉、自动驾驶汽车和自然语言处理,机器学习和深度学习在这些领域发挥着关键作用。

虽然数据科学是具有 IT 或编程背景的专业人员的自然选择,但该领域正在快速发展,今天可以公平地说,每个人都受欢迎,无论你来自哪里。原因?随着数据科学发展成新的学科,了解某个领域或研究领域的基本方面至关重要。除了技术和编码技能,数据科学家应该始终拥有一定程度的业务领域专业知识,以便他们能够理解自己在做什么。这包括评估输入数据,评估见解的价值和有效性,以及辨别什么有意义,什么没有意义。

什么是编程语言?

学习编码是成为数据科学家的必要步骤。没有替代的答案,尽管最近“无代码”数据科学和人工智能平台激增。虽然这些解决方案允许非技术业务用户构建应用程序和软件(试图解决软件开发人员技能短缺的问题),但数据科学家提供的能力、资源和思维模式几乎是不可替代的,至少目前是如此。

编程是数据科学家日常生活的核心部分。但是编程到底是什么呢?什么是编程语言?

编程是一种允许计算机系统自动执行任务的技术。为了与计算机交流,我们使用编程语言。编程语言是一组语义和语法规则,程序员用它们来编写指令(也称为算法),让计算机完成特定的任务。

有数百种编程语言。在数据科学中,最流行的两种编程语言是 Python 和 R 。这两种语言都非常适合您可能想到的任何数据科学任务。它们经常被描绘成竞争对手,但是更聪明的方法是把它们看作是互补的语言;可以联合起来利用他们的全部潜力和各自优势的联盟。幸运的是, DataCamp 有一个很大的课程目录,在那里你可以学习 Python 和 r

开始的时候,会很痛。但是要有耐心。

实话实说:学习编码很难。这句话适用于每个人,不管你的背景如何。是时候停止认为学习计算机科学或数学的人比文科毕业生更适合数据科学了。他们之间唯一的区别是前者可能在大学开始编程,而后者可能没有。但可以肯定的是,前者在某些时候也曾纠结于编码,尤其是在开始的时候。

编码就像去健身房。第一天会痛。你的肌肉感到疼痛和僵硬。你不习惯这种疼痛,躺在沙发上,你可能会想放弃。但是如果你不放弃,如果你坚持锻炼,情况会逐渐好转。几个星期后,你会发现自己打破了不久前似乎无法实现的健康里程碑。最终,去健身房会成为你日常生活的一部分,有一天你会意识到你喜欢健身。

对于大多数婴儿来说,需要 9 到 14 个月才能开始说话。幸运的是,编程语言比人类语言要简单和初级得多。如果你下定决心,你应该能在几个月内写出基本的脚本。就像去健身房一样,学习编程语言也要有耐心。

你并不孤单:数据科学资源

你的数据科学冒险将充满障碍。您可能会在编写代码时陷入困境,有时您会不明白为什么您的脚本不能正常运行,有时您甚至不知道如何开始某项数据科学任务。

不需要强调:你并不孤单。数据科学中最酷的事情之一——更广泛地说,编程生态系统——是互联网充满了可以帮助你克服可能遇到的挑战的资源和信息。你只需要问正确的问题来得到正确的答案。

以下是在您的数据科学之旅中可以为您提供帮助的资源列表:

  • 程序员的 Delphi 预言。栈溢出拥有超过 1600 万用户,是面向程序员的问答公众平台。如果您的 Python 或 R 脚本有问题,您可能最终会寻找堆栈溢出的解决方案。

  • 教程:回归分析的烦恼?不知道从哪里开始抓取网页?阅读关于这个主题的教程是一个很好的起点。你可以在成熟的平台上找到广泛主题的综合教程,如 DataCamp ,甚至 YouTube。

  • 在线课程:如果你想成为一名学科专家,提高你的编码技能,或者只是想拓宽你的数据科学视野,一门课程可能是你正在寻找的。市场上有许多选项,包括 DataCamp。不要错过探索我们众多课程的机会。

  • 数据科学书籍:书籍永远是信息的重要来源。在过去的几年中,越来越多的数据科学书籍已经出版,其中许多可以在网上免费找到。这里推荐:奥莱利图书

  • 文档:最后但同样重要的是,我们需要提到包文档。文档是一个好的包或库的最重要的方面之一。文档是用户理解一个包的目的和它如何工作的主要来源。虽然这可能不是您最感兴趣的阅读,但在许多情况下,您的问题的解决方案将是一个包函数或参数,直到您阅读文档时才知道。

编码的艺术

经过几个月的编码训练,你会对自己的技能更加自信。在此期间,你将已经内化了许多过程、语法和命令。不经意间,编码自动化就会出现,让你的脚本更加流畅。

最终,你会开始看到大的图景:你会发现编码是一门艺术,例如,你会明白解决一个编程问题有很多方法,但有些方法比其他方法更有效。事实上,对效率的追求将指导您的工作,无论是编写还是运行代码。这将引导你学习新的编程策略。

你要着手解决的另一个重要方面是可读性。请记住,可读性不仅对可能必须处理您的脚本的其他程序员很重要,对您的“未来的您”也很重要通过对一些元素进行微小的修改,例如语法结构、变量和函数命名、间距和缩进,您的代码可以看起来更好,更容易理解。此外,对您的代码进行注释并记录您的函数将使您和其他读者的生活更加轻松。

我从哪里开始学习?

我们之前将数据科学定义为一个跨学科领域,它结合了科学方法、编程、算法和统计,以从数据中提取知识。是的,这是一个很大的开始。数据科学是一个要求很高的领域,新手很容易不知所措。如果这是一种安慰,要知道每个进入数据科学的人,不管他们的背景如何,都必须经历一定的学习过程:不可能马上知道所有的事情。

那么,从哪里开始呢?这个问题没有单一的答案,但是如果没有编程、统计和数学基础,你不会在职业生涯中走得很远。关于编程,除了 Python 或者 R,懂 SQL 当然是必须的。至于数学和统计,不用怕。这可能需要更多的时间,但你会在你自己的时间里学会什么是 p 值或人工神经网络。

与此同时,你可以做其他事情来增加你的知名度和被录用的机会。一个好主意是创建一个投资组合。在这方面,我们强烈建议尝试我们最近推出的 DataCamp Workspace ,这是一个编写代码的在线环境,通过分析有趣的数据集来应用您的技能,并构建您的数据科学组合。此外,你可以写关于该领域的文章,参加数据科学竞赛,或者参加数据科学认证。

不断学习

如果你认为找到你的第一份数据科学工作就是冒险的结束,那你就错了。数据科学是一个动态且快速发展的领域。今天流行的东西明天就可能过时。要了解数据科学的现状,请看这张图片。

来源:第一马克

我们可以从这幅图像中得出两个结论。首先,数据科学是一个终身学习的过程。你必须不断学习,否则就有被淘汰的危险。

其次,不可能了解所有的编程语言和技术。所以要根据工作中的需要和自己最热衷的东西来选择学什么。

数据科学是达到目的的手段

如果你不能沟通你所从事的项目的相关性,作为一名数据科学家,你的工作还有什么价值?如果没人理解你在做什么,那么做深入彻底的数据分析又有什么意义呢?

数据科学的目标是从数据中提取见解,并应用这些见解来创造价值。换句话说,数据科学本身不是目的,而是创造价值的手段。良好的沟通、讲故事和创造性思维等技能是将洞察力转化为价值的关键。在这方面,如上所述,行业可以从非技术技能中受益。

能力越大,责任越大

这可能是最重要的一课。数据科学是我们生活中一些最有价值的应用和发明的背后。在数据科学和人工智能的颠覆性力量的推动下,我们的社会正在快速变化。

在这种不确定和深刻变化的背景下,保持批判和谨慎是很重要的。作为数据科学家,我们的日常工作包括处理大量数据、构建模型以及将见解转化为价值,但我们应该始终尝试超越我们的计算机,质疑我们工作的社会影响。

批判和负责是防止行业滥用和确保公平未来的第一步。

结论:(你会)是数据,我的朋友

为了结束这篇文章,我们想和你分享最后一课:数据科学不仅正在改变社会,而且还将永远改变你的生活。

我们生活的世界是复杂的。我们经常与超出我们理解范围的过程和系统打交道。为了解决这种复杂性,我们使用模型,模型可以被定义为对现实的简化描述。在这种情况下,数据科学提供了大量模型,可以帮助我们了解我们的世界。例如,数据库管理的关系模型可以非常方便地组织信息和描述复杂现象。社交网络模型可以帮助我们理解信息如何在人与人之间流动,或者开发我们所在网络的潜力。更令人着迷的是,推动机器学习应用的数学模型不仅对计算机学习至关重要,它们还提供了看待人类智能的新视角,从而更深入地了解我们自己。

最后,数据科学会改变你还有另外一个原因。我们生活在大数据时代。每天都会创建和收集大量数据。数据只不过是多种类型和来源的信息。阅读让我们从书本和其他源文本中学习,数据素养让我们从数据中学习。这是一件大事,因为数据提供了前所未有的方式来解决你可能想到的任何领域的研究,从医学、心理学和艺术到气候变化、天文学和历史。

数据科学为您提供了分析数据的工具,您对数据的处理完全依赖于您的想象力和好奇心。所以,让我们继续冒险吧:外面有一个完整的世界等着你去发现。从在线培养你的数据技能开始。

R 和 Python 中的文本挖掘:8 个入门技巧

原文:https://web.archive.org/web/20230101103415/https://www.datacamp.com/blog/text-mining-in-r-and-python-8-tips-to-get-started

你想开始学习文本挖掘吗,但是你开始的大部分教程很快就变得相当复杂了?或者你找不到合适的数据集来处理?

DataCamp 的最新文章将带你浏览 8 个提示和技巧,帮助你开始文本挖掘并保持下去。

1.对文字感到好奇

在数据科学中,几乎任何事情的第一步都是好奇。文本挖掘也不例外。

你应该对 StackOverflow 的数据科学家大卫·罗宾逊这样的文本感到好奇,几周前,他在自己的博客中写道,“我看到了一个简单的假设[……]需要用数据来研究”。

(对于那些想知道假设是什么的人,假设是这样的:

每一条不夸张的推文都来自 iPhone(他的工作人员)。

每一条双曲线的推文都来自安卓(来自他)。pic.twitter.com/GWr6D8h5ed

— Todd Vaziri (@tvaziri) August 6, 2016

)

或者,如果你不是真的想验证假设,你应该对你看到的酷词云感到好奇,意识到你想为自己复制它。

你还需要相信文本挖掘有多酷吗?

从最近受到媒体广泛关注的众多文本挖掘用例中的一个获得灵感,如南方公园对话、……

2.获得你需要的技能和知识

当你变得好奇时,是时候加快你的游戏并开始发展你关于文本挖掘的知识和技能了。你可以通过完成一些教程和课程轻松做到这一点。

在这些课程中,你应该注意的是,它们至少向你介绍了数据科学工作流程中的一些步骤,如数据准备或预处理、数据探索、数据分析等

DataCamp 为那些希望开始文本挖掘的人提供了一些材料:最近,Ted Kwartler 写了一篇关于从 Google Trends 和 Yahoo 的股票服务中挖掘数据的客座教程。这本简单易懂的 R 教程让您通过实践来学习文本挖掘,对于任何文本挖掘初学者来说都是一个很好的开始。

此外,Ted Kwartler 还是 DataCamp 的 R 课程“文本挖掘:词汇袋”的讲师,该课程将向您介绍各种用于分析和可视化数据的基本主题,并让您在现实世界的案例研究中实践您所获得的文本挖掘技能。

另一方面,你也有一些不一定局限于 r 的其他材料。对于 Python,你可以查看这些教程和/或课程:对于 Python 中的文本分析的介绍,你可以去本教程。或者你也可以通过这个入门 Kaggle 教程

然而,你对其他资源更感兴趣吗?去 DataCamp 的学习数据科学 Python 资源& R 教程!

3.单词,单词,单词-找到你的数据

一旦掌握了分析和可视化数据所需的基本概念和主题,就该去寻找数据了!

相信我们,当我们告诉你有很多方法可以获取你的数据。除了提及 Google Trends 和 Yahoo,您还可以从以下网站获取数据:

  • 推特!R 和 Python 都提供了允许您连接到 Twitter API 并检索 tweets 的包或库。在下一节中,您将了解到更多这方面的内容。
  • 互联网档案馆(Internet Archive)是一个非营利性图书馆,拥有数百万免费书籍、电影、软件、音乐、网站等。
  • 古腾堡计划提供超过 55,000 本免费电子书。它们中的大多数都是公认的文学作品,因此,如果你想对莎士比亚、简·奥斯汀、埃德加·爱伦·坡等作家的作品进行分析,它们将是一个很好的来源。
  • 对于文本挖掘的学术方法,您可以使用 JSTOR 的数据内容进行研究。这是一个免费的自助式工具,允许计算机科学家、数字人文主义者和其他研究人员选择 JSTOR 上的内容并与之交互。
  • 如果你想对连续剧或电影进行文本挖掘,就像上面给出的例子一样,你可以考虑下载字幕。一个简单的谷歌搜索绝对可以为你提供你所需要的,来形成你自己的语料库,从而开始文本挖掘。
  • 你也可以从语料库中获取数据。两个著名的语料库是:
    • 路透社文本语料库。有些人会认为这不是最多样化的语料库,但如果你刚刚开始学习文本挖掘,这是非常好的。
    • 棕色文集包含了 500 个来源的文本,这些文本按体裁分类。

如你所见,可能性是无限的。任何包含文本的内容都可以成为文本挖掘案例研究的主题。

4.为工作寻找合适的工具

现在您已经找到了数据的来源,您可能希望使用正确的工具将它们归您所有,并对其进行分析。

您将学习的教程和课程将为您提供一些入门工具。

但是,根据你所学的课程或教程,你可能会错过一些。为了完整起见,这里列出了 R 中用于文本挖掘的一些包:

  • 毫无疑问,R 中最常用的文本挖掘包之一是 tm。这个包通常与更具体的包一起使用,例如 Twitter 包,您可以使用它从 twitteR 网站提取 tweets 和 followers。
  • 要用 R 做网页抓取,你应该使用 rvest。关于使用rvest的简短教程,请点击这里的

对于 Python,您可以依赖这些库:

  • 自然语言工具包,包含在 nltk中。这个软件包非常有用,因为你可以轻松访问 50 多个语料库和词汇资源。你可以在这一页的上看到这些的列表。
  • 如果你想挖掘 Twitter 数据,你有很多选择。其中一个用的比较多的包是 Tweepy
  • 对于网页抓取来说, scrapy会派上用场,从网站中提取你需要的数据。也可以考虑使用 urllib2 ,一个打开网址的包。然而,有时候,requests软件包更值得推荐,甚至可能使用起来更方便。有人说它“更人性化”或更具声明性,因为有些事情,比如设置用户代理和请求页面,只有一行代码。你有时也会看到一些人提到urllib包,但这似乎并不太受欢迎:大多数开发人员只提到一两个他们觉得特别有用的功能。

5.准备是成功的一半——预处理你的数据

当我告诉你数据科学家花 80%的时间清理他们的数据时,你可能不会感到惊讶。

文本挖掘在这方面也不例外。

文本数据可能是脏的,因此您应该确保花费足够的时间来清理它。

如果您不确定预处理数据的含义,一些标准的预处理步骤包括:

  • 提取文本和结构,以便获得想要处理的文本格式,
  • 删除停用词,如“that”或“and”,
  • 词干,用来提取单词的词根。这可以借助字典或语言规则或算法(如波特算法)来完成。

这些步骤看起来很难,但是预处理数据并不需要这样。

在很大程度上,上一节提到的库和包已经帮了你很多。例如,R 中的tm库允许你用它的内置函数做一些预处理:你可以做词干处理和删除停用词,消除空白并将单词转换成小写。类似地,Python 中的 nltk允许您进行大量预处理,因为有内置函数。

但是,您仍然可以更进一步,基于正则表达式做一些预处理来描述您感兴趣的字符模式。这样,您也将加快数据清理的过程。

对于 Python,你可以利用 re,对于 R,有一堆函数可以帮你解决,比如grep()grepl()regexpr()gregexpr()sub()gsub()strsplit()

如果想了解更多 R 中的这些函数和正则表达式,可以随时查看本页

6.数据科学家的奇遇-探索您的数据

到目前为止,您将会兴奋地开始您的分析。然而,在开始分析之前查看一下数据总是一个好主意。

在上面提到的基础包或库的帮助下,快速开始探索数据的一些想法:

  • 创建一个文档术语矩阵:这个矩阵中的元素表示一个术语(一个单词或一个 n 元语法)在语料库的一个文档中的出现。
  • 在创建了文档术语矩阵之后,您可以使用直方图来可视化语料库中单词的频率。
  • 您可能还想知道语料库中两个或更多术语之间的相关性。
  • 为了可视化你的语料库,你也可以制作一个单词云。在 R 中,你可以使用 wordcloud 库。如果你想在 Python 中做同样的事情,也有一个同名的 Python 包。

在深入分析之前探索数据的好处是,您已经知道要处理什么了。如果您在文档术语矩阵或直方图中看到有许多稀疏单词,您可以决定将它们从语料库中删除。

7.提升你的文本挖掘技能

当您使用上一步中提到的工具对数据进行了预处理和基本的文本分析后,您还可以考虑使用您的数据集来拓展您的文本挖掘技能。

因为还有更多。

说到文本挖掘,你只看到了冰山一角。

首先,你应该考虑探索文本挖掘和自然语言处理(NLP)之间的区别。更多 R 语言的 NLP 库可以在本页找到。有了 NLP,你会发现命名实体识别、词性标注和解析器、情感分析……对于 Python,你可以利用 nltk。你可以通过nltk在这里找到一个关于情绪分析的完整教程。

除了这些软件包之外,您还可以查看更多工具,以开始深入学习和统计主题检测建模(如潜在狄利克雷分配或 LDA)等主题。下面列出了一些可用于处理这些主题的软件包:

  • Python 包:Python 包gensim实现了 word2vec 等等,还有手套。此外,如果你想进一步发现深度学习,那么 theano 可能也应该在你的列表上。最后,如果你想实现 LDA,使用 gensim 。

  • r 包:对于矢量化和单词嵌入的方法,使用 text2vec 。然而,如果您对情感分析更感兴趣,那么结合使用syuzhet库和tm库可能是一个不错的选择。最后,R 的 topicmodels 库是统计主题检测建模的理想选择。

这些包并不是现存的全部。

由于文本挖掘是一个非常热门的话题,在过去的几年里,在研究方面有很多发现,你可以预计,随着多媒体挖掘、多语言文本挖掘等技术的出现,它在未来几年将继续发挥重要作用

8.不仅仅是文字——可视化您的结果

不要忘记传达你的分析结果!这可能是你能做的最棒的事情之一,因为视觉表现吸引人。

你的想象就是你的故事。

因此,不要退缩,不要把你在分析中发现的相关性或主题形象化。

对于 Python 和 R 来说,你都有特定的包来帮助你做到这一点。因此,您应该完成您必须与这些特定数据可视化库一起使用的包列表,以呈现您的结果:

对于 Python,你可以考虑使用 NetworkX 包来可视化复杂网络。然而, matplotlib也可以方便地用于其他类型的可视化。还有 plotly软件包,它允许你在线制作交互式的、出版物质量的图表,是可视化展示你的结果的首选软件包之一。

一个提示给所有数据可视化的狂热爱好者:尝试链接 Python 和 D3,这是一个用于动态数据操作和可视化的 JavaScript 库,它允许您的观众成为数据可视化过程的积极参与者。

对于 R 来说,除了您已经知道的库之外,例如 ggplot2 ,这总是一个很好的使用方法,您还可以使用 igraph 库来分析关注或被关注和转发的关系。你还想要更多吗?可以考虑使用 plotlynetworkD3 来链接 R 和 JavaScript,或者使用 LDAvis 库来交互式地可视化主题模型。

从 DataCamp 开始您的文本挖掘之旅

你想在 R 中开始文本挖掘吗?前往“文本挖掘:单词袋”课程,通过实践学习文本挖掘!本课程是快速开始文本挖掘案例研究的最佳资源,可以向您介绍用于分析和可视化数据的各种基本主题,并在真实的案例研究中练习您所掌握的文本挖掘技能。你还没有时间开始上课吗?试试 Ted Kwartler 的交互式 R 教程。这是快速开始文本挖掘案例研究的最佳资源。

简而言之,使用 DataCamp 开始您的文本挖掘之旅吧!

2022 年值得阅读的 15 本最佳数据机器学习书籍

原文:https://web.archive.org/web/20221129041202/https://www.datacamp.com/blog/the-15-best-data-machine-learning-books-to-read-in-2022

机器学习是数据科学中最热门的话题之一。这里有 15 本书可以帮助你进入这个领域或者成为专家

如果你对数据科学感兴趣,你可能听说过机器学习。机器学习是人工智能的一个分支,专注于开发在没有明确编程的情况下学习执行任务的算法。

从 Spotify 推荐到 Instagram 滤镜,机器学习已经嵌入到你的日常生活中。机器学习系统的使用越来越多,导致对具有机器学习技能的数据专业人员的需求不断增加。

如果你想在该领域入门或让你的专业知识更上一层楼,我们已经准备了一份 2022 年阅读的顶级机器学习书籍清单。现在,让我们开始吧!

初学者最好的机器学习书籍

奥利佛·西奥博尔德的《绝对初学者的机器学习》

Machine Learning for Absolute Beginners by Oliver Theobald

如果你是一个绝对的初学者,想学习机器学习的基础知识,这就是你要找的。绝对初学者的机器学习致力于那些没有编码经验或数学背景的人。它也是用通俗易懂的英语编写的,这意味着你不会被技术术语弄得不知所措。

这本书的第三版于 2021 年出版,包括带测验的扩展章节、Python 编码模型的免费补充在线视频教程、可下载的编码练习和其他资源。总之,这是一本让每个人都能接触到机器学习的好书。

安德烈·布尔科夫的百页机器学习书

image15.png

安德里·布尔科夫(Andry Burkov)写的长达 100 页的机器学习书籍是一本无需深入细节就能发现机器学习的完美书籍。总结像机器学习这样复杂而宽泛的学科的核心要素并不容易。这就是为什么安德烈·布尔科夫的工作更值得称赞。

读完这本书后,你将准备好讨论与机器学习相关的各种主题,包括监督和非监督学习,最流行的机器学习算法,以及建立和微调模型需要什么。数学、直觉和插图,全部在短短一百页内!

如果你对机器学习的理论基础感兴趣——我们强烈建议你报名参加我们的了解机器学习免费课程。

约翰·保罗·穆勒和卢卡·马萨隆的《假人的机器学习》

Machine Learning for Dummies by John Paul Mueller and Luca Massaron

受欢迎的“假人”系列附有一本书,这总是好消息。由顶级数据科学家撰写的傻瓜机器学习为那些没有编码和数学背景的人提供了一个很好的起点。

这本书介绍了机器学习背后的关键概念和理论,以及它在现实世界中的应用,提供了许多例子,包括欺诈检测,搜索结果,实时广告,等等。它还提供了机器学习中使用的最常见的编程语言和工具的轻量级介绍。

Python 机器学习导论:数据科学家指南

Introduction to Machine Learning with Python: A Guide for Data Scientists

如果你有 Python 技能,并且正在寻求提高你的机器学习技能,这本书是给你的。Python 机器学习简介是构建 Python 机器学习基础的最佳资源之一。

这本书由世界级数据科学家 Andreas C. Müller 和 Sara Guido 合著,教授基础机器学习概念和算法。它还介绍了机器学习工作流,并提供了从数据清理到特征工程等任务的最佳实践。书中介绍的所有概念都用例子说明,使用的是 Python 最流行的机器学习包 scikit-learn

预测数据分析的机器学习基础:算法、工作实例和案例研究

Fundamentals of Machine Learning for Predictive Data Analytics: Algorithms, Worked Examples, and Case Studies

这本教科书特别适合有分析背景的专业人士。用于预测数据分析的第二版机器学习全面介绍了机器学习方法,包括理论和实践。

技术和数学解释得到了详细示例的支持,这些示例说明了机器学习模型在现实世界中的应用。例子从价格预测风险评估文件分类预测客户行为。第二版还加入了深度学习和机器学习技术的新章节,超出了预测分析,包括无监督学习和强化学习。

使用 Scikit-Learn、Keras 和 TensorFlow 进行机器实践学习:构建智能系统的概念、工具和技术

Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems by Aurélien Géron

Python 机器学习从业者会喜欢这本书的。使用 Scikit-Learn、Keras 和 TensorFlow 进行实际操作的机器学习是获得机器学习概述和提高实践技能的绝佳资源。

每章关注一种机器学习技术,提供了关于其背后的直觉、工作原理、用途的详细信息,以及大量 Python 示例。这本书不仅涵盖了机器学习,还涵盖了深度学习,为开发深度学习模型的两个最受欢迎的基于 Python 的框架 KerasTensorflow 提供了很好的介绍。

数据挖掘:实用的机器学习工具和技术

Data Mining: Practical Machine Learning Tools and Techniques by Ian H. Witten, Eibe Frank, Mark A. Hall  and Christopher J. Pal

数据挖掘:实用的机器学习工具和技术提供了机器学习概念的简单介绍,以及在现实世界中应用这些技术的数学理论和实用建议。

这本书的第四版包括反映该领域最新发展的新章节,包括概率方法和深度学习。另外值得一提的是,这本书附带了作者自己的软件 WEKA,这是一个易于使用的交互式界面中用于数据挖掘任务的机器学习算法的综合集合。

德鲁·康威和约翰·迈尔斯·怀特的《黑客的机器学习》

Machine Learning for Hackers by Drew Conway and John Myles White

机器学习是一个复杂的话题,因为它需要对编码和数学有深刻的理解。如果你是一个有经验的程序员,想进入机器学习领域,但对数学不是很精通,这本书非常适合你。

黑客的机器学习抛开了数学理论。它通过实际操作的真实世界应用程序来处理这一学科,例如基于 Twitter 数据和电子邮件垃圾过滤器构建推荐系统。使用 R 编程语言,每章专注于机器学习中的一个特定问题,包括分类、预测、优化和推荐。你可以在 DataFramed 播客上听作者之一德鲁·康威讲述如何建立数据科学团队

程序员的人工智能和机器学习:人工智能程序员指南

AI and Machine Learning For Coders: A Programmer's Guide to Artificial Intelligence by Laurence Moroney

你是一名软件开发人员,正在寻求职业发展,进军人工智能和机器学习领域吗?这本书是一个理想的起点。面向程序员的人工智能和机器学习基于 Laurance Monorey 广受欢迎的人工智能课程,通过动手实践、代码优先的方法,提供了机器学习的简单介绍。每章都提出了一个实际的用例来说明机器学习派上用场的不同场景,例如,计算机视觉自然语言处理,以及云计算

彼得·哈灵顿的《机器学习在行动》

Machine Learning in Action by Peter Harrington

与前两本书一样,彼得·哈灵顿的《行动中的机器学习》为愿意学习机器学习基础的 IT 专业人士提供了一个极好的教程。它避免了学术语言,直接把你带到日常工作中使用的技术。书中充满了基于 Python 的例子来呈现核心的机器学习算法和任务,包括数据预处理数据分析数据可视化

高级机器学习书籍

人工智能:斯图尔特·鲁塞尔和彼得·诺维格的现代方法

Artificial Intelligence: A Modern Approach by Stuart Rusell and Peter Norvig

如果你只有一本关于人工智能的书,这是你应该有的。被认为是该领域的经典之作,由世界级专家 Stuart Rusell 和 Peter Norvig 撰写的《人工智能:现代方法》是对人工智能理论和实践最全面、最新的介绍之一。

该书的第四版提供了机器学习,深度学习,机器人,自然语言处理和许多其他技术概念的新的和扩展的覆盖范围,以及与该领域内在相关的其他主题,包括隐私,公平和道德人工智能。这本书还包括所有主要人工智能算法的伪代码版本,清晰统一地呈现。

机器学习:概率视角

Machine Learning: A Probabilistic Perspective by Kevin P. Murphy

这本书于 2012 年出版,并获得了国际贝叶斯分析学会颁发的 2013 年 DeGroot 奖,对于那些对机器学习的数学基础感兴趣的人来说,这是一部经典。

谷歌研究科学家凯文·p·墨菲(Kevin P. Murphy)的《机器学习:概率视角》( Machine learning:a probability perspective)讲述了最常见的机器学习算法背后的数学过程。它提供了一个非正式但详细的关键主题的解释,如概率,最优化和线性代数。这本书包含最重要的算法,图像和例子的完整伪代码,涵盖了生物学,计算机视觉,机器人学等机器学习领域的应用。

使用 Python 的高级机器学习:通过掌握 Python 中的前沿机器学习技术来解决数据科学问题

Advanced Machine Learning with Python: Solve data science problems by mastering cutting-edge machine learning techniques in Python by John Hearty

使用 Python 的高级机器学习是通过最相关和最强大的机器学习算法的指南。这本书有许多与现实世界的应用程序一起工作的详细代码示例。这本书涵盖了一些最具创新性的机器学习技术,以处理各种非结构化数据,包括图像、音乐、文本和金融数据,对于那些希望将其技能提高到一个新水平的机器学习从业者来说,这是一个极好的资源。

强化学习:理查德·萨顿和安德鲁·巴尔托介绍

Reinforcement Learning: An Introduction

最近,机器学习领域中取得更多进展的一个领域是强化学习,即一种机器学习方法,在这种方法中,一个代理学习在一个环境中执行某些动作,从而获得最大回报。如果你对这个领域感兴趣,你应该读这本书。

尽管标题中出现了“简介”一词,强化学习还是对强化学习的关键思想和算法进行了全面的阐述。该书的第二版于 2018 年出版,包括了最近几年出现的新主题。虽然有些部分相当数学化,但这本书非常清晰,读起来很愉快。

统计学中的因果推理:朱迪亚·珀尔、玛德琳·格雷穆尔和尼古拉斯·p·朱厄尔的初级读本

Causal Inference in Statistics: A Primer by Judea Pearl, Madelyn Glymour and Nicholas P. Jewell

因果推理正迅速成为机器学习中的一个主要话题。这就是为什么这本书应该在这个名单上占有一席之地。由该领域的一些主要专家撰写,统计中的因果推断包含对因果关系领域的全面介绍。

尽管其性质复杂,但这是一本令人愉快的书,充满了经典统计学的例子,以说明因果关系的必要性,以解决数据科学家经常遇到的决策困境。

谈论事故就是谈论事情发生的原因。从这个意义上说,这本书充满了发人深省的问题,将邀请你更深入地思考这个重要的问题。

成为机器学习专家

机器学习是数据科学中最有用的技能之一。有越来越多的机器学习书籍可以帮助你打入该领域或成为专家。除了书本,你还可以在 DataCamp 上互动学习。查看以下资源:

查看我们的数据科学小抄,包括几份关于机器学习的小抄。

2022 年最值得阅读的 22 本数据科学书籍

原文:https://web.archive.org/web/20221129052847/https://www.datacamp.com/blog/the-22-best-data-science-books-to-read-in-2022

数据科学是当今发展最快的领域之一。世界各地的组织都在利用数据的力量来支持决策,并向其利益相关方提供创新体验。随着该领域的不断发展,数据科学书籍是从业者强化基础知识和跟踪最新技术和方法的好方法。

在本文中,我们准备了涵盖编程、统计、数据可视化等领域的顶级数据科学书籍的全面概述。我们开始吧!

初学者的最佳数据科学书籍

数据科学最佳编程书籍

从零开始的数据科学:Python 的基本原则

Data Science from Scratch: First Principles with Python by Joel Grus

从头开始的数据科学是一本适合初学者的完美书籍。在该书的第一版成功之后,Joel Grus 推出了一个修订版,使用 Python 3 编程语言涵盖了数据科学的基础知识。

围绕真正的数据科学问题,这本书通过从零开始实施解决方案,使用统计和编码的温和组合,涵盖了该领域中最重要的概念。

虽然你不需要事先知道如何使用 Python 来从这本书中获得你想要的所有结果,但是掌握一些该语言的知识会让你更容易学习。我们建议查看 DataCamp 的Python 入门课程以获得 Python 入门知识。

杰克·范德普拉斯的《Python 数据科学手册》

Python Data Science Handbook by Jake VanderPlas

这本由 Jake VanderPlas 撰写的综合性书籍包含了使用 Python 数据科学生态系统中最流行的工具和包的分步指南。这包括 Jupyter ,iPython, NumPy熊猫scikit-learnmatplotlib 等库。你会通过例子了解到你可以很容易地复制。

Python 数据科学手册自 2016 年发布以来,迅速成为 Python 中科学计算的参考。好消息是,的修订版有望在 2022 年底问世。你还可以在数据框架播客上听到杰克·范德普拉斯讨论这本书以及其他话题。

数据科学的 r:导入、整理、转换、可视化和建模数据

R for Data Science

如果你是一个想要进入数据科学的 R 程序员,这本书是给你的。由 R 的明星 Hadley Wickham 和 Garret Grolemnd 撰写,带有用于数据科学的R,您将通过使用多功能 R 编程语言和 RStudio 获得该学科的基础知识。

这本书不是从头开始教授核心的统计概念,而是将重点放在如何使用 R 进行数据分析,以便您可以熟悉流行的软件包,如 ggplot2tidyr 等等。总之,这是任何希望提高 r 基础知识的数据科学家的必读之作。

数据科学最佳统计书籍

想想艾伦·b·唐尼的数据

Think Stats by Allen B. Downey

要将数据转化为见解,你不仅需要知道如何编码,还需要知道如何在概率和统计中应用不同的方法。学习统计学是成功成为数据科学家的一个重要方面。幸运的是,这本书展示了学习统计学可以是容易和有趣的。

Think Stats 是 Python 程序员对概率和统计的介绍。通过整本书的单个案例研究,您将了解在数据科学工作流程的不同步骤中使用的不同统计方法。

这本书广泛地涵盖了统计学中的关键概念,如描述性统计,分布,概率规则,可视化等等。你也可以看看 Allen Downey 关于 DataCamp 的书——《Python 中的探索性分析》。

统计学习导论:在 R 中的应用

An Introduction to Statistical Learning

针对统计学家和非统计学家,统计学习介绍提供了一个可访问的数据分析统计领域的概述。

它包括统计学习中一些关键主题的广泛和可访问的处理,包括线性回归,分类,重采样方法,收缩方法,基于树的方法,支持向量机,聚类等。还可以通过 R 技能赛道查看统计基础知识,陪伴学习。

数据科学家实用统计学:使用 R 和 Python 的 50 多个基本概念

Practical Statistics for Data Scientists

统计学是数据科学的核心部分。然而,正如这本书的作者所说,许多数据科学家缺乏统计学方面的正式培训。数据科学家实用统计学是填补这一空白的绝佳资源。

这本优秀的书提供了在数据科学中应用统计方法的实际指导。它侧重于如何避免在数据科学工作流中滥用统计数据,并就应用最广泛使用的统计技术提供战术建议。第二版增加了 Python 和 r 的新例子。

数据科学的最佳机器学习书籍

Python 机器学习导论:数据科学家指南

Introduction to Machine Learning with Python

机器学习是数据科学工具包不可或缺的一部分。如果你是一个对学习机器学习感兴趣的 Python 程序员,这本书将为你提供你所需要的一切。

Python 机器学习入门是开启你机器学习之旅的理想书籍。由 scikit-learn 包的核心开发者之一编写,这本书广泛地涵盖了在 Python 的 scikit-learn 包中构建机器学习模型的来龙去脉。

使用 Scikit-Learn、Keras 和 TensorFlow 进行机器实践学习:构建智能系统的概念、工具和技术

Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow

在这本中,奥雷连·杰龙解释了基于流行的 Python 工具和框架的机器学习的基本技术,如 scikit-learn、 KerasTensorflow

这本书采用了一种实用的机器学习方法,避免了许多机器学习模型背后的理论让你不知所措。它还解释了更高级的概念,如深度学习和神经网络。它在每一章中都包括练习,所以你可以很容易地实现这些例子并从中学习。

安德烈·布尔科夫的百页机器学习书

The Hundred-Page Machine Learning Book by Andriy Burkov

如果你只是对机器学习感到好奇,并希望在不进入技术细节的情况下开始学习这门学科,或者你是一名希望重温核心概念的机器学习从业者,你应该去找一本百页的机器学习书籍。

在仅仅 100 页的篇幅里总结如此复杂和广泛的学科是安德烈·布尔科夫成功的引人注目的努力。读完之后,你将能够理解不同类型的机器学习,预测模型的设计和部署中的核心概念,以及启动基于机器学习的应用程序需要什么。

学习机器学习理论基础的另一个重要资源是面向所有人的机器学习免费课程。

数据科学最佳数据可视化书籍

阿尔贝托·开罗的功能艺术

The Functional Art by Alberto Cairo

功能艺术中,数据记者 Alberto Cairo 提出了如何使数据可视化背后的艺术功能化的问题。换句话说,如何在不牺牲有用性和洞察力的情况下创建漂亮的可视化效果。

从数据可视化最佳实践的详细概述出发,Cairo 总结了我们大脑的特性以及它们如何影响我们感知和记忆图形信息的方式。读完这本书后,你处理数据可视化的方式将永远改变。

信息仪表板设计:显示数据进行一览式监控

Information Dashboard Design

仪表板提供了一种最有效的方式来直观显示来自不同来源的数据。它们已经成为数据驱动型公司基础设施的核心元素,允许数据消费者和数据从业者同时访问数据和 KPI。然而,正如 Stephen little 在他著名的书中指出的那样,仪表盘的设计通常是笨重而低效的。

信息仪表板设计被认为是创建引人注目的仪表板的实用指南。从设计理论和数据可视化的原则出发,这本书继续介绍设计仪表板的行业最佳实践。它还提供了许多从理论到实践无缝过渡的例子。

有效的数据叙事:如何用数据、叙事和视觉推动变革

Effective Data Storytelling

对于任何从事数据科学工作的人来说,与数据有效沟通的能力都是一项关键技能。数据可视化可以帮助我们完成这项任务。然而,如果我们想确保我们的数据洞察力转化为行动,我们需要考虑影响沟通的其他资源和元素。这就是有效数据讲述背后的理念。

布伦特·戴克斯(Brent Dykes)出现在数据框架播客“有效的数据故事讲述:如何将见解转化为行动”的一集中,在他的书中,戴克斯开发了一个数据故事讲述的框架,这种方法结合了三个核心元素:数据、叙事和视觉。总而言之,这本书是任何经常用数据交流的人的必备资源。

Sandra Rendgen 和 Julius Wiedemann 的信息图表

Information Graphics by Sandra Rendgen and Julius Wiedemann

信息图形是一本精美绝伦的书,探索了大时代视觉传播的发展。它包含了一系列关于数据可视化历史的文章和 400 个跨越我们社会众多领域的图形项目的真实例子。任何对现代视觉传达的历史和实践感兴趣的人都会发现这很有用。

额外的数据科学书籍

凯西·奥尼尔的《摧毁数学的武器》

Weapons of Math Destruction by Cathy O’Neill

2016 年出版的数学毁灭的武器为关于大数据的伦理影响的必要辩论铺平了道路。根据凯茜·奥尼尔的说法,算法正在延续有害的偏见。奥尼尔用真实的例子说明了这些偏见,他在书的最后指出,透明度和算法审计对于一个更加公平的未来是多么必要。听听凯茜·奥尼尔在数据框架播客上讨论她的书。

《每个人都在撒谎:大数据、新数据和互联网能告诉我们关于我们到底是谁》作者:Seth Stephens-Davidowitz

Everybody Lies by Seth Stephens-Davidowitz

搜索引擎是大数据的最大驱动力之一。每天,我们仅仅通过在搜索引擎中键入查询就创造了数十亿兆兆字节的数据。这些信息可以揭示我们的行为、偏见和恐惧。在畅销书《每个人都在说谎》中,斯蒂芬斯-达维多维茨挖掘了谷歌搜索数据,并为经济、伦理、政治、种族、性别等问题提供了答案。

压迫的算法:搜索引擎如何强化种族主义

Algorithms of Oppression: How Search Engines Reinforce Racism by Dr. Safiya U. Noble

压迫算法中,Safiya U. Noble 深入探究了搜索引擎如何向查询返回有偏见的结果。她认为,促进某些结果的激励措施,加上相对少数互联网搜索引擎的垄断地位,导致了种族主义和性别歧视算法,这些算法在互联网上延续了有害的陈规定型观念。这本书概述了数据科学在缓解和加强种族主义方面的力量。

比尔·弗兰克斯的《数据科学中的每个人都应该知道的 97 件关于道德的事情》

97 Things About Ethics Everyone in Data Science Should Know by Bill Franks

大多数引人注目的真实或感知的数据科学有害影响的案例并不是由不良意图驱动的。相反,它们通常是由于在设计和部署过程中缺乏仔细的伦理审查而导致的。数据科学领域的每个人都应该知道的 97 件道德问题的目标是确定道德最佳实践,以整合到数据分析工作流中。该书基于顶级数据科学从业者的观点。

赤裸裸的统计:从数据中剥离恐惧

Naked Statistics: Stripping the Dread from the Data by Charles Wheelan

读者将会对这种发人深省和生动的观点感到高兴,这种观点阐述了当今公司如何利用统计数据来操纵我们的行为。著名作家 Charles Wheelan 平衡地结合了理论以及好的和特别是坏的实践的真实例子,为更好地理解我们的社会提供了线索,并为更好的统计素养提供了理由。

不要相信你的直觉:用数据获得生活中你真正想要的东西

Don't Trust Your Gut: Using Data to Get What You Really Want in Life by Seth Stephens-Davidowitz

大多数关于大数据的书籍都倾向于关注数据在支持业务决策方面的应用,忽略了数据也可以帮助我们的日常生活这一事实。不要相信你的直觉来解决这个问题。它提供了一个实用指南,说明数据如何比直觉更好地支持我们一生中必须做出的大大小小的选择。

雅各布·艾森斯坦的《自然语言处理导论》

Introduction to Natural Language Processing By Jacob Eisenstein

如果你已经有了编码和统计的基础知识,并且想把你的职业生涯转移到自然语言处理领域,这本书就是为你准备的。Jacob Einstein 的《自然语言处理简介》提供了 NLP 的技术视角,将当代机器学习技术与该领域的语言学和计算基础联系起来。

实践中的大数据:45 家成功公司如何利用大数据分析交付非凡成果

Big Data in Practice by Bernard Marr

标题本身就说明了一切。畅销书作家 Bernard Marr 写了这本独特而实用的,讲述了 45 家最知名的公司如何在日常运营中使用大数据。他为寻求有效使用数据的其他组织提供了很大的启发,并揭示了在实施这些解决方案时要避免的一些陷阱。

《大数据:了解数据如何推动大企业》作者 Bill Schmarzo

Big Data: Understanding How Data Powers Big Business by Bill Schmarzo

由大数据领域最杰出的专家之一撰写的《大数据:了解数据如何推动大企业发展》一书向我们全面概述了什么是数据以及如何使用数据。这本书充满了实用的技巧、想法、技术、方法和真实的例子,概述了大数据工具和技术如何加速商业价值。

了解有关数据科学的更多信息

我们希望你发现这个列表很有见地。书籍是学习数据科学的重要资源,无论是开始一个新的主题还是成为一名专家。但是如果你没有时间看书,我们还是会帮你的。查看以下资源并立即开始!

数据行业最受欢迎的 9 项技能

原文:https://web.archive.org/web/20230101102924/https://www.datacamp.com/blog/the-9-most-in-demand-skills-in-the-data-industry

Data Skills

按需数据技能

数据产业的未来一片光明。在全球范围内,大数据市场预计到 2027 年将达到 1030 亿美元。随着越来越多的公司将业务建立在数据基础上,对知道如何管理、分析和展示数据的人有着大量的需求。因此,对于任何想进入该行业的人来说,强大的数据技能都是必不可少的。

自从大数据兴起以来,对数据专业人员的需求一直很大。由于这一趋势没有放缓的迹象,我们重点介绍了一些业内最受欢迎的数据技能。

1.Python 技能

Python 是一种流行的开源编程语言,也是数据专业人员的必备技能。2017 年,福布斯报道Python 经历了比前一年 456%的增长率,这一飞跃部分归因于该语言对数据行业的适用性。

对于数据分析,Python 是无可匹敌的。该语言直观的语法使我们能够轻松快速地创建和管理数据系统。

此外,有这么多的人使用这种语言进行数据工作,有许多现成的包和框架可用,这意味着几乎不需要从头开始。例如,流行的 pandas 库包含许多用于操作、分析和表示数据结构和复杂数据集的工具。

我们产生了大量的数据,组织和操作这些数据的需求变得前所未有的重要。使用 Python 进行数据分析很有意义,这也是它成为许多公司技术堆栈核心部分的原因之一。

就数据可视化而言,Python 也是一个很好的选择,既简单又具有交互性。同样,广泛的库和包意味着丰富的选择。

发展您的 Python 技能

从我们的在线课程开始您的 Python 之旅,Python 简介Python 数据科学简介

2.SQL 和 NoSQL 技能

虽然 SQL 从 60 年代就已经存在,但它的重要性不能低估,它在今天的相关性也不能低估。根据 Emsi 的研究,仅在 2021 年 5 月,就有 217,968 个独特的职位发布列出了 SQL。

SQL 代表结构化查询语言。这个数据-工业本质有一个重要的工作:它允许我们交流和询问关系数据库的问题(查询)。您可以将 SQL 视为一种语言和数据库类型。

世界上有如此多的数据,我们需要有效地存储数据并在需要时提取信息的方法。数据库是各行各业各种规模的公司的首选解决方案。

我们既有关系数据库或 SQL 数据库,它们根据数据点之间的关系进行结构化,也有非关系数据库或 NoSQL 数据库,它们的结构化程度较低,能够处理大量复杂数据。

为了在数据行业取得成功,您需要管理这两种类型的数据库,并使用 SQL 及其变体来查询这些数据库和收集信息。

发展您的 SQL 和 NoSQL 技能

通过 SQL 简介的开始你的关系数据库查询技能,或者在 SQL 关系数据库简介中学习如何创建你自己的数据库。接下来,掌握 NoSQL 概念

3.r 技能

R 是一种统计工具,是全球学术研究的首选语言。由于它在数据任务中的灵活性和多功能性,它在数据行业中也有很高的使用率。

R 最初是由统计学家为统计计算而构建的,可用于探索、建模和可视化数据。它还可以处理、存储和分析数据,并执行统计建模。

r 是许多机器学习工程师、数据科学家和分析师的首选语言。因此,有大量的包和库支持数据专业人员的工作并扩展 R 的功能。例如,在 2017 年,Revolution Analytics 注意到在综合 R 分析网络(CRAN)上有超过 10,000 个包,这是一个 R 工具的公共存储库。

在撰写本文时(2022 年 6 月),R 在 Pluralsight 的技术指数数据中占据领先地位,该指数每月聚合数十亿个数据点,以揭示增长率和各种技术工具和技能的受欢迎程度。

不仅仅是需求,R 技能也是 IT 和数据行业收入最高的技能之一。

发展你的休闲技能

在我们的R入门课程中发现基础知识,然后在中级 R 中更上一层楼。接下来,在tidy verse简介中学习一套专用的 R 工具如何帮助你争论和可视化数据。

4.数据可视化技能

数据包含秘密,数据专业人员的工作是提取秘密并将其转换为每个人都能理解的格式。

数据可视化是数据的图形表示;它们帮助我们将复杂的信息浓缩成一点点大小,易于阅读。毕竟,与数字的行和列相比,一个展示良好的仪表板或图形丰富的报告更有冲击力。

可视化还可以帮助我们发现变量之间的差异,并揭示表格格式中不容易看到的模式,使可视化成为一种有用的分析工具。

因为各种规模和各种行业的企业都需要知道如何有效交流数据见解的人,所以对拥有数据可视化技能的人的需求正在稳步增长。

数据专家使用几种工具以可视化格式交流他们的发现,包括 Python、R、Tableau、Power BI 和电子表格。

发展您的数据可视化技能

参加数据可视化的免费介绍或阅读 DataCamp 的全系列数据可视化课程。从 plotly 到 Power BI,您将找到涵盖您首选工具和技术的课程。

5.机器学习和自然语言处理(NLP)技能

到 2029 年,全球机器学习市场预计将达到令人印象深刻的 2090 亿美元,对拥有这些类型数据技能的人的需求也相应增加。

2020 年的统计数据显示,82%的组织需要具有机器学习能力的人,而只有 12%的组织表示机器学习专业人员的供应充足。

在当今数据向前发展的世界,很难找到不以某种方式依赖机器学习的行业。无论是预测投资回报率,估计未来的库存需求,还是预测消费者行为,机器学习都在幕后工作。

自然语言处理(NLP)是人工智能(AI)的一个子领域,在数据行业也正在兴起。文本包含大量有用的信息,基于 NLP 的挖掘技术可以帮助数据专业人员快速找到他们想要的东西。

这也意味着我们的计算机可以解析文本并有意义地组织数据,帮助数据专家有效地分析大量的文本数据。

发展你的自然语言处理和机器学习技能

通过我们的面向所有人的机器学习课程来了解基础知识,或者在商业机器学习中了解这项技术如何用于更好的业务。

Python 自然语言处理简介中,了解 Python 如何帮助您从文本中获得洞察力,或者在R 自然语言处理简介中,将您的 R 技能提升到一个新的水平。

6.亚马逊网络服务(AWS)和云驱动的计算技能

随着公共和私人组织收集和存储的数据比以往任何时候都多,他们需要一种聪明的方法来管理海量信息,这种方法不需要庞大的现场服务器(或相关的维护成本)。

基于云的服务是许多实体的首选解决方案。亚马逊网络服务(AWS)等数字产品允许客户在数据湖中收集前所未有的大量信息,它们还提供内置工具来帮助分析。

想要让自己的数据技能与需求相匹配的数据专业人员应该投资于他们的云计算知识。根据 Statista 的数据,AWS 是世界上最受欢迎的云服务,在 Q1 2022 年拥有 33%的市场份额。

除了 AWS,了解微软 Azure 和谷歌云平台的基础知识也是有用的,这两个平台分别持有 21%和 10%的市场份额。

当然,这不仅仅是了解公司使用的系统。这也是关于能够扩展你自己的数据架构和系统,云允许你这样做。例如,您无法在本地环境中容纳非常大的数据集,或者您可能需要比您的设备所能提供的更多的硬件能力。

发展您的 AWS 和云计算技能

通过我们的无代码课程深入了解基础知识:面向所有人的云计算AWS 云概念。接下来,在Python 中的 AWS Boto 简介中学习如何优化你的工作流。

7.提取、转换、加载(ETL)技能

数据工程技能非常抢手。DICE 的 2020 年技术工作报告显示,数据工程是增长最快的工作,甚至超过了数据科学。提取、转换和加载(ETL)是一项数据工程技能,可以帮助我们高效地处理大数据。

有了技术库中的 ETL 技能,您就可以构建收集数据所需的数据管道,将数据转换成所需的格式,然后将其加载到数据存储系统中。

ETL 意味着从一系列结构化和非结构化来源收集数据,并使其可用和可读的能力,这是所有公司在数据驱动的环境中竞争所需要的。

在 2022 年对 1600 名数据专业人员的 Cord 调查中,ETL 被指定为“主要”技能。

发展您的 ETL 技能

通过我们的Python 中的 ETL课程,了解如何创建您自己的数据管道,在该课程中,您将了解如何高效地提取、转换数据,并将数据加载到您公司常用的系统中。

8.统计技能

虽然你不需要统计学或数学的硕士或博士学位来处理数据,但对几个关键概念的扎实理解是很重要的。

统计学作为一个领域是关于收集、组织、分析和解释信息的,所以你可以看到数理统计和数据科学实践之间有一个重要的交叉。

了解某些统计原理和统计技术意味着数据专业人员可以构建''稳健的'数学和统计模型,并正确理解他们正在分析的数据。

如果你想提高你的数学能力,目标是掌握重要性、概率、假设检验和回归的工作知识。

贝叶斯思维——一种基于根据新证据或数据计算和更新概率的原则的思想流派——对那些从事人工智能技术工作的人也很有用。

发展你的统计技能

在接触更高级的概念之前,先从一门无代码的统计学介绍课程开始。

DataCamp 提供了 70 多门侧重于统计和概率的课程,所以你可以挑选你喜欢的技术,温习你的统计技术。

9.人工智能技能

知道如何使用和微调人工智能工具可以将数据专业人员变成分析专家,能够比没有人工智能帮助的人更快地整理和分析庞大的数据集。

ZDNet 报道称,每个月大约有 10,000 个人工智能和数据科学职位开放,许多公司都在寻找理解现成解决方案并对深度学习和神经网络系统有更深入了解的人。

人工智能是一个巨大的领域,包含所有模拟人类智能的工具和技术,这包括机器学习和 NLP 等数据行业的主要产品。

发展你的人工智能技能

我们如何接近人类的智力?围绕人工智能基础中的基本概念展开你的头脑。

不同的数据角色需要不同的技能

我们上面介绍的数据技能对所有数据专业人员都有用,但是有些角色需要对某些技能有深入的了解。

例如,如果没有对机器学习的扎实理解,你就不可能成为一名机器学习工程师。同样,如果没有良好的 SQL 和 NoSQL 工作知识,你也找不到数据库管理员的工作。另一方面,对于入门级的数据分析师工作,您可能不需要高级 ETL 技能。

那么每个数据角色中哪些技能最重要呢?看看下面的信息图:

data role skills infographic

结论

数据行业正在蓬勃发展,世界各地都需要数据专业人员。获得你梦想中的数据工作是发展雇主寻求的核心技能的问题——查看 DataCamp Jobs 上的最新数据工作以了解更多。

无论您是想在数据管道的分析端,还是在云中开发数据架构和系统,或者构建高级 NLP 工具,DataCamp 都可以帮助您实现这一目标。

不仅仅是引人入胜的课程,我们还提供跨技术和工具的图书馆价值的资源来支持和巩固您的学习。

免费上我们任何课程的第一课,了解全球 900 万学习者信赖 DataCamp 的原因。

2022 年最佳 SQL 工作:用 SQL 开启新的职业道路

原文:https://web.archive.org/web/20230101102924/https://www.datacamp.com/blog/the-best-sql-jobs-in-2022-unlock-new-career-paths-with-sql

SQL Jobs Header

如果你在任何数据驱动的行业中学习或工作过,你肯定听说过 SQL。本教程将帮助你理解什么是 SQL,并且将回顾 SQL 成为许多职业必备技能的原因。在本教程结束时,你将有足够的指针来欣赏最好的 SQL 工作,并开始自己的职业生涯!

什么是 SQL?

发音为“S-Q-L”或“sequel”的 SQL 代表结构化语言SQ 查询 L 。它是一种特定领域语言(DSL),一种专用于特定应用领域的计算机语言;比如网页的 HTML。DSL 与通用语言(GPL)形成对比,后者广泛适用于各个领域;比如——Python,C,C#等。

SQL 用于编程,设计用于管理存储在关系数据库管理系统( RDBMS )中的数据。它在处理结构化数据,即包含实体和变量之间关系的数据时特别有用。这些实体和变量被组织成一组包含列和行的表。

结构可以感觉和 Excel 很像。然而,一般来说,数据库(不仅仅是 RDBMS)比 Excel 电子表格更强大,原因有三:

  1. 数据库可以与许多其他编程语言交互,尤其是 GPLs——这给了程序员更多的能力来管理和检索数据中的信息。
  2. 与 Excel 中的电子表格相比,数据库可以处理更多的数据。Excel 可以处理多达一百万行数据,而数据库可以处理超过十亿行。然而,伴随数据量而来的还有速度问题。令人欣慰的是,成熟的数据库已经开发出高度复杂的优化查询的方法,使底层系统保持快速和几乎实时。
  3. 数据库可以更容易地连接到互联网,允许数百个用户和应用程序同时访问它们。

常见的 SQL 术语

我们前面谈到了关系数据库。RDBMS 是 SQL 的基础。RDBMS 中的数据存储在名为的数据库对象中。一个数据库通常包含几个表。每个表都由一个唯一的名称标识,并包含一个由行和列构成的相关数据条目的集合。表中的列称为字段,保存表的特定属性的值。表中的每一行被称为一个记录

表格:客户

| 客户 ID | 客户名称 | 国家 | 邮政编码 |
| One hundred and one | 无名氏 | 德国 | Twelve thousand two hundred and nine |
| One hundred and two | 简·多伊 | 英国 | WA1 1DP |

上表称为“客户”,有四个字段:客户 Id、客户名称、国家和邮政编码。该表只保存两条记录——每个客户一条。

SQL 查询用于处理存储在 RDBMS 中的数据。查询只不过是由各种 SQL 命令组成的语句,这些命令一起执行特定的任务。

其中一些任务可以是更新数据库中的数据、从数据库中检索数据、创建新表、删除表等。使用 SQL 的一些常见 RDBMS 有 Oracle、Microsoft SQL Server、Microsoft Access、Sybase 和 Ingres。

一些最常用和最重要的 SQL 命令是:

  • 选择 -从数据库中提取数据。
  • 插入到 -将新数据插入到数据库中。
  • 更新 -更新数据库中的数据。
  • 删除 -从数据库中删除数据。
  • 创建表格 -创建一个新的表格。
  • 修改表格 -修改表格。
  • DROP TABLE -删除一个表(使用这个表要绝对小心!).

要查看存储在上面定义的“客户”表中的所有数据,只需执行一个 SQL 查询,例如SELECT * FROM Customers

SQL 命令使用关键字——这意味着它们是预定义的保留字,具有特殊的含义。SQL 关键字不区分大小写:所以 SELECTselect 是一样的,但是用大写字母来写它们被认为是一个很好的做法,这样可以使它们在参数中突出出来。

一些数据库系统要求在每个 SQL 语句的末尾有一个分号。这个分号是数据库系统中分隔 SQL 语句的标准方式。这允许在对数据库的同一个调用中执行多个 SQL 语句。

Datacamp 的SQL 简介是一门很棒的课程,可以帮助你入门 SQL。而且很棒的是,这是一门完全免费的互动课程!我们鼓励您继续学习 SQL 基础课程中的其他课程。

为什么要发展你的 SQL 技能?

SQL 具有简单直观的语法,易于学习。SQL 的功能多得令人难以置信,从数据科学家和工程师到只是想更懂数据的人,每个人都在使用它。

SQL 最初是在 20 世纪 70 年代早期由 IBM 开发的,尽管它已经存在了相当长的一段时间,但对于许多职业来说,它仍然是一项基本的甚至是不可或缺的技能。在我们深入探讨一些最佳 SQL 工作之前,让我们来看看是什么让 SQL 成为一项必备技能,以及为什么我们鼓励您发展 SQL 技能。

1.广泛应用于不同行业

SQL 无处不在!科技行业的所有大牌都在用它:谷歌、亚马逊、脸书、网飞、Airbnb、优步等等。它不仅仅用于科技行业或大公司,而是用于各种规模的多个行业,直接或间接使用它。SQL 在金融和医疗保健行业被大量使用——因为它们会产生大量的数据。在 LinkedIn 上快速搜索一下,或许能让你对这种广泛传播有所了解。

2.需求量很大

这并不奇怪!数据是新的黄金,在处理和使用大数据时,SQL 是一个非常强大的工具。

如果你开始找工作,你可以在 LinkedIn 上找到超过一百万份 SQL 工作。根据美国劳工统计局的数据,拥有高级 SQL 技能的专业人士,如数据库管理员和数据库架构师的平均年薪为 98,860 美元,未来几年的就业增长前景为 8%。

3.五大“最常用”编程语言

如果您是一名程序员,SQL 是一项很好的技能,可以添加到您的工具箱中。在 StackOverflow 的 2021 年开发者调查中,收集了 83,052 名开发者的反馈,SQL 拥有强大的优势。

正如您在上面所读到的——在讨论数据库与 excel 的对比时,SQL 在数据处理和操作的简便性和速度方面为任何与数据相关的工作提供了多种好处。所以如果你在找一个数据密集型的职业,SQL 是至关重要的!

The top 5 most commonly used programming language

利用最佳 SQL 工作开启新的职业道路

如果你希望使用 SQL,有很多机会。下面,我们挑选了一些最好的 SQL 工作给你一些启发。如果你正在寻找数据行业的工作,看看 DataCamp Jobs ,它可以帮助你找到适合你技能的职位。

1.数据科学家/数据分析师

数据科学家和数据分析师在其涵盖的行业方面非常灵活。例如,你可以是石油或天然气行业的数据科学家,也可以是海洋生物保护领域的数据分析师。类似地,医药行业中也有 SQL 角色作为数据科学家,甚至是专注于基于事实的报告的数据记者。

但无论是哪个行业,任何数据科学或数据分析任务的第一步都是收集你的数据。这可能意味着从各种数据库表中获取数据。然后整理这些大量的数据,产生见解,产生结果来支持或拒绝你的假设。对于这种数据操作,SQL 是一项非常重要的技能。

您需要能够编写复杂的 SQL 查询来准确获取您的研究所需的数据。这可能意味着使用联接、编写子查询、使用 SQL 窗口函数等,同时密切关注查询性能调优。

根据 Indeed 的数据,在美国,拥有 3-5 年工作经验的数据科学家的平均工资为 102,422 美元。

2.商业分析师/商业智能开发人员

无论你是在营销、金融还是产品领域,知道如何做出数据驱动的决策是成功的关键。您对数据的检索和分析越流畅,您就能越快地发现可行的见解并发展您的业务。

作为一名具有 SQL 技能的业务分析师,您可以轻松地将表链接在一起以获得所需的数据。例如,前面描述的“客户”表可以链接到数据库中的另一个表,如下面描述的“订单”。此链接基于两个表中的公共字段:“CustomerID”。

此链接可以让您更好地了解客户细分。有了这些知识,你就可以针对这两个不同的客户群。

:订单

| 客户 ID | 订单号 | 总订单值 |
| One hundred and one | Ten million one hundred and thirty-four thousand three hundred and forty-three | Fifty-four |
| One hundred and one | Thirty-four million three hundred and twenty-four thousand two hundred and forty-two | Twenty-nine |
| One hundred and two | Fifty-six million seven hundred and fifty-seven thousand six hundred and fifty-seven | Three hundred and fifty-five |
| One hundred and one | Twelve million four hundred and sixty-eight thousand seven hundred and ninety | Ten |
| One hundred and two | Twelve million three hundred and forty-six thousand eight hundred and thirty-two | Seven hundred |

根据 Indeed 的数据,在美国,拥有 6-9 年经验的商业分析师的平均年薪为82327 美元。

查看 DataCamp 专门针对业务分析师的 SQL 培训课程,通过实践,您将学到超越和克服现实世界业务挑战所需的一切。

3.软件开发人员/工程师

软件开发人员创建计算机软件和应用程序。他们是编程软件的人,包括新的程序和功能。

SQL 可能并不总是作为软件开发人员的绝对要求出现在工作列表中。然而,这通常是因为 SQL 被认为是每个开发人员都具备的基本技能之一。所以,了解 SQL 是成为一名优秀软件工程师所需的基本技能!

此外,拥有 SQL 知识的开发人员比没有掌握 SQL 的同行更有可能获得更高的报酬。Indeed 列出了拥有 3-5 年工作经验的软件工程师的平均年薪为 93,972 美元。

DataCamp 的 SQL Server Developer 是将您的 SQL 技能从初学者提升到中级水平的绝佳途径。

4.数据库架构师

数据库架构师负责设计数据库以满足雇主的需求。数据库架构师开发建模策略,以确保数据库是安全的、可伸缩的和可靠的。

设计就绪后,数据库架构师与其他 IT 专业人员(如软件工程师、系统管理员、分析师和数据库管理员)一起实现数据库。

数据库可以有不同的形式:关系数据库、NoSQL 数据库、基于图形的数据库、分布式数据库等。数据库架构师必须熟悉所有不同种类的数据库,并且具有识别什么样的情况需要什么样的数据库的专业知识。

此外,SQL 是许多流行的现代数据库系统的基础,如 MS SQL Server、IBM DB2、Oracle、MySQL 和 Microsoft Access。因此,对于任何数据库架构师来说,SQL 的丰富知识都是必不可少的。

事实上,数据库架构师的平均年薪是 121,957 美元。

5.数据库管理员

数据库管理员的主要工作是确保数据库高效、安全地运行。他们负责维护用户信息,为他们分配适当的访问权限,并监控使用情况。

数据库管理员使用脚本语言对数据库进行编程,以满足用户的需求,这被称为性能调优。如果数据库工作不正常,它们还会修复问题。数据库管理员还在日常基础上执行备份存储数据的任务。

根据 Indeed 的数据,该职业的平均年薪为 $121,957 ,是 2022 年最好的 SQL 工作之一。

DataCamp 有两个数据库管理员专业方向:一个是针对数据库管理员的SQL Server,另一个是针对数据库管理员的 PostgreSQL,称为SQL

SQL 及其他

工作地点和你的经验水平在决定你的薪水时会起到很大的作用。就像每一份工作一样,没有一项技能能帮到你。这是一个技能和专业知识的混合物,把奖品带回家!SQL 开发人员需要解决问题、关注细节、故障排除、软技能和技术技能来充分利用数据和保存数据的数据库。

当你掌握了 SQL 知识后,你可以选择不同的 SQL 职业道路,我们只是触及了表面。正如你所意识到的,这些职业在角色和职责上有很多重叠。

在您的职业生涯中,您可能还会发现自己戴着不同的数据库专业帽子,因此无论您选择哪条道路,我们都鼓励您迈出第一步,开始学习 SQL。

无论您是一名 SQL 初学者,还是希望发展现有技能,DataCamp 都将帮助您按照自己的进度学习,将新技能付诸实践,并建立您的 SQL 组合。

查询愉快!

科学计算中的 Python 案例

原文:https://web.archive.org/web/20230101103400/https://www.datacamp.com/blog/the-case-for-python-in-scientific-computing

今年在 PyCon 2017 上,来自科学 Python 社区的人做了两个主题演讲:Jake Vander plas博士讲述了为什么科学家已经并且应该拥抱 Python;Kathryn Huff博士讲述了 Python 社区如何帮助科学界,以及为什么他们应该这样做。这两个讲座结合在一起,对科学研究和 Python 编程如何相互补充,为什么当今许多在职科学家采用 Python 会得到最好的服务,以及 Python 社区为什么以及如何能有效地帮助科学研究,提出了一个整体和一致的观点。

Python 在科学计算中意想不到的效果

杰克·范德普拉斯是西雅图华盛顿大学科学研究所的天文学家。他还活跃于更大的科学 Python 社区,为 SciPy、scikit-learn 和 altair 等 Python 包做出了贡献。

大多数人想象天文学家在巨型望远镜的底座上,凝视着镜头,然而杰克向我们保证,大多数天文学家在他们的职业生涯中从未通过望远镜观察过,而是将大部分数据收集时间用于使用数据库查询。但是当谈到天文学家的计算技能时,数据库真的只是冰山一角,这是他们面临的任务所必需的,杰克举了几个有启发性的例子。以下面的 TRAPPIST-1 系外行星系统 的可视化为例:

scientific computing python

现在,人们很容易认为这是一幅真实的照片,但实际上这是艺术家的解释:这不是原始数据。这颗行星的存在是通过一颗日蚀恒星并使用这种系统的统计模型对以下和后续数据(以图像的形式,数据来自 Ethan Kruse)进行推断的:

python for research

所有这些推断和统计分析是如何完成的?当然是用 Python。并通过“令人难以置信的复杂的系统统计模型”;此外,杰克告诉我们,找到这类系统“归结为在复杂的数据分析管道中编写统计代码”。

这是杰克向我们展示的在其数据处理和分析管道中使用 Python 编程语言的几个科学项目(天文学)之一。值得注意的是,所有这些项目不仅是用开源编程语言编写的,而且它们都在 github 上有自己的代码,例如,开普勒JWST ,后者试图发现其他行星大气中的气体,以嗅出其他恒星周围行星的化学成分,以帮助找到其他生命形式的化学特征——这些项目是用 Python 编写的,托管在 github 上,并使用 Jupyter 笔记本等工具。

这可能是轶事吗,即 Python 中的少数项目是例外而不是规范?嗯,不是在天文学上。杰克做了一项分析,证明使用 Python 的出版物稳步上升:

python scientific computing

看看那条蟒蛇曲棍球棒!所以我们已经确定科学家越来越多地使用 Python,但是为什么他们使用 Python?

科学计算中 Python 的争论

杰克问道:为什么 Python 是科学中如此有效的工具?

1.与其他语言的互操作性。

Python 作为粘合剂:历史上,许多工作中的科学家都有笨拙、复杂和本质上荒谬的数据管道来将它们从实验和/或数据转换成可交流的结果,包括数据库查询、命令行 foo、使用专业或专有软件,直到数据可视化工具。杰克·范德普拉斯引用了戴夫·比兹利的话,部分原因是戴夫说得好:

科学家...使用各种系统,包括模拟代码、数据分析包、数据库、可视化工具和自主开发的软件——每一种都为用户提供了一套不同的界面和文件格式。因此,科学家可能会花相当多的时间试图让所有这些组件以某种方式一起工作。

Python 可以与大多数你想在科学研究中使用的工具进行交互操作:它是一种粘合剂。正如杰克所说,Python 被用来“将人们正在使用的工具大杂烩粘在一起;高级 Python 语法包装了这些低级 C/Fortran 库。

2.“包含电池”+第三方模块

科学家们蜂拥使用 Python 的另一个原因是(为什么那些还没有“应该”使用 Python 的人)

  1. 它有很多“包括电池”和
  2. 对于那些没有的,有一个巨大的科学 Python ( SciPy)生态系统可以用作第三方模块。

“包括电池”允许你抓取网页,启动网络服务器,使用文件系统和数据库,读取 jsons 和更多!

然而,“第三方”模块才是真正令人兴奋的地方。示例包括但不限于:

  • 数组计算的数值:
  • Python 之上的 IPython 和 Jupyter for IDE,以及编写科学文档和就研究/成果进行交流和协作的手段;
  • 用于缩放和分布式计算的 Numba 和 Dask
  • 熊猫换数据框;
  • 例如,用于数据可视化的 Matplotlib 和 Bokeh(Python 本身有一个完整的 dataviz 库生态系统);
  • sci kit-为机器学习而学习;
  • 用于创建、操作和研究复杂网络的 NetworkX
  • Scikit-image 用于图像处理;
  • 马尔可夫链蒙特卡罗的 PyMC
  • 这样的例子不胜枚举。

正如 Jake 所说,“如果你有问题要解决,你很可能会找到一个库来帮助你,它可能就在 github 上!”

research with python

3.简单和动态的性质

Python 相对容易编写,尤其是相对于 C 等语言而言,正如 Jake 所说,“在 Python 中,尤其是当你来自 C 语言时,你写下你想要发生的事情,它就会发生;这有点像编写可执行的伪代码。

他还引用了佩里·格林菲尔德的话,他说“Python 是一种对开发者来说非常强大的语言,但对天文学家来说也很容易理解。我认为,让这两类人使用相同的工具,会带来一个巨大的好处,但这一点并不总是被注意到或提及。

例如,由于像 IPython 和 Jupyter notebooks 这样的工具,动态编码和探索性迭代数据分析有了一个极好的机会。这导致低门槛进入,因为科学编码本身就是非线性探索性。Jake 指出,有些人可能会抱怨或觉得这些工具很慢,但出于科学研究的目的,关键是开发的速度,而不是执行的速度。

4.开放的精神气质非常适合科学

开源软件有一种非常适合科学研究所需的开放性的精神气质(事实上,也许比许多科学研究更适合)。我们将在讨论凯蒂·哈夫的主题演讲时更详细地讨论这一点,但科学不仅仅出现在发表的论文中,科学出现在结果和指令/协议以及重现结果的能力中;这正是开源软件开发想要做的。杰克提供了以下引自巴克海特和多诺霍 (1995,转述乔恩·克拉布特)

一篇关于计算结果的文章是广告,不是学术。真正的学术是产生结果的完整的软件环境、代码和数据。-巴克海特和多诺霍,1995 年

开源软件和 Python(科学和其他)生态系统的精神所提供的是一个框架,它有望帮助我们摆脱科学可重复性危机:“解决可重复性是关于开放科学的”,而 Python 生态系统中科学研究的协作、同行评审、GitHub 可发布的性质是这种科学开放性的关键。如果我想知道引力波(爱因斯坦预言的)是如何在 2016 年被探测到的,我需要做的就是去 LIGO 储存库这里。或者,如果你是越来越多的使用 Astropy 包进行研究的天文学家之一,你可以在这里找到产生它的代码和社区,它如此开放的事实是其社区模仿他们在更大的 Python 社区中发现的开源和开放科学精神的直接结果。查看表格,了解 Jake(改编自 Perry Greenfield)认为天文学社区从 Python 社区学到了什么:

为了科学而做

Kathryn Huff 博士告诉 PyCon 社区“我在这里为我自己的设备利用你的能力”,她接着提供了一个令人信服的论点,即 Python 编程社区如何以及为什么能够帮助科学拯救世界。她的主题演讲提供了一个详细的、令人感同身受的论点,解释了为什么开源软件开发,特别是 Python,在科学计算、科学研究和实践中被证明是如此有效。它更进了一步,展示了 Python 编程和开发社区可以使用他们的 Python 技能来帮助科学界和拯救世界的许多地方。如果你认为对人类来说是一个严重的问题,或者健康或者能源,Kathryn 已经准备好了项目和 GitHub 库,你可以投入到帮助中。她给出了几十个开放项目和软件包的例子,这些项目和软件包都有你可以贡献的问题。

Kathryn (Katy)是一名核工程师,长期为 SciPy 社区做出贡献,参与了《开源软件杂志》的工作,并花了大量时间研究中的黑客以及软件和数据 Carpentries,这些软件和数据 carp entries 帮助科学家更好地使用计算机并做出发现,帮助提高科学家使用计算机的可重复性和易用性。

凯蒂的任务是改善核能的生产方式;她选择的工具是什么?Python!在深入研究 Python 社区帮助科学研究社区的多种方式之前,Katy 提供了一个强有力的论据来说明为什么这实际上是必要的。凯蒂引用 R. K .默顿(1945)的话来描述科学需要严格的结构化的社区审查(这是对有组织的怀疑主义的一个很好的工作定义)。这些都是开源 Python 社区无可争议的品质。

当凯蒂列举了科学的基本原则时,她提到了这个家的重要性,并明确表示,自毕达哥拉斯时代(公元前 6 世纪)以来,开源软件开发比任何坚持这些原则的社区都做得更好。科学的这些基本原则是:

  • 同行审查
  • 怀疑论
  • 透明度
  • 属性
  • 有责任
  • 合作
  • 影响

计算机“应该”帮助科学家做以下事情:

那么,在让更多的科学家使用像 Python 这样的开源软件以便计算机可以帮助他们方面,挑战是什么?

  • 科学家没有受过有效使用计算机的训练;

因此,Katy 向 Python 社区发出了战斗号召:

“我想让你参与进来”。

这种团结是工作研究科学家使用 Python 的另一个原因:有一个庞大的开源程序员社区供他们使用。如前所述,凯蒂参与了另一种方法,即致力于教育科学家如何使用计算机进行工作。有几个这样的程序。我想敦促所有在职的科学家去看看软件木工数据木工,看看他们是否能帮助你的团队、部门或大学(答案:如果你计算,他们很可能可以)。

那么凯蒂·哈夫博士是如何建议程序员提供帮助的呢?通过四个简单的步骤:

  1. 好奇;
  2. 挑一个项目;
  3. 为科学做贡献;
  4. 拯救世界。

为什么用 Python 做研究?

  • Python 生态系统包含一个成熟的、仍在发展的计算工具集合,供在职科学家使用。
  • 由于 Python 的特性,科学家们正大量涌向 Python
    • 与其他语言的互操作性;
    • “包括电池”和第三方模块,几乎可以满足你的所有需求;
    • 简单和动态的性质
    • 开放的精神气质非常适合科学
  • 科学 Python 社区正在成长,库也在不断开发;社区是开放的;
  • 开源开发社区比任何其他社区都更坚持科学研究的基本原则;这些原则是:
    • 同行审查
    • 怀疑论
    • 透明度
    • 属性
    • 有责任
    • 合作
    • 影响
  • 有一个更广泛的 Python 程序员社区,他们不是科学家,但希望贡献 Python 对科学、世界和他们所信仰的问题的影响;稍微曲解一下佩里·格林菲尔德的话,

Python 是一种对开发者来说非常强大的语言,但对[科学家]来说也是容易理解的。“让这两类人使用相同的工具,我认为,会带来一个巨大的好处,但这一点并不总是被注意到或提及。”。

如果你有任何想法、回应和/或反思,请随时在 Twitter 上联系我: @hugobowne

数据素养完全指南

原文:https://web.archive.org/web/20221129044300/https://www.datacamp.com/blog/the-complete-guide-to-data-literacy

2021 年 NewVantage Partners 大数据和人工智能高管调查发现,尽管 99%的组织积极投资数据科学和人工智能,但只有 29.2%的组织经历了任何转型成果,24%的组织声称他们是数据驱动的。有趣的是,声称自己是数据驱动的组织的数量一直在稳步下降,从 2017 年的 37%下降到 2019 年的 31%,再到今天的 24%。

这是因为组织正在意识到,组织范围的数据素养和文化对于大规模采用数据驱动的决策至关重要。在 2021 年的调查中,92%的组织声称数据文化和技能是实现数据驱动的最大障碍。

为了培养组织的数据素养,领导者必须启动转型计划,为员工提供大规模处理数据的技能、访问和工具,并转变他们的数据文化。

“我们现在生活在一个不同的时代,”DataCamp 首席执行官 Jonathan Cornelissen 说。“每个行业都在数字化并产生大量数据,但许多组织没有合适的技能来利用这些数据并超越竞争对手。就像过去公司必须培养计算机知识和软件知识一样,现在我们必须具备数据知识。数据素养正在推动每个行业的变革,并使每个部门都能交付更好的结果。它始于在您组织的每个级别建立适合角色的数据技能。”

什么是数据素养?

DataCamp 将数据素养定义为读取、写入、交流和推理数据以做出更好的数据驱动型决策的能力。从组织的角度来看,它是一系列数据技能,从数据驱动的决策到数据科学、数据工程和机器学习中的高级技术技能,使组织中的每个人都能从大规模数据中产生价值。

由埃森哲和 Qlik 授权的研究报告《数据素养对人类的影响》显示,全球只有 21%的员工能够自如地处理数据。

解决数据技能差距符合各种规模的组织的最大利益。缺乏数据素养不仅会影响员工的工作效率,还会阻碍组织从基于数据的业务中获益。该研究还显示,数据素养高的组织的市值是数据素养低的组织的三到五倍。

数据扫盲框架

成为一个懂数据的组织是一个需要扩展许多级别的旅程。在 DataCamp,我们使用基础设施、人员、工具、组织和流程框架(IPTOP)来帮助组织了解他们需要在数据扫盲的道路上扩展哪些内容。

数据基础设施:确保所有人都能获得数据

在一个有数据素养的组织中,数据是由组织中的每个人收集、发现、可靠、理解、遵从和操作的。对高质量、值得信赖的数据的受控访问确保组织能够大规模地做出分散的数据驱动型决策。

人员:基于角色的数据读写方法

除了基础设施,人可以说是框架中最重要的元素。扩大人员规模需要打造一种数据文化,在这种文化中,每个人都理解数据的价值,并且能够用数据说话、写作、交流和推理。这包括推出个性化的数据素养提升计划,涵盖整个技能水平范围,并适应整个数据素养技能范围。

“数据文化不仅仅是在数据分析计划中取得成功的一个选项,它对业务至关重要。”—安联比荷卢经济联盟区域首席 CDO Suda man T . M .

工具:支持数据读写的工具系列

工具是指所有技能水平的数据从业者使用的各种各样的工具。有数据素养的组织有意提供包容工具,以适应不同类型的数据角色和用例,从拖放式商业智能工具(如 Tableau 和 Power BI)到开源编程语言(如 R、Python 和 SQL)。另一个组成部分是跨所有这些工具开发现成的模板和框架,以减少洞察时间并降低处理数据时的准入门槛。

组织:组织数据人才走向成功

组织是指如何有效地组织数据人才,以促进数据洞察的规模化获取。有多种组织模式。一方面,组织可以选择集中式模型,将数据团队定位为支持功能(例如,团队提交请求,数据团队根据业务需求确定优先级)。另一方面是分散模式,数据专家嵌入到业务功能中。这两种模式各有利弊,许多混合模式介于两者之间。

流程:通过协作推动数据扫盲

最后,流程是关于在团队内部和团队之间建立流程,以大规模推动数据素养。例如,微软已经采用了团队数据科学过程(Team Data Science Process),该过程尽可能地向利益相关者提供透明度:轻松查看项目并理解需求;区分谁负责流程中的哪个阶段;并利用模板进行数据分析。这扩展到了业务利益相关者与数据团队合作的流程,并确保它们能够扩展。

如何开始您的数据素养之旅

麦肯锡&公司2019 年的一项研究显示,一贯基于数据做出决策的组织在前三年报告收入增长至少 10%的可能性是 1.5 倍。像这样的数字是为什么许多组织都在问同一个问题的原因:我们如何成为数据素养?

数据素养的采用可以分为三个阶段。

评估数据素养

数据素养评估是对整个组织的当前数据技能进行基准测试的机会。评估应回答以下问题:

  • 目前有多少人在利用数据做决策?
  • 有多少人能理解简单的统计数据(如相关性、平均值等)。)?
  • 有多少人有能力提出有相关数据支持的新倡议?
  • 数据科学家目前在机器学习、编程、数据处理等领域的能力水平如何?

更重要的是,评估需要适应人们与数据的不同关系,包括他们在角色中取得成功所需的数据技能类型以及角色所需的能力水平。对评估结果的全面评估应该提供组织如何针对特定学习内容的方向,以及针对各种类型的学习角色的个性化学习建议。

为所有人启用数据访问

对于要成为数据驱动的团队,访问数据是至关重要的。但是,确保数据的高质量、可操作性、可理解性和合规性非常重要。因此,需要建立适当的数据治理,由数据管理员确保组织数据质量标准在整个组织内得到传达和执行。

受治理的数据访问必须与对现代数据工具的访问相结合,以便所有技能水平的员工都可以获得数据洞察力。数据科学家通常非常精通技术,他们需要访问 Python、R 或 SQL 等编程语言,以便操作、分析、创建预测模型并分享他们的见解。

而技术含量较低的员工,如业务分析师,则需要 Power BI 和 Tableau 等更易于使用的工具,使他们能够做出影响日常运营的数据驱动型决策。

推出数据素养提升计划

人是各阶段数据成熟度的基石。当组织寻求推动数据扫盲时,最初的挑战是使数据成为大多数决策和行动的默认考虑因素。组织面临的一个主要障碍是数据素养不足,这限制了非专家在使用数据时进行独立工作的能力。

推广全组织培训的最佳实践是为各种角色创建个性化的学习路径。例如,Airbnb 创建了数据大学,这是一个旨在提升整个组织的数据技能的计划,内容是为特定数据团队的 Data U Intensive 计划精心策划的。群组能够实现 30%的 SQL 使用持续增长。

在一个有数据素养的组织中,学习路径涵盖了从一般数据素养到数据科学、机器学习、数据工程等一系列主题。最终,组织可以采用一种通用的数据语言,并将数据科学作为一种习惯和方法来处理业务问题。

按行业划分的数据读写使用案例

在一个日益由数据驱动的世界中,组织数据素养的重要性显著增强。一个组织的成功在很大程度上取决于其员工操作数据的能力,因此,专业表现与对数据的牢固掌握密切相关,以帮助组织做出更好的决策。

卫生保健

HealthIT 记录显示,美国超过 85%的医疗服务提供者现在使用电子健康记录(EHRs),这一数字自 2008 年以来已经翻了一倍多。然而,在大学或医学院,临床人员通常不会被教授有关分析的知识。因此,35%的年轻医疗保健专业人员被患者数据淹没,或者不清楚如何使用患者数据和分析来通知护理。

借助行业范围的数据扫盲,医疗保健提供商可以降低成本、提高患者护理的有效性,并改善患者的疗效。

以下是数据素养如何惠及医疗保健行业的一些示例:

  • 医疗保健提供者可以通过解释来自患者数据的描述性分析来为患者提供预防措施。
  • 医疗保险提供商可以通过机器学习来自动理赔和消除欺诈,从而降低医疗保健系统的总体成本。
  • 制药领域的 R&D 专家可以用编程技能和机器学习来补充他们的专业知识,从而加快药物部署,改善某些人群的健康状况。

政府

2012 年,欧盟公共部门的支出占国内生产总值的 49.3%。因此,一个更有效率的公共部门可能意味着向公众提供同等水平的服务需要更少的资源,如税收。

随着世界各地的公共部门越来越意识到从数据和数据素养中获得的价值,以下是实现这一价值的一些使用案例:

  • 政府机构可以利用数据来提供更快的危机响应。一个重要的例子是使用仪表盘和地图来跟踪野火并对行动进行优先排序。
  • 政府机构可以根据洞察力对干预措施进行优先排序。一个重要的例子来自纽约市,利用数据来确定哪些房东最有可能非法骚扰房客。
  • 政府机构可以授权公众做出更好的决定。例如,纽约市的商业地图集帮助小企业根据数据做出在哪里卖什么的决策。

金融

尽管金融服务业是数据最丰富的行业之一,但《数据素养对人类的影响》报告显示,只有 38%的金融服务业员工对自己阅读和处理数据的能力充满信心。这不仅会影响组织从数据中获益的能力,还会影响员工的整体工作参与度。

以下示例是金融服务组织实现其现有数据优势的使用案例:

  • 金融分析师可以利用商业智能工具缩短洞察时间,并通过仪表盘监控金融犯罪指标。
  • 银行和保险组织可以通过客户流失和客户终身价值预测来优化其分销和走向市场。
  • 投资银行可以应用量化风险管理技术来更好地管理风险和优化投资组合。
  • 机器学习可用于自动化手动流程,如信用风险建模。

零售

顾客对零售商的期望显著提高。现在,零售商被期望提供个性化的客户体验,在线渠道和实体店之间的无缝体验,以及简单的购物方式。未能满足这些期望会导致客户流失。满足这些期望的能力取决于组织让员工(从车间到仓库)至少具备基本的数据素养的能力。这进一步得到了数据素养指数的支持,该指数显示,数据素养强的组织展现出高达 5%的企业价值。

零售商可以通过以下使用案例实现这一增加的企业价值:

  • 运用市场分析技术预测需求并帮助降低成本。
  • 分析客户的搜索和购买历史,以推荐客户可能感兴趣的其他商品。
  • 分析顾客购物习惯,提供个性化购物体验。
  • 分析和解释顾客的旅程,回答如下问题:顾客在哪里寻找产品信息?我们在哪个点上失去了顾客?接触顾客并迫使他们购买的最有效方法是什么?

数据扫盲课程

作为数据素养道路上的第一步,DataCamp 的数据素养基础技能课程将帮助您的组织获得员工使用数据语言所需的基本技能。不需要任何先验知识或编码技能。通过动手练习,团队将学习如何理解数据,并扩展他们对关键数据主题的知识,包括数据科学、机器学习、数据可视化,甚至数据工程和云计算。他们还将了解数据科学中的许多角色、技术和框架。

数据素养基础知识技能路线包括五门课程:

  • 面向所有人的数据科学:随着您对什么是数据科学以及它为什么如此受欢迎的深入探究,无需代码就能深入了解数据科学。
  • 面向所有人的机器学习:通过许多实践练习来了解机器学习炒作背后的东西,让你越过行话。
  • 面向所有人的数据可视化:数据可视化是最有效的数据交流方式之一。了解数据可视化的最佳实践,发现最用户友好的数据可视化工具。
  • 人人共享的数据工程 :没有矿,就不可能在数据中找到金子。数据工程师有责任为数据科学的发展奠定基础。了解数据工程师如何促进组织中的数据流动。
  • 面向所有人的云计算 :云计算已经成为许多公司技术堆栈的一部分,但是什么是云呢?为什么云计算变得如此流行?在这个初学者友好的课程中,你可以找到这些问题的答案以及更多的答案。

结论

数据素养对于希望保持竞争力的组织来说至关重要,现在是让您的组织走上全面数据素养之路的最佳时机。除了 DataCamp 的多样化目录数据素养资源之外,还有一些在线资源可能对您的技能提升之旅有所帮助。一些推荐的读物包括:

DataCamp 教程的完整列表

原文:https://web.archive.org/web/20230101103026/https://www.datacamp.com/blog/the-complete-list-of-datacamp-tutorials

Psql Commands: 10 Command-line Utilities in PostgreSQL
15 Questions All R Users Have About Plots
Data Science and Analysis Tutorials | DataCamp
15 Easy Solutions To Your Data Frame Problems In R
18 Most Common Python List Questions | Learn Python
Machine Learning and NLP using R
Guide to Active Learning in Machine Learning (ML)
AdaBoost Classifier Algorithms using Python Sklearn Tutorial
R NLP & Machine Learning: Lyric Analysis
Absolute and Weighted Frequency of Words in Text
How to Add, Subtract, Divide and Multiply in Spreadsheets
Aggregate Functions in SQL
Altair in Python Tutorial: Data Visualizations
Web Scraping Using Python Beautiful Soup: How to Scrape Data from Amazon Tutorial
Algorithm Time Complexity & Asymptotic Notation
Apache Spark in Python with PySpark
Command Line Argument Parsing in Python
Apache Spark Tutorial: Machine Learning
Asyncio Tutorial For Beginners
Autocorrelation with R afc
Keras Autoencodoers in Python: Tutorial & Examples for Convolutional & Denoising Autoencoders
Autoencoder as a Classifier Tutorial
Arrays in R: Tutorial for Creating & Indexing Arrays using R
Automated Machine Learning with Auto-Keras
AWS EC2 for Beginners
Basic Programming Skills in R
FUNCTIONS and METHODS in Scala Tutorial (The Basics)
Beginner's Guide to Google's Vision API in Python
Beginner's Guide to Scala
Beginners Guide to SQLite
Beginner's Guide to PostgreSQL
Bivariate Distribution Heatmaps in R
R Bootstrap Statistics & Confidence Intervals (CI) Tutorial
Box Plot in R Tutorial
Python Chatterbot: How to Make a Chatbot using Python
Comparison of BI and Analytics Platforms
Building Data Pipelines using R
PostgreSQL CASE Statements & Examples using WHEN-THEN, if-else and switch
Handling Categorical Data in Python Tutorial
R Network Analysis: Centrality Measures
Chi-square Test & Formula in Excel
Lowercase in Python Tutorial
Cluster Analysis in Tableau
Python Convolutional Neural Networks (CNN) with TensorFlow Tutorial
Building Blockchains in R
Conditional Functions in Spreadsheets
Learn Confusion Matrix in R
Conditionals and Control Flow in R Tutorial
Contingency Analysis using R
R Contingency Tables Tutorial: Matrix Examples of 2x2 & 2x3 Tables
Cleaning Data in SQL
Pandas String to datetime Objects Tutorial
R List: Create a List in R with list()
Conditional Formatting in Spreadsheets
CLV (Customer Lifetime Value) in Python
Introduction to Cyclical Learning Rates
Convolutional Neural Networks in Python
Data Frames in R
Data Preparation with pandas
Data Reshaping in R Tutorial
Data Science Cartoons: a Top Seven List by DataCamp
The Data Science Industry: Who Does What (Infographic)
Python Data Structures with Primitive & Non-Primitive Examples
data.table R Package Cheat Sheet
Python IDE Tutorial: The Top 5 Python IDEs for Data Science
A data.table R tutorial by DataCamp: intro to DT[i, j, by]
R Data Types & Structures
Data Visualization with Power BI
Tableau Data Visualization & Reporting Tutorial
Data Wrangling with INDEX-MATCH in Spreadsheets
R Highcharter for Highcharts Data Visualization
Data Wrangling with VLOOKUP in Spreadsheets
Datasets from Images
DBSCAN: Macroscopic Investigation Python
Python Decision Tree Classification Tutorial: Scikit-Learn DecisionTreeClassifier
R Decision Trees Tutorial: Examples & Code in R for Regression & Classification
Python Decorators Tutorial: What is a Decorator?
KERAS Tutorial: DEEP LEARNING in PYTHON
Demystifying Crucial Statistics in Python
Demystifying Mathematical Concepts for Deep Learning
Python Dictionaries Tutorial: The Definitive Guide
Python LSI/LSA (Latent Semantic Indexing/Analysis)
Python Docstrings Tutorial : Examples & Format for Pydoc, Numpy, Sphinx Doc Strings
Detect Anomalies with Anomalize in R
Documenting Python Code: How to Guide
if…elif…else in Python Tutorial
Overview of Encoding Methodologies
Decimal Comma or Decimal Point? A googleVis Visualization
Ensemble Learning with Python Sklearn
Ensemble Models: Machine Learning with R
Diving Deep with Imbalanced Data
How to Execute Python/R in SQL
Essentials of Linear Regression in Python
Exception Handling in Python: Catch and Handle Errors with valueerror, try except, typeerror, & raise in Python
Web Scraping and Parsing Data in R | Exploring H-1b Data Pt. 1
Python Exploratory Data Analysis Tutorial
Exploring H-1B Data with R
f-string Formatting in Python Tutorial
Exploring H-1B Data with R: Part 2
Face Detection with Python using OpenCV Tutorial
Deploying Facebook Chatbots with Python
ggplot Facets in R using facet_wrap, facet_grid, & geom_bar
Factor Levels in R
Factors in R Tutorial
Boruta Feature Selection in R
Feature Engineering with Kaggle Tutorial
Feature Selection Tutorial in Python Sklearn
FFTrees Tutorial For Beginners
Python for Finance Tutorial: Algorithmic Trading
Reconstructing Fingerprint Images
for loop in Python Tutorial
Five Tips to Improve Your R Code
For Loops in Python Tutorial: How to iterate over Pandas DataFrame
For Loops in R
Fuzzy String Matching in Python Tutorial
A Tutorial on Using Functions in R! (and their scoping)
Python Functions: How to Call & Write Functions
GLM in R: Generalized Linear Model Tutorial
Python Code to Generate Synthetic & Random Dataset with Trumania
Python Geospatial Analysis: GeoPandas & Shapely Geo Data Analysis Tutorial
Generative Adversarial Networks Tutorial
GIT Push and Pull Tutorial
Getting Started with Spreadsheets
GIT SETUP: The Definitive Guide
Setting Up Google Cloud For Data Science
Graphs in Spreadsheets
Graphics with ggplot2 Tutorial
GFLASSO: Graph-Guided Fused LASSO in R
SQL GROUP BY & HAVING Clauses Tutorial
Tkinter Tutorial: Python GUI Programming & How Use Tkinter to Make GUI Windows
Introduction to H2O AutoML
PyCaret Tutorial: A beginner's guide for automating ML workflows using PyCaret
Hacking Date Functions in SQLite
Hierarchical Clustering in R: Dendrograms with hclust
Matplotlib Histogram Python: Find pyplot & plt.hist() Examples & Code
SQL Server Installation: How to Setup & Install SQL
Hypothesis Testing in Machine Learning
How to Install and Use Homebrew
Become a Data Scientist in 8 Steps: The Infographic
Overview of Atom IDE
IF ELSE in Scala
Implementing Neural Style Transfer Using TensorFlow 2.0
Tutorial IF ELSE Function in R
Pandas Read JSON & HTML Data: Import Data with Python DataFrames
Importing Data Into R - Part Two
Python Nested & Inner Classes
Insert Into SQL Tutorial
How to Install R on Windows, Mac OS X, and Ubuntu Tutorial
Install Pyspark on Windows, Mac & Linux
How to Install Anaconda on Mac OS X
Installing Anaconda on Windows Tutorial
How to Download & Setup Install Jupyter Notebook using Pip & Anaconda
Installing PostgreSQL on Windows and Mac OS X
Introduction to Data frames in R
Introduction to Bioconductor
Introduction to the Where Clause in SQL
Python RFM (Recency, Frequency, Monetary) Analysis for Customer Segmentation
Ordering and Subsetting Factors
Introduction to Machine Learning in Python
Introduction to MongoDB and Python
Python t-SNE with Matplotlib
Introduction to Reinforcement Learning
Intro to Factor Analysis in Python with Sklearn Tutorial
Introduction to SQL Joins
Inventory Model Simulation with Spreadsheets
Introduction to Indexing in SQL
Investigating Tensors with PyTorch
Jinja2 Templates for Jupyter Notebooks
Python JSON: Python List, Tuple, String to JSON Tutorial
Pandas Joining DataFrames Tutorial
K-Means Clustering with scikit-learn
KNN Classification Tutorial using Sklearn Python
K-Means Clustering in R with Step by Step Code Examples
Kaggle Tutorial: EDA & Machine Learning
Kaggle Tutorial: Your First ML Model
LDA2vec Topic Modelling
keras: Deep Learning in R
Deduce the Number of Layers and Neurons for ANN
Python Dash & Plotly for Dashboards
Learn Data Science - Infographic
Linear Programming with Spreadsheets
Python Lists Tutorial
R Linear Regression Tutorial: lm Function in R with Code Examples
Logging in Python Tutorial
Python Loops Tutorial: For & While Loop Examples
Logistic Regression in R Tutorial
Machine Learning & Deep Learning
Python LSTM (Long Short-Term Memory Network) for Stock Predictions
Detecting True & Deceptive Hotel Reviews
R Long to Wide & Wide to Long: Convert & Reshape Data
Turning Machine Learning Models into APIs with Python Flask
How to Make a Histogram with Basic R Tutorial
Python Machine Learning: Scikit-Learn Tutorial
How to Make a Histogram with ggplot2
Machine Learning in R for beginners
Python HTTP Request Tutorial: Get & Post HTTP & JSON Requests
Scrapy Python: How to Make Web Crawler in Python
Managing Databases in PostgreSQL
How to Make a Histogram with ggvis in R
Jupyter Notebook Markdown Tutorial
R Market Basket Analysis using Apriori Examples
Markov Analysis in Spreadsheets Tutorial
Markov Chain Analysis in R
Markov Chains in Python with Model Examples
Python Matplotlib 3D Visualization with Volumetric Data
Materialized Views in PostgreSQL
MATPLOTLIB Tutorial: PYTHON Plotting
MeetUp API
Similar Names with Matrix Factorization
Matrices in R Tutorial
Merging Datasets in R
Python Modules: What are and How to Import Modules in Python?
Machine Learning Black Friday Dataset
Naive Bayes Classifier Tutorial: with Python Scikit-learn
Pandas & Numpy Moving Average & Exponential Moving Average Tutorial
Python NetworkX for Graph Optimization Tutorial
ANN (Artificial Neural Network) Models in R: Code & Examples on How to Build Your NN
Random Number Generator Using Numpy Tutorial
Object Detection Tutorial with SSD & Faster RCNN
Operators in Scala
Using ORDER BY Keyword in SQL
MySQL in Python Tutorial : Getting Started
R Documentation and R Manuals Rankings: the RDocumentation Poster
Pandas Add Column Tutorial
Pandas Apply Tutorial for Python DataFrames
How To Drop Columns in Pandas Tutorial
Pandas Drop Duplicates Tutorial
5 Tips To Write Idiomatic Pandas Code
Pandas read_csv() Tutorial: Importing Data
Pandas DataFrame Multi Index & Groupby Tutorial
Pandas Sort Values Tutorial
pandas Tutorial for Beginners
Pandas DataFrame Groupby & Split-Apply-Combine Strategy for Data Analysis
pandas to CSV
Hyperparameter Optimization & Tuning for Machine Learning (ML)
Pandas Tutorial: DataFrames in Python
Python Pickle Tutorial with plk
PEP-8: Python Naming Conventions & Code Standards
R PCA Tutorial (Principal Component Analysis)
Pipes in R Tutorial: %>% with magrittr
PCH in R Tutorial
PIP Python Tutorial: Definitive Guide
Predicting H-1B Visa Applications
Predicting & Analyzing Employee Turnover Rate in Python
Predictive Analytics using Machine Learning
Using Python to Power Spreadsheets
Preprocessing in Data Science (Part 2)
Preprocessing in Data Science (Part 3)
Python PCA Tutorial: Principal Component Analysis with Sklearn
Probability Distributions in Python Tutorial
Python Property vs. Getters & Setters
Preprocessing in Data Science (Part 1)
Introduction to Python IDLE Tutorial
Python Arrays: Examples of How to Create & Print Arrays using Python Numpy
Python Tutorial for Beginners | DataCamp
Python Count Tutorial
Python Concatenate Strings Tutorial
Exploratory Data Analysis Tutorial: Data Profiling
Python Datetime Tutorial
Data Type Conversion in Python Tutorial
Python Classes Tutorial
Python For Data Science - A Cheat Sheet For Beginners
Python Developer Set-up
Python Dictionaries Tutorial
Python Dictionary Comprehension Tutorial
Intro to Python for Spreadsheet Users
Python Global Interpreter Lock Tutorial
Install Pip: How to Install and What is Python Pip?
Python Dictionary Tutorial
Python Iterator Tutorial
Python lambda Tutorial
Python List Comprehension Tutorial
Python Descriptors Tutorial
Python List Functions & Methods Tutorial
Python Excel Tutorial: Your Definitive Guide with Pandas & openpyxl
Python List Index Function
Python .append() and .extend() Methods Tutorial
Python Meta Class Tutorial with Examples
Python Operators
IF, ELIF, ELSE Python Tutorial
Python Classes: Object-Oriented Programming (OOP) Tutorial with Code Examples
Python NUMPY Array TUTORIAL
Python Print() Function: How to use Print Statement with Examples
Python Range() Function Tutorial
Python Probability Tutorial: Poker Hands
Renaming Columns in a Pandas DataFrame Tutorial
Python Regular Expression Tutorial with RE Library Examples
Scipy Tutorial: Vectors and Arrays (Linear Algebra)
Statistics with Python & 40+ Resources For Statistical Analysis
Python Pandas Select Columns Tutorial
Python String Contains Tutorial with .find(), .index() & .count()
Python String format() Tutorial
Python String Tutorial
String Split in Python Tutorial
Tuples in Python Tutorial
Python time.sleep() Function
Python String Replace Tutorial
Python Tuples Tutorial: Create & Use Tuples Functions with Examples
Python While Loops Tutorial
Python XML Tutorial: Element Tree Parse & Read
Python zipfile: Zip, Extract, Read & Create Zip Files
XGboost Python Tutorial: Sklearn Regression Classifier with Code Examples
Working with Spreadsheets in SQL
Python Word Clouds Tutorial: How to Create a Word Cloud
Web Scraping using Python
Web Scraping & NLP in Python
Django Tutorial: Python Web Development
Visualize Missing Data with VIM Package
SQL Views (Virtual Tables): What are Views in SQL?
Python Venv (Virtual Environment) with Pipenv
Variables in Scala
Definitive Guide: Variables in R Tutorial
Utilities in R Tutorial
Using TensorFlow 2.0 to Compose Music Tutorial
What is SQL? Tutorial
Leveraging the best of both Python and R
Understanding Recursive Functions in Python
User Defined Stored Procedures in SQL
Model Predictions with LIME
Usage of Asterisks in Python
Unit Testing in Python Tutorial
Type Checking in Python Tutorial
Python Logistic Regression Tutorial with Sklearn & Scikit
Time series Forecasting tutorial
Regularization Tutorial: Ridge, Lasso & Elastic Net Regression
SQL tutorial for beginners
Using Python BeautifulSoup
Using PostgreSQL in Python
A Loops in R Tutorial- Usage and Alternatives
Mastering PyCharm Tutorial
Machine Learning, Pipelines, Deployment and MLOps Tutorial
Learning Curves Tutorial: What are Learning Curves?
Machine Learning Basics - The Norms
Introduction to Monte Carlo Methods
Kaggle Competition Tutorial: Machine Learning from the Titanic
Kaggle Datasets Tutorial: Kaggle Notebooks
Gradient Descent Tutorial
How to use Jupyter Notebook Tutorial
Recurrent Neural Network Tutorial (RNN)
Python Details on Correlation Tutorial
Deep Learning Tutorial
Data Cleaning Tutorial
Transfer Learning: A Beginner's Guide
Cloudera Hadoop Tutorial
TPOT in Python
Towards Preventing Overfitting
10 Popular & Best R Packages for Data Science & Analysis
Time Series Analysis using R
Time Series Analysis with Spreadsheets Tutorial
Best Python IDEs (Interactive Development Environment)
Google Colab Tutorial for Data Scientists
Python Time Series Analysis: Analyze Google Trend Data with Pandas
Tidyverse Soccer Score Analysis
Tidyverse Exploratory Analysis
Tidy Analysis of Pew Research Data Using R
Definitive Guide: Threading in Python Tutorial
NLTK Sentiment Analysis Tutorial: Text Mining & Analysis in Python
TensorFlow Tutorial For Beginners
TensorBoard Tutorial: Run Examples & Use Logdir
Ten TensorFlow 2.0 Updates that are Important
TensorFlow 2.0 Case Study
Introduction to the Tidyverse: Tutorial
Creating Tableau Visualizations Using AirBnB Dataset Tutorial
Scikit-learn SVM Tutorial with Python (Support Vector Machines)
Survival Analysis in R: Kaplan Meier & Cox Proportional Models Tutorial
Support Vector Machines in R Tutorial
Supercharge Your Subqueries
Python Multiple Inheritance & super() init
Subsetting Datasets in R
R Subsetting Tutorial: How to Subset & Select DataFrame Rows & Columns in R
Strings in R Tutorial
Stocks, Significance Testing & p-Hacking
Recommendation System for Streaming Platforms Tutorial
Python Tutorial: Streamlit
Stemming and Lemmatization in Python
What Is the Best Statistical Programming Language? Infographic
Python Probability & Statistics Tutorial with Poker Cards
R SQLite Database Tutorial
SQLite in Python
SQL with PowerBI
SQL Tutorial: How To Write Better Querie
SQL & Tableau Tutorial for Custom Queries and Connections
Joins in SQL Tutorial
SQL Interface within JupyterLab
SQL Database Overview Tutorial
Introduction to the ALTER TABLE Statement in SQL
SQL Tutorial for Beginners | DataCamp
SQL: Reporting and Analysis
Spreadsheets with Tableau
Sorting in Python Tutorial
Social Network Analysis & Mapping in Python with NetworkX
Python Sentiment Analysis Tutorial
How to Setup a Data Science Environment
Python Sets Tutorial: Set Operations & Sets vs Lists
Tidy Sentiment Analysis in R
Data Science for Search Engine Marketing
Bash Shell Commands Examples for Files & Data
Sorting in R using order() Tutorial
Scraping Reddit with Python and BeautifulSoup 4
Python Seaborn Tutorial For Beginners
Short R tutorial: Scraping Javascript Generated Data with R
Scikit-Learn Tutorial: Baseball Analytic
Scikit-Learn Tutorial: Baseball Analytics in Python Pt 1
Detecting & Classifying Fake News with Python Sklearn
Scala Traits
Lists in Scala
Scala Classes and Objects
Running Python Scripts Tutorial from Command Line
Underscore in Python Tutorial : What is the purpose and meaning of _ & __
Python Variable Scope with Local & Non-local Examples
Estimating COVID-19's 𝑅𝑡 in Real-Time (Replicating in R) Tutorial
Using Regular Expressions to Clean Strings
Reconstructing Brain MRI Images
Rebuilding Bloomberg's News Trends in R
Python Recommender Systems: Content Based & Collaborative Filtering Recommendation Engines
Python Read & Write to Files: Learn How to Open, Load, Read & Save Data & Binary Files in Python
Read & Edit PDF & Doc Files in Python
Sklearn Random Forest Classifiers in Python Tutorial
R Web Scraping: R rvest Tutorial
Reading and Importing Excel Files into R Tutorial
Algorithmic Trading in R Tutorial
Infographic Python vs. R for Data Analysis?
R tutorial on the Apply family of functions
R Packages Tutorial: How to Download & Install Packages
R Classes & Objects with S3 & S4
R Formula Tutorial: Syntax & Functions using lm, glm, & facet_warp
This R Data Import Tutorial Is Everything You Need
Quadrant Analysis in Tableau

保险业数据科学的未来:从分析车库走向工厂

原文:https://web.archive.org/web/20221129045128/https://www.datacamp.com/blog/the-future-of-data-science-in-insurance-moving-from-an-analytics-garage-to-a-factory

为了保持竞争力,保险组织必须扩展他们从数据中产生的洞察力和价值的数量。在本次近期网络研讨会的后半部分,安联比荷卢经济联盟区域首席数据和分析官 Sudaman Thoppan Mohanchandralal 讨论了保险组织为充分实现数据科学的潜力而必须采取的关键步骤。

从数据科学车库到工厂

在网络研讨会中,Sudaman 将数据科学在保险行业的当前应用描述为一个分析库。组织目前认识到大数据是一个优先事项,但他们没有在所有决策中有效利用大数据。

IBM 报告虽然 71%的保险公司的产品依赖于其投资组合中的数据,但许多公司没有一个连贯的数据战略来扩展数据科学和机器学习。Sudaman 将组织应该努力实现的最终目标比作一个分析工厂。在这种情况下,组织可以在所有决策中利用大规模数据,从而带来三大好处:

  1. 巨大的财务潜力:通过机器学习用例扩展核心业务的大量机会。
  2. 相对于进入市场的新竞争对手的优势:制定数据驱动的决策是与具有颠覆性数据和分析驱动的商业模式的新竞争对手竞争的必要条件。
  3. 扩展核心业务的新可能性:通过为核心业务做出更明智的决策,资源开放以扩展到当今核心业务之外的新业务模式。凯捷在此介绍了其中一些新一代服务。

然而,目前存在明显的障碍,阻止保险公司扩展分析工厂。以下是网上研讨会中列出的几个例子

障碍 1:治理不清晰

实现分析工厂的第一步是清晰的治理。在本次网络研讨会中,Ingredion Inc .的数据治理和人工智能经理庄文希·斯塔伯菲尔德描述了数据治理如何通过提供清晰的数据来最大限度地降低数据隐私法带来的商业风险。这种清晰性也使得基于这些数据做出的决策更有信心。麦肯锡认为在一些部门,由于缺乏治理,数据质量和可用性很差,超过 30%的员工时间被浪费在非增值任务上。清晰的治理对于创建数据科学工厂至关重要。

障碍 2:关键人才短缺

下一步是在组织内培养数据科学人才。这些技能可以分为三个主要角色:

  1. 数据科学家:需要在数据挖掘、统计学、机器学习和计算机科学等领域的应用数学和技术技能背景。他们的主要工作是为有价值的用例构建算法。
  2. 分析工程师:通常具有数据科学背景,更侧重于计算机科学和编程技能。他们的角色是使用数据科学家的算法,并使其可扩展用于生产环境。
  3. 分析翻译:有数据科学和商业背景。他们的功能是将业务问题转化为技术语言,并将模型输出转化为业务解决方案。

数据人才短缺的情况下,大规模培养这些技能可能具有挑战性。因此,组织必须通过创造一种学习文化来提升内部技能。这些角色都是实现数据科学工厂所必需的。

一旦这些角色被填满,可以选择速赢的项目来证明工厂的潜力。然后,这些立竿见影的效果可以被系统化和规模化,以利用全栈数据产品生产分析流程。这些好处都来自于建立正确的团队和解决内部人才短缺问题。

障碍 3:缺乏一线参与

第三步是让一线工人参与进来。组织中的每个人都必须懂数据。在客户身边工作的员工需要了解正在部署的系统。他们必须能够传达为什么他们向客户推荐特定的服务,或者为什么服务的定价是这样的。与客户的有效沟通是建立分析工厂的关键,来自一线的参与。这就是建立数据文化发挥作用的地方 Sudaman 在另一场 DataCamp 网络研讨会中谈到了这一点。

障碍 4:管理层的关注

最后,工厂的运转必须有管理层的参与。他们必须与数据人才密切合作,以推动组织变革。他们应该利用自己的业务知识和专业技能,从数据团队开发的新技术中为组织带来财务影响和价值。没有决策者的适当关注,工厂的效益就无法实现。

要了解更多关于保险公司如何将其分析库扩展到工厂的信息,请务必收听点播网络研讨会

负责任人工智能的未来

原文:https://web.archive.org/web/20221129053839/https://www.datacamp.com/blog/the-future-of-responsible-ai

https://web.archive.org/web/20220627140223if_/https://embed.podcasts.apple.com/us/podcast/68-the-future-of-responsible-ai/id1336150688?i=1000531441805

DataCamp 播客 DataFramed 的主持人 Adel Nehme 最近采访了普华永道英国的负责人和 AI for Good Lead 的玛利亚露丝安娜阿申特。

介绍玛利亚·露丝安娜·阿申特

Adel Nehme:你好。我是来自 DataCamp 的 Adel Nehme,欢迎来到 DataFramed,这是一个涵盖所有数据及其对世界各地组织的影响的播客。我想我们都同意,当公众听到人工智能这个术语时,他们首先想到的是人工智能的伦理及其对人类的潜在影响。然而,很多时候,与人工智能相关的风险概念是由流行媒体和流行文化中的概念以及人工智能在公共场合的高调失败所驱动的。

Adel Nehme:这些失败促使许多组织重新考虑他们在生产中推出的模型,并分析人工智能的风险,以便负责任地部署它们。这就是为什么我很高兴今天的播客能邀请到玛丽亚·露丝安娜·阿申特。Maria 负责英国普华永道的人工智能和人工智能。在她的职位上,Maria 领导公司在人工智能中实施道德规范,同时与行业、学术界、政府、非政府组织和民间社会合作,以道德和负责任的方式利用人工智能的力量,同时承认其在许多生活领域的好处和风险。她在普华永道英国人工智能卓越中心(该公司的人工智能战略)的开发和设立中发挥了至关重要的作用,最近,她还开发了普华永道负责任的人工智能工具包(该公司将道德嵌入人工智能的方法)。

Adel Nehme: Maria 是全球公认的人工智能伦理专家,英国各党派议会人工智能小组的顾问委员会成员,BSI/ISO 和 IEEE 人工智能标准小组的成员,RSA 的研究员,人工智能时代性别多样性、儿童和青年权利的倡导者。在这一集里,Maria 和我将谈论她的背景,负责任的人工智能与人工智能道德的交叉和分歧,负责任的人工智能在当今组织中的状态,负责任的人工智能如何与组织文化和价值观相联系,最重要的是,数据科学家今天可以做什么来确保他们的工作被组织道德和负责任地使用,以及自下而上的行动主义如何推动组织朝着正确的方向发展。

Adel Nehme:如果你喜欢今天和 Maria 的对话,并且想看看之前的播客和节目笔记,一定要去 www.datacamp.com/community/podcast。玛丽亚,很高兴你能上节目。我真的很高兴能与你们谈论负责任的人工智能、人工智能治理和问责制的状况,以及组织如何开始负责任的人工智能之旅。但在此之前,能否简单介绍一下你的背景,以及你是如何进入数据和伦理领域的?

玛丽亚·露丝安娜·阿申特:当然。大家好,谢谢阿黛尔邀请我。很高兴与你交谈,让我们开始探索什么是嗡嗡声,人工智能的伦理有什么大惊小怪的?你为什么要谈论它,我们能做些什么?所以,简单介绍一下我的背景。所以,我在英国普华永道工作,这可能你们大多数人都知道。这是一家专业服务公司,问题可能是,普华永道在人工智能领域做什么?希望在我们今天的谈话中,你会越来越清楚为什么像普华永道这样的公司需要在塑造有道德和负责任的人工智能的故事中发挥作用。所以,我七年前加入了这家公司,我的背景是数字化转型方面的业务,所以我去建立业务,转型业务,然后进入技术和数字领域,在技术的帮助下进行这种转型。

玛丽亚·露丝安娜·阿申特:在某个时候,我有机会将注意力从广泛的新兴技术转移到更专业的领域,即人工智能。这是天作之合,因为当我们开始用其他镜头探索普华永道,然后是技术时,我们意识到了解这种新技术被开发和使用的整个背景是多么重要,以及了解设计中需要考虑的因素是多么重要,远远超出了经验设计的传统界限,并回到业务或背景将如何因使用一种工具而改变,这种工具有自己的机构或现在与所有以前的技术非常不同。

玛丽亚·露丝安娜·阿申特:所以,在过去的四年里,我一直是人工智能卓越中心的一员。这是一个迷人的旅程,因为我从一开始就在那里,所以我帮助建立它,把战略放在一起。这很像是我们开发的一个新项目。渐渐地,基于我以前的经验和我所受的教育,我开始探索道德层面,以及我们需要考虑的关键道德因素是什么,从商业角度来看这意味着什么?如果我们对人工智能的美好生活有这样的愿景,那么我们如何实现它呢?什么需要到位?需要改变什么?这就是为什么我们提出了负责任的人工智能这一概念,它使我们能够用人工智能创造美好生活的愿景,但也创造实现这一愿景所需的东西,并且非常实用,因为归根结底,我们是一家盈利性公司,需要证明我们所创造的东西的附加值。所以,我们不能只看到新兴技术。我们需要能够以一种可持续的方式来实现它。

定义负责任的人工智能

Adel Nehme:太棒了,我很高兴能与您一起揭开所有这些。所以,我想首先问你如何定义负责任的人工智能。在过去的十年里,许多关于人工智能风险的讨论都属于人工智能伦理的范畴,在过去的几年里,我们已经看到了负责任的人工智能的逐渐兴起。我很想知道你能否具体定义负责任的人工智能,它与人工智能伦理如何交叉和不交叉。

玛丽亚·露丝安娜·阿申特:我认为这是一个很好的问题。我想我非常感谢你问了这个问题,因为我认为我们需要开始构建这些概念,并理解它们是如何重叠的。如果有重叠,它们之间的关系是什么,这样我们就清楚了?我们总是知道,如果你没有很好地构建一个新概念,那么你将很难实现它。你将努力让它离开地面。所以,我想说,对我们和我自己来说,这是一种负责任的领导。我在普华永道英国工作,所以我们以下面的方式定义这两个术语。可以说,人工智能伦理学是一门正在发展中的新的应用伦理学学科。因此,我们可能会说,它是数字伦理或数据伦理的一个分支,或者是一般的信息哲学,但它绝对是应用伦理的一个新分支,涉及研究我们称为人工智能的技术的道德含义。

玛丽亚·露丝安娜·阿申特:这些技术最终有一些关键的独特特征,使它们与我们以前见过的所有技术完全不同,主要是他们展示或拥有,他们拥有代理权。一方面,这意味着它们将与外部环境互动。他们会适应这个外部环境,在一定程度上,塑造这个外部环境。并且它们有一定程度的自主性,不受人类的监督。这些类型的新资产要求在规范性问题上有新的思维方式。我们使用那些机器是对还是错?我们应该如何对待这些类型的代理人?所以,这就是人工智能的伦理纪律,它有点抽象,也有点前瞻性,因为我们正在步入我们以前没有去过的领域。在人类历史上,我们还没有像这样的资产与我们并肩作战,并推动是非对错的界限。

玛丽亚·露丝安娜·阿申特:我们在小说中想过,但在现实生活中没有。所以,我们必须能够推理,讨论和辩论,那些最小的影响是什么?而在这个过程中,人工智能的伦理将允许我们与人工智能一起规划美好的生活。那么,这意味着什么呢?如果我们有这种既有好处又有风险的强大工具,我们如何确保他们使用它的方式与一些人类目标一致?我们不仅仅是为了做而创造人工智能,或者因为我们有某种复杂的记录,我们让它符合人类的目的。我们作为一个人类所拥有的那些目标是非常有趣的,因为我们还没有走到一起说,或者也许我们已经说了。我一会儿就会谈到这一点。

玛丽亚·露丝安娜·阿申特:但准确地说,我们希望通过这种方式帮助一切蓬勃发展。事实上,我们有。这是人权。但是人工智能伦理学是一门学科,它不仅允许我们理解道德含义,还允许我们说,“这是我们前进的方向。这是可以接受的。”可接受的是不仅仅是为了做而做。是因为我们想实现一个与人类相关的目标。与此相关的是,我们如何实现愿景?对吗?因为每一个愿景都必须有某种操作方式或运作模式,才能让我们达到目标。因此,我们需要有另一个学科体系来收集我们实现这一愿景所需的一切。这就是负责任的人工智能被放置的地方,因为负责任的人工智能更具战术性。实际上,现在我们已经了解了什么是道德上允许的,什么是风险领域,哪里可能出错,我们可以将这一愿景转化为战术计划。

玛丽亚·露丝安娜·阿申特:我们有一套方法、工具和思维方式,这些方法、工具和思维方式本质上是多学科的,本质上是整体的,因为我们意识到人工智能带来的破坏将改变我们,因此,我们需要更加整体地处理这个问题,负责任的人工智能是让我们实现这一愿景的引擎,如果你想的话,我们有不同的方法。它有风险角度,这意味着,不仅要了解人工智能带来的风险,人工智能带来的众多风险,还要了解每个组织以及社会和个人层面的当前风险将因人工智能而增加。然后你就有了新的运营模式。你是如何治理的?你如何控制一个以不同方式运行的自我学习的人工制品,它在本质上是随机的?

玛丽亚·露丝安娜·阿申特:因此,我们需要升级我们的线性流程,使之更加实时和动态。此外,如果我们同意我们有道德愿景,那么需要在每一个单独的用例及上下文中纳入哪些价值观,特定的应用程序将运行并整合所有这些,风险方面、治理方面,以及需要纳入的价值观。它给了你这个新的学科,需要来自广泛学科的输入,一个案例一个案例,一个例子一个例子,这些学科聚集在一起实际上说,“这是我们需要做的,以在这个特定的环境中实现一个好的人工智能的愿景。”

所以,如果我错了,请纠正我。总之,人工智能的伦理是关于我们应该如何将我们的道德价值观与人工智能系统相结合,而负责任的人工智能更多的是关于如何将这些道德价值观与其他学科一起操作化,以便我们从负责任的人工智能中创造价值。对吗?

玛丽亚·露丝安娜·阿申特:这是在这些线路上的东西,但我会说,人工智能的伦理不是框架。这是一个愿景。这是我们想去的地方。框架是带领我们到达那里的工具。

负责任的人工智能采用的现状

Adel Nehme:好的,太棒了。因此,你与大量数据和商业领袖合作,试图将道德实践整合到他们的人工智能开发过程中。如何看待负责任的 AI 采用现状?你认为这是大多数公司正在投资和考虑的事情吗?

玛丽亚·露丝安娜·阿申特:我认为这是一个有趣的故事,我认为我们需要稍微分开一下,公开制造的嗡嗡声,我们看到的市场营销和共同的叙事与该领域的现实。我认为,要真正理解负责任的人工智能的状态,我们有两条途径。把制造出来的噪音放在一边,因为很明显,过去几年给我们带来了很多关于人工智能的坏例子,比如人工智能被滥用,不充分使用,过度使用,并且被媒体广泛报道。因此,我们已经看到公众对人工智能的负面影响和后果给予了很多关注。但当我们看到企业内部负责任的人工智能的状态时,我们有理由感到乐观。我认为这一切都是因为这样一个事实:当涉及到像人工智能这样强大而未知的技术时,我们需要彻底改变思维模式。

玛丽亚·露丝安娜·阿申特:这不仅仅是关于这项技术将带来的一系列好处,也是一系列与之相关的潜在风险和潜在危害。我们需要消除这两种不平衡,我们需要有这样的心态,不仅因为我们有所需的东西,我们有数据,我们有处理能力,我们就能建造它,而且我们应该这样做吗?这对于“我能做到吗?”来说是一个巨大的改变这是支撑计算机科学社区的哲学。对吗?如果你开始思考,“我应该这么做吗?”突然,你发现新的尝试既有好处也有风险。当你制定一个商业计划或在某种程度上,任何使用这项技术的计划时,你会比较两者,你会一直小心谨慎地进行,因为你总是会超过收益与风险。

玛丽亚·露丝安娜·阿申特:这让我们有理由乐观,因为公众的叙述帮助了人工智能领域的高管,或者对人工智能有某种监督的高管重新考虑。对吗?所以,这是利益和风险的问题。以此为起点,许多组织已经开始积极地将它们整合在一起。正如你所说,如果是这样,如果我们还需要考虑好处,那么很明显,让我们从风险的角度出发,识别人工智能可能引发的所有潜在风险,不仅要识别它们,还要能够定义缓解策略,并以此了解我们的组织是否有能力缓解与人工智能相关的风险。我们去年一直在做的研究,我们调查了来自世界各地的大约 1000 名负责任的人工智能高管。他们告诉我们,越来越多的高管将拥有人工智能风险战略,他们将把风险视为更广泛的人工智能战略的一部分。

玛丽亚·露丝安娜·阿申特:另一方面,如果我们超越人工智能的风险并承认,最终,绝大多数人工智能风险实际上是道德风险。当涉及到人工智能的更广泛的道德观时,我们已经看到了相当多的吸收,建立了将使公司能够探索人工智能的道德后果的倡议。因此,能够有一个更长远的观点,而不仅仅是被动的,这与风险有关,并说,“我们将寻求制定内部政策,允许我们从我们公司的角度探索,在某些情况下使用人工智能和各种技术时,我们应该朝着什么方向前进,谁需要参与?决策过程是怎样的?什么是我们最终应该嵌入的价值观,编码到将导致这些技术的构建、部署和使用的过程中,并确保我们有办法控制这一切?”

玛丽亚·露丝安娜·阿申特:现在听起来很宏大,听起来需要做很多事情。我们已经看到很多公司有行为准则和原则,相当多的公司。我们已经看到公司对建立道德委员会感兴趣,这将允许他们探索和辩论,并在道德决策中有一个透明和建设性的过程,但也开发影响评估和其他类型的工具,这将允许他们权衡,开发人工智能的后果是什么?

玛丽亚·露丝安娜·阿申特:我们有足够的证据表明事情正朝着正确的方向发展。需要做的还有很多,但至少我们收到了明确的信号,即当有人提到人工智能这个词时,脑海中出现的下一个想法是,我们需要思考道德、风险识别和问责制。我们需要确保所有这些都包含在我们面前的任何计划中,这样,我们不仅可以获得这项技术承诺的所有成果和所有好处,而且我们还可以保持控制,并了解哪里可能出错以及如何最好地处理它。

阿黛尔·内姆:这非常令人鼓舞。您在这里提到,存在对道德风险做出反应的被动型组织和更主动的组织。您认为将负责任的人工智能视为一种重要的价值水平而非他人的组织之间的主要区别是什么?

玛丽亚·露丝安娜·阿申特:我认为有两类公司。第一,这是我们看到人工智能采用率相当高的地方。我先说一下科技公司,因为它们完全处于不同的阶段,我认为,挑战在于,我们拥有的大型科技公司与它们生产和使用的技术的道德规范关系不大。这更多的是与企业和商业道德有关。而说到非科技公司,其他人就不说了。我认为,从我们从客户那里看到的情况来看,这些影响在很大程度上与人工智能采用的成熟度有关。在理解人工智能和大规模部署人工智能方面更加成熟,引发了这些考虑,因为当你开始看到人工智能在你的业务中如何运作时,他们更有可能经历了一些负面影响,特别是偏见和歧视,这使他们在对待人工智能的方式上更加谨慎。

玛丽亚·露丝安娜·阿申特:但是这也和他们经营的行业有很大关系。例如,当我们审视不同行业的各种道德原则时,我们发现,不出我们所料,但事实上,可靠性、稳健性和安全性是所有公司最关心的问题。因此,它的优先次序,确保解决方案是强大和稳定的。

玛丽亚·露丝安娜·阿申特:但是当我们看其他人的优先事项时,他们因行业而异。对吗?值得一提的是,在可靠性、稳健性和安全性的同一水平上,我们的数据隐私一直是每个家庭的首要道德问题,因为在世界上的一些地方,这是一项强制性要求,因此,在所有数据驱动的技术中嵌入隐私,这是合规流程的一部分。但对于各种行业来说,例如科技、媒体和电信,人事代理是最受关注的。在公共服务和卫生领域,有益的人工智能是最受关注的问题。对吗?能源,问责制是这个领域的高管优先考虑的问题。

玛丽亚·露丝安娜·阿申特:所以,一方面,除了采用的成熟度,另一方面是行业如何形成,他们将部署什么样的应用程序,以及这些应用程序将如何增强运营。他们会更贴近顾客吗?会不会触及个人资料?或者它会是更后台类型的人工智能应用吗?当你提出这种不平衡时,你会看到成熟的公司,他们会,不只是开始思考,他们已经有了计划。开始这一旅程的人将考虑这些不同的影响,但他们可能会在采用方面放缓,因为这将与人工智能的采用速度密切相关。

如何在组织内实施负责任的人工智能

Adel Nehme:你在这里提到了健壮性、安全性和可靠性,我想接下来讨论如何在组织内实施负责任的人工智能。我在负责任的人工智能上看到的最好的资源之一是你的团队在负责任的人工智能上开发的一个框架,名为:负责任的人工智能工具包。你能给我们介绍一下这个框架和其中的不同组件吗?

玛丽亚·露丝安娜·阿申特:是的。谢谢欣赏。我认为我们对我们所做的工作感到非常自豪,因为我们在其中投入了大量的热情。所以,当我们三年前创建这个工具时,当我们两年前推出它时,我们是一群来自不同地区的人,他们基于我们以前的经验、客户工作和内部经验来创建一个工具,这个工具既灵活又具有前瞻性,而且本质上是整体的,因为我们知道人工智能具有颠覆性的潜力,负责任的人工智能需要能够在一个保护伞下汇集各种方法,允许这种灵活而整体的方法。所以,我们最终创造了一套类似乐高积木的工具包,既有基于代码的,也有非基于代码的,用来解决不同的问题。

玛丽亚·露丝安娜·阿申特:所以,我们有资产可以测试可靠性、健壮性和安全性,也可以测试可解释性、公平性和歧视性,这些都是即插即用型的东西。就创建允许对算法性能进行特别测试的解决方案而言,这正是整个行业所处的位置。但与此同时,我们也有非基于代码的资产,本质上更像是咨询顾问,这将允许评估组织在理解他们所支持的价值观方面处于什么位置,当涉及到开发人工智能时,他们能够将这些价值观转化为原则并进而转化为设计要求的能力有多强,以及这些价值观与组织的背景和各个地区的法规有多同步。最后,您如何保持控制力?你如何开发一个跨越人工智能生命周期的治理模型,而不仅仅是从业务需求开始。

玛丽亚·露丝安娜·阿申特:这是模型设计。这是应用程序设计。但事实是,人工智能的生命周期始于你决定的战略忽视,人工智能将被纳入的战略优先事项是什么,你如何接近它,以及谁将参与其中。人工智能的治理汇集了各种各样的工具,允许你操作各种风格的人工智能或各种类型的人工智能,无论你是在家里构建的,还是从第三方获得的。你必须有一个虚拟的运营模式,让你能够控制局面,至少在人工智能的这种破坏或变化引发商业流程的线性变化之前,工作结构的方式,工作文化,将逐渐适应自主代理。拥有这些不同的资产使我们能够对客户说,“如果您主要关心的是识别风险,我们可以帮助您识别这些风险,创建正确的控制,而且还可以更新您的运营模式,以便您实际上有能力解决这些风险,如偏见或合作伙伴。”

玛丽亚·露丝安娜·阿申特:同样,如果公司说,“我担心他们是否在丹麦,比如说,丹麦法律要求公司有一个关于数据道德的行为准则。”并且说,“我的伦理原则应该是什么?我应该如何对齐它?我应该如何将其转化为我的内部政策?谁应该参与将这一政策付诸实施?”我们将能够解决这个问题。但同时,我们总是盯着更长远的眼光,更长远的眼光,这才是有 AI 的美好生活。虽然我们做所有这些不同的个人工作,但对负责任的人工智能采取这样一种整体方法的原因是,如果你是认真的,如果你致力于提供道德的人工智能,那么你需要采取更多的步骤,这意味着,不管你是否已经开始了解决人工智能风险的旅程,如果可能的话,你应该解决所有这些不同的因素,因为没有它,人工智能将很难实现道德的结果。

道德行为准则

阿黛尔·奈姆:我很乐意解开你在这里提到的东西。所以,您提到的一件事是帮助组织创建一个道德行为准则,并将这些价值观集成到他们的人工智能系统中。您能告诉我们这个过程是什么样子的,以及组织在这里可以做什么吗?您在这里提到了丹麦用例。假设所有组织都像丹麦一样,他们如何着手实施道德宪章?

玛丽亚·露丝安娜·阿申特:我认为,首先,要理解你必须回归组织的价值观。你不能凭空拿起你想应用于人工智能的伦理原则,或者在了解你作为一个群体是谁之前,与其他组织结盟。这是大多数科技公司都会遇到的问题,因为他们作为一个集体签署的价值观和需要推动所有这些组织的愿景和雄心的组织价值观之间似乎存在脱节,以及这些价值观如何实际转化为他们的运营方式,包括他们开发和使用的技术。这可能是第一步,也是最重要的一步,承认你有这些价值观,承认在人工智能的世界里,将这些价值观转化为设计需求,需要比以前更诚实的态度。

玛丽亚·露丝安娜·阿申特:如果在以前,你不会有那么多的能见度,或者证明你的价值观是否一致和嵌入的方法,现在是时候了。我一直对人们说,好的组织产生好的人工智能。坏的组织,他们会产生不同类型的 AI。我不是说不好。我说的是不太道德的组织。所以,我认为第一步真的很重要,要明白你有一套价值观,最终需要反映在你做的和说的每一件事上,而不仅仅是说,你做的每一件事。第二个层面是,如果是这样的话,人工智能引发的关键伦理道德问题是什么?这是我们花相当多的时间去理解的地方,基于我们在这个领域的许多杰出专家的研究,他们已经思考了很长时间,看着人工智能,评估和重复他们处理的各种道德含义,那些基于此的伦理原则。

玛丽亚·露丝安娜·阿申特:我们从[Asilomar Hwan]这样的团体开始,然后我们有了可能是迄今为止最大的 IEEE 倡议,因为他们花了三四年时间,聘请了该领域的 300 多名专家,以期收集这些伦理和道德问题,然后能够提炼出一些指南,这些指南很容易被经验较少的人,即工程师使用,一旦他们需要非常明确的指导和规则,如何处理这些影响以及如何翻译这些影响。像经合组织和欧洲委员会。显然,欧盟的人工智能和经合组织的可信规则,它们都是相互联系的,因为最终,它始于一群人工智能专家和一些哲学家一起头脑风暴这些影响,以及各个小组单独做这件事。

玛丽亚·露丝安娜·阿申特:然后越来越多的其他团体将重复并进一步加强这一思想,并给了我们近 200 个不同的文件,155 个不同的原则,当我们把它们放在一起时,我们汇总成九个元伦理原则。当然,它们是数据隐私、健壮性和安全性、透明性/可解释性、有益的人工智能、问责制、安全性、合法性和合规性以及人类机构。但这就是我们在普华永道的方式,我们把所有的原则组合在一起说,如果你看看所有那些由所有那些团体起草的 155 个不同的原则,无论是盈利性的,非盈利性的,跨国的还是超国家的组织,它们都有很多共同点。这只是你如何表达一些问题的问题。所以,当我们合计,我们发现这九个,但如果你看看经合组织是怎么做的,或者欧洲委员会是怎么做的,这是非常相似的。对吗?

玛丽亚·露丝安娜·阿申特:能够把所有的都汇总起来说,“这些是我们现在所有的道德考虑,虽然还会有其他的,我们需要考虑更长远的,现在发生的事情,它需要把这些规则纳入指导设计。”对吗?第二步是说,看看所有这些不同的原则,挑选出与一个人的组织更相关的原则,追溯到价值观,但也非常重要的是,展示那些将被转化为规范和设计要求的道德原则是如何与人权保持一致的,因为最终人权是世界上几乎所有 190 个国家都签署的价值体系,它实际上是一项法律,具有约束力。因此,我们需要证明一项具体的原则是如何与各种人权条款联系在一起的,以及各种应用是如何实现这些原则或者有违反这些原则的危险。

玛丽亚·露丝安娜·阿申特:我不会在这个方向上花太多时间,但我想说的是,实施过程的第三步是,确保当你制定这个章程时,你与组织中的每个人都进行了磋商。对吗?对于一群人或某个组织中的某个负责人来说,“好吧,我实际上选择了负责人,我起草了他们,然后你就可以走了”是不够的那不会持续很久。你需要经历这个过程,这是每个人实际上所处的位置,不是每个人,但很多公司都在跨越式地试图走捷径,也就是说,“我有原则就够了。我就是要推这个政策。”这是最慢最痛苦的旅程。你需要将不同的团体、不同的利益相关者聚集在一起,能够签署这些原则,并能够与每一个会影响价值观整合方式的人协商这些原则。

玛丽亚·露丝安娜·阿申特:只有你这样做,在某些情况下,制定这个政策可能需要同意。OECD 原则,制定一个传呼机大概花了两年时间。但在这背后的过程中,与利益相关者的广泛磋商吃了确保道德原则将被正确操作的秘方,因为在这个过程中,你不仅得到了需要参与的每个人的支持和咨询,而且你还开始了改变思维模式的过程,因为在这个过程中,你开始辩论为什么这些原则很重要,并能够根据你组织中现有的例子进行迭代,你如何使用数据和人工智能或潜在的例子,将会发生什么。通过让每个人都参与进来,你就开始了实施这些原则的过程。当你开始设计框架和工具的时候,你已经完成了一半,因为人们会对为什么这很重要以及为什么需要这样做有更高程度的认识和理解。

Adel Nehme:太棒了。你提到人工智能治理和问责制是负责任的人工智能的一个方面。人工智能治理可能需要数据科学家、商业领袖、专家、流程经理、运营专家以及任何组织中存在的各种不同的人和角色的协作和责任。并且他们可能不都具有相同的“数据语言”或数据技能或相同的数据素养水平。指出这一点,显然,数据素养和人工智能素养对组织来说很重要,但你认为我们应该如何扩展我们的数据素养概念,以解决工作场所中的人工智能道德,风险和责任?

玛丽亚·露丝安娜·阿申特:我认为在我们谈论人工智能和数据素养之前,我认为我们需要开始谈论一般的数字素养,以及技术含义范围内的素养。我认为,每次我们旨在教育人们掌握技术的时候,我们都避免描述,但是什么会出错呢?还有其他选择吗?因此,我们一直认为人工智能技术是解决人类所有问题的灵丹妙药。我们需要远离这种态度,一起重新考虑我们在这里试图解决的问题,以及建立像人工智能这样的技术的后果。越来越多的学者站出来说,“开发人工智能有很多我们看不到的隐性成本。我们认为人工智能的复杂程度是理所当然的,事实上,有很多隐藏的工作和努力没有被承认。”

玛丽亚·露丝安娜·阿申特:有一本漂亮的书刚刚出版。它将在英国上市,可能在未来几天内。我认为它已经在欧洲上市了。它叫人工智能地图集,作者是我最喜欢的人工智能领域的人之一,凯特·克劳福德。凯特所做的绝对是聪明的,她将人工智能描述为一种现象,这种现象不仅汇集了数据和算法,这是在这一领域工作的每个人的参考框架,尤其是工程师,而是汇集了所有其他元素,为我们提供数据和算法。从地球表面获取的自然资源是什么?那么这样做的生态代价是什么?例如,训练一个模型,一个语言模型的环境成本是多少?如果我们开始复制它,然后如果我们开始有更多的这种有万亿参数的模型,这对环境意味着什么?但也非常强调有多少隐藏的劳动被用于标记数据,有多少劳动被排除在人工智能的供应链之外,如果你想的话,并给人一种人工智能比实际上更聪明的印象,以至于她总结道,“除了数据,那不是石油,不是可以收获的自然资源,但事实上,它关乎人们的生活。”

玛丽亚·露丝安娜·阿申特:所以,在我们继续前进之前,我们仍然必须找到并同意数据对我们的意义。凯特的结论是,最终,人工智能既不是人工的,也不是智能的。我不想给我们的听众带来太多的惊喜,但我想说的是,这本书正是我们在谈到人工智能时需要的叙事类型,理解人工智能的影响的全部长度, 它来自哪里,谁拥有它,背后的利益是什么,以便我们共同走到一起,挑战那些实体和那些目前似乎不成比例地拥有强大人工智能部分的实体,并能够说,“我们需要有一个不同的方法来实现它。 我们需要以不同的方式来考虑。”

玛丽亚·露丝安娜·阿申特:虽然有些人可能会说可能有点太晚了,但我认为现在正是重新考虑的时候。对于现在加入人工智能的人来说,这是一个正确的时间来重新思考整个现象,并说,通过不平等的加剧,我们现在知道人工智能可以在不知道的情况下变得如此糟糕,没有隐藏的自动化,这已经存在于世界上许多地方的公共服务以及对环境的影响,这是进行这场对话的正确时间。现在是揭开人工智能隐藏部分的时候了,不要再认为它只是一个数据集和一个模型,看看背后是什么,我们是如何获得数据集的?我们是如何创建这个数据集的,这些数据集中代表了哪些人?

玛丽亚·露丝安娜·阿申特:那么,如果我们朝着那个方向发展,我们将如何改变这么多不同人的生活?我知道这听起来像是问题的蓄水池,但我认为为了让我们避免使用人工智能的绝对灾难,我们需要开始从这些方面思考。虽然像 Kate Crawford 这样的人和她在 AI Now 的出色团队以及世界各地的许多其他活动组织都做得非常出色,但我认为在我们自己的小团队和组织中,我认为我们可以从这些学者和远见卓识中学习和启发的是,我们需要超越我们的感知和愿景的直接边界,思考我作为一名数据科学家所做的事情实际上会改变,以及这将如何改变你应该拥有的责任和问责水平,并开始作为变革的倡导者。

玛丽亚·露丝安娜·阿申特:有时候,责任的界限需要从团队延伸到更高的业务部门、更高的公司以及社会。除非我们有数据科学家级别的草根行动主义,否则我们无法完全改变或转变整个技术世界的这种思维模式,因为我们需要内部的人,建立这种思维模式的人,承认他们的工作更有影响力,编写一段代码或处理一个数据集实际上正在改变人们的生活。

玛丽亚·露丝安娜·阿申特:虽然没有法律,但也没有什么会强迫你去想它。但我有信心,在这个行业有很多优秀的人,他们会理解什么是危险的,他们会学习如何成为变革的良好代理人,并以一种解释这种负面影响的方式构建人工智能。这就是我希望我们在这些地方开始具备的素养,而不是太多的学习,“哦,这就是你如何建立一个机器学习算法。这就是如何建立一个语音助手。”不,这是理解的含义和影响,然后从那里开始工作,如何最好地建立它,以便我们实现积极的结果,并能够保持消极的控制。

行动呼吁

Adel Nehme:我完全同意你对人工智能和数据素养的愿景,它包含了人工智能伦理和人工智能价值链及其外观。当我们结束这篇鼓舞人心的文章时,你对节目听众的最后呼吁是什么?

玛丽亚·露丝安娜·阿申特:不要把事情看得太重,要勇于挑战。挑战一切。我们需要你们去挑战,去告诉你们自己这项技术的真正潜力是什么,是谁在背后支持它,以及你们个人如何改变你们的现状。如果我没有接触到像凯特·克劳福德这样的人和许多像她一样的人的出色工作,我就不会这样说,他们不知疲倦地倡导人工智能的不同方法。我认为只有我们每个人都告诉自己,在我们要求我们的公司为我们提供框架、方法和政策之前,首先努力找到我们所处的位置并改变我们的心态,我认为我们有很多优势,我们自己是主要的建设者,是最接近建立这些工具来进行改变的人。

玛丽亚·露丝安娜·阿申特:虽然事情正朝着正确的方向发展,我希望看到自上而下方法领域的更多进展,公司围绕负责任的人工智能开发正确的框架,但如果我们没有自下而上的方法,让像你们一样的人理解这确实是历史上一个独特的时刻,我们手中的技术可以让我们成为人类的一个非常好的地方,也可以让我们成为一个黑暗的地方,这不会让我们走得太远。

玛丽亚·露丝安娜·阿申特:虽然我从来不太喜欢埃隆·马斯克或斯蒂芬·霍金等人所说的话,但我认为向那个方向发出警报是有好处的,因为这几乎就像他说,“那是你不想去的地方。”所以,如果你不想走到那一步,那就振作起来,朝着一个不同的结果努力,而不是向你展示这是可能的,因为无论你如何否认,都有可能实现。对于技术,包括政治家在内的绝大多数人几乎一无所知。

玛丽亚·露丝安娜·阿申特:这很容易被政治化,不,不会是人工智能接管世界。这将是其他人开发和使用人工智能的方式,将攫取更多的权力到自己手中。所以,我们需要小心。最好的方法是开始积极参与其中,而不只是说,“编码只是我的工作。清理这个数据集只是我的工作。”不仅仅是那些家伙。只有我们团结起来,我们才能做到。我们仍然是一个小社区,但我希望新的一代即将到来。那些正在接受培训以进入未来人工智能工作的人,他们将受到鼓舞,脱下这一愿景,他们将加入我们,我们将一起继续推动人工智能现在如何被创造以及人工智能在未来应该如何被开发和使用的边界。

Adel Nehme: Maria,非常感谢你参加播客。我真的很感谢分享你的见解。

玛丽亚·露丝安娜·阿申特:非常感谢你邀请我。

Adel Nehme:今天的 DataFramed 节目就到这里了。谢谢你和我们在一起。我真的很喜欢 Maria 关于数据科学家如何在他们的工作中承担更多责任的富有同情心的行动呼吁,以及她对负责任的人工智能状态的见解。如果你喜欢这个播客,一定要在 iTunes 上留下评论。我们的下一集将与布伦特·戴克斯一起探讨如何通过有效的数据讲述来获得更有影响力的数据科学。我希望这对你有用,我们下次在 DataFramed 上再见。

构建数据策略的渐进过程

原文:https://web.archive.org/web/20221129050302/https://www.datacamp.com/blog/the-gradual-process-of-building-a-data-strategy

DataFramed Episode #81

https://web.archive.org/web/20220518121129if_/https://embed.podcasts.apple.com/us/podcast/81-the-gradual-process-of-building-a-data-strategy/id1336150688?i=1000554727741

DataCamp 播客 DataFramed 的主持人 Adel Nehme 最近采访了默克数学科学中心的数据科学主管定量科学主管 Vijay Yadav。

介绍 Vijay Yadav

Adel Nehme:大家好。这是 Adel,DataCamp 的数据科学教育家和布道者。我喜欢主持 DataFramed 播客的一点是,我可以与真正聪明的数据领导者交谈,他们可以打破不同的杠杆,成为数据驱动的组织。你可以说,一旦你把所有这些杠杆放在一起,你就有了数据战略的关键组成部分。

Adel Nehme:这就是为什么我如此兴奋地与 Vijay Yadav 交谈。Vijay Yadav 是默克数学科学中心的定量科学总监和数据科学负责人。他是一名经验丰富的数据领导者,负责推动默克制造团队的分析战略和路线图,并负责整个默克高级分析能力的开发和部署。

Adel Nehme: Vijay 在制药和化工制造领域拥有超过 20 年的工作经验,在开发大规模数据战略方面有着深刻的见解。在这一集里,我们谈到了他的背景、数据战略的关键组成部分、数据文化和人为什么是数据战略中最重要的方面、如何为数据科学构建技能提升计划等等。现在让我们开始吧。Vijay,很高兴你能上节目。

维贾伊·亚达夫:谢谢你,阿黛尔。很高兴来到这里。

Adel Nehme:我很高兴能与您讨论所有数据战略,如何运营和建立数据文化,如何在组织内加速数据科学。但首先,你能给我们简单介绍一下你自己的背景,以及你是如何进入数据领域的吗?

Vijay Yadav:谢谢你,Adel,很高兴来到这里,我是一名计算机科学家,我的职业生涯始于 it 领域,数据始终是我职业生涯的一部分,我认为自己是一名数据实践者,尽管在我的大学时代,我专攻人工智能和数值方法统计,但我在职业生涯的后期应用了这些技术。

Vijay Yadav:但我可以告诉你,在我的职业生涯中,数据一直是过去和大多数解决方案的一部分,我已经能够应用一些人工智能和机器学习技术来为公司提供一些商业价值。目前,我在默克公司工作,领导他们的数据科学团队,主要致力于开发人工智能和人工智能解决方案,使制造业成为现代化的能力驱动领域。

Adel Nehme:今天肯定会有很多影响。我最想和大家谈论的是数据战略的不同要素以及如何实现这些要素。您是数据科学领域经验丰富的领导者,并且在数据转换项目上做了很多工作。

Adel Nehme:我特别喜欢数据策略这个主题,因为它让我们能够挖掘数据驱动型组织的所有基本元素。我认为这非常令人兴奋,所以如果您能从较高的层面向我介绍数据策略的不同组件或元素,我会很高兴。

Vijay Yadav:不,这实际上很好,这是你想要整体思考的方式,数据和分析策略应该是什么样子。根据我的经验,这个策略有六个支柱。排名第一的基本上是数据分析战略本身,谁拥有该战略,谁开发该战略,对吗?有哪些玩家想这么做?

Vijay Yadav:这是非常战略性的观点的第一个组成部分,最终的业务目标是什么?我认为你应该根据业务发展的实际业务战略来制定战略,对吗?这是第一部分。第二部分是运营模式。这是新区,对吗?扮演角色的不同玩家有哪些?数据和分析组织的规则和职责是什么?

Vijay Yadav:技术功能的作用是什么?业务职能的作用是什么,我们有不同的业务职能,什么是数据产品团队,无论是工程团队还是设计团队。因此,有多个参与者我们如何走到一起,以一种有凝聚力的方式进行协调,以便在执行中实现这一战略并推动其中的价值,对吗?这是第二部分。

Vijay Yadav:第三个组成部分,我要说的是数据资产本身。那么,我们如何着手构建数据资产呢?你必须认真考虑一下,我们都称之为数据是石油,数据是黄金,它是一种资产,对吗?那么,我们如何利用这一点,使我们基本上可以推动价值,保护它,对,这样做。现在不是了,你把所有的数据都放进数据湖,对吗?这不是你放入数据的策略。

Vijay Yadav:我所说的数据是指战略,即我们可以做的事情可以通过一种简单的方式获得。只有需要访问的人。他们必须有访问权限,有人认为这是数据本身的一个较小的民主化,这是有意义的,对吗?那么我们如何做到这一点呢?这是一个组件,下一个组件是基础架构,即平台本身。

Vijay Yadav:我们有一个数据,我们如何应用基础设施,将可扩展的基础设施投入使用,它可以以企业希望的速度做到这一点。所以基础设施,不管是数据平台。此外,当我们谈论数据科学领域时,如果数据科学家正在工作,他们会使用什么样的工具和技术,对吗?所以我们必须把它放在一个可以销售和扩展的地方,对吗?

Vijay Yadav:我认为下一个组成部分是数据产品管理。这是一个相当新的概念。如果你现在谈论谷歌、脸书和 Meta,数据产品的概念在硅谷非常普遍,但在其他行业不普遍,无论是制药还是其他行业。那么我们如何带来产品的概念呢?我说的产品是指数据产品,对吗?

Vijay Yadav:这个概念不是你采取主动,你开始和结束,你必须开发它,你想让整个公司都可以使用这个产品。这就是你对待产品的方式,所以我们需要什么样的方法来实现它,对吗?

Vijay Yadav:最后一个,我想说的是人和文化,尽管这是最后一个,但我会保持在最后,对吗?所以我们如何组织这个组织本身,数据和组织,什么是文化和文化我可以告诉你是这个战略中最大的组成部分在各个层面。我们将继续深入讨论,但在高层次上,我认为这是真正需要的六个方面。

数据策略的所有权

Adel Nehme:太棒了。所以这里肯定有很多东西要解开。我很想一个一个地检查每一个元素,挖掘并挖掘你的大脑。我说,我喜欢围绕数据策略的讨论,因为它是如此全面。因为我们要处理所有这些不同的元素,所以让我们从您提到的数据战略的所有权开始,这是您考虑所有权时的首要元素之一。

Adel Nehme:我经常看到在一个组织内经常有权衡或摩擦,特别是当他们开始他们的第一次数据分析时,在他们的数据分析之旅中,围绕谁拥有战略。可能是,这通常是关于 it、数据团队或业务职能的争论。在某种意义上,你认为谁应该在数据策略的执行中拥有它?

维贾伊·亚达夫:不,这是一个如此伟大和重要的问题。我可以告诉你,那些做得好的公司,那些企业拥有数据战略,而那些做得不好的公司,这是别人拥有的一种非常传统的方式。所以有可能是技术冒充别人,对吧?以我的经验来看,我可以告诉你的是,当企业拥有一个数据战略时,你将获得最高的成功,所以我所说的企业拥有它的意思是。

Vijay Yadav:所以想想谁是数据的使用者。这是生意,生意知道什么是好的。现在,我们可能没有能力,但这就是我们想要的。谁能代表企业?对他们来说有多好,对吗?来推动价值,对吗?如果业务是一个,这将是一个驱动,我需要做什么呢?

Vijay Yadav:不是传统意义上的 IT 组织。以及驱动价值方面的所有权。假设我们开发了一个解决方案,对吗?我们在一天结束时部署使用它的业务。谁承诺,嘿,我们开发这个工具。现在,这里的价值是我们所驱动的,不是它,也不是其他任何功能。企业将做出承诺,我们定义成功是什么样的,我们正在利用它,这就是交付的价值。

Vijay Yadav:所以你可以带着这个价值进入下一个层次,基本上就是这么做的。因此,根据我的经验和观点,非常强烈的观点是,企业应该基本上拥有这一战略。从技术上来说,商业就是制药公司生产药品的业务。你需要像专家战略家那样的人和数据来代表商业。他们基本上代表业务,基本上希望他们的战略能够推动业务。

Adel Nehme:你在这里提到的是,数据科学和数据在一定程度上不是一个传统的技术项目,对吗?这不是你从 A 点带到 z 点的东西。这是一种思维方式的转变,是一种解决业务问题的新方法。

Vijay Yadav:如果你谈到业务数据,数据的业务是喂养,使你的主要业务线,对不对?因此,如果我们想到垂直的数据业务,当你谈到业务时,你必须有一个客户。因此,您的企业是数据业务的客户。

Adel Nehme:这就是为什么它应该归企业所有。对吗?

维杰·亚达夫:百分之百。完全正确。你总结得很好。所以我想说的一点是,我今天的想法是,这些是不同的因素。所以任何公司,至少他们在做两件事。一个是他们从事的主要业务。所以,如果你是一家制药公司,你生产制药产品,这是你的主要业务。

Vijay Yadav:但是你也从事数据行业。数据业务是一个概念,你要从中挖掘价值。因此,我认为这里的思维转变是,你不仅是你所做的业务,而且也是数据业务。如果你想让你的组织更上一层楼。

Adel Nehme:与首席管理人员的对话,特别是您如何说服他们,嘿,数据战略不应该归 IT 部门所有,因为首席管理人员可能非常乐意将这些技术驱动的项目交给 IT 部门,而不一定交给业务负责人。那么,这种对话是如何进行的呢?这种心态的转变是如何在高管层发生的呢?

Vijay Yadav:这是一个非常好的问题,我可以告诉你这对于那个级别的人来说并不容易,对吗?他们一直在以某种方式运作。我要说的是,基本上他们的理由是,企业了解什么是好的,对吗?IT 组织不是这样,他们基本上是某方面的专家,但他们不了解业务的基本情况。

Vijay Yadav:根据我的经验,我所做的就是证明这一点,所以,嘿,听着,当我们进来并代表企业时,我们与企业交谈,我们定义了企业的所有权。这是我们交付的东西,这是价值。现在,您可以将这一结果与您基本上已经完成的任何其他解决方案进行比较,您可以看到不同之处,只要分配所有权,推动业务就是推动您实现不同,对吗?

Vijay Yadav:所以没有直接的答案。我认为这需要时间。所以有时你会看到成功,这是一种策略,如果你改变它,那么我可以告诉你,这已经证明比传统的做事方式更有价值。

Adel Nehme:鉴于企业应该拥有它。那么,IT 在执行和构思数据战略中的角色是什么?

Vijay Yadav:如果你说数据就是商业,那么它所做的就是扮演一个重要的角色。请想一想,我们谈到的支柱之一是支持,对吗?是数据和分析支持,对吗?基础设施,对吗?举个例子,如果你需要架构,如果你需要设计一个解决方案,这是一个必须由 IT 扮演的纯技术角色,对吗?

Vijay Yadav:或者你需要一个平台,我们需要的 IT 平台,所以我会说,交付,一旦我们定义了成功是什么样子,企业就会说,这是好的样子,这是我对这个特定解决方案的愿景。我要把远景规划出来,这对我来说才是好的远景。

Vijay Yadav:让我们来定义这些部分,然后 IT,你来让我们在技术组件发挥作用的任何地方发挥作用。所以我要说它仍然起着很大的作用,但我认为愿景是驾驶员座位上的那个。这就是我看到的不同之处。

你如何组织数据团队?

Adel Nehme:太棒了。我们已经讨论了数据战略第一个组件的所有权,让我们继续讨论第二个组件,即运营模式,对吗?你如何组织数据团队?

Adel Nehme:正如你提到的,在这个组织中,在这个新的实践中,在一个组织中,你如何组织球员来传递价值,对吗?因此,就构建新成立的数据团队的运营模式而言,您有哪些不同的选择?

Vijay Yadav:所以在我的职业生涯中,我真正看到的成功之一是,在运营模式中,赞助商发挥了重要作用。我这么说是什么意思呢?所以赞助商是一个,基本上你是商业案例的拥护者,现在当你使用[听不清 00:13:39]和任何分析产品来开发数据产品时。它必须基于被驱动的价值。

Vijay Yadav:现在,商业赞助商真的是你的关键,在高层代表你。不仅如此,如果我们让发起人参与,那么他们就是使变更管理成为可能的人。所以我并不是去开发一个模型。有人就接受了它。为了部署新的解决方案,这是一个必须进行的变更管理过程。

Vijay Yadav:所以如果你有一个赞助商,那么你基本上可以接受它,所以这是任何运营模式中的第一位,每次你推出一个数据产品解决方案,你的赞助商也确实在那里发挥着关键作用,对吗?所以这是其中的一部分,对吗?现在,谈谈产品管理部分,对吗?

Vijay Yadav:那么谁来设定数据产品的愿景呢?好看是什么样子,对吧?所以通常情况下,产品团队是一个垂直部门,我在扮演的多个角色中都成功地做到了这一点。这是一个角色,基本上是定义愿景的人,代表这里的业务,路线图基本上是这样的,这是我们基本上要做的事情。

Adel Nehme:这是数据团队的路线图。

Vijay Yadav:没错,就是这么做。现在,这是一部重头戏,你可以说,这是他们作为一个团队来扮演的角色,在提供 IT 基础架构、平台体系结构、合规性等方面发挥作用,例如,在这些日子里,我认为数据合规性确实是其中的一部分,对吗?所以我们也必须把这个因素考虑进去。

Vijay Yadav:所以我们定义了谁在做什么,对吗?如此清晰地定义了。另一个要素是业务主题专家。现在,如果我们采取,如果我们说,嘿,商业是自己的地位战略,对不对?因此,企业必须作为主题专家来分配资源。因此,随着项目的进行,开发也在进行。我们有人有专业知识来提供基本的洞察力,什么好看的样子和这种性质的东西,对不对?

Vijay Yadav:所以还有另一个商业角色。我们谈到了赞助,谈到了 It,然后我们有了产品团队。然后,我们有业务方面的问题专家。我认为在这方面,相邻的是管理的变化。那么谁来扮演这个角色呢?这是另一个因素。最重要的是,考虑优先级。

Vijay Yadav:那么谁来定义,我们应该接受哪些项目,是一个产品团队吗?也许来自企业的某个人说,嘿,我们这里有 10 样东西,这是第一件。所以有人基本上有一个优先的人,你基本上运行它。此外,您希望从中挖掘价值,因此应该有人负责将价值跟踪到流程中。

Adel Nehme:即使在考虑如何定义团队之前,公司和组织也应该认真考虑谁拥有流程,谁设定愿景以及数据团队的成员?在考虑找谁做数据科学家或如何建立数据科学团队之前,谁在发起变革管理,确保数据团队得到支持?

维贾伊·亚达夫:当然。这很重要。我认为,现在我们面临的一个主要问题是,当我参与其中时,没有人知道谁在做什么,我认为我已经看到了成功,如果你清楚地定义了角色和责任,并且有一个非常清晰的地图,那么我认为你在这种情况下取得了很大的成功。

Adel Nehme:如果没有你正在讨论的那种基础层,即设定路线图、设定流程,你会让数据科学家失败,因为他们不一定知道他们在构建什么或为谁构建。对吗?

维杰·亚达夫:百分之百。我认为,对我来说,我们将讨论的一个要素是,客户体验,用户体验是关键。我所看到的是,我们的设计传统上人们试图定义一个解决方案,并试图在事实并非如此之后找到用户。您的解决方案应该真正适合业务和用户。你需要了解用户群,并为此设计一个解决方案。去吧。

集中式或分散式模型

Adel Nehme:太棒了。现在我们已经有了这样的运营模式,一个相对固定的地方。你是如何组织数据团队的?一些组织选择卓越中心集中式数据团队,而另一些组织则选择,我们让数据科学家参与业务,他们也参与其中,他们也是业务的一部分。

Adel Nehme:在集中模式和分散模式之间,哪种模式最适合您,您认为哪种模式最适合您,这两种模式之间的权衡是什么?

维贾伊·亚达夫:我会说是混合模式。所以,考虑一下不同性质的分析需求,复杂性是不同的,对吗?因此,如果您嵌入一个数据科学团队或数据分析专业人员,作为业务的一部分,他们正在做比如说仪表板或任何类型的洞察,我们基本上可以用简单的方式创建,不需要高级分析,对吗?

Vijay Yadav:所以我认为你可以把这些作为日常支持的一部分,他们了解当地的需求。他们是其中的一部分。我认为你需要集中的主要部分,我所看到的基本工作是你取得进展,这是一个复杂的部分,因为你需要将不同的技能组合在一起,如果你分散,你可能无法推动价值。

Vijay Yadav:我会说这是两者的结合,你支持地方,那里的事情可以不太复杂,非常本地化,但当你采取重大的转型举措时,我认为拥有一个具有不同技能组合的中央团队,我认为这真的很重要。

Adel Nehme:特别是在分析之旅的早期,用集中式模型搭建舞台非常重要,然后随着时间的推移,您可以嵌入并变得更加混合。对吗?

维杰·亚达夫:那是百分之百。我认为,关键的一点是,很多组织仍在不断成熟。你不知道中央基本上是什么样子,所以我认为有一个完整的数据文化。你想让人们意识到,嘿,数据可以推动价值,对不对?

Vijay Yadav:所以这是文化的一部分,当你去工作的时候,让人们融入当地。所以人们开始意识到,随着时间的推移,成熟程度的提高,他们开始了解。现在,您可以集中管理,因为现在公司更加清楚数据可以为他们带来什么。

数据资产管理

Adel Nehme:您提到的第三个和第四个组件是数据资产管理,以及数据分析支持。这是很多信息发挥巨大作用的地方。让我们从数据资产管理开始,可以说,它常常是数据战略中最不令人兴奋的元素,但它可能是最重要的元素之一,因为它确实是真理的来源,并在某种程度上决定了人们所获得的见解的真实性水平。

Adel Nehme:接下来我们将讨论数据战略的其他组成部分,当然,我们可以专门用一整集的时间来讨论资产管理、数据资产管理和数据治理,但我想了解一下您对数据资产管理在数据战略中的重要性以及如何体现的见解。

Vijay Yadav:这是数据战略的关键组成部分。你会看到我们抱怨的一件事,天啊,数据不干净。数据散乱,令人绝望。如果你想一想为什么我们的数据有这么多问题背后的区域,那有什么问题,为什么我们没有以结构化的方式思考数据?我们可以参考一下。

Vijay Yadav:真正成功的一个因素是你想给出数据的背景。所以这基本上意味着元数据。所以想想,我有一张图片,对吧?我只是向你们展示一张与视觉检测有关的图像,比如说,一个产品被检测,你拍摄产品的图像,机器就能判断产品是否有缺陷。

Vijay Yadav:现在我想附上那张图片,一条信息和它外面的一切,它来自哪里?它在哪边,来自哪家工厂,哪台机器,对吗?这样,您就可以以一种更具层次性的方式收集数据,包括组织、站点、产品以及您拥有的任何其他元数据。

Vijay Yadav:想象一下,如果你可以将元数据与公司中存在的每一条信息一起附上,那你就可以让它变得强大,随时可以过滤信息,提取信息,因为现在你已经定义了它。所以给数据一个背景是非常重要的。这无论如何都不容易。这很复杂,可能需要时间,但我认为如果你按照这些思路思考,这真的很重要。

Vijay Yadav:我们面临的一个最大的挑战是,在任何时候,如果我是商店流程中的一个用户,我通过我自己的手在键盘上输入数据,我面前的机器就是我正在看的机器。我可以看到数据捕捉到的数据,并把数据联盟发给你。现在,想象一下在这个过程中到底发生了什么。数据离我这么近,我就看到了。我刚戴上手指,突然它就跑到腿上了。

Vijay Yadav:现在我必须去找出它在哪里,所以它离开了我。现在,数据策略必须是,希望将数据带回给它所属的用户。这本身就是一项艰巨的任务。因此,与其发送数据湖,我们如何能带来它呢?这就是策略的归属,例如,我们可以将数据划分到特定的数据领域。

Vijay Yadav:所以如果我在 shopflow 工作,我对供应链不感兴趣,我对其他东西不感兴趣,你能给数据一个背景吗,我了解自己,把它带给我,如果你只是卖给我,我就明白它到底是什么,因为我不必搜索它。所以你用一种民主的方式使一个数据更具体,我真的很好地理解它,不要给我一个浮动的 COCME,并试图找到这样做。

Vijay Yadav:当然,数据治理也是另一个具有挑战性的部分,所以你不想让每个人都可以访问所有东西,对吗?因此,如果你有了数据的上下文,我们谈论元数据,你应该能够控制它,因为如果数据属于某个工厂某个站点,现在我可以说,嘿,你是这个特定位置的所有者,我可以分配属性,其他人基本上都不在。因此,我认为元数据和给出上下文是使数据治理更容易做到这一点的一个非常重要的因素。

Vijay Yadav:回答你的问题并不容易,但这确实是一个关键问题。实际上,现在的技术可以在这个领域做到这一点。有多种技术正在出现,如何给数据赋予上下文,诸如此类的事情。

Adel Nehme:在制定数据战略的这一部分时,您希望首先采取哪些步骤来确保至少在数据治理和数据质量方面走在正确的道路上?

Vijay Yadav:如果你想一想我们如何获得数据?数据什么都不是,但它是一个过程的结果,因为这个过程正在发生。想象一下,我们正在制造药物,当这个过程基本上从左向右移动时,所有的数据都被捕获。因此,随着流程的推进,您的数据也在流程中生成。

Vijay Yadav:现在发生的是我们有很多差距的地区,因为你的过程被打破了。因此,如果您的流程中断,那就是您断开数据集链接的时候。这就是你面临的挑战。所以第一件事是,你真的需要看看你的业务流程,一个高层次。你不需要详细说明,你需要确保你的过程是相互联系的。因此,您的数据基础数据也是相互关联的。

Vijay Yadav:现在你可以说,这是可能的,Vijay,我们基本上可以做到这一点,但我们谈论的是多站点、多国家,我们如何做到这一点,对吗?这是您的另一个角色,这就是为什么我们说元数据在这方面非常重要,所以当您定义流程时,几乎是字面上的意思,您必须给出更多的信息,如流程 ID、站点 ID、产品 ID,无论其他元数据是什么,为每个数据元素给出唯一的定义。

Vijay Yadav:当你捕获数据时,你赋予它独特性,每一部分,这就是你如何隔离和进行整体数据治理。

数据分析支持

Adel Nehme:我们讨论了如何确保您的数据至少得到适当的治理,以及如何以正确的方式围绕数据创建高质量的高质量标准。现在,下一步和下一部分是数据分析支持。你如何确保人们能够以一种简单、直截了当的方式获得洞察力,对吗?

Adel Nehme:我们已经讨论了如何建立这个基础,但最终你需要让人们能够实时处理数据。如果您能告诉我,组织可以做些什么,作为其战略的一部分,使人们能够大规模处理数据,他们需要考虑哪些不同的工具和分析支持,才能大规模操作数据,我会很高兴。

Vijay Yadav:想想实际上有两个,也许三个桶。所以技术人员,数据科学家,对吗?然后你就可以了,所以它们是纯技术性的。我们可以一会儿再谈这个。第二类人是,我们称之为公民数据科学家。这些人不一定是训练有素的数据科学家,但如果你能给他们一个工具,我们就有了自动 ML 的概念,对吗?

Vijay Yadav:所以 Auto ML 确实是一个很好的入门方式,在这里你不必理解算法的底层技术细节,但你可以直观地、真正地了解它,你基本上可以推动价值。底部的第三个元素是人们对数据科学不太感兴趣。所以我们能不能训练他们,提高他们的技能,一个非常基本的工具,不管是用聚光灯还是 Qlik 意识去做。

Vijay Yadav:所以我认为,为了提高人们的技能,你可以将这三类人带到下一个成熟的水平,对吗?所以有一个培训,一个导师计划和培训计划和持续的基础,所以我们可以更详细地谈论真的很关键。Auto ML 真的很好,功能强大,事实上,在默克,我们正在寻求这一途径。

Vijay Yadav:数据智商是我们基本上使用的工具之一,它为科学家服务,也为公民数据科学家服务。当然,还有一个非常技术性的方面,那就是我们如何训练不同的语言,更多的技能,更多的技术。我们培训这些人,因为我们,所以我会说,我们需要集中所有三个领域。

Adel Nehme:描述性分析领域在一定程度上增强了洞察力层,而不仅仅是机器学习层,在这种增强中,商业智能 SOS 的空间在哪里?

Vijay Yadav:所以我想,我知道数据营,对吗?在数据扫盲项目中,我们确实在使用这个工具。我们也有一些小标签,例如,跳转,所以我们基本上使用一些描述性的工具来提升人们的技能,让他们做一些基本的实践工作。所以有一组工具,我们可以用来提高人们的基本技能。

执行

Adel Nehme:谈到执行,我们讨论了很多不同的手段,数据分析支持、数据资产管理、确保基础架构到位、谁拥有战略、如何设定运营模式?这些都是重大的战略决策,需要大量的变革管理,管理数据战略的执行,对吗?

Adel Nehme:考虑到这些层的数量,组织需要推动和拉动这些层。我有几个关于执行的问题。第一,领导者应该如何对这些不同的杠杆进行优先排序?您是先从基础设施开始工作,然后是支持,还是所有的工作都是一前一后,然后组织的哪些部分拥有杠杆的不同部分?

Adel Nehme:我们可以从执行流程和时间表开始,你如何随着时间的推移对这些不同的杠杆进行优先排序?当你去执行的时候,工作从哪里开始?

Vijay Yadav:文化是其中很大的一部分,对吗?因此,我们必须真正了解的一件事是,公司中的每个人都将数据视为资产吗?他们是如何看待数据的?所以有人一辈子都没有在商店工作过,对吗?如果他们没有看到数据如何为他们带来价值。所以我认为教育和扫盲计划肯定是你想在整个公司开始的事情,对吗?

维贾伊·亚达夫:那不需要任何,那没有前身。我认为越多人在改变,文化也在改变。我想你会看到很多事情慢慢地步入正轨。我注意到我的经历的一件事是人民是真正强大的创造者。如果,我们都谈到了精炼结构,我认为如果我必须保持一切都在顶端,我会保持人在顶端。

Vijay Yadav:如果人们理解价值,他们就会有动力,即使没有技术,他们也能把事情做好。因此,如果我想为业务提供价值,理想情况下,如果我有一个平台,一个模型部署,我可以管理生命周期,那就太酷了。我可以对所有这些东西进行版本控制,但是听着,如果我有动力,如果我知道这里面有价值,即使我没有那些技术组件,我仍然能够做到。

Vijay Yadav:这将会很慢,但我仍然会传递价值。因此,我认为我会看到的是,我们不需要真的去构建基础设施,除非你这样做,否则我们不会提供价值。因此,我们可以在没有重型起重基础设施的情况下交付长期悬而未决的成果。你想要推动价值,创造意识,这就是价值。

Vijay Yadav:随着人们变得成熟,他们的思想也变得成熟,甚至商业高层领导的思想也在改变,现在你想扩大规模,对吗?这时候你可以慢慢地把基础设施落实到位,因为基本上已经成熟了。我要说的是,除非你把所有东西都落实到位,然后当你可以推动价值时,我认为你可以从一个低挂的果实开始,不断地在它上面构建,直到你到达需要扩大规模的阶段。

Adel Nehme:所以从某种意义上来说,在文化、技能水平和实施方面可以实现很多价值。然后,随着时间的推移,你开始扩展这些不同的杠杆,如基础设施治理,并在你的方法中迭代,是吗?

维杰·亚达夫:这正是我要说的。

Adel Nehme:就谁拥有这些不同的部分而言,我们讨论了谁确保所有这些不同的部分都得到执行?

Vijay Yadav:我们讨论了数据业务。所以,我指的是企业内部的数据和分析组织。所以这个组织基本上是某处业务报告的一部分,这个结构就是做这个的。我们可以称之为 CDO 或 CDAO,也可以称之为任何其他名称,但这基本上是该组织内部独立的垂直部门。实际上,在很大程度上,我们已经讨论了所有不同的组件,其中大部分至少是由该组织拥有的。

Vijay Yadav:但是,它会到位,我们也会谈到这一点。所以我认为这是一种混合责任。每个人都会看到这一点,数据和分析组织需要扮演一个角色,他们必须扮演主题专家的角色。所以,企业主和企业单位来到了地方。因此,我会说有多个所有者,但总的来说,我认为驱动力是数据和分析组织,正如您之前所说的那样。

Adel Nehme:当然。因此,我们在谈话中强调了某种程度上执行数据策略的迭代性质。你怎样才能实现这种思维模式的转变,嘿,数据科学是一个迭代的项目。它不一定是你做的事情,它是一个已经完成的数据策略,基本上是你持续做的事情,只要技术存在,你就可以从中获取价值。

Adel Nehme:那么,在一定程度上,当执行策略和这些数据项目时,您如何调整流程来说明数据游戏的迭代性质。

Vijay Yadav:这就是我所看到的非常有效的方法。是的,这没有魔法棒。你是如何做到的,让人们信服,所以假设我是并且我已经做到了,几乎每一个案例都非常成功。比方说,你有了一个概念,我接受了这个概念,例如,我加入了默克,我接受了一个概念,我基本上有了一个解决方案的概念证明,这个解决方案实际上是在解决业务问题。

Vijay Yadav:所以我说,我向高层管理人员介绍,这是基本上被驱动的价值。他们可以清楚地看到基本上可以驱动价值。现在,我说,如果你想扩大规模,这是你进行投资所需要的。所以我认为现在是时候了,如果你能看到价值,如果利益相关者能看到价值,他们愿意和你一起走。所以你必须展示小的成功,不管它是什么样的成功。当人们看到成功时,他们会愿意跟你走。

Vijay Yadav:我想说的另一个因素是,我看到了高级领导人。如果你能看到你能帮助他们成功,不管目标是什么。因此,如果我领先于业务部门,如果我走在他们前面,嘿,听着,我想过来解决您的问题。如果他们能看到只是帮助他们成功,他们基本上不会参与其中。

Vijay Yadav:所以你必须考虑这个因素,所以在他们面前有一个完整的展示,展示价值,如果你能展示一个小的价值,并且愿意扩展,我认为我们已经有了。所以这是一个非常渐进的过程。人们理解价值,一种更有机的方式,就是这样。

Vijay Yadav:但在极端的情况下,如果有人说,我们正在加大数据投入,钱就在这里,接受它并展示它的价值。大多数情况下都不是这样,对吧?每当一家公司投资于某样东西时,他们都在寻找投资回报率。我们知道,对于数据项目来说,ROI 不可能那么容易,它需要一些时间。

Vijay Yadav:如果有人希望在六个月和一年内获得投资回报,这可能不现实,这是一个渐进的过程。你可以走那边。或者,如果有人愿意投资一大笔钱,那么你也可以走这条路,但我要说,这是一种文化和心态,慢慢获得成功,并重新体验价值。我想把生意带到船上。

数据文化

Adel Nehme:在实现全面分析、实现数据科学和任何数据策略的可扩展性方面,文化和思维定势无疑非常重要,对吗?所以我很兴奋能真正挖掘出这一点。当然,我们在这里谈论的是数据文化。

Adel Nehme:大多数类型的组织尚未解决数据文化问题,我希望您不仅从数据、文化的重要性以及它如何实现数据战略的角度,而且从缺乏数据文化如何阻止数据战略的角度发表看法。

维杰·亚达夫:哦,我的上帝。这是一个非常关键的问题,我不能告诉你。我不得不驾驭它,我认为我能以很高的成功率进入其中。所以它有多个组成部分。所以当你谈论文化时,文化是一个很大的词,对吗?对不同的人可能有不同的含义。让我来分解一下我的意思是什么?

Vijay Yadav:其中一个因素是,如果你开始,我们之前谈到的高级管理层,高级管理层是否以旧的方式思考,嘿,其他人拥有数据战略,而不是我们。传统上,它是 IT 解决方案的一种驱动力。现在,如果你能看到这种心态,是的,数据确实属于商业战略,对吗?如果你能看到这是一个巨大的变化,这本身就是一项巨大的事业。

维贾伊·亚达夫:那么我们如何在那个层面上做到这一点呢?高层确实理解数据的价值,但是我觉得理解和做是两回事,对吧?所以我们能说服他们吗,我们又一次谈到了缝纫,成功是在那个层次,中层管理,如果我们能缝纫成功的一部分,有人能看到,哇,我能做到这一点。

Vijay Yadav:我从来没有想象过,我有很多例子,人们从来没有想象过使用这些数据是可能的。但是当我们看到这个小原型时,它说,这个怎么样?怎么样?我喜欢这样做。现在他们是旅程的一部分,去做那件事。现在他们也成为了其中的一部分,对吗?所以我认为回到那件事上来,获得成功,并携手前进,我认为这是非常重要的组成部分。

维杰·亚达夫:我提到的另一件事是。那么我们如何提升人们的技能呢?所以我们,我们在工作中做的事情之一,就是举办黑客马拉松。现在,黑客马拉松是你把一些最具挑战性的商业问题聚集在一起,然后你来解决问题。我引入这一概念的一个原因是,我引入了参与者,他们不会做出贡献,他们只是在一旁观看。

Vijay Yadav:所以,在每个团队中,我只是把那些对数据感兴趣的业务人员集合在一起。我说,你只要看着这些黑客马拉松,这些会议,观察谁在做我真正在做的事情,他们在想什么,他们在说什么。我不能告诉你的是,在黑客马拉松结束后,这些人想参与正在进行的数据科学项目,他们会自愿投入到其他项目中去。

Vijay Yadav:那么我们如何去创造文化和文化元素的价值呢?所以我要说这需要时间,这是一个逐步提升的过程,我们也有一些工具,比如 data camps、Minitab 或 jump。我们如何定期组织培训和认知计划。

Vijay Yadav:最后一个部分,我们称之为数字导师。因此,我们在默克实施的一件事情是,有人愿意改变他们的职业生涯,他们希望学习更多关于数据的知识。我们能为他们做些什么?因此,我们建立了一个数字导师项目,在这个项目中,我们确定了愿意在数据领域指导一些人的人。然后我们调查那些愿意学习的人。

Vijay Yadav:我们基本上是将他们配对,我们有一个为期三个月的项目,实际上是非常成功的项目。我们可以一批扩大到 20 到 30 人。现在,想象一下,如果你有这样的规模,解决问题并让人们参与进来,更清楚他们如何解决问题,这是一个巨大的影响。所以我们实际上可以扩大规模,有一个数字导师项目。

Adel neh me:100%完全同意你的第一个要素,那就是展示一场胜利来激励数据文化,并向人们展示数据科学的价值。没有什么比展示一个原型或一个唾手可得的成果更好的了,嘿,我只是自动化了你 10%的工作流,在一定程度上节省了你的时间,让你可以用数据科学做一些更有意义的事情,能够展示数据科学的价值和数据的重要性。

通过培训等方式学习其它的工作技能

Adel Nehme:关于你关于技能提升的第二点,技能提升和数据文化之间的交集有多大?从某种意义上说,数据文化是技能提升和数据技能的同义词吗?还是有一个额外的文化因素,行为因素,那种不能用一个提升技能的项目来开始?

Vijay Yadav:所以有些人把几乎所有的事情都搞混了,所以肯定没有提升技能,但是有心态本身,对吗?所以心态是另一个因素。这是完全不同的技能提升可能不会改变这一点,如果有人以某种方式工作,那么他们以某种方式思考,以某种方式做出决定,我们如何改变他们?

Vijay Yadav:所以这是我们想要处理的一个完全不同的领域,我希望如果公司高层在这方面有所推进,你会迫使人们以不同的方式思考。所以我会说以身作则的领导。所以,如果你想改变人们的行为,我认为必须从高层开始。你不必只是说说而已,你必须证明这一点。

Vijay Yadav:所以如果我是一个高级领导者,不仅如此,我只是说有用的数据基本上是如何以身作则的。展示这是我们在投资中基本完成的工作,这真的很关键。我们都可以谈论所有的数据和分析策略。要做到这一点,基本上需要一定程度的投资。如果你能展示这个例子,从高层开始,这个组织的其他部分基本上也是这样。

Vijay Yadav:所以在任何变化中,这就是我们所说的变化管理,对吗?因此,我们正在改变人们的思维方式,改变他们的工作方式。因此,提升技能是这种变化的一个重要组成部分。现在,在该组织的任何部分,都有人受到激励,他们希望以不同的方式做事。

Vijay Yadav:我所做的是,如果你想激励团队成员,你必须去追求那些真正兴奋的人,把他们聚集在一起,真正创造能量。我做的一件事是,当我加入默克时,我们创建了一个叫做数据科学知识网络的东西。这个想法是,你创建一个人的社区,不仅有纯数据科学家,也有主题专家。

Vijay Yadav:这些人积极性很高。他们想做日常工作之外的事情。他们不是数据科学家,对吧?所以你如何带来那种文化,你创造,当人们看到其他人做不同的事情时,等一下,让我看看其他人基本上在做什么。所以你可以带来这种方式,创造人际网络,谈论和展示成功,一起学习,成长并给他们机会。

Vijay Yadav:我可以告诉你,我已经给了参与黑客马拉松的人这个机会。我说,来,如果你是,想有经验,我愿意给你这个项目。因此,除了常规工作,我基本上能够指导和训练这些人,这是一种实践经验,这是一个人职业生涯中可以产生的巨大差异。

Adel Nehme:这实际上是我进入数据科学的方式,这是一个非常类似的动态,我也在一个组织中从事数据科学工作,但我对此非常兴奋。我被允许联系数据团队,这是我第一次在专业环境中体验数据科学。

Adel Nehme:关于最后一点,关于社区,我真的想扩展到这一点,创建一个社区来激励数据文化有多重要?其次,您认为启动数据技能和数据文化实践社区的最有效策略是什么?

Vijay Yadav:这非常重要。如果你想想外面的世界,如果你创造了一个产品,公司正在做什么,几乎每个人,他们都想围绕他们的产品创造社区。所以,如果我们卖一支笔,或者你卖一部手机,你有一个软件,几乎每个人都想组织一群人,一个人的社区。

Vijay Yadav:他们所做的基本上是让这些人,系统的所有用户,互相交流,互相学习。这样一来,第一,你的产品就是你要出去的。你会得到很多反馈。所以想一想,如果我创建了一个用户社区,很多人都在谈论很多其他的事情。我能进去吗?他们到底在说什么?

Vijay Yadav:现在这成了我去挖掘数据,将我的产品发展到下一个水平的基础,这里也是一样,我们可以应用相同的东西。我们创造人们的社区,他们在交谈,他们在发展。其他人也在研究这个问题。我们可以在这个社区里,找到对他们来说什么是重要的。谁面临着什么样的挑战。

Vijay Yadav:所以我认为从有机的角度来说,当你带来社区的时候,你正在捕捉人们的想法,这是获得信息的最好方式。你不会找到任何其他方法来做到这一点。所以我认为这个社区是建立数据素养项目的最佳方式。我很乐意和任何想得到指导的人谈谈,如何创建社区。

Vijay Yadav:我知道我们在这里的时间有限,但我也会谈到这一点,但如果观众真的想就此进行一些头脑风暴,如何做,我很高兴分享这一点,但任何社区都主要有四个组成部分。第一个是知识共享,所以当你把不同技能水平的每个人带到那里,当你互动时,人们基本上是在学习和共享,对吗?

Vijay Yadav:第二个因素是解决问题。所以我们走到了一起,这不仅仅是,我们只是在交谈,为什么我们不走到一起,把业务问题放在我们的日常工作之上,一起解决问题。实际上,那是创新中心,你可以调用它来做那件事,所以你可以创建社区来解决真正的问题。我可以说,黑客马拉松也是这个社区的一部分。

Vijay Yadav:第三,我们谈到的是提高技能,所以当你有了这个社区,你就知道谁需要什么样的技能。你可以获取数据,现在根据他们所说的,反馈在哪里,你可以创建你的培训计划,一个针对你可能有的技能差距的研讨会。

Vijay Yadav:我想说的最后一个因素是数字化思维。所以当你们这些人说要来的时候,当你们看事情,人们是如何运作的,他们是如何工作的,你会得到更多,这基本上是一个雪球效应。随着它变得越来越大。他们这样做了,现在当你建立社区时,你要确保该社区由业务单位的所有方面代表。

Vijay Yadav:不是一些数据科学家坐在他们的房间里,你想从不同的业务职能部门获得赞助。他们在推广它,人们需要参与其中,他们也参与了黑客马拉松或学习项目。因此,通过参与不同的业务功能,可以使用整个开发部分。

行动呼吁

Adel Nehme:太棒了,太全面了。我知道我们快没时间了,但我想以最后一个问题结束,Vijay,在我们结束今天的节目之前,你还有什么最后的行动号召吗?

维杰·亚达夫:不,非常感谢。我可以告诉你,人们的数据之旅并不容易。我想说,我们谈到的所有组件都是关键的组件,没有固定的公式。我认为你需要考虑一些方法,根据你的情况,你可以选择从哪里开始。

Vijay Yadav:我可以告诉你,文化是最重要的因素,所以如果你能在这方面努力,这将是一个缓慢的过程,但这需要很多努力和发言,对吗?因此,如果我是数据科学家,如果事情不顺利,那么你必须大声说出来,你需要什么?你需要让它更成功吗?

Vijay Yadav:所以我认为我们必须在文化元素中创造变革之声。提升技能,我认为人是最重要的因素。所以,如果你能授权给人们,我认为你可以完成更多我们无法想象的事情,如果他们被授权去做事情。

Adel Nehme:太棒了,Vijay,非常感谢你来到 DataFramed。

维贾伊·亚达夫:非常感谢你,阿黛尔。很高兴和你聊天。

成功的数据训练项目的标志

原文:https://web.archive.org/web/20221210085053/https://www.datacamp.com/blog/the-hallmarks-of-successful-data-training-programs

莎伦·卡斯蒂洛是 DataRobot 的全球教育副总裁,她在那里开发了 DataRobot 大学,这是一个自助式教育门户,提供免费和付费的人工智能和机器学习课程,向公众开放。Sharon 拥有 30 多年的经验,是数据培训和员工技能提升计划(从开发到执行)领域的领先专家。

Richie 帮助组织从模糊的“嘿,我们应该更好地使用数据”转变为现实的计划,成为成功的数据驱动型组织。在数据科学被称为数据科学之前,他就是一名数据科学家,已经写了几本书,并创建了许多关于该主题的数据营课程。

里奇·科顿:嗨,我是里奇。欢迎来到 DataFramed。有一个相当普遍的共识,即有效地使用数据对任何组织来说都是一个巨大的竞争优势,但尽管几乎每个人都至少说他们正在努力更好地处理数据,但并不是每个组织都在这样做。任何数据转换或数字转换计划的成功很大一部分是正确的培训部分。在 DataCamp,数据教育当然非常贴近我们的内心。嗯,自然,我在这个问题上形成了许多观点,但我也发现听到其他公司如何看待数据培训非常有趣。

在这一集里,我和 Sharon Castillo 聊天,她在录制节目的时候是 Data 的全球教育副总裁。Sharon 从事电子学习已经有 20 年了,是该领域的真正专家。

你好莎伦。感谢您抽出时间与我们聊天。我很高兴听到您对谁需要数据培训以及您如何为组织推出培训计划的看法。

莎伦·卡斯蒂略:嗯,谢谢你邀请我。

谁需要数据培训?

Richie Cotton:我想首先,我们在 DataCamp 中经常遇到的一个问题是,谁,我的同事实际上需要数据培训,所以也许你可以在这方面提供一点帮助。

莎伦·卡斯蒂略:嗯,我从事商业的时间越长,我就越意识到每个人都需要数据培训,因为人们倾向于使用轶事证据,当你开始调查...查看更多

data, it's astounding all the things that you can learn. And so in my organization, Even when we've had interns, the insights that they drive in my own business, they say, “Hey, look at some of this data and look at what's happening here and point out things that I never knew just by getting an understanding of the data in our business.”

所以问题不是谁需要培训,而是他们需要什么样的培训?你知道,有些人需要更多。有些人需要不同种类的数据训练。所以我会从这里开始。

里奇·科顿:好的,这是一个非常有趣的问题,关于谁需要什么样的培训。因此,也许您可以针对不同的角色或组织给出一些例子。

Sharon Castillo:所以,有些人会考虑你所需要的基准和关键绩效指标。我团队中的每个人都需要知道我们从事的是什么业务,我们的目标是什么,然后我们向什么业务汇报,他们的目标是什么?因为我愿意认为我们都是在训练,但我们真的不是。我们的目标是留住客户,他们不仅仅是留住客户,他们是我们业务的更大目标。因此,你必须真正了解你的业务链的所有环节。但除此之外,团队中更资深的人需要挖掘它的狭窄部分,并真正将其拆开,并说,哎呀,如果我们以不同的方式做事,也许这是一种更聪明的方法,或者哎呀,如果你采取一些似乎与其他事情无关的事情,也许那里有一种模式,也许我们今天提供的不是最聪明的做事方式。所以这些都是不同的东西。

将数据培训映射到 KPI

Richie Cotton:好的,我非常喜欢将培训需求与你的 KPI 或业务目标相匹配的想法。您是否有任何具体的例子来说明获得一些数据培训或一些数据技能可能会导致这些 KPI 或目标中的一个?

Sharon Castillo:我们团队中有人开始使用一种特殊的工具,他们观察用户在培训后做了什么。在我们的产品里。所以我们跟踪了用户在两周后、四周后、一个月后和两个月后所做的事情,看看我们是否能找到模式。所以那个人需要关于那个工具的培训,但是他们也需要关于使用我们的产品看起来怎么样的培训。他们需要接受培训,了解表现良好的客户是什么样的,以及表现良好和表现不佳的客户之间的区别。然后这个人可以开始看到参加训练的人和不参加训练的人以及参加某种训练的人的模式。因此,我们开始调整一些培训项目,将重点放在可能有更多培训的领域。

里奇·科顿:好的。我想一会儿再来谈撞击。因为这是一个非常重要的话题,就是试着评估培训的实际益处。但如果你说,每个人都需要某种程度的数据培训,我想知道,你如何决定谁先去?所以,如果你没有足够的预算去给每个人提供大量的数据培训,你如何区分谁需要什么呢?

莎伦·卡斯蒂洛:所以不是每个人都需要工具或培训。所以我们的一些训练是非正式的。每个季度我都会和我的团队开会,我会说,这是我们的 KPI,这是我们团队的表现。开发培训的人仍然了解交付,提供培训的人了解开发指标,他们参加关于客户和我们客户数据的会议。

所以有非正式的培训。然后有人来找我说,我想我可以在这里挖。挖进去,但是我不知道如何使用他们将要使用的工具。BI 工具,或者在我们的情况下,我们很幸运有 DataRobot,所以,所以你知道,学习。了解我们的产品,输入产品中的所有数据并深入研究。所以幸运的是,那些人也是培训师,所以好好学吧。

阶梯式培训目标

里奇·科顿:我想是的。接受过培训的人可能在知道如何学习方面更有优势。回到这个观点,不同的人需要不同的东西去学习。我感兴趣的是你如何找出人们学习东西的顺序,以及你如何从仅仅学习个别的东西到为人们提供一个完整的学习路径以达到他们的培训目标。

莎伦·卡斯蒂洛:是的。所以你必须着眼于这个过程,如果你在一个更新兴的技术领域,这个过程会更复杂。所以我经历过几个情景应用程序成为现实、电子商务成为现实、云管理成为现实的时候。每次你都要挑开。人们需要知道什么?不同的是,我讨厌用角色这个词,我一会儿会回到这个话题。但是他们需要知道什么来完成他们的工作呢?每个人都需要知道的最基本的东西是什么?比如这项技术是如何工作的?然后把每个人都需要知道的技能分层,然后什么是专门技能?然后学习路径必须包括。

预先评估,这样人们可以知道他们在哪里,这样你就不会在基本技能上浪费他们的时间,并在他们所在的地方与他们见面。因为这是人们不想派人去培训的问题之一,哦,我知道。然后他们不想参加整个活动,因为他们认为这是在浪费时间。

事实上,他们最终错过了很多他们不知道的事情,因为。也许他们知道它的三分之一或一半,但是他们跳过了他们不知道的那一半。然后另一个问题是角色,因为有很多重叠或标题是错误的,标题没有任何意义。如果你在一家小公司工作,你被称为数据分析师、业务分析师、数据工程师或数据科学家,这在很多地方意味着很多事情。

它可以包含很多东西。这可能是一个非常狭窄的事情。可能是某个相当初级的人。可能是非常资深的人,你知道,可能是刚刚完成训练营的人,或者是 10 年前完成训练营或硕士学位的人,他们有很多行业经验。

很多事情。所以标题其实没什么意思。我们通过使用数据发现的事情是,我们有角色,有些人会参加每个角色的培训,在第二个角色课程进行到三分之一的时候,他们会意识到有多少重叠,然后在第二个课程中退出,因为他们喜欢,哦,我的上帝,我已经看到了。所以相反,我们真的转向了。

在映射技能中忽略职称

里奇·科顿:这真的很吸引人,我不得不说,职称对于试图找出培训需求来说是一种废话。有一段时间,我有自己的咨询公司,我就像一个人的乐队,所以我自称为首席执行官。但我一般不具备 CEO 的技能,所以这确实与职位头衔毫无意义的观点产生了共鸣。所以我对你谈到的技能图谱的想法很感兴趣。那么,你如何判断哪些内容与特定技能相关呢?

莎伦·卡斯蒂略:所以我们在很多职能上交叉工作。我也不喜欢只关注功能,所以一些软件公司对功能很着迷。特色不能让顾客成功。客户并不关心某个功能。他们关心解决他们的业务问题,所以我们关注客户的成功。

我们致力于客户成功。我们与许多数据科学家合作。我们公司有数百名数据科学家,我们与他们交谈,我们说,你知道,让人们成功的关键因素是什么?差距在哪里?他们一路上在哪里跌倒?然后我们把这些事情描绘出来,但我们并不总是做对。有时你不得不反复把这些东西放进去。

里奇·科顿:好的。你能举一些具体数据技能的例子吗?你说,我现在对数据科学家这个词犹豫不决。因为我知道有一个职位,你说你不太感兴趣,但你能谈谈你认为适用于数据科学家职位的一些技能吗?

莎伦·卡斯蒂略:我认为最大的问题是问正确的问题。那么,你如何框定一个问题呢?你如何选择正确的问题?你怎么知道这个行业,这个行业的数据?什么是重要数据?什么是不重要的数据,比如那些无关紧要的有趣的数据,但它不会让你得到你想要的结果。

然后你真的必须深入挖掘,成为你的数据、你的过程和你的结果的主题专家。如果你在一家上市公司工作,读一读他们在小册子上发布的内容,这些小册子上写着每个季度对企业来说什么是重要的,并据此调整你正在做的一切。

然后从小处着手。开始想清楚我可以解决什么问题,以及如何对这些问题进行优先排序?这比任何酷的工具或算法都重要。然后你必须开始学习如何看,你的数据好吗?是否有失偏颇?

里奇·科顿:好的,你提到了也许最重要的事情,或者也许是一个好的开始,就是理解如何对你的数据提出一个合理的问题。你如何着手学习呢?因为这本身就有很多技能。

莎伦·卡斯蒂洛:这需要很多技巧。我不是数据科学家。我和我的数据科学家谈过,你知道,在哪里挖掘,什么是合理的。我曾经在一家金融管理公司工作,他们有一个问题。我在学习共同基金的费用。我对共同基金的费用一无所知,但是对于一定规模的共同基金来说,这个费用合理吗?

因此,如果你了解你的业务,这种特殊的事情是合理的吗?有意义吗?你是这样计算的吗?这就是我要开始挖掘的地方,这真的是有人要做的吗,你知道,如果你拿走了电脑,你必须弄清楚一些事情,在基本水平上必须发生的步骤是什么?然后开始挖掘每一个门,看看会发生什么,你知道吗?

人员技能审计

里奇·科顿:继续这个主题,试图找出人们在组织层面上需要什么技能。所以你提到有时很难确定人们需要从哪里开始培训,比如他们已经知道什么,第一门课程是什么,或者他们需要接受的第一点培训是什么。那么,你如何着手审核人们必须从什么技能开始呢?

莎伦·卡斯蒂洛:是的。因此,当你为软件公司工作时,这是一个挑战,因为我们的工作是对我们的软件进行培训。有时,人们来的时候,并不具备之前或之后事物的技能。因此,如果他们想与别人的软件集成,但他们不知道其他软件,或者他们来找我们,他们想使用我们的 API,但他们不知道 Python,顺便说一下,你不需要知道 Python 来使用我们的产品,但是,假设他们想这样做。

你知道,我们要教你 Python 吗?我们要教你我们的 API 是如何工作的吗?大多数来找我们的人不希望我们教他们这些,但也有一些人希望我们教他们这些。有些来找我们的人不知道人工智能是什么。它是一个黑盒子,它是神奇的,并且不知道人工智能和机器学习之间的区别是什么。所以你一直走在我们从哪里开始的那条线上?你知道,你会让他们参考其他的东西吗?你愿意吗,随便吧。但你也必须帮助人们评估自己的基础水平,我们是否需要一些补充的东西来帮助他们,我们可以这样做,或者他们可以从产品的入门级开始?

里奇·科顿:这很有趣。这也是我们在数据营中面临的一个问题,就是要确保我们所有的学习者都知道哪些课程是合适的;有些太难,有些太容易。你提到了能够自我评估的想法,DataCamp 有技能评估,但我很好奇你的 DataRobot 在让用户自我评估方面采取了什么措施,以找出哪些内容是合适的。

莎伦·卡斯蒂略:是的,所以我们才刚刚开始。我们。我们课程中的描述很短,我们一直在缩短,这样就不会有太多的时间投入。如果你参加一个 30 分钟长的自学课程,当你读到第一部分时,你会说,哎呀,这是我需要的基础知识,在这之前,已经有一个小地方你可以点击了。

我在坡道上和坡道下给他们打电话,所以现在对每个新加入者总是有坡道上和坡道下-包括教练引导的和自定进度的。

里奇·科顿:你能再多告诉我们一些吗?什么?你说的入口匝道或出口匝道是什么意思?

莎伦·卡斯蒂洛:所以匝道是指如果你缩短课程,那么总会有人去的地方。不要说你需要三天的训练,如果每堂课都是一个半小时,两个小时,那么下坡道就是。接下来的步骤可能是以下之一,这取决于你的兴趣所在。我们总是给人们一张地图,告诉他们那会是什么样子。

入口匝道是他们来的地方,所以当我们设计时,我们假设他们来自以下某个地方,其中一个可能在其他地方。所以我可以假设。有人去了数据营,我可以假设有人来自销售演示,绕过了我们的简介课程,因为他们说,哦,我看过销售演示。我不需要入门课程。那么,我需要做什么补充,让他们有一个侧边栏,这样他们就可以继续。我们开始建立一个流程,让人们拍几张照片。问题。课程中的每个目标都有一个人说,我们没有他们的成人,所以我们不会说,如果你没有通过这个,你就不能上这门课。

但是给你,拿着这个。这就是这门课的内容。如果你在这次评估中表现良好,并且对这份材料感到满意,那么就可以继续下一步了。如果您通过了此评估,但仍然不放心,请继续接受它。如果你没有通过这个评估,你觉得不舒服,这就是这里要做的,所以你可能想继续。

里奇·科顿:所以基本上你要做一个评估,这将帮助你决定,好吧,你想上这门课还是。那很漂亮,听起来很直白,至少东方理论是这样的,不是吗?事实上,我知道这涉及到很多技术细节,但这是一个很好的理论。

我很好奇你是否想过,整个团队都需要训练。如果有些人比其他人拥有更高级的技能会怎么样?有些人,大多数人,每个人都有不同的观点,所以他们需要不同层次的东西。你如何调和技能上的差异?

莎伦·卡斯蒂略:这种事情经常发生。一些团队喜欢以团队的形式经历,一些团队以个人的形式经历。所以,如果你作为一个团队,有几种方法可以做到。你可以在有聚会点的群组中跟踪,你说每个人都有自己的工作。

然后是导师或会议,或者在我们的情况下,我们有一个数据科学家,他有一个支持会议。人们可以做他们正在做的事情。但是他们聚在一起说,这就是它如何应用到你的用例中。然后每个人都聚在一起,一起思考如何作为一个团队一起工作。

因为他们必须作为一个团队一起工作,才能让这件事成真。但是不同的和不同的团体做不同的事情。他们中的一些人最后会一起参加黑客马拉松,但是会分开进行训练。他们中的一些人有,更高级的人仍然一起上课。在不太高级的班级里,在一些团队里表现很好。在一些团队中,这对那些缺乏经验的人来说是非常可怕的。取决于公司的文化。

学习形式——利弊

里奇·科顿:我可以想象社会动态是复杂的。所以如果你有一些非常优秀的人和一些不优秀的人,如果优秀的人有一个导师,个性,这将会很好,但如果他们只是竞争,那么这将是一场灾难。也许这只是,这只是答案,对吗?

只是你必须考虑一下,人性的一面,以及谁真正参与了这件事。那绝对是迷人的。我只是想继续讨论一下不同的培训形式。所以 Data Camp 一直非常专注于那种按照自己的节奏学习的在线培训,但我,嗯,DataRobot 最初做的是现场培训,而不是在线培训,我很想听听你对这种不同形式之间的利弊的看法。

莎伦·卡斯蒂洛:是的。所以现场训练的最大缺点就是 covid。我在封锁前三周启动了一个数据机器人,当时我告诉我的团队,你们有一周的时间来调整,但是。除此之外,做生活训练还有很多开销和滞后。创业初期,生活培训在公司里经常发生,你想要的是新兴市场的客户,他们对整个技术的成熟度较低。

他们的问题有很多微妙之处。当你真的不知道他们的问题是什么,你真的不知道他们的旅程是什么,把他们放在自定进度的前面,不会让他们到达他们需要去的地方,因为你不知道他们从哪里开始。所以在这种情况下,典型的小公司甚至没有真正的培训师。

通常,他们使用支持。他们使用客户成功人士,有时是工程师,就像他们甚至不是正式的培训师一样。他们可能有一个,他们不一定相信客户教育是一个专业的实体。随着他们变得越来越大,他们开始考虑,哎呀,我们真的应该有专业的培训和了解教育的专业人士,所有这些。

其他有更简单产品的公司开始了另一个方向,从视频开始,你可以更相似地使用视频来进行更广泛的文档记录,但是更多地围绕教育进行设计。所以只是起点不同而已。在 Covid 期间,虚拟训练确实发生了变化。

我想我们所有人,我已经在很多地方做了很长时间,但在 Covid 改变的事情是,学生过去只是在全球范围内的办公室里,我们会教,他们在他们的办公室里做。现在,我们看到许多像美国东海岸的人,但在亚太地区上课,他们这样做是因为他们想要灵活性。

没人会在空闲时打扰他们。没有人用电子邮件打扰他们,因为已经是深夜了。他们可以和家人一起吃饭,做他们自己的事。很安静。他们可以专注于训练。没别的事了。有些人真的发现如果他们要进行现场训练,那会是更有效的时间。

里奇·科顿:这真的很有趣,只是人们想在午夜或其他时候进行训练的想法。我不得不说,我不确定我的大脑在那个时候工作的有多好,但是我想是的。对一些人来说确实有用,所以,是的,我很想听听你对安排培训的更多想法,因为这是人们的一个普遍问题,嗯,我有一份全职工作,我要赶最后期限。我什么时候有时间学习?

莎伦·卡斯蒂略:关于这一点有两点。第一,人们被缩小了,所以课程必须更短,必须更吸引人。你不能在 Zoom 上对人说教两个小时。那不是训练。人们有时会给我一些他们称之为培训的会议录音,并问我,我们能把这变成自我培训吗?

我说,那不是训练,那是会议。所以你必须对什么是训练有充分的思考。录制东西不是训练,但训练不是课外活动。你不能在某人的工作之外再添油加醋。所以我不建议有人。一天八小时,然后像在大学一样熬夜,为第二天临时抱佛脚。

人们无法维持这种状态,你也无法从中获得任何东西。所以我要说的是,培训中发生的两个大错误,这也发生在现场直播中,就是培训的后勤工作很容易让人们超负荷工作,以至于培训并不真正有效。

里奇·科顿:你会用什么方式超载?

莎伦·卡斯蒂洛:所以如果你有一个飞到某个地方的教练,培训五天比让他们回来三次要便宜。但是我们知道有效的是空间重复和分层,以及在两者之间练习。然后人们有问题,人们知道他们不知道的。

因为他们试过了,他们说,你知道,你上次说过,但这没有意义。或者我在自己的工作中尝试过,但那对我不起作用。但他们不知道,如果你只是给他们五天时间的信息,因为你碰巧在那里,他们会忘记一切。

所以那是一块。第二件事是,只是送某人去训练而没有一个整洁的练习。是没有用的。几年前,我有一个学生,他曾经每六个月来我的同一个班。我就像,你为什么在这里?他说,嗯,我没有时间练习。我什么都忘了,现在我需要用它。他第三次上课的时候,他说,是的,六个月后见。因为他知道现实是他也不会在中间练习。

里奇·科顿:那是,那是,那是一个悲伤的故事。嗯,但是,我,我当然能理解。所以我想回到,你说的间隔重复。我知道这是最重要的理论观点之一。观点,你能不能就告诉大家什么是间隔重复?

莎伦·卡斯蒂洛:所以要让人们理解某些东西,你不能只是向他们灌输大量的信息。你需要带一些信息和技能,以及其他你要在课堂上做的事情。走开,让他们继续工作,回来,重述一点点,然后深入挖掘,像剥洋葱,然后在洋葱上分层,拿起他们知道的钩子,回来,然后重复这种过程。

嗯,现在你也可以使用混合学习,就像我们这样。在课堂上,像虚拟的,然后我们有实验,人们不需要在课堂上做,是自我为基础的。也许你可以选择自己的实验室冒险。就像也许一个人关心制造业,另一个人关心金融。

你去做一个相同主题的实验。你关心回归建模,但你关心它与制造业的关系,你关心它与金融的关系,但你们都去做些事情。然后你回来,学习一项新技能,但是你在用你刚刚拥有的基础,你只是继续努力。因此,培训只是入职,然后我就完成了,这是一种平衡行为。

里奇·科顿:所以我喜欢这种想法,让许多训练在彼此的基础上进行。你还提到了混合学习的想法,即在线培训和现场培训的混合。那如何对你最有效?比如先在线再现场培训或者反过来,或者什么对人们有效?

莎伦·卡斯蒂洛:我们不为人们选择。有些也是财务上的,所以做起来更贵。由教员带领。所以要看人家的预算是多少。有些人只是和我们一起自定进度,但我们不会规定你先做什么。我觉得是文化。有些公司只做自我调整。有些人,我的孩子只看视频。

我不知道他们会不会注意到。我在想会发生什么。他们在企业界,是吗?他们会想看三分钟滴答抖音视频或 YouTube 视频。

里奇·科顿:不得不阅读报告,真可怕。但是,如果有一代人的时间,所有的公司报告都消失了,取而代之的是,我不知道,第 32 个视频或什么的,那真的很有趣。那会是一个非常有趣的世界。好吧。谈一谈安排学习的时间。

你刚才谈到有些人会在午夜学习,也许对于那些有全职工作的人来说这是一个很糟糕的想法。事后学习。这是我真正喜欢的一点,就像所有听到这种意识的经理一样,不要让人们的大脑超载,让他们在自己的时间里学习。

所以,当你有这些相互竞争的优先事项时,好吧,人们必须赶上最后期限,但他们也需要时间来培养更少的技能,你会给那些管理或参与如安排事情的人什么样的信息说,嗯,这就是你为什么要做一些学习?

莎伦·卡斯蒂洛:应该是他们的 okr。就像其他事情一样,唯一管用的就是,你知道,金钱万能。因此,如果你不为员工提供补偿,你就不会把它纳入他们的衡量标准。你没有把它融入公司文化。没人会说,哦,没人应该被训练。每个人都点头说,哦,训练是件好事。

我们应该训练我们的人民。但是就像你说的,利益冲突,我必须把 A,B,C 都搞定,否则我拿不到奖金。这个人必须完成 A、B 和 C。嗯,应该一直到火车上,有一个 OKR 或 K P 或任何你必须点击才能获得奖金的东西。其中之一应该是你的员工接受过培训,他们应该接受有价值的培训。不要把东西放在仅仅检查一个盒子里,把能给你的生意增加价值的东西放在里面。

里奇·科顿:太棒了。或许你可以详细解释一下。比如,如果你想分清主次,好吧,这些东西对我们的业务很有价值。有什么样的策略来决定,好的,这些是我们需要的重要训练,有什么定量的方法来证明这一点吗?

莎伦·卡斯蒂略:那么回到你开始问我的地方,数据,如果人们接受了数据方面的培训,而这些数据对你有帮助。提升你的业务。这些数据有助于你了解你的业务。这些数据有助于你进行基准测试和改进,或者发现你以前从来不知道的见解,或者做一些更有成效的事情,这样你就可以从列表中删除,从而变得更有效率。这难道不值得你投入的时间和金钱吗?

成功和失败的常见模式

里奇·科顿:当然。我有这种可怕的感觉。你可能会陷入进退两难的境地,经理没有足够的数据来分析数据。人们需要人们需要接受培训的东西。但是好吧。所以,也许那些经理需要先接受数据培训,但这很有趣。

那么,当组织试图搞清楚这些学习项目,并试图弄清楚何时安排时,你看到了任何常见的成功模式或任何常见的灾难吗?

莎伦·卡斯蒂略:我看不到灾难。只是无效的时候见得多了。他们真的应该关注高质量的培训。这是正确的训练吗?不要因为某个节目有他们想要的主题,就选择它。它真的解决了他们的需求吗?这是他们公司的工作方式吗?并且像对待软件一样进行试验。不要送 500 人去训练。让几个人通过它,然后问,你从中得到什么了吗?如果你有,那就继续。如果你没有,那就去找别的。我,我会说,这将是一个成功的做事方法,如果你不这样做,这将是一场灾难。

里奇·科顿:我喜欢和几个人一起试验的想法。然后逐渐增加参加培训的人数,这样你就不会一开始就在错误的方向上犯下大错。这似乎很明智。回到让几个人,比如几组人同时接受训练的想法,这种群体学习的想法,几个人同时做同样的训练,然后他们可以社交,这似乎变得非常流行。你见过类似队列学习数据技能的例子吗?

莎伦·卡斯蒂洛:是的,但是我们做的有点不同,所以我们可以在同一时间同一班的同一个人做。从时间安排的角度来看,这并不总是对每个人都有效,因为如果你有全球团队,那是很痛苦的。很痛苦,时间表。总有一些人错过了这个机会。

所以我们更好的工作方式。这是新的,所以我说这是更好的,但我没有,数据是每个人都必须在特定的时间段内学习特定的课程,所以我们有一个时间表,你可以在任何时区参加,选择你想参加的课程,但你必须在两周内参加这门课程,每个人都必须在下一个时间段参加下一门课程。

然后向团队的协调人汇报,说,你好吗?你是否在进步等等。现在,其中一些取决于你的团队规模,同样,你需要问责制和所有其他好东西,但这有助于使它更具可扩展性,因为如果你只是说,我要做一个团队,如果你有很多资源,它会很好。你在一定规模的组织中工作,但是很难扩展。

Richie Cotton 这是真的,你提到了时区是一个问题,所以按需学习并不存在这种情况,因为人们只要醒着就可以学习。我可以想象同一群人,似乎每个人都应该在一个类似的时区。对吗?

Sharon Castillo:如果你做一个自定进度的队列,那么我们也做了,人们接受自定进度的培训,然后你有一个在不同时区的导师,他们有一个问答环节,他们有点像开球和预演,你可以有一个在美洲,一个在 AMEA,或者在 amea 的几个时区,几个时区,八包的那种。

至少你可以适应不同的区域。但是人们仍然在自定进度,仍然有一个人们必须遵守的时间表。你仍然可以通过学习管理系统,得到这些人完成的报告。如果你在每个学期结束时进行一次测试,这些人表现很好,这些人似乎落后或有问题。

如果你使用社区或聊天工具。无论你想用什么方法说,嘿,你似乎对话题或办公时间感到困惑,或者无论你想用什么方法来确保人们不跑题。

里奇·科顿:好的。群组学习背后的一大卖点是,因为人们有了某种社会互动,他们会更加投入。你见过什么样的技术?组织必须鼓励人们之间的社会互动。

莎伦·卡斯蒂略:群组的想法一次又一次地奏效,利用你已经拥有的任何类型的社区,所以无论什么形式。社交媒体或任何你公司的文化,与人们接触,无论你有什么样的聚会。因此,如果你周围有社区聚会,如果它是一个留言板,如果你在一个内部 wiki 上发布信息给人们。

更先进的公司有卓越中心来管理这些事情,并有最佳实践会议,他们是第一个开始的人。我提到过黑客马拉松和其他更有创意、更有趣的奖品,会惊讶于奖品的数量,甚至是便宜的有趣的 t 恤。

管理层认可的重要性

里奇·科顿:我,我绝对喜欢那样。是的。总是很高兴收到奖品。所以是的,我同意。这就像是一个,一个让人们受到鼓励并参与到这类事情中的非常简单的方法。太棒了。我们似乎一直在断断续续地谈论的一件事就是管理在数据中的角色。

所以我想,我想更详细地了解一下。所以,就经营一个成功的培训项目而言,管理层的参与有多重要?

莎伦·卡斯蒂略:我想在我职业生涯的早期,我读过一些研究,说训练前的教练可能是最重要的事情,因为如果教练对你说,去训练吧,我就把你的日程表清空了。忽略你的电子邮件和你的懈怠,或者不管它是什么,专注于云,当你回来时,担心它被赶上。

但是现在,这是你能做的最重要的事情。这个信息与“哦,我的上帝,下周我们不能没有你”是完全不同的。是的,我会让你走,但我们真的不能没有你,我会在你上课的时候轰你 15 下,然后把你拉出来。这对人们意味着什么?

所以他们事先说的话很重要。我认为另一件对经理真正有帮助的事情是事先设定他们希望某人从培训中得到什么的期望。我送你去上课是因为 X,Y,Z 的原因。我真的希望你能找到 A、B 和 C,因为我真的很好奇,我希望这能以这种方式应用到这个项目中。

所以当你在课堂上的时候,请留意这一点,我打赌人们会更加注意。当他们下课的时候我会问他们,我打赌下次他们去上课的时候,他们知道当他们下课的时候有人会问他们这个问题。如果你有一个项目要用到它。你让人们参与这些项目。

哦,对了,我以前也参加过那个培训。也许你们可以一起合作。因为我知道他们在这方面下了功夫,他们可能比你领先六个月。这又一次延续了学习的文化。

里奇·科顿:我真的很喜欢这种提问的技巧,比如,你在培训中学到了什么?。然后他们会说,哦,我没集中注意力。我在检查我的电子邮件。是的,他们只会做一次。所以,当然,用这些技巧来确保人们集中注意力,看起来真的很有用。我也喜欢你谈到的事情,你应该如何清理你的头脑,事先排除任何干扰。

这听起来很像你在瑜伽课开始时听到的那种事情,在那里,我什么都不想。你只要在这个区域听一个小时,然后集中注意力。这似乎是一个很好的学习技巧。我现在有了将这个产品化的想法。之后我会和公共经理谈谈。

好吧。也许我们可以谈谈另一面,比如如果管理层对培训没有真正的兴趣会发生什么。我知道 Data Camp 有一些客户。让员工做他们自己的事,只是在谈话的基础上接受培训。你知道那种技术是否有效吗?只是让员工按自己的想法去做,比如自己找出他们想要什么。

莎伦·卡斯蒂略:这取决于员工。如果员工非常积极,并且可能有自己的原因想要进行自己的职业发展,他们正在做的事情,他们真的很难做,他们会想,哇,我可以做得更好。是的他们会成功的但是。除此之外,如果你回头看看你的学生,你可能会挑出哪些人去了,因为他们背后有真正的推动力和支持,你可能会挑出那些不情愿地说,好吧,我们有预算,你可以去,但我不想要你。

里奇·科顿:我想我们,我们会回到喜欢人类动力学这里。所以这在很大程度上取决于个人。就像有些人需要一点帮助和指导,有些人喜欢失控,他们只需要做自己的事情。我想大多数人都介于两者之间。所以,我想谈的最后一件事是关于你如何去衡量一个培训项目的成功。那么,你知道吗,这种训练到底有没有用?

莎伦·卡斯蒂洛:所以我谈论大 C 和小 C。意思是顾客。所以小 C 是用户,大 C 是机构。所以小 C,客户,你真的要看用户的结果是什么。他们是否在两周的课程中使用了产品和他们在培训中使用的产品的各个方面,他们在六个月后才使用,这可能与去上课没有任何关系。

他们在两周内就做到了,可能你教他们的东西被记住了,他们正在使用它,它很有效。如果你有足够的数据,你可以看到他们做了什么。他们做得对吗?如果你真的可以追踪他们的产品路径,如果他们获得认证,他们参加考试,他们做所有这类事情,他们会更深入吗?

用户订婚了吗?他们回来后接受了更多的训练吗?他们沿着这条路去社区了吗?他们做了其他事情吗?现在其中的一些有点像 si 循环。他们一开始有动力吗?他们来参加很多活动吗?所以要理清这一点有点困难。

但总的来说,参加培训的人,如果你看一下所有用户的趋势,受过培训的群体往往在这些方面做得更好。然后你看着那些大大的 C,你会说,哎呀,总的来说。那些顾客怎么样了?总的来说,他们达到了入职的所有目标,更好的参与度,更低的流失率,所有其他的事情。

因此,如果你在谈论一个软件公司的客户教育培训项目,这些就是我们要考虑的事情。

衡量学习者的参与度

里奇·科顿:有意思。或许你能多谈谈订婚吗?因为我知道在 Data Camp,我们有很多不同的衡量用户参与度的指标。我很好奇你是如何看待这件事的。

Sharon Castillo:是的,有很多不同的方法,我和我的同事们坐在一起,我在软件公司的客户教育部门的同事们谈论了所有不同的方法来衡量敬业度。这很困难,因为我们无法获得数据。很难看到你产品的内部。我们并不总是知道旅程应该是什么样子的,尤其是如果你有新的或者一直在变化的新生产品。

很难知道,因为一切都在不断变化。所以我们改变了,我们的训练提供了很多来适应正在发生的一切。所以有人会给我带来数据,我可以对他们说,是的,这些数据在这个日期之前对我不起作用。他们会说,为什么是那个日子?我会说,因为那是我们改变所有课程的日子,也是我们做其他事情的日子。

这就是我们的约会。所以我们做了一些重大的改变。这真的很难理清发生了什么,因为一切都发生了变化。这是非常非常大的挑战。

里奇·科顿:好的,也许你可以谈谈你发现的人们最想了解的东西。

夏伦·卡斯蒂洛:所以人们在早些时候问的一些事情,他们问了很多与我们的产品无关的事情。他们真的需要变革管理、项目管理、行业本身的基本技能。ai 是什么?什么是数据,所有这些东西是什么?然后他们想要产品的基本要素。

关于产品的基础知识,以及他们如何在产品上取得成功。然后,随着他们沿着成熟度曲线上升,他们真的想要最佳实践和越来越深入的知识,关于如何解决越来越复杂的非常非常具体的问题。

里奇·科顿:让我们回到你在开始时说的话,你谈到每个人都需要某种培训和某种数据培训。那么你会对那些对学习一些数据犹豫不决的人说些什么呢?能干。

Sharon Castillo:我会把它与他们每天做的事情联系起来,并根据他们知道的数据来思考它。所以想想你真正热爱的事情。无论是体育还是音乐,还是你真的非常非常喜欢的东西,想想随之而来的信息,以及你如何利用这些信息来构建它,而不是担心算法、数学和统计,不要走得太远。想想你可以用这些数据做的非常小的基本的事情,然后采取一些小步骤,

里奇·科顿:最后一个问题。对于想要开始数据培训的组织,你有什么最后的建议吗?

莎伦·卡斯蒂略:弄清楚你的目标是什么。这是一回事。这是一小步。那么最重要的目标是什么呢?分解一下。什么是可以实现的?什么是速赢?

里奇·科顿:好吧,太好了。非常感谢你莎伦。我们今天谈论了很多非常令人兴奋的事情。我觉得里面有很多很棒的建议。非常感谢你的来信,

莎伦·卡斯蒂略:谢谢。

机器学习对垂直行业和团队的影响

原文:https://web.archive.org/web/20221129040116/https://www.datacamp.com/blog/the-impact-of-machine-learning-across-verticals-and-teams

机器学习、深度学习和人工智能成为热门词汇是有原因的——这些技术正在从根本上改变商业、社会和我们生活的性质。更重要的是,在许多垂直领域,它们正从颠覆性技术转变为企业保持竞争力的基础和筹码。

数据科学的三个领域

划分数据科学空间的一种方法是划分为描述性分析、预测性分析和规定性分析。机器学习也称为预测分析,是预测未来的领域,例如客户是否会流失,以及更一般的分类任务:电子邮件是否是垃圾邮件?诊断图像中的肿瘤是良性的还是恶性的?数据科学家可能还会对模型做出预测的原因感兴趣,而不仅仅是预测本身。

让我们仔细看看这对商业领袖意味着什么的实际应用。所有垂直市场的企业培训计划必须确保跨团队和角色的强大技能基线。

跨垂直行业的机器学习的力量

现在,让我们看几个机器学习在各种垂直领域产生影响的例子。

技术

机器学习为推荐系统、内容发现、搜索引擎、垃圾邮件过滤器和匹配问题提供动力。

卫生保健

机器学习有助于药物发现和诊断成像诊断。

金融

机器学习现在是欺诈检测、流程自动化、算法交易和机器人咨询的基础。零售机器学习正在通过优化供需规划、改善运输流程和降低运输费用以及改善战略采购来重塑供应链管理。

其他行业

新兴产业借助机器学习快速成长。LegalTech 正在想象一个未来,在这个未来中,机器学习被用来根据对先例的自然语言分析来预测法庭案件的结果。AgTech(农业技术)正在大规模部署无人机来捕捉镜头,机器学习正被用于估计作物产量。

跨团队机器学习的力量

在 ML 算法的开发中也有许多收获,这些算法是垂直独立的,支持不同的业务功能。

人力资源(部)

机器学习有助于在招聘流程中筛选申请人——但招聘模式必须受到仔细监控,以免大规模延续社会偏见

支持

机器学习用于呼叫中心路由和聊天机器人。

营销

机器学习算法用于付费广告、客户流失预测和有针对性的培育活动。

事实上,任何拥有应用程序的公司都可以受益于利用机器学习来确定最有效的推送通知,任何拥有网站的组织都可以利用机器学习来通过呈现最相关的内容和功能来个性化他们的客户体验。

商业领袖机器学习权威指南中找到更多关于机器学习的最佳实践。

面向数据驱动型公司的学习平台

原文:https://web.archive.org/web/20230101103339/https://www.datacamp.com/blog/the-learning-platform-for-data-driven-companies

当今的工作性质要求不断学习,并具备对新信息做出适当反应的能力,包括日益丰富的数据。公司必须确保他们的员工数据流畅——那些在收入增长、市场份额、盈利能力、客户和员工满意度方面超过同行的员工。

数据流畅性是理解数据、从数据中传达见解并使用它来解决问题和做出更明智决策的能力。数据流畅性包括一系列技能和熟练程度,意味着具备适当的数据技能水平,以便根据每个工作角色的不同需求高效工作。根据 DataCamp 对代表不同行业的 300 多名 L&D 领导者进行的培训行业调查,84%的公司计划到 2020 年投资数据流畅性。

75%的数据流畅性成熟的公司的个人生产力有所提高,而 68%的数据流畅性不成熟的公司表示他们在工作流程中效率更低。

从数据到洞察和决策的更快路径

许多公司努力管理他们的数据,并专注于他们的数据应该回答的问题。难道您不想让每个员工都有技能和自主权来提出更好的数据问题,获得更清晰的见解,并更快地做出决策吗?最终,能够更有效地利用你的时间、资源和才能?

“DataCamp 使我们整个组织的数据科学学习民主化。我们不再需要依赖少数知识渊博的人来教育他人。”—马克·阿达姆松,EDF 能源公司定量分析师

DataCamp for Business 帮助公司(从金融机构和医疗保健公司到管理咨询公司和政府)的员工掌握高效学习数据的技能。

现代学习体验

我们提供直观、个性化、交互式的在线学习方法,并配有专家指导。DataCamp 使团队能够轻松学习和保留 21 世纪的技能,从基础分析到数据科学和数据工程的高级主题,并获得在现实世界中立即应用这些技能的信心。

“DataCamp 的主要优势在于灵活性。这是为了让我的团队有能力发展自己,并最终让自己更有价值...DataCamp 正在帮助我的团队将他们在 SQL、SAS 和 R 方面的一些技能转移到 Python 和我们正在云中构建的东西中。”—Duncan Bain,苏格兰电力公司高级数据科学家

我们的平台可以随时随地通过任何设备访问。它甚至针对移动设备进行了优化,因此您的员工可以在日常通勤中练习 Python、R 和 SQL 方面的新技能。我们将复杂的概念分解成简短有趣的练习,这样每个人都可以在方便的时候边做边学。

学习路线和专业课程集,为您的团队提供指导

DataCamp 的内容目录包括从初学者到专家的所有人的课程和实践项目,包括为特定团队和行业量身定制的课程和策划的学习轨道。探索营销金融的课程集合,以及数据科学和分析领域的深度职业轨迹技能轨迹

你的团队有具体的学习目标或商业计划吗?DataCamp 专家可以帮助您将您的业务计划转化为为您的团队量身定制的课程路线图,而不增加您的成本。安排一个演示来看看怎么做。

发现您团队的数据科学技能水平

通过快速但严格的评估获得团队技能水平的鸟瞰图。DataCamp Signal 与其他测试不同:您的团队除了完成选择题外,还将编写实际代码,评估的难度会根据表现自动调整。

Signal 还根据员工的优势和技能差距提供个性化的课程建议,这意味着他们可以充分利用在 DataCamp 上学习的时间。

大规模学习

DataCamp 使任何规模的团队都可以轻松实施和管理可扩展的学习解决方案,因此您可以快速启动和运行您的团队,他们也可以更快地应用他们的新技能。通过简单的进度跟踪和高级报告监控您团队的参与情况,并通过单点登录(SSO)和 LMS 与 Degreed、Cornerstone OnDemand 和 SAP SuccessFactors 的集成,轻松将 DataCamp 集成到您的学习生态系统中。为了与您独特的学习目标保持同步,DataCamp 允许您为每个团队创建定制的任务和学习路线。

点击了解更多关于数据流畅性的信息,让我们为您的旅程提供帮助。如果您是一位企业领导人,请访问 datacamp.com/business 的或点击此处的预约我们平台的免费演示。

机器学习的许多商业应用

原文:https://web.archive.org/web/20230101103328/https://www.datacamp.com/blog/the-many-business-applications-of-machine-learning

什么是机器学习?

机器学习(ML)是一套工具,有助于根据数据进行预测和决策。监督学习声称 ML 的最大份额,并允许我们从以前的数据中归纳出新数据的模式。换句话说,当我们不知道我们想要预测的值时,它应用已知值的先验数据来进行预测。在其跨业务问题的应用中,机器学习也被称为预测分析,用例包括客户流失、信用卡欺诈和电子邮件垃圾邮件。

通过经验或指导观察到的可用数据来学习 ML 任务,这反过来导致更好的学习。最终目标是以这样一种方式改善学习,即它变得自动而不需要人为干预。

“机器学习是一门科学和艺术,它让计算机能够在没有明确编程的情况下,学习根据数据做出决策。”—Hugo bow ne-Anderson 博士,DataCamp 的数据科学家和教育家

为什么机器学习对企业很重要

O'Reilly 在 2018 年进行的一项研究发现,51%的组织已经在使用 ML,其中 36%声称是 ML 的早期采用者,15%声称是成熟用户。49%的少数组织报告他们正在探索或“只是在考虑”部署 ML。

从您的数据中学习,更好地开展业务

日益增长的从数据中提取洞察力的需求

几乎每个企业都有大量数据,从支付交易到客户信息再到员工数据,这些数据可以(也应该)得到战略性利用。当今的领先企业正在将 ML 纳入其日常流程,从推动增长和优化效率到确定资本节约领域和降低投资成本。

机器学习提供了更快决策的途径

决策者需要比以往更快地访问关键数据,而 ML 支持快速、明智和准确的决策。ML 的一个主要好处是能够更快地做出明智的决策,50%已经实施 ML 的公司认为他们已经实现了这个目标。

为什么管理者需要基本的机器学习流畅性

管理者应该理解机器学习中的基本术语和概念。要与数据科学家进行富有成效的对话,他们必须了解 ML 是什么,它能做什么,以及使用它时需要注意什么。

机器学习的流畅性使管理者能够提出正确的问题,并知道哪些问题可以和不可以通过 ML 解决。他们还必须能够与数据服务和产品的供应商沟通,以建立一个成功的数据生态系统。

机器学习如何解决商业问题

这里有几个机器学习如何解决商业问题的实际例子,加上 DataCamp 课程的链接,以建立这些 ML 技能。

预测客户流失

机器学习可以帮助公司了解获得和保留现有客户的不同成本,以及如何计算客户终身价值,这是客户在流失之前产生的平均收入。

为客户定制个性化产品

希望更好地了解和服务客户各种习惯和需求的公司可以使用 ML 进行客户细分和个性化

处理和分析大量数据

自然语言处理的机器学习有着广泛的含义,可以给人机交互带来个性化的影响。这就是人工智能聊天机器人的驱动力。企业还可以通过文本挖掘图像处理和识别从非结构化数据中获得可操作的见解。应用范围从垃圾邮件检测到构建推荐系统等等。

进行财务分析

金融行业将深度学习用于从欺诈活动分类到算法交易投资组合管理,到贷款承销等等的方方面面。

机器学习正在被金融行业广泛采用。对冲基金“双适马”用它来指导交易策略。我们的一个保险客户正在 DataCamp 上支持机器学习课程,以推动他们的数据现代化计划

打造更好的技术产品和服务

科技行业使用 ML 来制造产品和服务。他们向客户提供个性化营销、推荐引擎、文本翻译、聊天机器人等服务。

在医疗保健中应用人工智能和人工智能

医疗保健行业正在不断发展,将 ML 纳入医学成像和诊断、数据收集、药物研发等领域。

对机器学习科学家日益增长的需求

那么,ML 领域增长了多少?国际数据公司预测,人工智能和人工智能的支出将从 2017 年的 120 亿美元增长到 2021 年的 576 亿美元。德勤全球预测,2018 年机器学习试点和实施的数量将比 2017 年翻一番,到 2020 年再翻一番。

因为如此多的组织正在投资预测分析,所以对人工智能科学家的巨大需求是有道理的。一个组织在实施人工智能和人工智能方面越成熟,他们就越开放更多的角色。对 ML 科学家的需求正在增加,并且在可预见的未来很可能会持续高涨。

利用我们的机器学习课程提升您团队的技能

如需更多阅读,请查看我们的机器学习教程 PythonR

石油和天然气行业也不能幸免于数字化转型。数据训练是答案。

原文:https://web.archive.org/web/20230101103227/https://www.datacamp.com/blog/the-oil-and-gas-industry-is-not-immune-to-digital-transformation-data-training-is-the-answer

由 Prithvi Singh Chauhan 和 Hayden Fiege 撰写, GTX 2021 规划团队

石油行业正面临前所未有的挑战,从 2020 年大宗商品价格暴跌到对行业环境表现的日益担忧,再到正在进行的向低碳强度能源的转型。数字创新、数据科学和机器学习将帮助行业克服这些困难的挑战。与此同时,石油行业正在寻找降低成本结构的技术,探索钻机的自动化,并使用物联网(物联网)和数据科学工具,利用历史数据优化结果。

商业资讯报道,2019 年,石油和天然气行业的人工智能市场价值为 20 亿美元,预计到 2025 年将达到 38.1 亿美元。最近 EY 的一项调查显示,超过 92%的石油和天然气公司目前正在投资人工智能或计划在未来两年内这样做,50%的石油和天然气高管表示他们已经开始使用人工智能来帮助解决问题

为什么数据技能对石油工程的未来至关重要

典型的石油工程师的技术技能不包括编程、数据工程、数据科学和机器学习。但随着更复杂的数据分析成为石油和天然气行业的核心,这些技能只会越来越重要。许多石油工程师正在寻找发展这些技能的机会。一些人可能计划使用这些新技能从工程转向数据驱动的角色,而其他人则希望使用这些新技能来改变他们在能源行业的未来实践。

石油工程师有大量机会使用数据科学和大数据来自动化或简化流程。生产、油藏、钻井、完井和地球物理学中的许多应用将通过机器学习或数据挖掘获得更好的洞察力而得到改善。石油工程师不需要成为编程专家,但他们需要很好地掌握如何从丰富的数据集中获得可操作的见解。

作为石油和天然气行业 Z 世代的一员,面对最近两次经济衰退,我需要不断提升自己的核心领域知识技能。像 DataCamp 这样的平台给了我足够的课程和途径来理解我领域中的应用程序。了解这些工具的广泛用途和效率有助于我更好地洞察数据。我们这一代正在经历石油和数字数据生产的爆炸式增长。数据科学和数字技术将有助于创造新的机会,产生高效的工作流程,并随着时间的推移降低每桶石油的成本。

Prithvi Singh Chauhan,德克萨斯 A&M 大学石油工程硕士

地热如何适应石油和天然气行业

地热能源将是向可持续的低碳全球能源未来转变的关键贡献者之一。像石油和天然气一样,地热是一个数据丰富的领域,重点是地下。只要有数据可以确定合适的地点,就有机会通过重新利用废弃的油气井来生产地热能,从而将这两个部门结合起来。

这就是由 SPE 卡尔加里SPE 墨西哥湾海岸未开发能源举办的即将到来的 2021 地热数据大会( GTX 2021 )发挥作用的地方。

GTX 2021 将把石油和天然气行业中希望发展数据能力的人与数据驱动的问题联系起来。本次数据马拉松以 2020 DUC 数据马拉松的成功为基础,将于 4 月 20 日至 6 月 25 日举行,为参与者提供使用真实世界数据解决真实世界问题、提升数据素养和建立新的专业联系的机会。

作为一个研究过石油工程、从事过传统工程工作以及更侧重于数据科学的工作的人,我认为这两种技能是互补的。拥有石油工程背景塑造了我处理数据科学问题的方式,而拥有数据科学技能改变了我处理工程问题的方式。我相信,通过为石油和天然气专业人员提供开发数据科学技能的工具和资源,我们正在对整个行业产生积极影响。

GTX 2021 规划团队

使用 DataCamp 构建数据素养

DataCamp 很荣幸能够赞助 2021 年 GTX 数据马拉松,并将为所有参与者提供免费订阅,以学习按需开源编程语言,如 Python 和 r。除了 DataCamp access,参与者还将参加虚拟训练营,这是关于石油工程领域数据科学特定工具的讲师指导课程。去年,DataCamp 帮助培训了 150 名参与者,我们预计今年这一数字将翻一番。

新一代石油工程师不仅需要拥有核心行业知识,还需要特定领域的数据操作技能。DataCamp 允许初学者在成为完全熟练的数据科学家的道路上学习 Python 编程和机器学习。

通过使用 DataCamp 平台,我发现学习一门新的编程语言变得更简单了。每个主题都有一个详细的分步指南,通过有针对性的问题进行练习,并有助于加深我的理解的案例研究。在 DataCamp 上学习 Python、R、SQL 的时候,我练习了使用模块导入和函数调用,以及编写用户自定义函数。它极大地增强了我分析、建模和解释数据的能力。

黄静汶,2020 年 DUC Datathon 数据营学习竞赛冠军

2021 年地热体验数据马拉松将于 2021 年 4 月 20 日至 6 月 25 日举行。点击了解更多

MLOps 的过去、现在和未来

原文:https://web.archive.org/web/20230101103202/https://www.datacamp.com/blog/the-past-present-and-future-of-mlops

许多机器学习项目都失败了

许多组织正在大力投资人工智能和机器学习。然而,这并不意味着组织正在他们的组织内收获机器学习的价值。根据 VentureBeat 的数据,87%的数据科学项目无法投入生产。在 VentureBeat's Transform 2019 的主题演讲中,IBM 数据科学和人工智能首席技术官 Deborah Leff 和 Gap 数据和分析高级副总裁 Chris Chap 认为,许多团队缺乏正确的领导力和对这些项目成功条件的支持。

Leff 和 Chap 将数据质量、数据民主化和组织流程问题描述为许多组织没有合适的工具或结构来克服的关键障碍。无法访问高质量相关数据或在正确的协作环境中工作的数据团队,无论其能力如何,都无法在这些项目中取得成功。他们还描述了模型衰退的问题,一些组织实现的模型在三年多的时间里没有发现就停止了工作。随着新冠肺炎的开始,这一点尤其明显,在那里,封锁迫使消费者采取完全不同的行为,许多零售分析模型在生产中崩溃。

ML 项目中另一个重要的考虑是测试和生产模型的开源技术的使用的增加。这些包括像 Python 这样的开源编程语言,以及它的许多库,比如 Scikit-learn、pandas、PySpark 等等。在生产环境中更改其中一个的版本会极大地影响项目的成功或使其完全停止工作。管理这些版本和开源框架需要一个有组织的系统在规模上有效。

对 MLOps 的需求

机器学习模型操作化管理 (MLOps) 是一种标准化和简化机器学习项目生命周期管理的方式。在他们的书中,达泰库讨论了为什么 MLOps 对企业变得如此重要的三个关键因素:有许多依赖性,组织缺乏数据素养和通用数据语言,以及数据科学家不具备工程技能。

众多依赖:数据是真实世界行为和流程的反映,自然会随着时间的推移而变化(例如新冠肺炎时期的卫生纸购买习惯)。随着时间的推移,数据会不断地发生变化,生产中的模型必须不断地适应这些变化,以便组织不断地解决他们打算用这些模型解决的原始问题。

没有共同的数据语言:在机器学习生命周期中,项目涉及来自不同背景的不同团队的人员。这包括数据科学家、数据工程师,但也包括功能主题专家。这些小组不共享相同的技能或数据流畅性来以相同的方式交流数据,他们的一致性对于在生产中部署模型和评估他们的成功至关重要。

数据科学家不具备工程技能:数据科学家通常擅长构建模型和评估模型,而不是编写要部署的应用程序。随着组织依赖更多的模型和更复杂的模型,数据科学家面临着开发和迭代模型与在生产中维护它们之间的权衡。

为什么 MLOps 有用

机器学习模型越来越多地部署在业务流程中。数量的增加需要使用 MLOps 来降低与这些模型相关的风险,负责任地部署这些模型,并大规模使用它们。

部署模型有许多相关的风险:

  • 模型可能在一段时间内不可用。技术在生产环境中可能不可靠。如果一个组织严重依赖这些模型,当技术变得不可用时,它可能会面临巨大的挑战。

  • 模型可能会返回样本的不良结果。它对大多数群体来说可能表现很好,但对一个群体来说结果可能很差。这需要被纠正或理解,以避免根据表现不佳的小组的模型输出做出糟糕的商业决策。这种糟糕的性能还会导致与 AI 模型在某些受保护的变量(如种族、年龄、性别等)方面表现不佳相关的伦理问题。)

  • 该模型将来可能会变得不公平或不准确。随着世界的变化,用于训练的数据越来越不能代表模型试图理解的世界。这可能会导致未来数据性能不佳。

  • 随着时间的推移,数据科学人才可能会离开组织。维护这些模型需要技术技能和带宽数据科学家可能并不总是需要确保这些模型的完美可靠性。

这些风险的规模取决于模型对组织的影响以及其中一个风险事件发生的概率。通过确保训练数据很好地反映了将在生产环境中看到的数据,并确保生产环境是稳定的(因为模型对变化非常敏感),可以减轻这些风险中的许多风险。MLOps 对于降低与为重要决策部署的越来越多的机器学习模型相关的风险越来越有必要。

随着机器学习模型在决策中的使用越来越普遍,确保它们得到负责任的部署变得越来越重要。当决策通过人工智能系统自动化时,有很多导致算法偏差的原因需要避免。未能成功地将偏见最小化会导致通过政府法规对一个品牌的需求和利润损失的惩罚。为了负责任地部署人工智能系统,模型必须在合规和无偏见的数据源上进行训练,具有可解释和可说明的结果,并在整个组织中承担责任,在这个组织中,很容易找到开发管道中可能出错的地方,以有效地修复它。为了负责任地部署 AI 模型,组织需要一个简化的 ML 模型生命周期。

部署越来越多的模型需要 MLOps 取得成功。有必要建立一个流线化的过程来跟踪版本控制,理解模型性能与重新训练的模型性能,并确保模型随着时间的推移继续良好地运行。没有这些 MLOps,很难通过这些模型成功增加价值和业务影响。

MLOps 计划的作用

虽然 MLOps 还处于萌芽阶段,并且仍在快速发展,但在组织中有必要拥有担任以下角色的优秀人员:主题专家、数据科学家、数据工程师以及软件和开发运维工程师。

主题专家是以业务为导向的个人,他们了解并告知如何在培训期间和部署后测量并持续评估模型的成功。对于一个成功的 MLOps 计划,他们必须开发一个易于理解的业务绩效衡量标准和一个反馈回路,用于区分与他们的业务预期相比表现不佳的模型。此外,风险主题专家是 MLOps 计划的重要组成部分。他们的目标是最大限度地减少和澄清公司由于在生产中部署 ML 模型而面临的风险。

课程推荐:数据素养技能轨迹

数据科学家负责构建模型,解决主题专家提出的业务问题。这些模型应该可以在具有生产数据的生产环境中部署。数据科学家应该确保这些模型可以在生产中轻松安全地部署,进行质量保证和潜在改进测试,并从一个位置轻松查看所有部署的模型。

课程推荐:机器学习科学家职业轨迹( R / Python ),Python 中的图像处理机器学习用 PySpark

数据工程师负责为这些模型创建数据管道。对于一个成功的 MLOps 计划,所有已部署模型的性能以及每个管道的全部细节都必须清晰可见,以了解可能存在的可解决问题。

最后,软件和 DevOps 工程师负责帮助这些模型与其他非机器学习应用程序的成功集成。对于成功的 MLOps 实践,他们必须集成数据工程最佳实践,以确保这些模型能够可靠、连续、无缝地与现有应用并行工作。

课程推荐:数据工程师与 Python 职业轨迹

对于一个成功的 MLOps 计划来说,必须成功地利用许多关键角色。大规模地成功部署数百个模型需要数据专家之外的成员,包括主题专家和软件工程师,以产生积极的业务成果。努力开发成功 MLOps 计划的组织必须致力于通过技能提升和持续学习,在所有利益相关方之间建立一种通用的数据语言。

了解更多关于商业数据营 :

DataCamp for Business 为需要提高和重新提高员工数据技能的公司提供了一个互动学习平台。主题从数据素养、数据科学到数据工程和机器学习,超过 1,600 家公司信任 DataCamp for Business 来提升他们的人才技能。

数据科学笔记本的过去、现在和未来

原文:https://web.archive.org/web/20221129033335/https://www.datacamp.com/blog/the-past-present-and-future-of-the-data-science-notebook

在过去 10 年的大部分时间里,笔记本电脑在数据科学领域已经很常见,每个数据科学家都使用过笔记本电脑。它们允许数据科学家通过快速环境创建、交互式输出和可按任意顺序执行的代码片段,快速进行实验和分享见解。

组织一直在数据科学和分析方面进行大量投资,投资的一个关键领域是允许数据科学家高效工作和快速试验数据的工具。笔记本电脑是这个问题的关键,也是我们今天在现代数据堆栈中看到的许多工具创新的组成部分。更重要的是,笔记本电脑还让公民数据科学家能够将数据见解民主化。

本文着眼于笔记本电脑的过去、现在和未来,以及笔记本电脑如何打破数据工作和协作的孤岛。

数据科学笔记本的历史

如今,几乎每个数据科学家都使用过笔记本,最流行的是 Jupyter 笔记本。然而,笔记本电脑在数据科学之前有着丰富的历史,可以追溯到 20 世纪 80 年代初。

识字编程的兴起

Donald Knuth 在 1984 年提出了识字编程,旨在作为一种方法来创建人类可读的程序。这个想法是用人类语言写出程序逻辑,用代码片段和宏编写成单独的注释,称为“WEB”。宏类似于用于教授计算机科学的伪代码。

然后,一个预处理器解析 WEB 来创建源代码(“tangle”)和文档(“weave”)。识字编程今天仍在使用,例如在 Axiom 中,但识字编程中的关键思想导致了笔记本的发展,这些笔记本看起来与我们今天看到的非常相似。

早期笔记本

关键的早期笔记本是 Wolfram Mathematica 和 Maple,发布于 20 世纪 80 年代末。他们在前端运行,在后端运行内核。下图显示了一个使用 Mathematica 生成的 3D 图,带有我们今天在笔记本上继续看到的熟悉的In[ ]Out[ ]符号。

Mathematica notebook

早期的 Wolfrom Mathematica 笔记本

这些工具有细微的差别,例如使用 enter 而不是 shift + enter 来运行代码,以及数学运算显示方式的变化。然而,两者都包含了影响现代笔记本设计的思想。

广泛采用的一个关键障碍是成本,因为这些工具价格昂贵,并且需要许可证才能使用。这是一个贯穿整个行业的问题,导致了 1998 年开源倡议的诞生,它带来了我们今天使用的许多强大的免费工具(例如 Jupyter 笔记本!).

现代数据科学笔记本的早期基础

2001 年,IPython 和 SciPy 发布,2003 年 Matplotlib 紧随其后。SciPy 允许在 Python 中进行一系列科学计算,而 IPython 改善了终端中的用户体验,并增加了对分布式计算的支持。像今天一样,Matplotlib 允许在 Python 中轻松创建数据可视化。

直到 2005 年,这些开源工具(以及其他工具)才被纳入一个名为 SageMath 的工具中。这样做的目的是为 Mathematica 和 Maple 提供一个开源的替代方案,在其他科学开源工具的基础上进行组合和构建,并提供基于网络的功能,这些功能是当今现代笔记本的主要功能。

2011 年,IPython 发布了它的笔记本,在 web 应用程序前端和底层笔记本文档之间有着明显的区别。

2011 IPython notebook

IPython 笔记本

木星笔记本的诞生

Jupyter 于 2014 年从 IPython 中分离出来,引入了笔记本界面,并采用了 IPython 的其他语言无关部分。它以其支持的原始语言命名: Ju lia、 Pyt hon、 R 。Jupyter 笔记本现在是数据科学家的首选,无疑是当今使用最广泛的笔记本界面。

近年来的一个关键发展领域是将前端与内核分离的应用程序,这样用户可以在浏览器中访问前端,但内核在基于云的数据中心运行。这种工具的一个很好的例子是 DataCamp Workspace ,在这里您可以直接在浏览器中使用 Jupyter Notebook 实例。

Jupyter Notebook

data camp 工作区中的 JupyterLab

随着笔记本电脑越来越受欢迎,过去几年迎来了一波现代笔记本电脑界面的浪潮,使任何人都可以轻松地处理数据。在下一节中,我们将分析现代笔记本电脑如何打破数据处理的障碍。

现代数据科学笔记本如何增强公民数据科学家的能力

公民数据科学家的想法是由 Gartner 在 2016 年提出的。公民数据科学家拥有技术技能,但可能没有传统的数据科学、统计学或计算机科学背景。

随着数据科学越来越多地从一个领域发展成为解决业务问题的方法,公民数据科学家成为现代数据驱动型组织的代表。笔记本电脑是公民数据科学家的绝佳工具,因为它们允许快速实验和分享见解,几乎没有准入门槛。

尽管笔记本电脑在快速探索和分析数据集方面一直表现出色,但它们此前在协作和分享见解等领域一直表现不佳。在 2022 年,随着现代笔记本电脑和周围的生态系统遇到许多这些历史盲点,情况将不再如此。以下是笔记本电脑引领生产力、效率和协作进步的一些方式。

现代数据科学笔记本是协作的

现代协作工具的一个明显例子是谷歌文档。许多用户可以使用和编辑文档,尽管用户也可以控制谁可以进行编辑,谁只能提出评论。更改会定期保存,以防止灾难发生。

类似的技术现在也适用于配备了像 Deepnote 和 T2 这样的工具的笔记本电脑。多个用户可以编辑和运行笔记本,并留下评论。所有这些协作都是实时进行的,使得整个过程更加高效。

DataCamp Workspace

data camp 工作空间中的协作

协作对于任何使用数据的人来说都是必不可少的。减少协作障碍还意味着通过共享知识和专业技能来减少数据孤岛。传统上,使用笔记本电脑进行协作可能会很慢,但现代数据堆栈快速高效。许多工具无缝集成到现有的技术堆栈中,这意味着用户可以使用他们习惯的工具工作,同时仍然可以与同事协作。

它们有助于数据洞察的民主化

与其他用户共享分析可能很困难,无论他们是业务利益相关者还是更有技术头脑的个人。过去,从业者通过电子邮件、Slack、演示或定制的 web 应用程序在 insights 中共享笔记本报告。

然而,现代笔记本电脑通过无缝共享笔记本电脑使见解民主化。例如, IPyWidgets 允许将交互式小部件添加到笔记本中,这意味着用户可以拖动滑块来改变图形,并与洞察力进行更多的交互。 Binder 将回购变成托管的互动笔记本,这意味着任何人都可以共享和运行互动笔记本。把一个笔记本变成一个托管的网络应用程序,再次意味着用户可以完全互动,甚至不用看到所有的代码。 Datacamp Workspace 允许用户共享笔记本,并提供模板来为数据添加故事。

sharing notebooks in DataCamp Workspace

在 DataCamp 工作区发布报告

他们可以弥合人才差距

数据科学既广又深:在许多不同的领域都有很多东西需要学习。成为一名 NLP 专家并不会让你成为一名伟大的数据工程师,甚至不会让你成为一个懂计算机视觉的人。

数据科学的不同子领域之间的关键联系是数据和基础设施。没有好的数据,模型就不会有好的表现。同样,如果没有支持模型开发和数据清理的基础设施,入门也是非常困难的。

对于公民数据科学家来说,不需要工程方面的技能。现代笔记本电脑允许任何人利用基于云的基础架构快速启动并运行。环境和包得到了很好的管理,大多数用户可以很容易地更新和修改。这确保了工程技能中的缺口不需要被填补,并且从业者可以花时间提供见解。

此外,大多数数据科学技术都与笔记本电脑完全兼容——可以训练模型,绘制 3D 图形,以及构建数据管道。这确保了公民数据科学家可以试验各种技术,并轻松地将结果传达给利益相关者或与其他技术用户共享代码。

现代笔记本与其他工具集成

我们已经了解了现代笔记本如何打破团队之间的数据孤岛,降低数据处理的门槛。然而,笔记本电脑历史上的另一个痛点是缺乏与数据科学工作流中使用的其他工具的集成。这方面的一个重要例子是 SQL。

历史上,从业者使用 Python 上的mysql.connector或 r 上的DBI等包建立数据库连接,这些包需要手动建立数据库连接,并手动输入数据访问的相关凭证。

另一方面,现代笔记本电脑提供了本地 SQL 支持。例如,使用 DataCamp Workspace,用户可以直接从 DataCamp 笔记本编辑器建立到数据库的安全连接,如 PostgreSQL、MySQL 和 Amazon Redshift。从集成数据库中提取的数据可以使用 R 或 Python 进行分析。

Extracted Data in Workspace

data camp 工作区中的 SQL 单元格

数据科学笔记本的未来

现代笔记本电脑是数据革命的核心。它使不同技能的从业者能够轻松地试验数据、分享见解,并在业务和数据团队之间架起一座桥梁。此外,笔记本电脑正在增强公民数据科学家的能力,引领当今组织内数据流畅的新浪潮。

像网飞这样的数据优先组织以其笔记本创新而闻名,因为笔记本是他们跨角色和团队处理数据的最受欢迎的工具。笔记本电脑的未来将由更高的灵活性、与剩余数据堆栈的更好集成以及强大的协作和共享来定义,以实现数据洞察的民主化。要了解有关笔记本电脑的更多信息,请查看以下资源:

成为数据工程师的途径

原文:https://web.archive.org/web/20230101103328/https://www.datacamp.com/blog/the-path-to-becoming-a-data-engineer

数据科学的世界正在发展,而且变化很快。在过去的好时光里,所有的数据都可以在一个数据库中获得,作为一名数据科学家,你需要知道的只是一些 R 或 Python 来构建简单的脚本。就我而言,我记得设置了一个 R 脚本,让它从单个表中咀嚼一些数据,并吐出一些 markdown 报告,所有这些都粘在一个孤独的 CRON 作业中。但我们都必须吸取宝贵的教训:数据在增长。

随着公司的发展,不可避免地会增加越来越多的数据源。其中一些数据是成批到达的,而其他数据则通过各种渠道流入:太字节、太字节的数据积累得如此之快,以至于你的脑袋都要爆炸了。你们中的一些人可能在几年前就认识到了这一点,当时你们担任了数据工程师的新职位,负责安全、正确地存储数据。如果您发现自己处于这种棘手的情况,或者如果您刚刚开始成为一名数据工程师,我有一些好消息要告诉您:本文为您提供了学习数据工程所需的所有资源。这些资源中有很多都捆绑在 DataCamp 的数据工程师职业生涯中。

数据工程对于数据驱动的公司是必不可少的,但是数据工程师实际上是做什么的呢?以下类比可能有所帮助:

想想数据工程师,比如种植庄稼的农民,他们确保自己的田地得到良好维护,土壤和植物保持健康。他们负责为他人耕种、收割和准备他们的作物。这包括移除受损的作物,以确保作物的高质量和高产量。

这类似于数据工程师所做的工作,以确保组织中的其他人可以使用干净的原始数据来做出数据驱动的业务决策。

1.精通编程

在我们深入研究您需要的工具之前,您必须了解数据工程师位于软件工程和数据科学的交叉点。如果你想成为一名数据工程师,你首先需要成为一名软件工程师。所以你应该开始温习基本的编程技能。

行业标准主要围绕两种技术:Python 和 Scala。

学习 Python

对于 Python 编程,重要的是你不仅要知道如何用 Python 写脚本,还要知道如何创建软件。好的软件是结构良好的、经过测试的、高性能的。这意味着你应该为这项工作使用正确的算法。这些课程为成为 Python 编程明星铺平了道路:

  1. Python 简介:如果 Python lists 或 NumPy 没有什么印象,就从这里开始。
  2. 数据科学中级 Python:如果你不知道如何在 Python 中构建循环,就从这里开始。
  3. Python 数据科学工具箱(第 1 部分):如果您从未用 Python 编写过函数,请从这里开始。
  4. 用 Python 为数据科学家设计的软件工程:如果你从未用 Python 写过一个类,请从这里开始。
  5. 编写高效的 Python 代码:如果您从未计算过 Python 代码的时间,请从这里开始。

为了进一步加深您对 Python 的了解,请参加我们关于使用 Python 编写代码的最佳实践的新技能课程。您在这些课程中积累的知识将为您编写高效且可测试的代码打下坚实的基础。

学习 Scala 的基础知识

数据工程领域的许多工具都围绕着 Scala。Scala 建立在强大的函数式编程基础和静态类型系统之上。它运行在 Java 虚拟机(或 JVM)上,这意味着它与开源社区中的许多 Java 库兼容。如果这听起来令人生畏,我们可以通过我们的课程Scala介绍让你放松。

2.学习自动化和脚本

为什么自动化对数据工程师至关重要

数据工程师必须了解如何自动化任务。您需要对数据执行的许多任务可能很繁琐,或者可能需要经常执行。例如,您可能希望每小时清理一次数据库中的表。xckd 的漫画说得好:

TL;dr:如果你知道一个可自动化的任务需要很长时间,或者它需要经常发生,你可能应该自动化它。

自动化的基本工具

Shell 脚本是告诉 UNIX 服务器做什么和什么时候做的一种方式。例如,通过 shell 脚本,您可以启动 Python 程序或在 Spark 集群上运行作业。

CRON 是一个基于时间的作业调度器,它有一个特殊的符号来标记何时需要执行特定的作业。说明其工作原理的最佳方式是给你一些例子:

这里有一个很棒的网站可以帮你找出正确的时间表:https://crontab.guru/。如果您迫不及待地想开始学习 shell 脚本和 CRON 作业,请开始学习这些课程:

  1. 面向数据科学的 Shell 简介
  2. Shell 中的数据处理(最后一课是关于 CRON 的)

在这篇文章的后面,我将谈论 Apache Airflow,这是一个同样依赖于您的脚本功能来安排您的数据工程工作流的工具。

3.了解您的数据库

从学习 SQL 基础知识开始

SQL 是与数据相关的一切事物的通用语言。这是一种成熟的语言,不会很快消失。看看下面这段 SQL 代码:

这段 SQL 代码的美妙之处在于它是一种声明性语言。这意味着代码描述做什么,而不是如何做——“查询计划”负责这一部分。这也意味着几乎任何人都可以理解我在这里写的这段代码,即使没有 SQL: Return 每个用户的所有登录使用了多少不同的 IP 地址。

SQL 有几种方言。作为一名数据工程师,您不一定需要了解它们,但熟悉 PostgreSQL 和 MySQL 可能会有所帮助。数据科学 SQL 简介温和地介绍了如何使用 PostgreSQL,而SQL 关系数据库简介则更加详细。

了解如何对数据建模

作为一名数据工程师,您还需要了解数据是如何建模的。数据模型定义了系统中的实体如何交互以及它们是由什么组成的。换句话说,您应该能够阅读数据库图表,如下图所示:

你应该认识到类似于数据库规范化(T1)或者 T2 星型模式(T3)的技术。数据工程师也知道,一些数据库针对事务进行了优化( OLTP ),而另一些更适合分析( OLAP )。如果这些数据建模主题还没有引起注意,请不要担心——我们的数据库设计课程详细介绍了所有这些主题。

了解如何处理结构化程度较低的数据

有时您会发现自己处于这样一种情况,数据不是以结构化的方式表示,而是存储在一个不太结构化的文档数据库中,如 MongoDB。知道如何从中提取数据肯定会有所帮助。我们的Python 中的 MongoDB 简介课程可以帮助你做到这一点。

4.掌握数据处理技术

到目前为止,我只讲述了如何编程和自动化任务以及如何利用 SQL 的基础知识。现在是时候在此基础上开始构建了。既然你现在有一个强大的基础,前途无量!

了解如何批量处理大数据

首先,你需要知道如何从几个来源获得你的数据并对其进行处理:这被称为数据处理。如果你的数据集很小,你可以用 dplyr 或者 pandas 用 Python 来处理你的数据。或者您可以让您的 SQL 引擎来完成繁重的工作。但是如果你有千兆字节甚至兆兆字节的数据,你最好利用并行处理。使用并行处理有两个好处:(1)可以使用更多的处理能力,以及(2)可以更好地利用所有处理单元上的内存。

最常用的并行处理引擎是 Apache Spark ,根据他们网站的说法是一个用于大规模数据处理的统一分析引擎。让我来为您解释一下:Spark 提供了一个易于使用的 API,它使用常见的抽象,如 DataFrames,在机器集群上执行并行处理任务。

Spark 在并行处理方面明显优于 Hadoop 等旧系统。它是用 Scala 编写的,它有助于与 Python 和 r 等几种流行的编程语言进行接口。像 Dask 这样不太为人所知的工具可以用来解决类似的问题。如果您想了解更多信息,请查看以下课程:

  1. PySpark 简介
  2. 【PySpark 的大数据基础知识
  3. Python 中 Spark SQL 介绍
  4. 利用 Dask 进行并行计算

数据处理通常是成批进行的,比如每天都要清理前一天的销售表。我们称之为批处理,因为这种处理是对过去发生的一系列观察结果进行操作的。

了解如何处理流中的大数据

在某些情况下,您可能有一个想要立即处理的连续数据流,称为流处理。一个例子是从一系列推文中过滤出对特定股票的提及。在这种情况下,您可能希望研究其他数据处理平台,如 Apache Kafka 或 Apache Flink,它们更专注于处理数据流。Apache Spark 也有一个名为 Spark Streaming 的扩展来进行流处理。如果你想学习更多关于 Kafka 或 Flink 的流处理,看看这个温和的介绍

将结果载入目标数据库

最后,安排好数据处理工作后,您需要将结果转储到某种数据库中。通常,数据处理后的目标数据库是 MPP 数据库。在接下来关于云计算的部分,我们将看到一些 MPP 数据库的例子。它们基本上是使用并行处理来执行分析查询的数据库。

5.计划您的工作流程

基于 Apache Airflow 的工作流调度

一旦在 Spark 或另一个引擎中构建了处理数据的作业,您就会希望定期调度它们。如前所述,您可以保持简单并使用 CRON。在 DataCamp,我们选择使用 Apache Airflow,这是一种在数据工程管道中安排工作流的工具。您应该使用最适合您工作流程的工具。对于您的用例,一个简单的 CRON 作业可能就足够了。如果 CRON 任务开始增加,并且一些任务依赖于其他任务,那么 Apache Airflow 可能是您的工具。Apache Airflow 具有可伸缩性的额外好处,因为它可以在使用 Celery 或 Kubernetes 的集群上运行——稍后将详细介绍。Apache Airflow 使用有向无环图或 Dag 来可视化您创作的工作流:

上面的 DAG 演示了组装汽车的步骤。

TL;dr:您可以使用气流来编排作业,这些作业使用 Apache Spark 或大数据生态系统中的任何其他工具来执行并行处理。

工具的生态系统

说到工具,很容易迷失在所有与数据工程相关的术语和工具中。我认为下图完美地说明了这一点:

来源:https://mattturck.com/data2019/

这个图表非常完整,但是在我们的例子中它不是很有帮助。不要用过多的信息来淹没你,让我们用一个例子来总结过去的两个部分,这个例子可以帮助你理解我介绍的所有工具。

许多更流行的工具,如 Apache Spark 或 Apache Airflow,在我们的数据工程简介课程中有更详细的解释。

观察力敏锐的读者可能会在这些开源工具中发现一种模式。事实上,很多都是由 Apache 软件基金会维护的。事实上,Apache 的许多项目都与大数据有关,所以您可能希望密切关注它们。下一件大事可能就要发生了!他们所有的项目都是开源的,所以如果你懂一些 Python、Scala 或 Java,你可能想看一看他们的 GitHub 组织

6.学习云计算

使用云平台的案例

接下来,我希望大家再次思考并行处理。请记住,在上一节中,我们讨论了计算机集群。在过去,需要处理大数据的公司会拥有自己的数据中心,或者在数据中心租用服务器机架。这种方法很有效,许多公司在处理敏感数据时仍会这样做,比如银行、医院或公共服务部门。这种设置的缺点是浪费了大量的服务器时间。原因如下:假设你一天要做一次批处理。您的数据中心需要处理峰值处理能力,但是相同的服务器在其余时间会处于闲置状态。

这显然效率不高。我们甚至还没有谈到地理复制,在这种情况下,相同的数据需要在不同的地理位置进行复制以防止灾难。

每个公司自己管理他们的服务器是不切实际的,这是产生云平台的问题,云平台集中了处理能力。如果一个客户有空闲时间,另一个可能有高峰时刻,云平台可以相应地分配处理能力。今天的数据工程师需要知道如何使用这些云平台。最受公司欢迎的云平台是亚马逊网络服务(AWS)微软 Azure谷歌云平台(GCP)

云平台提供的常见服务

云平台提供各种对数据工程师有用的服务。仅 AWS 就提供多达 165 项服务。让我强调几个:

  • 云存储:数据存储是数据工程的基础。每个云平台都提供自己版本的廉价存储。AWS 有 S3,微软有 Azure 存储,谷歌有谷歌存储。它们几乎都做同样的事情:存储大量文件。
  • 计算:每个云平台也有自己的底层计算服务。这意味着他们提供了一台远程机器来进行计算。AWS 有 EC2,Azure 有虚拟机,Google 有自己的计算引擎。它们的配置不同,但它们做的事情基本相同。
  • 集群管理:所有的云平台都有自己版本的托管集群环境。AWS 有 EMR,Azure 托管 HDInsight,Google 有 Cloud Dataproc。
  • MPP 数据库 : M 被动 p 并行 p 处理数据库是一个奇特的术语,指的是运行在多台机器上并使用并行处理来执行昂贵查询的数据库。常见的例子有 AWS Redshift、Azure SQL 数据仓库、Google BigQuery 等。
  • 完全托管的数据处理:每个云平台都有数据处理服务,为您运行基础架构/DevOps 设置。例如,您不必担心在集群中使用多少台机器。AWS 有一个叫数据管道的东西,还有 Azure Data Factory 和 Google Dataflow。Google 已经将 Dataflow 的编程模型开源到另一个 Apache 项目中:Apache Beam。

这只是数据工程师相关服务的一小部分。如果这些引起了你的兴趣,一定要看看数据工程介绍的第一章,其中有一课是关于云平台的。如果你想获得更多的实践经验,请查看 Python 中的AWS Boto 简介

7.内部化基础设施

看到这里,您可能会感到惊讶,但是作为一名数据工程师,您还需要了解一些关于基础设施的知识。在这个话题上我不打算讲太多细节,但是让我告诉你两个至关重要的工具:Docker 和 Kubernetes。

何时使用 Docker

首先,让我们看看你是否认识到这种情况:

你可能知道我要说什么。掌握 Docker 可以帮助您使应用程序在任何机器上都是可复制的,不管那台机器的规格是什么。它是一个容器化软件,可以帮助你创建一个可复制的环境。它允许您在团队中协作,并确保您在开发中制作的任何应用程序在生产中都能类似地工作。有了 Docker,数据工程师在设置本地环境上浪费的时间就少多了。以 Apache Kafka 为例,在本地安装它可能会非常困难。您可以使用一个名为 Confluent 的平台,该平台将 Kafka 与其他用于流处理的有用工具打包在一起,Confluent 文档提供了一个关于如何开始使用 Docker 的简单易懂的指南。

何时使用 Kubernetes

逻辑上,单个容器之后是在几台机器上运行的一大堆容器。在基础设施行话中,这被称为容器编排,Kubernetes 是可以使用的工具。您可能会理所当然地想起并行处理和 Apache Spark 之类的工具。事实上,您可以将 Kubernetes 托管集群与 Spark 一起使用。这是数据工程中比较高级的话题之一,但是即使是新手也应该知道。

8.追随潮流

如果你已经做到了这一步,如果你觉得你还没有完全理解数据工程的前景,不要气馁。这是一个不断变化的巨大领域。最重要的是使用正确的工具,不要让您构建的大数据解决方案过于复杂。

也就是说,跟上最近的发展也无妨。这里有一些有用的资源:

开始迈出作为数据工程师的第一步

就是这样!你已经穷途末路了。在这一点上,你实际上是一个数据工程师…但你必须应用你所学到的东西。积累数据工程师的经验是最难的部分。幸运的是,你不需要成为所有这些话题的专家。你可以专注于一个云平台,比如谷歌云平台。你甚至可以使用谷歌的公共 BigQuery 数据集之一开始你的第一个宠物项目。

我希望这篇博文能给你带来启发,我提供的资源对你有用。在 DataCamp,我们致力于构建我们的数据工程课程,并增加有关流数据和云平台等主题的课程,敬请关注!

构建数据文化的途径

原文:https://web.archive.org/web/20221129054701/https://www.datacamp.com/blog/the-path-to-building-data-cultures

https://web.archive.org/web/20220704233716if_/https://open.spotify.com/embed/episode/3oRqTkPmtlOHnuO0dX6LDk

DataCamp 播客 DataFramed 的主持人 Adel Nehme 最近采访了安联-比荷卢经济联盟的区域首席数据和分析官 Sudaman Thoppan Mohanchandralal。

介绍苏达曼·托普潘·莫汉钱德拉勒

Adel Nehme:大家好,我是来自 DataCamp 的 Adel Nehme,欢迎来到 DataFramed,这是一个涵盖所有事物、数据及其对世界各地组织的影响的播客。根据新的 vantage partners、2021 大数据和人工智能高管调查,几乎 100%的组织都报告了对人工智能和数据计划的投资。然而,只有 24%的受访者声称他们的组织是数据驱动的,而 92%的受访者表示缺乏数据文化是实现数据驱动的最大障碍。这就是为什么我很高兴今天的节目能请到苏达曼·托普潘·莫汉钱德拉勒。Sudaman 是安联比荷卢经济联盟的首席区域数据分析官。在他任职期间,他在保险领域部署了许多领先的人工智能解决方案,并且一直是安联比荷卢经济联盟数据文化转型计划的先锋。他拥有计算机科学和商业管理两个硕士学位,专攻商业分析和智能。

Adel Nehme:在这一集里,Sudaman 和我将讨论构建数据文化的重要性、组织在制定数据转换计划时可以采用的最佳实践、数据转换计划的多方面性质以及由此产生的复杂性、数据技能和数据文化之间的联系等等。如果你喜欢 Sudaman 的这一集,一定要看看他最近在 DataCamp 上的网络研讨会,他在会上更详细地介绍了他如何在安联比荷卢运营数据文化。如果你想查看播客的前几集并显示注释,请务必前往www.datacamp.com/community/podcast

阿德尔·内赫梅:苏达曼。很高兴你能上节目。

Sudaman Thoppan Mohanchandralal:谢谢你,Adel。这种感觉是相互的。

Adel Nehme:我很高兴能与您讨论构建数据文化的重要性。但是在我们开始之前,您介意给我们简单介绍一下您是如何进入数据领域的背景吗?

Sudaman Thoppan Mohanchandralal:我已经在数据领域工作了一段时间。目前负责比利时、荷兰和卢森堡地区安联业务的数据和分析,直接向地区首席执行官汇报。我如何进入数据空间是一个我无法回答的问题,因为我总是以这样或那样的方式在数据空间中。首先是复杂的事件处理,称为银行间资金转移处理器,然后是定价环境分析,为 IBM 提供租赁物流解决方案,然后继续从事数据仓库工作,最后专攻业务分析。你可以看到,在我获得商业分析和智能 MBA 学位后,上下文事件处理、数据仓库和分析本身的整个方面,从定价分析,所有这一切都集中在一个超级专业化中,这清楚地为我在数据和分析领域担任领导角色铺平了道路。因此,从 2012 年到 2013 年,数据和分析方面的大量工作将会开始,等等,一直到现在,我一直试图在数据办公室工作,或者试图建立一个数据办公室。

CDO 今天的使命是什么?

Adel Nehme:太好了。与其他领导角色相比,首席数据官的角色相对较新。你能讨论一下 CDO 的角色在过去几年是如何演变的吗?CDO 今天的使命是什么?

苏达曼·托普潘·莫汉钱德拉勒:它已经进化到一定程度,不应该再叫我们“新生”了。当我开始扮演这个角色时,情况确实是这样,但现在我认为它也正在成为一种主流,但还没有到那一步。我会说,我同意,它还没有出现。有什么不同?显然,数据成为资产的方面。而且,如果有的话,将会有一项资产,它总是由企业来管理。作为资产的数据也应由业务部门和所有资产管理原则进行管理,这些原则由特定的 CXO 作为监护人适用。必须有一个监护人和监管人,这个特定的设置[听不清]是主要领导人或官员。

Sudaman Thoppan Mohanchandralal:因此,企业基于战略,将数据视为一种文化或一种使能器或一种工具,无论如何,无论你如何看待它,它都是推动未来商业战略的主要组成部分之一。因此,从这个角度来看,这是一个必须与董事会分享的角色,以确保业务按照战略要求的方向发展。

Adel Nehme:太棒了。回顾您到目前为止在安联度过的时光,您能否向我们介绍一下该团队取得的一些成就,以及如何让安联比荷卢经济联盟成为一个更加以数据为导向的组织。

苏达曼·托普潘·莫汉钱德拉勒:当然。我想说,这一切都始于 2018 年。现在我们是在 2021 年,我们已经取得了相当大的距离。我不会说我们已经到达了目的地,因为它不在那里。基本上,我们今天已经交付了至少 30 多种数据产品,这些产品在业务方面投入了运营,在我看来,这是一个了不起的成就。我们还实现了年复一年,我们创造的运营利润超过了设定的目标。所以累积运营利润由数据办公室创造。在某种程度上,它们在结构上被低估了,我稍后会解释这一点。但就拿这部分来说,我们已经涵盖了商业案例。因此,我们现在创造更多的利润情况,而不是试图覆盖投资。因此,我们的业务案例已经实现。因此,这对于我们和我们的业务来说都是一个巨大的成就。

苏达曼·托普潘·莫汉钱德拉勒:事实上,我保证会向你解释,什么是结构性低估。我们计算数据办公室创造的价值的方式是对业务收入的归属。因此,每次我们启动一项计划时,我们都会与业务部门讨论我们将赋予数据办公室的价值是什么。这或多或少都不科学。

Sudaman Thoppan Mohanchandralal:它在未来会变得科学,但它还没有那么科学,但它只是把这归功于数据办公室。因此,从这个角度来看,我仍然认为我们在结构上被低估了,但即使有这种结构上的低估,实现商业案例,是我的团队的一个了不起的成就。我为我的团队感到骄傲。

构建数据文化

Adel Nehme:这是相当可观的,看到这些数据工作如此专注于价值令人兴奋。现在,我今天真正想和你深入探讨的一件事,也是你一直直言不讳的一件事,就是建立数据文化的重要性。因此,当回顾您加入安联时最初面临的挑战和数据文化的状态时,您能向我们介绍一下构建数据文化对您从数据科学的规模中提取价值有多重要吗?

苏达曼·托帕·莫汉钱德拉勒:我认为,如果没有数据文化,我们就永远无法从数据中创造价值。那么,我们所说的数据文化到底是什么意思呢?我们所说的文化是什么?文化只不过是一种组织习惯的集合。所以,如果一个组织文化是你只表达该组织员工的常规习惯的东西。

苏达曼·托普潘·莫汉钱德拉勒:举例来说,数据驱动的决策是一种必须成为习惯的惯例。而这肯定要报答一些其他的习惯,更多的是本能的驱使。那么在这种情况下,你基本上是在谈论改变文化。现在,如果数据驱动的决策不存在,那么你真的不需要数据。如果你不根据数据做出决定,那么你所做的任何数据活动都没有价值。因此,从这个角度来看,我认为你将无法从数据中创造任何价值,除非,直到你有了这种处于任何成熟度级别的数据文化,但至少必须有这种数据文化慢慢开始在公司内部蔓延。所以,是的,我希望我回答了你的问题。论点是,如果没有这种数据文化,您将永远无法创造任何数据价值。

Adel Nehme:我完全同意,我很高兴能和你一起深入探讨这个问题。因此,许多组织目前都在投资,变得由数据驱动,并从数据中提取价值。从文化转型计划、数据基础设施和技术能力,有一系列的活动要做。您是否发现关注组织的技术准备程度与其文化之间存在冲突?如果是,你认为组织应该从哪里开始?

苏达曼·托普潘·莫汉钱德拉勒:阿黛尔,真的有四样东西。首先是数据文化。第二件事是数据解决方案。第三件事是数据推动者。第四件事是数据工具吧?因此,在大多数情况下,组织中的数据和分析等计划是启动或 kickstart。他们试图解决它是如何或在哪里开始的。例如,如果它从业务方面开始,这总是好的,考虑到你有其他的选择,四件事情中的一件会变得重要。如果从业务方面开始,数据作为一种解决方案或数据作为一种使能因素将开始变得重要,而数据作为一种工具或数据作为一种文化,我想说,仍然会有一点被采用。同样,如果 it 正在启动 IT,您可以想象数据是一种工具,数据作为一种使能因素变得很重要,但解决方案和文化方面仍然被采用。所以这取决于它实际上从哪里开始。

Sudaman Thoppan Mohanchandralal:根据我的经验,我会说,不幸的是,平行地开始所有这些事情是你取得进步的唯一途径。原因是,你必须维持你投入的投资,为了维持这些投资,你需要一个基本平衡所有投资的结果。这就是回报。还有一种方法可以看出你所做投资的真正价值。如果你想在一些计划上有所突破或坚持,这个回报是非常重要的。这才是你真正的反馈。要做到这一点,你需要一些数据作为思考的工具。你需要数据作为思维的驱动力。你还需要一个解决方案,因为你想把它放到市场上赚钱。因此,它成为解决方案的唯一途径是当你有在决策中使用数据的文化时。所以你看到这样或那样的方式,不幸的是,你没有奢侈的顺序启动它。你甚至没有开始管内衬的奢侈。你必须平行地做。这就是复杂性所在。

Adel Nehme:在结合这些计划时,特别是在构建数据文化转型计划时,您发现了哪些最佳实践?

Sudaman Thoppan Mohanchandralal:最佳实践完全取决于组织文化。这本身就是最佳实践。了解你的生态系统。是啊。了解你的前景,了解你当前的组织文化,了解你当前的业务专家,因为你需要从什么是线索或触发器的角度来看待它?奖励是什么,这是有套路的,这是到位的。因为几乎总是有一个惯例,那就是在适当的地方。你必须明白这些事情。这是第一个最佳实践。我称之为理解现状。

Sudaman Thoppan Mohanchandralal:然后你需要清楚地了解目的地。从这个意义上说,目的地并不是你所说的遥远的未来的理想状态。当然,这将是非常好的,但尽可能地,这个特定的目的地应该是一个具体的,可衡量的,可实现的,现实的,有时间限制的方式。

Sudaman Thoppan Mohanchandralal:所以一旦你有了它,那将是一个到达点。所以从目的地到目的地,你必须非常清楚地定义一种到达目的地的方法。现在我要说的是,你不能只有一条路,但你需要有那四条路:数据作为文化之路,数据作为解决方案之路,数据作为使能之路,数据作为工具之路。由于这些道路基本上屈服于有效性或效率,这也需要跟踪。这意味着,把所有这些事情和结果联系起来,是的。因此,这将是第三或第四个最佳实践。在我看来,第五个最佳实践是对业务有一个真正的承诺原则。因此,您需要启动一项计划,不是从数据端或数据办公室端开始,而是必须是一项涉及数据的业务计划。

Sudaman Thoppan Mohanchandralal:原因很简单,因为业务的优先级仍然存在,尽管你优先考虑的是让数据驱动。因此,我的最佳实践建议不是在现有的业务优先级列表中添加另一个优先级,而是选择其中一个或一组已被列为业务优先级的计划,并获得他们的认可或承诺,即他们将基本上以数据为驱动。这种承诺延伸到结果归因。这一承诺也延伸到运作方面。所以这些是我能立即想到的最佳实践。

Adel Nehme:您在这里提到的一件事是需要与业务专家和领导者合作,因为组织的优先事项本质上是业务的优先事项。您能否详细说明当您与业务领导合作时获得认可的性质,以及在采用新的数据科学方法方面获得组织领导的认可时是否有时会有摩擦,以及如何最好地引导在组织内灌输这种思维转变?

Sudaman Thoppan Mohanchandralal:从技术上来说,没有理由发生摩擦,因为你基本上是在尝试做同一项业务。你增加了更多的资源,而不是制造障碍。从技术上来说,仅仅是因为当然有它的另一面,就可能有政治在起作用。可能存在其他类型的挑战,甚至有理由认为业务可能会考虑焦点漂移,这将影响他们实现目标的能力,因为他们并不真正了解 it 的数据世界。他们没有把它看作资源,而是把它看作某种障碍。所以这些东西总是存在的,你可以称之为摩擦力。但事实上,这正是 it 或数据教育的数据素养部分发挥作用的地方。你必须花费一些精力来确保他们能够将数据视为一种资源,而不是一个障碍。要实现这种转变,就像你说的那样,这是一种思维方式的转变。这是你能够实现无摩擦讨论的唯一途径。

苏达曼·托普潘·莫汉钱德拉勒:无论如何,都会有这样或那样的摩擦,这将是健康的,因为要找出问题或障碍或差距,这些都需要填补。所以这就是为什么我会称之为健康,但至少良好的理解水平将使那些所谓的硬摩擦成为可能。

数据技能和数据文化之间的联系

Adel Nehme:您也提到了数据素养和数据技能的重要性。您能否向我们介绍一下整个组织中数据技能和数据文化之间的联系,无论是针对高管还是个人贡献者。你如何看待这一组织优先事项?

Sudaman Thoppan Mohanchandralal:我将参考一下我们在安联-比荷卢经济联盟的数据学院。我们称之为加速数据学院。可以说,我们将数据技能分为三个级别。第一级是铜牌。我们称之为数据青铜。公司里的每个人,不管他们做什么,在哪里。他们应该具备的数据知识还有第二个层次。这正是这种特殊水平的成就所带来的。所以他们,我们称他们为数据公民。我不想把数据公民这个术语和其他定义混淆。只不过,任何人都需要了解数据伦理方面的最基本知识,以前重视数据、数据的保密性,包括所有其他技术、最近刚刚出现的数据等等。对这些东西的高层次理解,它的分析方面,非常高的层次。

Sudaman Thoppan Mohanchandralal:实际上,无论你在公司中扮演什么角色,你都是一名承保人,你是一名精算人员,你是一名接待员,你不关心,无论他们在做什么角色,他们都应该知道。那是青铜级。我们称他们为数据公民。

苏达曼·托普潘·莫汉钱德拉勒:当然,下一个级别是白银。当你穿银色时,你会穿得更深一点。然后是溪流。当然,如果你是一名高管,你基本上能够理解数据价值提取过程。我会这么说。您还可以了解数据可以增加价值的业务计划。我是说,如果你是个主管,你就能认出他们。第二类当然是业务经理等,他们会更深入地学习如何构建数据增值的业务案例。

Sudaman Thoppan Mohanchandralal:当然,第三个层次是技术人员,他们基本上是利用数据等建立模型。在这个层面上,我们称他们为数据大师,因为他们能够真正从数据中创造价值。

苏达曼·托普潘·莫汉钱德拉勒:第三层是黄金层。这基本上在一定程度上实现了某种成就,即在给定的当前环境下,例如在数据和分析方面,或者在数据和分析密集型的计划和业务计划方面,你实际上对未来有一种观点或看法。所以这一个是在你能够想象什么样的中断会产生更好或改善或增加结果的水平上。此外,你还能够用事实来表达你的观点,你能够推销并参与公司的战略讨论。

Sudaman Thoppan Mohanchandralal:所以我们称他们为数据大使。因此,在我看来,直接的答案应该是,这取决于你所谈论的组织和他们正在开展的业务,但不要听起来太笼统,而是试图给你一个答案,我认为企业应该就如何使用数据做出明确的决定。他们是真的想把它作为一种竞争优势,还是真的想把它作为一种防御机制,无论他们做出什么决定,他们都可以相应地使用我提到的水平,这就是他们必须要做的战略性劳动力规划。

Adel Nehme:这是非常有见地的,尤其是在将业务目标与学习目标联系起来的时候。现在,您提到了数据文化是如何融入整个业务的,当谈到创建数据文化并激发它时,您认为谁应对这一文化转型计划负责?

Sudaman Thoppan Mohanchandralal:董事会对整个组织的文化负责。因此,他们仍然对数据文化负责。现在,更准确地说是首席执行官,因为首席执行官总是文化的负责人。原因是,如果有一个战略,而这是首席执行官负责的事情,文化就是将战略带到目的地的工具。现在你不仅可以拥有包装好的随时可以移动的东西,这就是战略。但是你也应该建造一辆车,它是你在正确的时间把它带到目的地所必需的,因此你可以看到什么仍然是超级重要的。当然,首席执行官将有一个 CDO 来执行它,甚至会帮助构建这个工具本身,以便将战略推进到其目的地。但我仍然认为,在让数据文化在一个组织中成为现实的过程中,首席执行官的角色,不是别人,正是首席执行官本人,是至关重要的。

Adel Nehme:您认为职能和业务领导也应该负责激发数据文化,并为组织的其余部分传递这一信息吗?

苏达曼·托普潘·莫汉钱德拉勒:当然。CDO 和首席执行官必须确保他们能够让其他首席执行官和他们各自的下属承担起这种文化的责任。因为你应该看到,CDO 在这里的角色是一个催化剂或推动者,但不是真正的角色。实际上,行动总是与其他经营业务的首席执行官一起进行。但是 CDO 的工作是创造所有能创造生态系统的东西,以及足够适合它们生存的环境。但是真正的责任和义务在于其他人。首席执行官也要求这样做。因此,我们不应该在 CDO 下建造一座象牙塔。这不是应该走的路。在我看来,行不通。因此,就像你正确地说的那样,确保文化基本上适应数据的责任也是其他业务领导者的责任。

D3M 框架

Adel Nehme:太好了。你最近在 data camp 网络研讨会上谈到的一件事是运营一个数据驱动的框架来发展数据文化,或者你可以称之为 D3M 框架。你介意简单说一下你是怎么做的吗?

苏达曼·托普潘·莫汉钱德拉勒:看,我们并没有马上意识到应该这样做。这是一段时间以来,我们基本上不断微调,以达到我们今天的水平。我很自豪能和我的团队一起取得某些成就。就像我说的,我也为我的团队感到骄傲。

Sudaman Thoppan Mohanchandralal:回到围绕数据文化的讨论,我们首先想了解,当前现有的惯例正在帮助我们的业务实现的所有线索和所有回报是什么。当然,你可以在整个安联比荷卢经济联盟中以非常通用的术语来思考这个问题,但后来我们认为这太过了,这是一个令人热血沸腾的故事。所以让我们只去一个地区,从那里开始。我们从销售开始。我们问他们的问题是,好吧,你们做的所有不同的决定是什么?

Sudaman Thoppan Mohanchandralal:我们根据他们创造的商业影响列出了他们。然后我们说对于这些决定,有一个奖励。所以我们称这个决定为线索和奖励,我们已经开始列举了。然后我们开始查看例程:它们是否是数据驱动的。如果例程是数据驱动的,这是个好消息。但是如果 it 例程不是数据驱动的,那就是我们开始行动的地方。所以你看,我们开始让它变得高度相关,对吧?举个例子,我们讨论了一个叫做代理转向的特定线索。我们说过,对经纪人来说,要实现回报,基本上只是更多的潜在客户转化。这就是奖励。例行公事更加本能。例行公事更依赖于舒适,更多的是在销售人员的头脑中。即使有数据报告可用,但他们很少使用它。

苏达曼·托普潘·莫汉钱德拉勒:这给了我们一个很好的暗示,一个很好的起跑位置。从那时起,我们开始观察,我们做调查,我们做采访,我们学习,然后我们意识到,好吧,如果数据素养提高,如果提供数据教育,数据质量也提高,也有可能改变常规,从今天的一切,到数据驱动的决策,我们将看到经纪人转向数据驱动,当然,影响已经存在,我们开始管理。

Sudaman Thoppan Mohanchandralal:所以你看,我们现在甚至能够计算出领先一代在我们通过数据文化造成的中断中所占的百分比。这就是我们如何操作它。现在,您可以想象这可以扩展到业务线和其他领域的其他站点。现在,这是一种非常侵入性的,但随后又是一种非常相关和可量化的向组织交付数据文化的方法。这就是我们如何操作它。

Adel Nehme:太棒了。您还提到了在考虑运营数据文化时使用调查和关键领域进行评估。您能否向我们介绍一下,测试组织何时应该开始评估和制定数据转换计划的主要领域是什么?

Sudaman Thoppan Mohanchandralal:还是那句话,完全取决于组织本身。对我们来说,感觉更好的是围绕数据的领域。我的意思是,在数据收集中,业务流程基本上引入了数据以及存储和计算数据的基础架构区域。我们也考虑了这些东西的可及性、可发现性、可信赖性和可理解性。这意味着文档、治理机制、管理方面以及组织的日常事务,对吗?我是说,这些决定是怎么做出来的。在我之前的回答中,我指的是基于线索的套路,并期望得到回报,套路被贯彻到底。所以这些是我们选择的不同维度。回答你的问题,Adel,这肯定是每个组织都有很大不同的地方。通用方法肯定是不存在的,因为我们谈论的是一种真正的文化。

行动呼吁

Adel Nehme:我非常感谢您在文化的独特性以及组织如何不同方面的投入。但是在我们结束之前,您是否有任何其他行动要求或最佳实践想与其他希望建立数据文化计划的数据领导者分享?

苏达曼·托普潘·莫汉钱德拉勒:我看到的真正有效的最佳实践是自上而下的工作。它不会帮助您建立数据素养和数据教育,就像所有其他素养和教育行动在整个员工群中执行一样。但我认为对我有效的最佳实践最有潜力,从顶层开始工作。也就是说从你组织的最高层开始。但同时,别忘了中间。此外,在整个组织中,对交付和您所做的内容必须有明确的区分。所以,当你从高层开始工作时,不要只和高层一起工作,当你和高层一起工作时,也要把中层带到同一个房间里。这对于确保高层和中层之间的对话至关重要。

苏达曼·托普潘·莫汉钱德拉勒:我的意思是,当我和首席财务官一起工作时,我也把所有向首席财务官汇报的人召集在一起,一起工作。这一点非常重要,因为我们是推动者。所以我们应该促成对话。数据驱动的决策对话必须找到自己的位置。它只会从这两者之间开始,因为它必须在那里发生。

苏达曼·托普潘·莫汉钱德拉勒:这就是我的建议。一个强有力的最佳实践是,是的,从顶层开始工作。不要只考虑普通的大民主教育,它适用于每个人。不管怎样,那是必须要做的。但是要从高层开始工作,也要和中层一起工作。但请记住,成功在于你把顶端和中间的部分结合在一起,因为有一个对话真的非常关键。对话也反馈到你如何设置下一级教育的内容和交付。也有助于你向那些在底层工作的人解释上层和中层的观点。所以这是我最好的练习,阿黛尔。

Adel Nehme:好的。太棒了,苏达曼。非常感谢你来到这个节目并分享你的见解。真的很感谢。

苏达曼·托普潘·莫汉钱德拉勒:不客气。谢谢你给我这个机会。

Adel Nehme:今天的 DataFramed 节目就到这里了。谢谢你和我们在一起。我非常欣赏 Sudaman 关于构建数据文化的见解,以及文化转型项目的独特性质。如果你喜欢今天的节目,记得在 iTunes 上给我们评分。我们的下一集将与 Y 实验室的首席执行官 Alyssa Visnic 讨论 ML ops 以及它为什么如此重要。我希望你会发现它很有用,我们希望下次能在 DataFramed 上看到你。

人工智能在金融和算法交易中的力量

原文:https://web.archive.org/web/20230101103301/https://www.datacamp.com/blog/the-power-of-ai-in-finance-and-algorithmic-trading

Recently, Dr. Hugo Bowne-Anderson (DataCamp) and Dr. Yves Hilpisch (The Python Quants) discussed how AI can be leveraged in finance, how it compares to more traditional approaches, and why data scientists are now key players in finance. They also discussed uncertainty and risk, and how useful AI and machine learning can be in market crashes, during black swan events, and in volatile markets. Watch the webinar on-demand or read on for some key takeaways. ## What is AI and what are the implications? Yves defines artificial intelligence as the whole range of fields that try to emulate and improve what people can do. In that sense, AI in chess tries to play chess better than humans, and AI in finance can mean building and training bots that can trade better than humans do. > AI is where software achieves something that we would consider an intelligent act. And intelligence can be defined as the ability to achieve a certain goal.—Dr. Yves Hilpisch Machines can follow the scientific method much more efficiently than humans. They are able to look at the data and find out revealed preferences by tracking what people actually do. And from that, they derive insights. They leverage millions of data points to form these insights, which end up being far more accurate than theoretical models. > So what is the scientific method?...You set up an experiment, you collect data, and then you try to either find support for the hypothesis, or maybe you find data that contradicts the hypothesis. Then the next step will be to adjust your hypothesis, your assumptions, or maybe retract the hypothesis altogether. This process of the scientific method can be replicated by machines a million times in seconds.—Dr. Yves Hilpisch ## AI has provided a major competitive advantage in the past 20 years AI serves the same purpose in finance as it does for any other field: to gain a competitive advantage. In finance, it got its start in the 1950s, when Markowitz led the way with the first quantitative finance model. It was the first model in variance portfolio theory that gained widespread acceptance. Today, it’s still used to manage trillions of dollars. But it uses normative theory which is based on analyzing various possible portfolios of securities—it’s not prescriptive because it doesn’t suggest a possible course of action. So it’s not based on data, but rather behavioral data or market data. In the past 20 years, data has become more readily available than ever before—the key is to use it appropriately. Gregory Zuckerman’s The Man Who Solved the Market details how the hedge fund Renaissance Technologies led the way in amassing data for financial gain. Today, almost every industry has embraced their strategy of creating mathematical models and crunching data—and are able to make more optimal decisions as a result. ## Modern use cases and best practices for quantitative finance There has been a dramatic evolution of AI in financial markets. For example, using the mountains of data available today, supervised learning models are able to predict the behavior of creditors or consumers with a high degree of accuracy. Algorithmic trading also leverages reinforcement learning to reward and punish trading bots based on how much money they make or lose. > We have now millions and millions of data points that we can use to analyze the behavior of people. And with the new technologies that we have, banks and institutions [such as] fintech startups are ten times, a hundred times better at predicting consumer behavior, creditor behavior, etc, than every theory that ever has been devised by financial professors.—Dr. Yves Hilpisch But in times like these where there is high market volatility, it’s clear that AI in finance requires safety precautions. Supervised learning relies on historical data and assumes that what has happened in the past is representative of what will happen in the future. This is faulty logic in times of market volatility. That’s why you must have rules in place to prevent bad trading decisions, like putting a stop loss—which specifies a price that a security or commodity will be sold—on the algorithms. This logic limits losses that are too great to bear and is akin to putting security mechanisms on a self-driving car to prevent it from hitting pedestrians on a sidewalk. AI is useful for reducing risk resulting from current events and its impact on the market. In black swan events, supervised learning tactics must be carefully monitored, and reinforcement learning can be used to retrain models based on new market conditions. Human intervention and careful monitoring of deployed algorithms will still be required for the foreseeable future. ## The need for simple, replicable, scalable tools In computational finance, the Monte Carlo simulation has a forward-looking approach that starts with a certain point in time and simulates outward into the future. Python is a great tool for this. The Python data stack today is a set of interoperable packages that allow you to ingest data, transform it with pandas, conduct statistical modeling, and create machine learning algorithms. Python allows all this to happen at scale. Today, algorithmic trading depends on having the proper tooling. And getting a job in this industry requires a certain degree of proficiency in these tools—namely, Python and R. The Python package pandas and frameworks like TensorFlow and Keras have allowed many people to be able to do what was previously impossible. ## Lowering the barriers to entry Learning how to use these tools is a big investment, and more companies and individuals are making this investment than ever before. Educational offerings like DataCamp and The Python Quants can democratize the learning process. Learners become familiar with data science and machine learning concepts and get comfortable with building algorithms independently in a coding environment. They’re also able to get familiar with how to set up a proper environment and tool chain to work on the server—empowering them to deploy algorithms in the cloud.

朱莉娅的崛起——2022 年值得学习吗?

原文:https://web.archive.org/web/20221129041532/https://www.datacamp.com/blog/the-rise-of-julia-is-it-worth-learning-in-2022

当考虑数据科学的编程语言时,Python 占据了至高无上的地位。虽然 Python 在大多数领域都超过了 R,但 R 在跟踪编程语言受欢迎程度的 5 月 TIOBE 指数中保持了其在前 15 名编程语言中的位置。事实上,在过去的一年中,R 使用的百分比增长远远高于像 JavaScript、Java、C 和 PHP 这样的泰坦语言。

Python 和 R 一起统治了数据世界,给类似的语言投下了阴影。

但是有一种语言已经脱颖而出,慢慢走向光明。那种语言就是朱莉娅。尽管它还很年轻,Julia 爱好者已经称它为数据科学和人工智能的“未来语言”。为了验证他们是否正确,让我们来看看 Julia 采用的一些指标,这些指标摘自 Julia 关于增长统计的年度简讯。

截至 2022 年 1 月 1 日,朱莉娅已被下载 3500 万次,2021 年的下载次数是过去三年总和的三倍。核心语言及其注册包已经在 Github 上聚集了总共 250,000 名明星,是六年前总和的 13 倍。 Julia 的 GitHub repo 一家独大,39.1K 星,4.9K 叉,3.3K 发行。

朱莉娅登记的包裹数量在 4 月份达到了 7400 多个,比 6 年前多了 10 倍。至于它在所有其他语言中的排名,5 月 TIOBE 指数将其置于第 25 位,比去年从第 47 位跃升的排名下降了三位。

TIOBIE

5 月 TIOBE 指数作者截图

Julia 的实际 TIOBE 指数为 0.64%,也就是说在搜索引擎上所有与编程语言相关的查询中,有 0.64%的时候会弹出 Julia 的名字。换句话说,大约每 200 个编程相关的问题都是关于 Julia 的。

考虑到朱莉娅最早的稳定发布是在 2018 年,这些数字令人印象深刻。但是,这些数字是否意味着在可预见的未来,Julia 的受欢迎程度将只有 Python 或 R 的一半呢?现在还值得学习吗?在我们回答这些问题之前,让我们更仔细地看看语言本身。

朱莉娅是什么?

Julia 是一种科学计算语言,于 2012 年首次发布。编写它的四位创始人,Jeff Bezanson、Stefan Karpinski、Alan Edelman 和 Viral B. Shah,都有不同的背景,但都欣赏所有其他编程语言的集体力量。

为了让 Julia 成为最强大的语言,创始人为这种语言设计了一个特定的愿景。在一篇解释他们为什么创造朱莉娅的博客文章中,他们说朱莉娅应该是:

  • 开源
  • 和 C 一样快
  • 像 Ruby 一样充满活力
  • 同形符号,或把代码当作数据
  • 数学符号中的类 Matlab
  • 在宏中类似 Lisp
  • 像 Python 一样通用
  • 像 R 一样易于统计
  • 像 Perl 一样自然地进行字符串处理
  • 像 Matlab 一样强大的线性代数
  • 类似 Hadoop 的分布

这些超凡脱俗的雄心壮志的确雄心勃勃。然而,当 Julia 1.0.0 在 2018 年发布时,他们已经兑现了六年前做出的 90%的承诺。

Julia 擅长编程的某些方面,这是任何普通语言都做不到的。例如,Python 为了灵活和动态类型化而牺牲了速度,而像 C、C++和 Java 这样的语言为了在运行时更快而严格静态和严格。至于 Julia,这种语言读起来像英语,完全是动态的,并且仍然是历史上最快的语言之一。

这些好处已经导致了这门语言引人入胜的应用。例如,巴西国家空间研究所(INPE)使用 Julia 来规划太空任务,而联邦航空管理局(FAA)正在使用该语言开发下一代防撞系统。

使用 Julia 的数据团队

不仅仅是航空航天工程,制药公司也在和 Julia 一起发展。辉瑞公司使用在 Julia 运行的模型,将心力衰竭治疗的模拟加速了 175 倍。阿斯利康使用带有 Flux.jl 和 Turing.jl Julia 软件包的贝叶斯神经网络来预测药物毒性。你可以在另一篇文章中了解更多关于【Julia 用于的信息。

朱莉娅在全球一些最负盛名的机构任教,如麻省理工学院、斯坦福大学、康奈尔大学、加州大学伯克利分校、布朗大学、东京城市大学等。以下是一些在朱莉娅发展的全球知名公司。

  • 美国英特尔公司(财富 500 强公司之一ˌ以生产 CPU 芯片著称)
  • 迪斯尼
  • 亚马孙
  • 大写一
  • 毕马威会计事务所
  • 谷歌
  • 微软
  • 国家航空与航天局
  • 国际商用机器公司

list of companies using julia

如今使用 Julia 的公司

是什么让朱莉娅与众不同?

朱莉娅的许多品质使其成为独一无二的语言。这里有一个让学习 Julia 引人注目的非详尽特征列表。

1.速度

我已经多次接触到它惊人的速度。但是,我们真正交谈的速度有多快呢?

1998 年,阿帕奇角天文台的研究人员开始对 35%天空范围内的所有可见物体进行成像。他们称该项目为 Celeste,并获得了 5 亿颗恒星和星系的数据集。16 年来,对这些图像进行编目是一项繁琐而费力的工作。

朱莉娅上场了。

2014 年,一个科学家和程序员团队聚集了 178TB 的图像数据,并在仅仅 14.6 分钟内对 1.88 亿颗恒星和星系进行了点估计。

这一科学和编程壮举是通过在 Cori 超级计算机上运行 Julia 实现的,在 9300 个节点上跨 130 万个线程实现了 1.54 petaflops(每秒 10 次⁵运算)的峰值性能。因此,Julia 成为继 C、C++和 Fortran 之后第四种达到 petaflops 性能的语言。

2.句法

Julia 的另一个亮点是它的语法,它以一种曾经被认为不可能的方式表现了语言。在 Julia 发布之前,科学计算主要是用 Python 或 r 等其他动态类型语言完成的。由于计算是由物理学家、生物学家和金融专家完成的,他们不是经验丰富的开发人员,所以这些专家更喜欢更简单的语法,即使这是以失去计算速度为代价的。

Julia 也是动态类型的,使得学习和编写非常简单,但是作为一种编译语言,它可以和静态类型的语言如 C 或 Fortran 一样快。

3.多重调度

另一个优点是多重分派,尽管这对于编程来说并不陌生。不要太专业,多重分派指的是一个函数根据其参数类型做出不同行为的能力。这里有一个例子可以说明这一点是如何有用的:

function _add_str(str1, str2)
   str1 * str2
end

function _add_int(int1, int2)
   int1 + int2
end

add(item1::String, item2::String) = _add_str(item1, item2)
add(item1::Int64, item2::Int64) = _add_int(item1, item2)
[OUT]: add (generic function with 2 methods)
add(4, 5)
[OUT]: 9
add("Julia ", "is awesome!")
[OUT]: "Julia is awesome!"

如果你已经注意到,我刚刚在 Python 中实现了+ plus 操作符,它随着输入类型的改变而表现不同。上面这个例子的美妙之处在于,您可以在几乎任何您想要的函数上启用 Julia 的多调度特性,并使它在不同的输入下表现不同。

这些是关于朱莉娅的一些美好的事情。现在,让我们把它与 Python 进行比较。

Julia vs. Python,详细对比

在这一节中,我将尝试概述 Julia 和 Python 之间的差异。虽然比较将主要在 Julia 和 Python 之间进行,但是它们也适用于 R,因为 Python 在许多方面优于 R 或与 R 表现相似。

1.速度

我们先来看看语速差异,因为朱莉娅爱好者不断吹嘘自己语言的速度。我们将测量找到 Julia 的Flux.jl包中的函数的导数所需的时间,并与 Python 中的TensorflowGradientTape进行比较。

我们将从张量流开始:

import time

import tensorflow as tf
start = time.time()
x = tf.Variable(5.0)

with tf.GradientTape() as tape:
   y = 3 * x ** 3 + 4 * x ** 2 + 6 * x + 5

   # dy_dx = 9x^2 + 8x + 6
   dy_dx = tape.gradient(y, x)

print(time.time() - start)
[OUT]: 0.003016233444213867

x的导数大约需要 0.003 秒。让我们在朱丽亚身上看到同样的操作:

两个例子都在本地机器上运行(AMD 锐龙 9 3900x 12 核处理器,英伟达 RTX 2060 SUPER 8GB VRAM)

我们第一次运行渐变,Julia 用了~0.002 秒编译,已经比 Tensorflow 快了。下一次运行时,评估速度提高了约 450 倍。速度测试—检查!

2.句法

现在,我们来谈谈语法。许多人声称朱莉娅代码读起来更像英语;它比 Python 更有表现力,更干净,尤其是对于科学计算。让我们来看看实际情况。

第一个例子是写数学表达式——你可以像在 MATLAB 中一样写多项式:

x = 5
3x^2 + 5x + 4
[OUT]: 104
(x + 5)x
[OUT]: 50 

还有一些大大简化条件句的短路表达式,来自于此:

x = 73; y = 37

if x > y
   println("$x is higher than $y")
end
[OUT]: 73 is higher than 37

对于这个精简的例子:

x > y && println("$x is higher than $y") 
[OUT]: 73 is higher than 37

本地 Python 和本地 Julia 之间还有其他有益的区别。例如,默认情况下,Julia 中的数组被认为是向量和矩阵,任何在其上运行的函数都将被矢量化,从而消除了不必要的循环。尽管如此,对于数据科学来说,Python 仍然是最用户友好的编程语言之一。

3.流行度和包装生态系统

然而,并不是每个人都准备好跳上朱莉娅的列车。我已经在介绍中谈到了朱莉娅的成长统计数据。就其本身而言,它们看起来相当令人印象深刻,但与 Python 相比,还有很长的路要走。

Python 以 12.74%的指数位居 TIOBE 排行榜之首,而 Julia 的指数为 0.64%。作为一门语言,有像 TensorFlow 或 PyTorch 这样的完整 Python 包比 Julia 更有吸引力。

Python 的数据科学和机器学习生态系统更加广泛和成熟。Julia 有超过 7k 的注册包,而 Python 有超过 110k。这些数字意味着 Julia 要成为最好的通用语言还有很长的路要走,尽管它可能在许多方面比原生 Python 有明显的优势。

虽然 Python 在规模上令其相形见绌,但对 Julia 程序员来说,一个优势是他们有更大的机会来改进语言,并在 Julia 生态系统中的许多不断发展的学科中留下自己的印记。此外,要开始为朱莉娅做贡献,不需要有多年的专业知识或精通多种语言。用 Julia 编写的库完全是用 Julia 编写的,没有其他语言的贡献。下面是一个Flux.jl存储库的例子:

flux.jl github

相比之下,你不仅要掌握 Python,还要掌握 C++、C、GO 等其他语言。,以及它们是如何相互作用来开始理解关键 Python 包的代码的。

tensorflow and keras github

如果你确实想在 Julia 中调用 Python 等其他语言,像Pycall这样的包可以让它变得简单。这是一个正在运行的包:

using Pkg

Pkg.add(PackageSpec(name="PyCall", rev="master"))
Pkg.build("PyCall")
using PyCall

plt = pyimport("matplotlib.pyplot")

x = range(0; stop=2*pi, length=1000)
y = sin.(3*x + 4*cos.(2*x));

plt.plot(x, y, color="red", linewidth=2.0, linestyle="--")
plt.show()

有类似的 Julia 包可用于调用其他语言,如RCallMATLAB.jl等等。

4.学习资源

不幸的是,虽然 PythonR 有丰富的初学者友好的学习材料,但缺乏学习 Julia 的类似资源。缺乏免费和付费的关于 Julia 的指南、课程和书籍是它仍然没有被大量采用的原因之一,因为开发人员讨厌通过阅读文档来学习一门新语言。

由于给定主题的教育资源的数量通常与其搜索需求相关,我们可以查看 Google Trends 获取这方面的数据:

learning resources popularity julia vs python

这个图显示 Python 的受欢迎程度明显高于 Julia。

对 Python 和 R 的社区支持也比 Julia 多得多。我们可以通过查看 StackOverflow 上每种语言的标记问题数量来确认这一点:

examples of stackoverflow questions julia

examples of stackoverflow questions r

examples of stackoverflow questions python

Python 无疑领先于这两种语言,但是随着它的采用,Julia 的培训材料和社区支持的可访问性也在增加。

朱莉娅值得学习吗?

那么,是时候回答这个百万美元的问题了——朱莉娅值得学习吗?

权衡这种语言的利弊,答案倾向于“是!”。这只是时间问题。

大多数数据科学家会说,在数据科学和机器学习之旅的早期阶段,你不应该学习 Julia。几乎 100%的数据角色都将 Python 或 R 列为要求,在职业生涯初期选择学习 Julia 而不是它们可能是一个严重的错误。如今,数据工作所需的技能和工具已经非常庞大,以至于要花相当多的时间投资才能让自己成为某个角色的资产。用朱莉娅分散你的注意力会让你远离一份有报酬的工作,并减缓你的职业发展。

开始学习 Julia 的最佳时机是当你觉得你已经掌握了 R 或 Python,并且可以用它们的库解决业务问题的时候。在那个阶段,Julia 将是您工具箱中的一个很好的补充,因为您可以充分利用该语言带来的所有优势和能力。

然而,一些专家对学习朱莉娅有完全激进的看法。正如 Ari Joury 在他们的文章中声称的那样,如果你早学并且学得好,Julia 可能是你通向未来的黄金门票。作者引用了人工智能本身的例子,因为它在 30-40 年前是一个非常小众的领域,但在 90 年代采用它的人现在非常受欢迎。

时间会证明这是否同样适用于朱莉娅,因为朱莉娅可能是你可以放在简历上的一件事,以真正从皮托尼斯塔中脱颖而出。决定权在你。你可以在我们单独的文章中找到更多关于机器学习的信息,朱莉娅和从 MATLAB 进展到朱莉娅

每周综述|第 4 集| PyScript 和 AI 音频编辑

原文:https://web.archive.org/web/20220627024316/https://www.datacamp.com/blog/the-weekly-round-up-or-episode-4-or-pyscript-and-ai-audio-editing

Anaconda 发布 PyScript

我们今天的第一个故事是关于 Anaconda 的一个激动人心的新版本。4 月 30 日, Anaconda 发布了 PyScript ,这是一个框架,允许用户在他们的 web 浏览器中完全使用 Python,包括嵌入内容、外部文件托管、访问 Python 生态系统等功能,所有这些都不依赖于服务器端配置。PyScript 背后的目标是允许任何具有少量 Python 知识的人将应用程序发布到任何硬件和软件平台上。这就是 Anaconda 的团队选择网络浏览器的原因。浏览器安全、稳定、强大,几乎可以在任何地方工作。

用 Anaconda 团队的话来说,PyScript 只是 HTML,只是功能强大得多,这要归功于 Python 库的丰富且可访问的生态系统。他们喜欢将 PyScript 视为“软件开发的《我的世界》”:用户制作他们自己的世界(应用程序)或新的模块和组件(组件和小部件),并与世界共享。

PyScript 的主要特性是:

  1. 它允许我们在浏览器中使用 Python 及其库生态系统(包括 numpy、pandas 和 scikit-learn)。
  2. 通过使用环境管理,用户可以决定在运行页面代码时哪些包和文件是可用的。
  3. 我们可以使用一些现有的 UI 元素(如按钮、容器和文本框)来可视化地开发应用程序。
  4. 我们不必担心部署,因为有了 PyScript,一切都会在我们的 web 浏览器中发生。作为数据科学家,我们可以与我们的利益相关者共享包含仪表板和/或分析的 HTML 文件,他们将能够立即在浏览器中访问它们,而无需任何复杂的设置。

PyScript 的到来意味着,现在用 Python 创建有趣的数据科学 web 应用程序的障碍比以往任何时候都要低。任何拥有 Python 数据科学技能的人都将能够直接与他们的利益相关者共享数据应用程序,而无需了解 Javascript 或自行解决部署问题。我们已经看到相当多的数据科学家在野外试用 PyScript,我们确保链接到下面的这些例子!"

PyScript 目前只支持 Python,但长期目标是在未来提供对其他语言的支持,让 web 成为一个对每个人都更友好的地方。

自动驾驶汽车的世界速度记录

接下来的故事让我们来看看自动驾驶汽车的进展。百度最近不仅获得了有史以来第一张 robotaxi 牌照,希望在中国道路上部署无人驾驶出租车,而且还创造了自动驾驶汽车的世界速度纪录。

这辆自动驾驶汽车由意大利米兰理工大学-波利马沃的一组研究人员制造,成功达到 309 公里/小时(或 192.2 英里/小时),突破了 300 公里/小时的历史性“墙”。该团队在美国宇航局的肯尼迪航天中心跑道上创下了记录,希望在亚特兰大赛道上重现这一结果,因为亚特兰大赛道显然不是直的。

该团队表示,试运行令人振奋,但他们也对试运行产生的数据将如何公之于众感到非常兴奋,这将使整个行业从他们的工作和学习中受益。

Airbnb 的远程工作

Airbnb 加入了众多引入远程工作措施的公司的行列,为员工提供更多灵活性。在封锁限制期间,该公司的生产率大幅提高,并决定不仅允许员工远程工作,还致力于实现薪酬标准化,无论 AirBnb 的位置如何,以区别于其他跨国科技公司。随着公司在疫情期间学会适应远程工作,许多人发现他们实际上更喜欢远程工作,而不是每天去办公室。越来越多的人表达了对灵活性的渴望,苹果公司的一些员工甚至威胁说,如果他们不能完全做到远程办公,他们就要辞职。

如今,向这种远程工作方式的转变越来越成为许多雇主和数据团队的竞争优势,因为雇主可以更广泛地接触到各种人才,员工也享受到更多的灵活性和自由。

虽然许多公司都选择了混合模式,但员工的抵触情绪明显存在,74%的员工表示,远程工作的选择会降低他们离开公司的可能性。

用于音频合成的机器学习

在我们的下一个故事中,我们将看看音乐制作的领域。抖音的崛起引起了人们对音乐和音频内容在社交媒体中所扮演角色的关注,这促使支持抖音的 Bytedance 公司开发了一种令人兴奋的音乐制作工具,该工具使用机器学习将音频信号转变为真实乐器的模拟。

这个名为“Mawf”的新插件目前正在测试中,它有三种乐器的模型:萨克斯管、小号和泰国 khlui。Mawf 首先使用机器学习来分析专业音乐家的录音,提取与音高和振幅变化相关的乐器声音的详细变化。

然后,系统根据用户的数字输入(如 MIDI 或合成器音轨)来近似这些乐器的声音。

鉴于这些创新,我们已经在数字内容创作的其他方面看到了,例如 DALL-E 2 生成图像,以及人工智能驱动的视频编辑软件,难怪音频制作也正在通过机器学习得到增强。未来的内容创作前景看起来肯定很有趣——我们正在向这样一个世界迈进,在这个世界里,我们可能会说“给我一个斑马戴着帽子跳抖音舞的视频,听起来像是”没人会知道...“人工智能也许能给我们这种感觉。

了解最新的数据新闻

要了解最新的数据新闻,请务必订阅 DataCamp 的 Youtube 频道,获取每周一次的数据新闻综述

每周综述|第 5 集|肯德里克·拉马尔在新音乐视频中使用 DeepFakes

原文:https://web.archive.org/web/20221129041532/https://www.datacamp.com/blog/the-weekly-round-up-or-episode-5-or-kendrick-lamar-uses-deepfakes-in-new-music-video

本周的第一个主要故事是关于一组研究人员如何使用人工智能打击烦人的 cookie 弹出窗口。

如今,几乎每个网站都有一个要求 cookie 同意的弹出窗口,其中一些甚至被设计为难以拒绝 cookie,以迫使用户做出对网站友好的选择,从而将他们的隐私置于风险之中。来自谷歌和威斯康星大学麦迪逊分校的研究人员创建了一个名为“Cookie Enforcer”的系统来打击这些无孔不入的弹出设计。

该系统通过扫描网站 HTML 元素的呈现模式来检测 cookie 通知将如何显示。然后,CookieEnforcer 分析这些通知,并预测哪些操作将禁用所有不必要的 cookies。最后,机器学习模型选择选定的设置并关闭弹出窗口,使网站用户不必自己破译和点击通知。

研究小组发现,该系统在自动禁用 500 多个网站上的非必要 cookies 方面有 91%的效率。

正式的公开发布日期尚未宣布,但该团队已经明确了他们的意图,即让 Cookie Enforcer 作为浏览器扩展广泛可用,并希望既能保护用户免受恶意或不透明设计的影响,又能节省他们的时间。

IBM 发布欧洲人工智能技能差距研究

接下来,IBM 最近关于欧洲人工智能技能缺口的报告提供了对人工智能就业市场状况的有用见解。德国、西班牙和英国的员工、招聘人员和申请人接受了调查,以评估人工智能职位空缺时是否存在技能短缺。

该报告发现,在人工智能就业市场上,技术和非技术技能都存在明显的短缺。雇主指出,他们很难找到具备工作所需人工智能知识和经验的候选人。除此之外,大约四分之一的科技招聘人员提到,他们很难找到兼具技术和软技能的应聘者。

随着人工智能在每个行业变得越来越普遍,专业技术人员与业务经理的合作比以往任何时候都更加密切。因此,能够展示人际沟通、战略问题解决和批判性思维的软技能,可以极大地提高人工智能的就业能力和职业发展。

该报告还指出,提高技能和重新获得技能是解决组织技能缺口问题的潜在方法。在西班牙和德国的所有受访者中,42%的员工正在通过包括编程语言、数据工程/分析和软件工程等主题的培训来提高技能。英国落在后面,只有 32%的员工接受过此类培训。

Meta 的大语言模型

Meta 已经公开发布了一个大型语言模型,试图让这种模型更容易理解。在 5 月 3 日的一篇博客文章中,该公司宣布了其开放式预训练转换器(也称为 OPT-175B),这是一个拥有 1750 亿个参数的自然语言处理系统。

自然语言处理现在很热门,像 GPT-3 和 PaLM 这样的系统在人工智能领域掀起了风暴,并通过令人兴奋的用例,如语言生成、代码完成等,展示了这些模型的强大功能。Meta AI 表示,这些大型语言模型的潜力是显而易见的,唯一的限制是它们在很大程度上仍然无法被更广泛的研究社区所访问。

除了庞大的语言模型,Meta 还公开发布了构建 OPT-175B 的所有开发说明、决策基本原理和幕后额外文档。该公司还高度重视该模型的生态足迹,并成功创建了一个与 GPT-3 规模相当的系统,但其碳足迹仅为 1/7。

肯德里克·拉马尔在他最新的音乐视频中使用了 deepfakes

最后,让我们谈谈在 Kendrick Lamar 备受期待的新版本中 DeepFakes 的使用。《The Heart Part 5》不仅是这位艺术家自 2017 年热门专辑《Damn》以来的第一张专辑,而且其音乐视频还在这位说唱歌手的脸上应用了一系列 deepfakes。

辛普森,坎耶,威尔·史密斯和科比都出现了,拉马尔的脸在整个视频过程中无缝地融入了深度假动作。视频背后的技术公司“深度巫毒教”是由《南方公园》的创作者崔·帕克和马特·斯通创建的,以前曾使用 deepfake 技术创建过有争议的病毒视频。

通常,deepfake 视频使用两种机器学习模型。一个模型根据一组样本视频创建新的面部数据,而另一个模型则试图检测视频是否确实是假的。当第二个模型不再能够辨别视频是否是伪造的时,那么 deepfake 对于人类观众来说也被认为是足够可信的。这个过程是一种被称为生成式对抗网络的机器学习算法,它通常与自动编码器一起工作,以操纵或生成视频和音频内容。

《心脏第五部分》表明,尽管围绕 deepfakes 的道德使用存在复杂的争论,但这项技术仍然能够被编织到艺术叙事中,以在积极的背景下创造意义。

获取数据科学的最新消息

要了解更多关于数据科学的最新信息,请务必订阅 DataCamp 的 Youtube 页面以获取最新的每周综述。

这个新的人工智能孵化器让社会影响初创公司能够接触到 1,700 名数据科学家

原文:https://web.archive.org/web/20221129033105/https://www.datacamp.com/blog/this-new-ai-incubator-gives-social-impact-startups-access-to-1700-data-scientists

社会影响初创公司面临着筹集资金和创建可扩展商业模式的艰苦斗争,通常吸引不到风险基金的关注。但社会影响初创公司对社会的价值远远超过其资本估值。Omdena 是人工智能合作开发的领导者,它优先考虑社会影响,而不是对投资者的价值。通过将尖端数据科学放到最需要它们的人手中,Omdena 正在使初创公司能够在他们的业务中利用人工智能的力量,无论是在哪个行业或问题的大小。

2021 年 50 家有影响力的创业公司

自 18 个月前 Omdena 成立以来,来自 88 个国家的 1700 多名人工智能工程师已经合作为联合国难民署、WRI 等世界知名组织以及 Y-Combinator 和鹿角等集团支持的影响驱动型初创公司开发解决方案。

2021 年,Omdena 将给予 50 家影响力创业公司加入我们独特的孵化器项目的机会。通过孵化器,创业公司将获得广泛的资源,包括从数千名申请人中选出的多达 50 名工程师的专门和多样化的数据科学团队,专有知识库,高级 ML 工程师导师和尖端技术。

Omdena 的平台提供了与合适的人和环境的即时接触,在这里,最佳创意通过自下而上的协作而胜出。

资料来源:omna

Omdena 社区将世界各地的人们联系在一起,就有意义的问题进行协作,并构建现实世界的解决方案。我们的合作者使用 DataCamp 课程来构建现实世界中数据科学和机器学习的基本技能。

八周从问题到复杂的人工智能模型

资料来源:omna

最近的一个项目是与总部位于新加坡的初创公司 Solar AI 合作完成的,该公司旨在改善太阳能电池板的销售和部署方式。评估太阳能电池板在任何特定建筑上的应用潜力的过程既昂贵又耗时。太阳能人工智能使用卫星图像和人工智能来大幅降低这一成本,并缩短评估建筑物所需的时间。

在短短八周内,Omdena 的合作者提供了一个计算机视觉模型,可以检测图像中的屋顶,并估计屋顶上适合太阳能电池板使用的空间大小。该模型甚至能够检测到障碍物、分离器和屋顶上不同高度的部分。

你是一家旨在解决世界上最有意义的问题的早期影响力创业公司吗?了解更多关于 Omdena AI 孵化器的信息。

构建数据科学家简历的技巧

原文:https://web.archive.org/web/20221129044127/https://www.datacamp.com/blog/tips-to-build-your-data-scientist-resume

数据科学是现代就业市场上最具竞争力的领域之一,吸引着来自世界各地的有志专家。成为一名数据科学家意味着进入拥有诱人职业前景和高薪的特权圈子。对这一领域的兴趣不断增长,对数据专业人员的需求也在不断增加,但候选人需要满足的要求也相当苛刻。

对于数据科学求职者来说,重要的第一步是写一份有效的简历,能够给招聘经理/招聘人员留下足够深刻的印象,从而让你获得面试机会。对于那些已经在该领域拥有大量工作经验的专家来说,这是一项相对容易的任务,而对于入门级的数据科学家来说,这可能相当具有挑战性,并引发许多问题:我如何才能弥补我工作经验的不足?如果与数据科学不完全相关,描述以前的工作经历和/或教育是个好主意吗?哪个部分应该先走:教育还是经验?我需要包括什么样的项目,有多少个?我应该列出我的软技能吗?该不该给简历增色?总而言之,我如何才能脱颖而出,更接近被聘用为数据科学家的诱人目标?

在这篇文章中,我们将讨论一些基本的技巧和诀窍,如何制作一份引人注目、专业、易读的数据科学家简历,以吸引任何招聘经理或招聘人员的注意。

如何有效地组织你的简历布局和格式

把你的简历放在一页纸上

如果你打算在简历中加入大量信息,遵循这个建议可能会很痛苦。这甚至看起来违反直觉;为了给潜在雇主留下深刻印象,尽可能详细地向他们描述你的经历、教育、成就和技能不是更好吗?如果是这样,如果它占用了一页以上的空间呢?不管怎样,强烈建议你的简历总是保持一页长。

能够以浓缩的形式展示你的经历和成就是展示你沟通技巧的一个很好的方式。

选择简历模板

虽然你可以从头开始创建你的简历,并根据你的喜好组织它,但你可以通过使用在线简历生成器并从各种预先存在的简历模板中进行选择来节省时间。或者,可以从 Google Docs 或 MS Word collections 中选择一个合适的免费简历模板。这种模板通常清晰、视觉上吸引人、格式良好、易读、易于使用,并且在设计上可以帮助您在一个页面上容纳大量信息,而不会显得拥挤不堪。

这里有一些简历生成器,你可能会觉得有用:

许多简历制作商,包括上面列出的那些,都提供了大量功能齐全的免费模板,以及更高级的付费版本。在为你的数据科学家简历选择模板时,优先选择除了黑白以外只有一两种颜色的简单模板,而不是花哨多彩的模板。后者更适合艺术或设计等其他领域,在这些领域,看起来有创意的简历会给雇主留下深刻印象。在我们的情况下,最好避免不必要的装饰。

考虑选择两栏布局

选择一个有两栏的简历模板(额外可以有一些窄栏)有助于更有效地利用页面的垂直空间。这样,你可以在简历中放入更多的信息,并且更好地组织不同的部分。

使用有效的格式

如果你决定从头开始创建你的简历,或者对已有的模板进行修改,这一组提示将会很有用:

  • 使用优雅的文本字体
    • 好例子:Calibri,Times New Roman,Arial,Verdana,Cambria,Tahoma,Georgia
    • 不好的例子:漫画无 MS,MS 哥特,墨水免费,代理 FB,OCR A 扩展
  • 使用足够大的字体:文本使用 11-12pt,章节标题和页眉使用 14-16pt
  • 将章节标题和页眉加粗
  • 避免使用过多的文本样式,如粗体、斜体、粗斜体和下划线
  • 使用 1-1.15 倍行距
  • 避免枯燥的黑白简历——加点颜色让简历突出,但不要夸张,1-2 种颜色就够了
  • 避免视觉效果、装饰或不必要的图标
  • 使用项目符号让你的简历看起来干净、有条理、容易理解

保持格式一致

这是指各种文体特征。例如,如果你在简历的不同部分使用项目符号,你应该使用统一的风格,例如,空方块。缩进、字体样式、日期格式等也是如此。幸运的是,如果你在一个在线简历生成器中创建简历,所有这些元素和格式通常都会为你预先定义好。

关于数据科学家简历内容的一般提示

创建主简历

在开始申请数据科学工作之前,首先创建一份“主简历”是有意义的。这是一个巨大的、非常详细的简历版本,可以有 2-3 页甚至更多,你可以在其中包括你所有的工作经历、学习、项目、技术和软技能以及其他成就。

如果你是一个试图从另一个领域进入数据科学的职业改变者,考虑在你的主简历中包括你以前工作的经验;你可能会比你意识到的拥有更多的可转移技能。毫不奇怪,你的主简历的每一部分都有很多要点。完成后,您可以轻松地将其作为各种数据科学工作职位的申请基础;只需从主简历中删除多余的细节、章节和要点,并根据每次提交的内容进行调整。

根据每个职位描述定制您的数据科学家简历

这一步在你的求职过程中至关重要。为了增加你的简历脱颖而出的机会,你必须为你申请的每个职位定制简历。招聘经理通常每天都会收到大量的申请,所以可能只有几秒钟的时间浏览每一份申请,然后再决定它们是否值得更详细的阅读。因此,你的简历吸引他们的眼球是至关重要的。

这里最好的方法是仔细阅读职位描述,弄清楚整个“愿望清单”和公司对候选人的要求。基于这些事实,在你的简历中加入并突出这些想要的技能。在工作描述中,只要有可能,就要使用相关的关键词;这将有助于你的简历通过公司可能使用的任何求职者跟踪系统(ATS ),并到达人们的眼前以供进一步考虑。

除了仔细阅读职位描述,浏览一些关于公司本身的信息也是一个不错的主意。探索该公司的网站,它的使命,价值观,社交媒体,产品和服务,这样你就可以更好地了解这个雇主在一个成功的候选人身上寻找什么。让你的简历显示出你是这家公司的最佳人选,拥有帮助公司发展的所有潜力。每个公司寻找的不是想要任何工作的专家,而是想要这份工作的人。

简洁但信息丰富

现在,您已经确切地知道了应该在数据科学家简历中包含哪些内容,您应该重新加工和调整这些信息,使其简洁、精确、相关且表达清晰。不要包括任何可能不会给这个角色增加额外价值的东西,也不要包括工作描述中没有提到或暗示的东西。保持你的简历简洁、有目的、信息丰富。任何项目符号语句都应该简短,不要跨越几行。

遵循逆时间顺序

教育和工作经历部分最常见和首选的格式是倒序排列。最近的经历应该放在最上面,然后是倒数第二个,依此类推。这让招聘经理可以快速跟踪你的职业发展和最新成就。

使用简单但有效的语言

使用简单明了的语言是展示你沟通技巧的另一种方式。为了有效地做到这一点,请记住以下建议:

  • 不要让你的数据科学家简历充斥着技术术语。虽然你申请的工作岗位可能需要高水平的技术技能和知识,但请记住,第一个看你简历的人将是招聘经理或招聘人员。取决于谁是公司的招聘主管,他们可能有不同的背景,因此可能会发现太多的技术术语令人困惑。因此,确保你写的东西让每个人都能理解你对公司的潜在价值。
  • 以工作描述为指导;如果它充满了行话,那么你可以听起来更专业一点。否则,尽量只包括广告中提到的主要算法和技术。
  • 用简洁的句子写。
  • 保持简历的时态一致。
  • 避免夸大其词。用帮助代替便利,用使用代替利用,用管理代替管理,用复杂代替复杂,等等。
  • 当描述你的工作经历、项目和成就时,使用有意义的动词。例如,用构建的、自动化的、优化的等来代替诸如工作的、制造的或参与的动词。我们将在本文后面更详细地讨论这个技巧。
  • 替换最高级(最高、最好、最重要等。)和看似强大但实际上信息不丰富的形容词,如有经验的、强大的、可观的、高效的,以及具体的指标和结果。使用这些强有力的词语(有经验的、深刻的、经过验证的等等。)在你简历的总结部分保留。
  • 请一位非技术背景的朋友阅读你的数据科学家简历。请他们给你反馈:是否足够容易理解?语言是否清晰简单?你成功传达了你的主要职业成就了吗?

检查错误和打字错误

显然,较小的错误、愚蠢的错误和打字错误会给招聘人员留下负面印象,导致他们拒绝你的简历。使用专门的在线服务(语法或类似服务)仔细检查你的语法和拼写,并请人检查你简历中的任何打字错误或错误。

将您的数据科学家简历发送给一个真实的人

在进入招聘人员手中之前,简历通常会经过一个名为申请人跟踪系统(ATS)的机器学习程序,该程序会决定它是否值得传递给人类或应该被拒绝。要绕过这一步,试着把你的简历直接寄给招聘经理,甚至是负责该职位部门的技术经理。

如何安排你的数据科学家简历的整体结构

简历中应该包括哪些部分

按照从上到下的推荐顺序,数据科学家简历的典型部分包括:

  • 联系信息
  • 总结(或目标)
  • 工作经验(或者仅仅是经验)
  • 项目
  • 技能
  • 教育
  • 附加部分

这些标题的顺序可以相对灵活,并且应该反映每个部分的重要性,所以第一个标题应该比最后一个标题占据更多的空间。在两栏简历设计的情况下(首选),记住招聘人员通常从左上角到右下角浏览简历。所以,确保你把最相关的信息放在页面的左上角。

如何确定各部分的最佳顺序

各部分的最佳顺序,尤其是工作经验、项目、技能和教育,取决于两个因素:

  1. 你的真实经历。在这里我们可以找到不同的场景:
    • 如果你有很长的相关工作经验记录,优先考虑简历中相应的部分,大幅减少关于你的教育信息,甚至可能排除你的额外项目。
    • 如果你是一名经验有限的应届毕业生,把教育部分放在第一位,添加关于你的最终投票的信息(当然,只有当他们有利高的时候),并更详细地描述你的课程工作或论文。
    • 如果你在数据科学方面的经验有限,并且主要从事自由职业者的项目,交换项目和工作经验(或者甚至将它们合并成一个部分的经验),包括你有过的任何与数据相关的实习经历(如果有的话),并详细说明你的技能。
    • 如果你是从另一个领域进入数据科学的职业改变者,专注于项目和技能,少写你的工作经历和教育,尽管不完全省略这些部分是明智的。
  2. 公司简介和职位描述。很符合逻辑的是,如果你在学术环境中申请工作,更多地扩展你的教育、证书、额外的课程和科学出版物。否则,多暴露一些商业导向的经验和成就。特别是对于初创项目,潜在候选人的宝贵品质是独立工作的能力、积极主动和具有创新思维。在这种情况下,展示更多的单个项目可能是一种优势。

你的简历中还包括哪些内容

对于您的数据科学家简历,请考虑以下附加部分:

  • 证书
  • 出版物
  • 会议
  • 黑客马拉松
  • 奖金;奖品
  • 竞争
  • 自愿参军
  • 语言

如果每一部分至少有两个要点,你可以分别介绍其中的任何一个。例如,如果您完成了三门数据科学课程,并在两个与数据相关的会议上发表了演讲,那么添加认证和会议部分是有意义的。否则,如果你对某些类别只有一个要点(例如,一个会议、一个出版物和一个黑客马拉松),最好将这些成就合并到一个叫做 Extras 的部分。

避免冗长的副标题

命名副标题时,尽可能简洁:

  • 相关工作经验工作经验(或仅仅是经验)
  • 职业经历工作经历(或经历)
  • 著名项目项目
  • 技能和知识技能
  • 技能和工具技能
  • 执照和证书证书
  • 附加信息附加信息

如何正确填写您的联系方式

你的联系信息最适合放在简历的顶部,尽管有些在线模板把它放在页面的底部(如果你选择的模板是这种情况,就手动把它拖到顶部)。这一部分最关键的要求是信息的准确性。

以下是您需要在联系信息中包含的内容:

  • 你的全名。
  • 你的职位。在你的全名下面,写上你申请的职位名称,而不是你现在的职位名称。您可以从确切的职位描述中复制职位名称,或者,如果它太长太具体(例如,地学数据分析和 Webtool 开发的数据科学家),请将其缩减为更容易理解的形式(例如,数据科学家)。
  • 你的电话号码。不用说,这应该是你的私人电话号码,而不是你目前工作单位的电话号码。
  • 你的邮件。填写你看起来很专业的电子邮件地址,应该是你的名字和姓氏的组合:【电子邮件保护】不要在这里填写你可能用于私人用途的轻浮或不合适的电子邮件,比如【电子邮件保护】如果你还没有专业的电子邮件地址,就创建一个。
  • 你的位置。这是可选的,不需要包括您的整个地址。城市和州或国家就够了。
  • 你在 LinkedIn、GitHub、Medium、Kaggle 等网站上活跃的和更新的个人资料的可点击链接。大多数雇主会在这里查看潜在候选人的额外信息,例如他/她的项目组合、关于数据科学主题的文章以及参加黑客马拉松的情况。不要添加原始、笨拙和冗长的链接,考虑插入相应网站官方标志的图标,并使其可点击,直接指向你的个人资料。你可以在谷歌上搜索官网 logo,这里有 LinkedInGitHubMediumKaggle 的 logo 链接。显然,您决定在数据科学家简历中包含的所有个人资料应该有效地支持您的数据科学技能和成就。如果你的 LinkedIn 个人资料只涉及你以前的职业,或者如果你的 Github 个人资料不包含任何数据科学项目,那么展示你的 LinkedIn 个人资料是没有意义的。

联系信息部分还有几个建议:

  • 不要包括这个部分的名称(不像你对其他部分所做的那样),直接插入信息即可。
  • 以此类推,不要添加类别的名称(全名、电话号码等。).例如,代替电子邮件:【电子邮件保护】简单地写【电子邮件保护】
  • 不要加上你的照片。虽然一些简历模板提供了此选项,但您的数据科学家简历可以考虑跳过此选项。

如何写一份引人注目的数据科学家简历摘要或目标

在你的联系信息之后,放上摘要或目标部分。这两个部分是不一样的,你只需要选择其中的一个。简历概要是对你的职业经历、成就和资历的简要描述(2-3 句话,没有要点)。简历目标是一个简短的陈述(也是 2-3 句话,没有要点),集中在你未来的职业目标和你能为雇主提供的潜在价值上。

如果你从另一个领域转到数据科学,这些部分是至关重要的,因为它们以浓缩的形式解释了为什么你是数据科学家工作的完美候选人。如果你已经有了一些数据相关领域的经验,选择 Summary。相反,如果你是一名应届毕业生,没有什么工作经验,那么选择 Objective 来展示你对数据科学的热情和对公司有用的意愿。

一份好的简历摘要或目标应该:

  • 说明你的经验水平(初级、高级、有经验等)。)和你的专业领域
  • 提及你在数据科学领域的工作年限(如果有)
  • 简要具体地总结你的技能和成就
  • 包括你的教育和证书信息
  • 如果是这种情况,请解释您进入数据科学领域的原因
  • 概述你的长期职业目标
  • 展示你对工作和公司的动力和热情
  • 解释你能为公司提供什么价值

你需要选择适合你的情况的要点,并写一份简短清晰的简历介绍(总结或目标),为确切的工作职位定制。最终的文本应该讲述一个关于你非常适合这家公司的令人信服的故事,并引起雇主的注意。

如何让你的工作经历展现出好的一面

工作经历部分包括哪些信息

这一部分通常是招聘人员最感兴趣的,因此它应该是你的数据科学家简历的主要焦点。按时间倒序列出你的工作(或者如果你有很长的工作经验,只列出最近的)。如果你缺乏实际经验,可以考虑加入数据科学实习。对于每项工作,请提供以下信息:

  • 雇佣日期(开始和结束的月份和年份,或现在)
  • 你的职位
  • 公司名称
  • 你在那项工作上的成就

在可能的情况下,尽量避免简历中出现任何大的空白(超过六个月),尤其是最近几年。即使你以前的工作不是数据科学领域的,最好也包括在内,但没有必要说得太详细。如果你以前的所有经验都来自一个完全不同的领域,试着弄清楚你实际上在那里实践了哪些可以应用于数据科学的技能,以及你给企业带来了什么价值。如果你是应届毕业生,没有任何工作经验或实习经历,那就跳过这一节。

然而,当您在数据科学/数据分析方面有一些经验时,让我们回到一个“理想”案例。对于相关的过去角色,使用项目符号简要描述您的数据驱动的成就以及您在每个职位上为企业提供的价值。第一个要点应该是最能说服招聘人员进一步阅读的。避免许多人犯的错误;列出他们的职责和技术方面,而不是强调他们在以前的工作中取得的最佳商业成就。

使用有效的词汇

在你的工作描述中,尽可能的具体而简洁是很重要的。每个要点的理想格式是:

动作动词-任务-结果

动作动词是有意义的和有目的的 ATS 友好动词(那些跟踪公司软件的申请人更可能搜索的动词)。一些流行的例子是:

加速、激活、聚合、分析、评估、增强、自动化、构建、计算、校准、蔻驰、编码、收集、编译、计算、概念化、进行、合并、构建、协调、创建、调试、减少、部署、派生、设计、确定、开发、启用、工程、增强、建立、估计、评估、执行、提取、修复、预测、制定、识别、实施、改进、合并、增加、启动、集成、插入、启动、领导、提升、清算、管理、机械化、指导、建模、操作、优化、组织、执行、预测、准备、提议

这样的动词,除了让你的简历看起来更友好之外,比一般的动词如做、合作、制作或工作更准确地表达了你职业活动的结果。但是,不要混淆动作动词和夸张动词(例如,使用帮助而不是促进)。

除了“正确的”动词,不要忘记包括招聘启事和你申请的公司网站上的关键词。记住,每份简历都应该针对特定的职位和公司进行定制,以增加你成功的机会。

使用数字

列出你的数据驱动的成就。试着提供你对业务的积极影响的硬数字和具体指标,而不是使用模糊的最高级或一般的形容词(最高、强、相当大、重要等)。).在向潜在雇主证明你了解大局、知道如何将自己的技能用于实际商业任务时,数字看起来更有说服力。

请注意,我们在这里讨论的不是模型性能指标,而是您构建的模型为公司带来的实际的、可衡量的价值。例如,不要声明您创建了一个准确率为 99%的机器学习模型,该模型将客户参与度提高了 21%,而是跳过关于模型准确率的信息,并编写以下内容:

创建了一个机器学习模型,将客户参与度提高了 21%。

你提到的数字可以是百分比、美元、你管理或辅导的人数、时间或其他时间段。这里可以使用粗略的估计。

展示你的合作能力

数据科学不仅仅是数字和建模,还包括将你的见解传达给你的团队和股东的能力,以帮助公司做出数据驱动的战略决策。

不要在简历中写你是一名优秀的团队合作者,具有公认的沟通技能,你可以通过描述你在多学科和(可能)跨国环境中与同事、其他部门(包括非技术部门)和数据消费者合作的工作来展示这些技能。关注你在这些项目中所扮演的角色,以及你所做出的可衡量的贡献。

如何更好地展示您的项目

包括什么样的项目?

这一部分对于初级和入门级数据科学家来说至关重要,因为他们通常没有工作经验。工作经验部分和项目部分之间的平衡是显而易见的:你的工作经验越多,你的项目部分在简历中所占的空间就应该越少,如果你是一名高级数据专家,甚至可以完全排除它。

无论您是在大学、硕士课程中还是在训练营中学习数据科学,您很可能已经有了一个或多个关于数据科学或数据分析的项目。您可以包括与数据相关的课程作品、bootcamp 的指导和顶点项目、自由职业作品、GitHub 开源项目的贡献以及您选择的主题中完成的个人项目。如果你没有要包括的项目,考虑做一个模拟项目。毕竟,作为一名数据科学家意味着对数据以及从中可以获得的洞察力感到好奇。

如果你有很多数据科学项目,你需要优先选择最相关的和你最引以为豪的。展示 3-4 个好项目总比一打平庸的好。对于一个入门级的数据科学家来说,有许多不同概念的不同类或训练营项目,使用各种工具和技术,这很好,也是意料之中的事情。当你觉得你已经准备好考虑一个特定的商业利基时,开始关注它,获取领域知识,并创建与该特定领域相关的项目。

每个项目包括哪些信息

当您选择了要放入数据科学家简历中的相关项目后,请按时间倒序(或从最相关到最不相关)对它们进行排序,并考虑包含每个项目的以下信息:

  • Github 文件夹中的项目名称和链接

  • 然后,使用要点清楚地陈述简明的项目目标:

  • 对所使用的数据源、技术、编程语言、库、工具和技能的简要而具体的描述(避免过度使用技术术语)

  • 你个人对项目的贡献(如果是小组项目)

  • 你工作的量化结果,证明你有能力运用你的技能来解决现实世界的问题。

当然,我们在工作经历部分讨论的许多建议也适用于此:关注你有意义的成就,使用动作动词和工作描述/公司网站上的关键词,避免夸张和笼统的词语,使用数字和具体的指标。

如何战略性地突出你的技能

列出哪些技能

无论资历高低,这一部分在数据科学家的简历中都是必不可少的。为特定工作岗位创建技能列表的最佳方式包括以下四个步骤:

  1. 写下工作描述中明确或隐含提到的所有技术技能、语言和工具。使用下面的列表作为灵感:A/B 测试、大数据、C、C++、数据分析、数据清洗、数据挖掘、数据建模、数据可视化、数据争论、调试、深度学习、Hadoop、假设检验、Java、Keras、机器学习、数学、Matplotlib、NLP、NoSQL、Numpy、Pandas、PowerBI、预测建模、概率、Python、定量分析、R、SAS、Scala、Scikit-learn、Seaborn、Spark、SQL、统计分析、统计、Tableau、TensorFlow、非结构化数据
  2. 在你创建的列表中,标出所有你真正拥有的技能,并且在面试中展示出来会很舒服。最好的方法是用你的主简历作为参考。虽然你不应该编造任何你实际上不具备的技能,但考虑调整你现有的技能,以具体适应特定工作岗位的要求。例如,如果你知道包括 MySQL 在内的几种 SQL 风格,并且工作招聘声明 MySQL 是一项需要掌握的技能,那么只写 MySQL 而不要提到通用 SQL,或者列出你知道的所有 SQL 风格。另一方面,如果感兴趣的角色需要 SQL 的一般知识,那么只写 SQL,不要列出你知道的所有变体。
  3. 你的技能清单应该包含 6-10 项。你的专业水平越高,你的清单上的项目就越少,因为你的工作经验会为你说话。如果你是一名入门级或初级专家,如果你还没有机会运用你所有的工具包来解决现实世界的任务,这是可以的,但你仍然希望向招聘人员展示你拥有这些技能。因此,如果在第二步之后,你的清单上少于 10 项技能,考虑增加一些你实际拥有的,你认为对这个职位有用的技能,即使它们没有在招聘广告中提到。
  4. 在你的最终清单中对技能进行排序,把你最强和最相关的放在最前面。

不要包括你的技能水平

虽然有些简历模板有一个选项,可以根据你对每项技能的熟悉程度对它们进行排名,但最好跳过这一步。这种评估可能非常主观,并受到催款-克鲁格效应的影响:你的“精通”对其他人来说可能是“基本的”,反之亦然。为了避免低估或高估自己,不要对自己的技能进行排名,如果模板中有相应的选项,请手动将其删除。

不要包括你的软技能

众所周知,招聘人员通常会寻找具备团队合作、沟通和领导能力等软技能的数据专业人员。那么,是否应该把这些技能直接列在技能部分呢?大概不会。更令人印象深刻的是,在工作经验和项目部分展示你的软技能,并结合你的技术技能来获得有价值的实际结果。

你认为自己是一个完美的团队合作者吗?写下你对合作项目的贡献。你是一个好的领导者吗?描述你管理团队或指导/训练初级专家的经验。最后,突出您优秀沟通技巧的最佳方式是在您的数据科学家简历中简明扼要地展示您的经验和成就。

如何更好地展示你的教育

通常情况下,如果你有任何与数据相关的工作经验、实习或项目,你应该把教育放在这些部分之后(也放在技能之后)。事实上,你在数据科学领域的资历越高,教育部分就应该越短。然而,如果你申请的是一个学术性很强的职位,或者你是一个没有工作经验的应届毕业生,这一部分放在简历目标之后是合乎逻辑的。对于您的教育(或每项教育,如果您有几个学位),包括以下信息:

  • 最高学位类型(学士、硕士、博士)和专业(即使与数据科学无关)
  • 大学名称
  • 学习期间(开始和结束的月份和年份,否则使用预计毕业日期)

剩下的要点只有在你想拓展你的教育时才需要用到,例如,如果你没有相关的工作经验/项目,或者如果你正在申请一个学术职位:

  • GPA(仅适用于应届毕业生,且高于 3.5 分)
  • 学术项目(课程、论文、论文等。).如果你有一个以上的学术项目要展示,使用项目符号。添加简短的项目描述或列出涵盖的主题。
  • 学术课程:增加 2-3 门你认为最相关的课程,可以选择分数。
  • 学术成就和荣誉

不要在教育部分提及你参加的各种数据科学训练营、技能途径或课程。稍后您将在认证中添加它们。

在附加部分中还可以提供哪些有用的信息

让我们看看你的数据科学家简历中还有哪些有用的部分,并帮助你展示你对数据科学的热情和奉献。如果每个标题至少有两个要点,可以考虑添加这些部分中的任何一个,否则可以将几个类别合并到一个叫做 Extras 的部分中。

证书

如果你想找一个入门级的职位,你可以在这里放置相关的课程和训练营。除了数据科学和数据分析认证之外,还可以考虑加入一些课程,比如编程、线性代数、概率或统计。如果你有官方的数据科学认证(微软、IBM、SAS、谷歌),在这一部分提到它,并考虑将其添加到简历的标题中,紧挨着你的头衔(例如,数据科学家,IBM Certified)。

出版物

这一部分不仅在学术上有价值,在商业环境中也有价值,因为它很好地证明了你对工作职责之外的数据的好奇心,你独立工作或与团队合作(在团体出版的情况下)的能力,以及向广大受众清楚地解释复杂的数据相关概念的能力。对于每篇文章,包括它的名字,发表它的期刊或杂志,在线出版物或你自己的博客的链接(如果适用),以及一个简短的摘要(或覆盖的主题,或只是关键词)。

会议

仅列出您出席的与数据相关的会议。包括每次会议的名称、地理位置、日期、你的工作名称以及你的同事(如果有的话)的名字。

黑客马拉松

数据科学黑客马拉松是展示您的团队合作和技术技能、创造力、创新思维以及产生实际成果的能力的绝佳方式。简要概述你的黑客马拉松项目的范围、产品及其应用、你的个人贡献和成就。

奖金;奖品

请在此填写您在数据相关领域的工作或竞赛中获得的任何奖项。这些奖项可以是黑客马拉松、Kaggle 竞赛、学术工作和出版物。为每个奖项添加简短描述。或者,您可以考虑在相应的部分中添加这些信息。

竞争

简单描述一下你参加过的数据科学竞赛和取得的成绩。这些可以是来自 Kaggle,DrivenData,DataHack 等的比赛。你可以在这个 GeeksForGeeks 帖子上找到有趣的想法。

自愿参军

如果您有在一些数据科学社区担任志愿者/主持人的经验,或者有解决堆栈溢出问题的良好记录,请使用此部分提供详细信息并列出您的成就。像往常一样,试着用数字来支持你的话(例如,解决的技术问题的数量、有公认答案的问题、评级、声誉、徽章、阅读时间等)。)

语言

在您的数据科学家简历中,您不太可能需要这一部分。即使英语不是你的母语,从你的简历本身和你提供的额外资源(GitHub,LinkedIn 等)中,你的水平将会非常明显。).只有当你在申请一份能讲第二门语言的国外工作时,当然,如果你能熟练地讲第二门语言,才考虑增加这一部分。在这里,添加假定的熟练程度是可以接受的(例如,母语、流利、高级、中上、中级)。

不要包括兴趣/爱好

虽然一些简历模板提供了兴趣/爱好的附加部分,但在您的数据科学家简历中最好跳过它。虽然这些信息可能会很吸引人,并有益地让你成为一个有很多兴趣的好奇的人,但这不是招聘人员在现阶段要寻找的东西。

这同样适用于其他信息,如您的旅行、meetup 活动的参与、社交游戏、数据科学领域之外的志愿者活动、其他语言的熟练程度(除非当前职位明确要求)以及您的驾照。最好在你的数据科学家简历中把这个地方用在别的地方。你将有机会在面试中提及你的爱好和任何其他关于你自己的有趣信息。

数据科学家简历示例

现在,让我们更细致地看看一些不同经验水平的模拟数据科学家简历,看看如何将我们到目前为止讨论的所有内容付诸实践。此外,让我们让它变得更有趣(也更有效率),并追溯同一(想象中的)人的职业演变。

初级数据科学家简历

下面的示例简历与我们想象的候选人除了数据科学家实习之外没有任何经验的阶段有关。这份简历,以及随后的几份简历,都是从谷歌文档中选择免费简历模板制作的,只做了一些修改。

  • 简历有一页长,包含很多信息,看起来不会让人不知所措。页面上有足够的空白。
  • 预定义的模板不仅仅是黑白的,而是多了一种颜色,这使它在美学上更令人愉快,更容易遵循,但同时也不会分散注意力。
  • 整体布局是两栏式的,对于一个初级数据科学家来说,这是一个很好的选择,他希望通过各种其他数据相关的活动和成就来弥补实际经验的不足,这意味着要在简历中添加许多部分。
  • 在标题中,我们看到一封看起来很专业的电子邮件,以及链接到候选人在 LinkedIn、Github 和 Medium 上的个人资料的可点击图标。(边注:遗憾的是,它们在上面的 PNG 图片上是不可点击的,只能在这份模拟简历的 Word 和 PDF 原版上点击。就这一点而言,简历最终版本中链接的可点击性是另一个需要检查的重点。)
  • 所有的小标题都清晰简洁。
  • 因为候选人至少有实习经历可以展示,所以写摘要而不是目标是个好主意。
  • 总结有 3 句话长,简洁但信息量很大。候选人提到了他们的实习经历、教育和数据科学培训,因为他/她在这个领域仍然很年轻,也没有数据科学的正式学位。然后,他们简要描述了他们的技能(包括软技能),更重要的是,成就,对工作岗位表现出的热情,以及他们能够为公司带来的潜在商业价值。
  • 在经验部分,候选人着重于他们在实习岗位上的商业成就,并有具体的数字支持。他们用一个动作动词开始每个要点。这里没有使用技术术语、模糊或多余的词语。
  • 由于候选人的经验仍然相当有限,他们列出了他们最相关的训练营项目,包括目标、应用的技能和工具,以及他们文件夹中每个项目的链接。
  • 由于缺乏经验,候选人在他们的教育(添加他们的课程、GPA 和相关课程的主题)、志愿数据相关活动(在这里也给出一些硬数字)和数据科学培训方面扩展了一些。
  • 在技能部分,候选人只列出了他们的技术技能。这个清单足够长,包括候选人拥有的技能和他们可以使用的工具。
  • 在出版物部分,候选人既包括他们关于数据科学的文章,也包括与他们最初的学位相关的文章——数学金融。

数据科学家简历

现在,让我们假设我们的候选人在一家名为 Silver Dollar(一家假公司)的公司获得了一份数据科学家的工作。在那里工作两年后,他/她又开始寻找新的职业挑战。这位候选人不再年轻,所以他们的简历也相应地改变了:

  • 在这份更新的简历中,重点明显转移到了工作经历上,而不是各种“附加条件”。
  • 简历有一页长,以简洁的形式包含最相关的信息,页面上有足够的空白。
  • 除了黑色和白色之外,模板还有绿色,这使得它在美学上更令人愉快,容易跟随,并且不会分散注意力。
  • 整体布局是一列。在这种情况下,这是可以的,因为候选人包括的额外部分比以前更少,也更短。
  • 在标题中,我们看到相同的可点击图标链接到候选人的各种个人资料(很可能是更新的)。
  • 总结部分有 3 句话长,但比之前的简历要短。候选人不再提及他们的数据科学训练营,因为他们的经验更能说明问题。此外,“自动广告”软技能被删除。实习经历不再像以前那样被单独强调,而是被添加到最近两年的工作经历中。更重要的是,我们可以清楚地看到,候选人列出了与旧简历不同的技能(技能部分也可以这样说,它变得更短了)。这并不意味着候选人“忘记”了他们以前的技能。相反,最有可能的是,他们将摘要和技能中的关键点和成就进行了调整,以适应准确的工作描述,这在撰写简历摘要/目标时总是一个很好的方法。
  • 在经验部分,候选人描述了他们在两个职位上的主要业务成就,并添加了有意义的指标。同样,每个要点都以一个动作动词开始,没有模糊或多余的词,并且只显示了适度使用技术术语。请注意,候选人在要点中使用了各种动作动词(而不是,比方说,总是使用 create 或 built)以及各种衡量指标(美元、%、小时、项目数)。
  • 在这份更新的简历中,项目和教育部分更短了,证书和志愿服务也完全省略了。

高级数据科学家简历

在简历的最后一个版本之后,我们的数据科学家换了两次工作,在专业上有了显著的增长。由于再次寻找新工作,他们更新了自己的简历,寻找一个可能感兴趣的职位。那么,他们的简历现在看起来怎么样?

让我们强调一下最重要的变化:

  • 除了标题,简历现在只包括技能、经验和教育程度,经验占据了页面的最大部分。没有总结,没有项目,也没有多余的章节。这位候选人的真实工作经历为他们说话。
  • 简历几乎是黑白的,很少使用橙色。
  • 技能部分明显减少,只列出了最全球化的技能和工具(不,其中许多在简历的以前版本中没有提到)。
  • 实习经历掉线。
  • 候选人最近的职位是高级数据科学家,更多的是关于战略和管理,而不是数据分析和建模。

结论

总之,我们探索了各种方法、技巧、实用示例和模板,让您的数据科学家简历大放异彩。

在某种程度上,你的数据科学家简历类似于电影预告片。正如预告片应该立即吸引观众的注意力,从而说服他们观看整部电影一样,你的简历也是如此,它应该激励招聘经理仔细阅读它,并邀请你面试。

当然,写一份完美的简历只是你申请过程的第一步,并不能自动保证你在面试中成功。然而,如果不通过 ATS 的必经之门,然后是招聘经理/招聘人员,你将无法继续前进。因此,投入足够的时间并做出适当的努力来创建一份高效且令人信服的数据科学家简历是至关重要的,这份简历是为你申请的每个职位量身定制的。

十大数据可视化书籍

原文:https://web.archive.org/web/20221129050302/https://www.datacamp.com/blog/top-10-data-visualization-books

“这是我最喜欢的分析部分:获取枯燥的平面数据,并通过可视化将它变得生动起来”——John Tukey

我们每天都在与数据进行越来越多的互动,并且必须理解它。在工作中,数据从业者和非从业者都必须根据他们可能从未遇到过的数千甚至数百万行数据来做出决策。在国内,我们越来越多地获得数据,使我们能够优化我们的习惯,保护我们的健康,成为负责任的 T2 公民。在做出基于数据的决策时,我们如何确保有效地理解这些信息?这就是数据可视化的用武之地。

数据可视化是数据科学中最重要的技能之一。以富有洞察力的视觉效果生动展示数据是传达数据洞察力的最有效方式。无论是数据分析师将他们的发现分解给非技术利益相关方,数据科学家描述他们在生产中部署的模型的影响,还是公民数据从业者将他们的数据素养技能付诸实践。数据可视化也是数据故事的核心,它提倡使用视觉、叙事和数据来推动洞察之外的行动。

数据可视化的美妙之处在于它的可访问性和关联性。有效可视化数据的工具范围从拖放工具如 Excel、 Power BITableau 到更多的技术工具如 PythonR 。因此,数据可视化通常被视为许多有志于进入该领域的数据从业者的入门药物。

在本文中,我们提供了 10 本必读书的清单,它们将提升您的数据可视化技能。无论您是希望提高视觉设计和讲故事技能的经验丰富的数据从业者,还是希望掌握数据可视化基础的新手,这里都有适合每个人的东西。

1.有效的数据叙事:如何用数据、叙事和视觉推动变革

数据讲故事的技巧正成为任何人展示数据的筹码。数据故事通常被称为“分析的最后一英里”,它为技术和非技术受众提供了一个分解数据洞察力的框架。布伦特·戴克斯在他的开创性著作《T1》中,阐述了数据故事背后的价值以及一个成功的数据故事的关键要素。

Dykes——他出现在数据框架播客中——认为,我们不应该只关注如何可视化数据,我们还应该利用叙事和讲故事来推动基于洞察力的决策。在他的书中,戴克斯开发了一个数据叙事的框架,这种方法结合了三个核心要素:数据、叙事和视觉。

有效的数据讲故事是一本创新的书。它超越了对数据可视化的传统关注,反思叙事的力量和用数据讲故事的心理。它将教会你通过有说服力和令人难忘的数据故事来展示你的见解的基本技巧。由于这些原因,它是任何经常与数据通信的人的必备工具。

2。Cole Nussbaumer Knaflic 的《用数据讲故事:商业专业人士的数据可视化指南》

同样,Cole Nussbaumer Knaflic 关于 用数据讲故事 的书,分解了传递数据故事的不同方式。在处理数据时,可视化为我们的数据故事提供了可视化层。然而,如何通过数据有效地呈现和讲述,讲述一个令人信服的故事,并不是一件容易的事情。科尔·努斯鲍默·克纳弗里克试图在她的书中弥合这一鸿沟。

用数据讲故事充满了实用的资源和案例研究,适用于希望有效使用数据可视化的企业和数据从业者。无论是决定使用哪些图表,如何构建数据故事,或如何整理图表,理论和实践的结合使这本书成为新颖和先进的数据可视化实践者的伟大资源。

3。信息仪表板设计:显示数据进行一览式监控

仪表板是提供复杂数据环境一览视图的最有效方式。然而,仪表板很容易以繁琐和低效的方式设计。斯蒂芬·诺的 信息仪表盘设计 的目标是帮助从业者在开发仪表盘时避免常见的错误和陷阱。

作为实用指南,这本书介绍了设计仪表板的最佳实践。它非常详细,提供了许多例子来说明有效和无效的仪表板,以及如何避免常见的仪表板设计陷阱。除了解释如何创建优秀的仪表板,Stephen first 还根据神经科学领域的最新进展,对设计理论和数据可视化的原则进行了有价值的介绍。

4。仪表板大全。Steve Wexler、Jeffrey Shaffer 和 Andy cotgreve利用真实世界的商业场景将数据可视化

任何在商业智能团队工作的人都应该阅读这本书。由 Steve Wexler、Jeffrey Shaffer 和 Andy Cotgreave 合著的 仪表盘大全 是创建有效仪表盘的权威指南。

这本书提供了许多基于仪表盘真实使用案例的例子,涵盖了医疗、金融、营销和体育等各个领域,非常适合那些希望将仪表盘设计技能提升到更高水平的人。特别面向 Tableau 用户,它涵盖了设计仪表板时的最佳实践,从与观众共情到完善仪表板中的数据可视化。

你也可以直接从合著者安迪·科特格里夫那里了解更多关于这本书的信息,他在 数据框架播客 上讨论了数据可视化和讲故事的技巧。

5。阿尔贝托·开罗的功能艺术

功能艺术 中,数据记者 Alberto Cairo 解决了开发数据可视化时最关键的问题之一:如何在不牺牲实用性和洞察力的情况下创建美丽、迷人的可视化。换句话说,如何使数据可视化背后的艺术功能化。

虽然这个问题通常被视为一种交换,但阿尔贝托·开罗展示了相反的情况。从对行业最佳实践的详细回顾出发,Alberto Cairo 继续探索我们大脑在感知和记忆信息时的特性。

功能艺术有一个明确的目标:结合数据科学的最佳实践和我们对人类感知和认知的知识,为最终用户创造出既美观又实用的视觉效果。

6。Edward R. Tufte 的定量信息的可视化显示

为了深入理解一个主题,在某些时候,人们必须回到经典。 数量信息的可视化显示 爱德华·r·塔夫特(Edward R. Tufte)的著作通常被认为是最早的数据可视化书籍之一。

自从 1983 年第一次出版以来,世界已经发生了很大的变化——技术进步使得数据可视化任务比 Tufte 时代更容易实现——页面上的一些想法已经过时了。然而,定量信息的可视化显示仍然提供了许多关于设计理论和如何创建有效图形的永恒的最佳实践。此外,这本书包含一个特殊的图形,图表和表格阵列,超过 200 个插图和详细的分析,可以非常方便那些寻找灵感。

7。艾琳·麦克丹尼尔和斯蒂芬·麦克丹尼尔的《意外分析师》

随着数据量的增长和侵入越来越多的工作,越来越多的专业人士(无论其背景如何)不得不在日常工作中处理数据。如果你认为自己是一个意外的分析师,不打算在他们的角色中处理和分析数据,这本书是给你的。

艾琳·麦克丹尼尔(Eileen Mcdaniel)和斯蒂芬·麦克丹尼尔(Stephen McDaniel)所著的《偶然的分析师 》提供了一个直观、循序渐进的框架来解决数据分析和可视化的复杂性。所谓的“数据分析的 7c”定义了一个直接的行动过程,以按照行业最佳实践成功地组织、分析和可视化数据。

这本书配有插图的例子和许多提示和技巧,对于努力理解数据并与之交流的专家和新手来说都是一个资源。

8。美丽的视觉效果。Julie Steele 和 Noah Iliinsky 从专家的角度看数据

是什么让数据可视化引人注目且富有洞察力?这就是 美丽可视化 试图回答的问题,通过该领域专家的眼睛看出来。

由 Julie Steele 和 Noah Iliinsky 合著的《美丽的可视化》通过观察真实世界的数据可视化项目来分析数据可视化的过程。它包含来自 24 位数据可视化专家(从设计师和科学家到艺术家和统计学家)的专家观点,这些专家在可视化数据时扩展了他们的方法、途径和理念。

对于那些想了解专家如何处理视觉设计过程的人来说,这本书是一个很好的资源。由于各种各样的声音,任何背景的读者都可能掌握新的见解,将他们的数据可视化技能提升到一个新的水平。

9。Sandra Rendgen 和 Julius Wiedemann 制作的信息图表

2022 年十大深度学习读物

原文:https://web.archive.org/web/20221210085053/https://www.datacamp.com/blog/top-10-deep-learning-books-to-read-in-2022

深度学习是当今数据科学中最热门的话题之一。作为机器学习的一个子领域,深度学习专注于受人脑结构和功能启发的强大算法,称为神经网络。

过去几年人工智能的大部分进步都来自于深度学习。神经网络是一些最具颠覆性和令人敬畏的应用的背后,包括自动驾驶汽车、聊天机器人、图像识别和机器人。

了解神经网络的理论和实践正迅速成为数据科学家和其他数据专业人员学习旅程中的一个必修步骤。然而,深度学习是一个复杂的话题,需要决心和一定程度的抽象才能学习。

以下是我们列出的 10 本必不可少的深度学习书籍,无论你目前的技能水平如何,它们都将帮助你成为该领域的专家。如果你渴望更多的推荐,你也可以看看我们的 2022 年最佳机器学习书籍清单。

Franç ois Chollet 的 Python 深度学习

deep learning with python francois chollet

《Python 深度学习》于 2017 年首次出版,迅速成为畅销书,其 2021 年 10 月的更新包含了更多见解和实用技术。流行的深度学习框架 Keras 的创始人 Franç ois Chollet 以对新人和高级机器学习从业者的见解探索深度学习领域。

使用 Python 的第二版深度学习具有令人愉快的简单风格,提供了反映该领域最新发展的新更新。在整个页面中,你会找到直观的解释、彩色插图和基于 Python、 KerasTensorFlow 的编码示例,为你提供开始深度学习所需的一切。你也可以通过查看 DataCamp 上的深度学习 Python 技能赛道来入门 Tensorflow 和 Keras。

安德鲁·w·特拉斯克的《探索深度学习》

grokking deep learning.png

探索深度学习给出了一个对初学者最友好的深度学习介绍。这本书教你如何从零开始构建神经网络,将直觉理论与编码样本相结合,同时仅使用 Python 及其流行的数学支持库 NumPy

这本书涵盖了从处理图像到将文本翻译成不同语言的各种用例,是您在准备转向更复杂的框架之前开始深度学习之旅的绝佳资源。

神经网络和深度学习:Charu C. Aggarwal 的教科书

Neural networks and deep learning.png

神经网络和深度学习对于那些在深度学习领域迈出第一步的人来说,是另一个很好的资源。这本书涵盖了最重要的深度学习算法,理论,数学和 Python 代码示例的平衡和可访问的组合。它讨论了神经网络和传统机器学习算法之间的关系。这本书非常适合学生,以教科书的风格编写,包括练习、解决方案手册和教师幻灯片。

深度学习的基础:设计下一代机器学习算法

Fundamentals of Deep Learning: Designing Next-Generation Machine Learning Algorithms by Nithin Buduma, Nikhil Buduma and Joe Papa

当神经网络在 2010 年代首次开始提供神奇的结果时,深度学习成为了人工智能的前沿。如今,深度学习是一个活跃的研究领域,为数据科学中一些最具创新性的应用提供了动力。然而,由于其复杂性,深度学习经常被视为仅限于具有机器学习和数学博士水平知识的专业人士的学科。深度学习的基础证明了相反的情况。

这本书旨在介绍这门学科,不使用专业术语。基于实用的、基于 Python 的代码示例,这本书将带你了解深度学习的一些最常见的用例,从处理图像和分析文本到构建强化学习模型。

Franç ois Chollet、Tomasz Kalinowski 和 J. J. Allaire 的深度学习

Deep Learning with R by François Chollet, Tomasz Kalinowski and J. J. Allaire

虽然 Python 经常被称为深度学习的首选语言,但 R 编程语言也提供了构建强大神经网络的能力。深度学习与 R 基于弗朗索瓦·乔莱的畅销书《深度学习与 Python》。深度学习专家 Tomasz Kalinowski 在将代码和示例翻译成 R 语言方面做得非常出色。与 Python 这本书类似,使用 R 的深度学习对于新手和有经验的机器学习实践者来说都是很好的参考资源。

伊恩·古德菲勒、约舒阿·本吉奥和亚伦·库维尔的《深度学习》

Deep Learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville

如果没有这本书,任何必要的深度学习资源列表都是不完整的。大多数深度学习指南都包括代码和实际例子。相比之下,Goodfellow、Bengio 和 Courvilleis 所著的 Deep Learning 是一本完全理论化且极具学术性的书,经常被编入全球大学深度学习课程的参考书目。

这本书旨在帮助学生和从业者进入机器学习领域,特别是深度学习。它回顾了机器学习的基本概念,其发展所需的应用数学,算法,深度学习技术,以及该领域的当前研究趋势。你甚至可以在这里找到免费的在线版本。

从零开始的深度学习:用 Python 从基本原则开始构建

Deep Learning from Scratch: Building with Python from First Principles by Seth Weidman

如果你是一名拥有机器学习专业知识的数据科学家,并希望进入深度学习领域,这是一本非常适合你的书。从零开始的深度学习为已经熟悉机器学习的数据科学家和其他数据专业人士提供了深度学习的全面介绍。

从深度学习的基础开始,这本书快速移动到开发神经网络的高级概念,模型和架构。这本书当然具有挑战性,因为它通过理论、数学和概念解释引导读者,但结果更有价值。这本书还包括许多使用流行的深度学习框架 PyTorch 的例子。

深度学习:乔希·帕特森和亚当·吉布森的实践方法

image3.png

公司在处理机器学习和深度学习时面临的最大挑战之一是开发和部署可扩展和易于维护的模型。深度学习:从业者的方法试图解决这个问题,产生了关于这个主题的最实用的指南之一。这本书融合了深度学习理论、行业最佳实践和少量以非学术方式呈现的用例。

一个重要的注意事项是,该书包括在 DL4J 中实现的代码示例,DL4J 是作者用于开发生产级深度学习工作流的开源框架。由于 DL4J 运行在 Java 虚拟机上,这本书提供了一个很好的机会来尝试 Java 在深度学习方面的可能性。

杰瑞米·霍华德和西尔万·古格用 fastai 和 PyTorch 为编码人员提供深度学习

Deep Learning for Coders with fastai and PyTorch by Jeremy Howard and Sylvain Gugger

深度学习不仅是一个快速发展的领域,而且也变得越来越容易获得。由于直观、用户友好的库和界面的发展,不再需要有数学或计算机科学的博士学位才能从事深度学习。

其中一个工具是 fastai,这是第一个为最常用的深度学习应用程序提供一致接口的库。fastai 和 PyTorch 的程序员深度学习是一个用很少的数学背景、少量数据和最少的代码开发深度学习模型的实践指南。除了编码示例,这本书还涵盖了深度学习理论,这将有助于您理解神经网络背后的科学。

《深度学习图解:人工智能的可视化互动指南》,作者:乔恩·克罗恩、格兰特·贝维尔德和阿格莱·巴森斯

Deep Learning Illustrated: A Visual, Interactive Guide to Artificial Intelligence by Jon Krohn, Grant Beyleveld, and Aglaé Bassens

一张图胜过千言万语。这就是 Deep Learning Illustrated 背后的想法,这是一个使用直观的视觉表示来学习深度学习技术和应用的独特资源。

这本书用丰富多彩的插图和以人物为中心的叙述包装起来,抽象掉了这门学科的许多复杂性,使它能为更广泛的公众所接受。技术术语很少,应用程序由使用 Python 代码的手动 Jupyter 笔记本支持。书中介绍了一些最流行的深度学习框架,包括 TensorFlowKerasPyTorch

了解更多关于深度学习的信息

深度学习是数据科学工具包的重要组成部分。学习 it 是提升职业前景和构建有趣应用程序的明智之举。书籍是入门或成为深度学习专家的绝佳资源,但你也应该考虑其他学习方式。查看以下资源,开始您的深度学习之旅。

提升数据技能的 2022 年顶级资源

原文:https://web.archive.org/web/20221210075939/https://www.datacamp.com/blog/top-2022-resources-to-sharpen-your-data-skills

随着 2022 年接近尾声,我们的目光投向了 2023 年,我们想分享这一年中我们最喜欢的内容片段的综述。无论您是希望保持最新工具和技术的经验丰富的数据专业人员,还是希望进入激动人心的数据科学领域的新人,或者是希望扩展您组织的数据文化的领导者,我们都能满足您的需求。

在本文中,我们将重点介绍 2022 年的热门备忘单、文章、现场培训、数据框剧集和网络研讨会。我们还将分享我们在打入数据、建立数据文化以及雇佣和留住数据团队方面的首选资源。让我们开始吧!

提升数据技能的 2022 年顶级资源

我们 2022 年的顶级备忘单

  • pandas Cheat Sheet :使用我们全面的 Cheat Sheet,最大化您的 Pandas 学习之旅,涵盖从在 Pandas 中导入数据的基础到高级数据操作功能的所有内容。
  • NumPy 备忘单:使用我们的便捷备忘单将您的 NumPy 学习提升到一个新的水平,它包含了大量关于数组操作、索引和 NumPy 线性代数的信息
  • 机器学习备忘单:在这个概念性的备忘单中,通过学习关键算法、何时使用它们、优点和缺点等来提高您的机器学习专业知识。
  • Power BI 备忘单:在您学习 Power BI 的整个过程中,随身携带这份备忘单,它涵盖了从基本的可视化到 Power BI 仪表板的所有内容
  • SQL 基础知识备忘单:使用我们方便的备忘单,快速轻松地掌握 SQL,包括使用数据库的基本命令、数据类型和函数
  • 数据可视化备忘单:使用我们关于数据可视化的全面备忘单,让您的数据变得生动,包括关键的可视化、何时使用它们以及它们的常见用例。
  • Power BI DAX 备忘单:利用我们在 Dax 上的全面备忘单,释放 Power BI 的全部潜力,Dax 是用于在 Power BI 中创建计算列和度量的强大表达式语言。
  • Python 备忘单中的 Scikit Learn 机器学习:使用 Python 和 Scikit Learn 掌握机器学习使用我们的综合备忘单,其中包含使用 Scikit Learn 构建预测模型的关键算法、技术和最佳实践
  • Tableau 备忘单:使用我们全面的备忘单提高您的 Tableau 技能,该备忘单包含关键概念、最佳实践和使用 Tableau 创建有效可视化和仪表板的技巧
  • SQL Joins cheat sheet :使用我们关于 SQL Joins 的便捷 Cheat Sheet,增强您将来自 SQL 中多个表的数据进行组合的能力,该 Cheat Sheet 包含关键概念、语法以及使用 SQL 的内部、左侧、右侧和交叉连接的示例
  • Git 备忘单:使用我们的综合备忘单,最大限度地提高您的工作效率,该备忘单涵盖了在数据科学工作流中使用 Git 的基础知识。
  • 描述性统计备忘单:通过这个备忘单获得对描述性统计的概念性理解,它涵盖了用任何工具或框架来总结和解释数据的关键概念、公式和示例
  • 数据故事讲述备忘单:使用我们关于数据故事讲述的全面备忘单,将您的数据转化为引人入胜的叙述,该备忘单包含关键概念、最佳实践以及使用任何工具或框架制作有效数据故事的技巧
  • 数据清理核对表:使用这份全面的数据清理核对表满怀信心地开始数据项目,该核对表包含识别和解决数据问题的关键步骤和最佳实践

我们 2022 年的热门文章

我们从 2022 年开始的顶级现场训练

  • 面向绝对初学者的 Python 数据可视化:在本次现场培训中,熟悉 Python 中的 Plotly express 包,并开发数据可视化的基础知识。
  • 在 SQL 中分析流媒体服务内容:在这个实时培训中,提高您的 SQL 技能,深入了解像网飞这样的流媒体服务提供商的表现。
  • 探索 Power BI 中的世界杯数据:在本次现场培训中,您将深入了解世界杯数据,并通过使用 Power BI 可视化洞察来揭示团队绩效的模式。
  • 用 SQL 分析学生的心理健康状况:通过使用聚合、过滤器等工具分析学生的心理健康数据,进一步发展您的 SQL 技能。
  • 在电子表格中分析营销漏斗:营销漏斗分析是营销分析最常见的用例之一。在这个初学者电子表格现场培训学习工作流程从 A 到 Z。
  • 探索 Python 中的世界杯数据:在本次现场培训中,通过深入研究世界杯数据来加强您的 Python 技能,并使用像熊猫这样的数据操作包来揭示团队表现的模式。
  • 绝对初学者的 Julia:在这个初学者现场培训中,获得 Julia 的基础知识,并了解为什么它可能是下一个学习的编程语言,以获得进一步的职业成功。
  • 威尔在哪里?探索 Tableau 中的手机数据:在本次会议中,利用 Tableau 仪表板和数据可视化技能来分析手机数据,并跟踪手机用户的日常活动。

2022 年打破数据的最佳资源

构建数据文化的 2022 年最佳资源

  • 具备数据素养:每个人成功所需的数据素养—在与数据素养先驱 Jordan Morrow 的网络研讨会中,了解数据素养以及个人或组织如何更好地以数据为导向。
  • 数据素养:领导者指南—在与 ThoughSpot 首席数据战略官 Cindi Howson 的网络研讨会中,我们深入探讨了领导者应如何培养员工的数据素养和流畅度。
  • 在联邦机构中培养数据素养—在本次网络研讨会中,美国空军分析社区外联处负责人布莱恩·法甘和美国航天部队数字劳动力项目主任布莱恩·爱尔兰讨论了在政府机构中培养数据文化和技能的方法,以及政府数据民主化的挑战和机遇
  • 了解 CBRE 的数据素养计划—在本次网络研讨会中,CBRE 数据&数字变革经理 Emily Hayward 概述了 CBRE 的数据素养之旅,以及他们如何将员工队伍转变为以人为本、以情报为导向的组织。
  • 避免数据民主化中的陷阱—在本次网络研讨会中,DataCamp 的分析总监豪尔赫·巴斯克斯概述了在组织中民主化数据见解和扩展数据文化的常见陷阱。
  • 让您的组织适应未来的数据技能—在本次网络研讨会中,ICT SkillNet 的 Anthony McCauley 讨论了他们如何在爱尔兰培养下一代数据和人工智能领导者,以及您的组织如何在人工智能市场中保持竞争力。
  • 借助 Power BI 实现数据民主化—在本次网络研讨会中,请加入 DataCamp Power BI 讲师的讨论,了解 Power BI 如何加速组织的数据文化、使用 Power BI 的最佳实践以及 Data camp Power BI 职业生涯中的数据分析师。
  • 案例研究:安联如何通过 DataCamp 提升 6,000 多名员工的技能—在此案例研究中,了解安联如何成功提升全球 6,000 多名员工的技能,并利用定制 DataCamp 项目的个性化学习。
  • 如何创建数据故事文化—在本专题讲座中,数据故事专家兼作者 Brent Dykes 概述了数据故事如何帮助您的组织创建数据文化并提高数据素养。
  • Salesforce 如何创建一个高影响力的数据科学组织—在这一集的数据框架中,sales force 的数据科学副总裁 Anjali Samani 讨论了如何创建一个高影响力的数据科学职能部门。
  • 扩展数据成熟度的成功框架—在这一集的数据框架中,Gramener 的首席执行官 Games Kesari 阐述了组织如何扩展数据成熟度曲线并实现数据驱动。
  • 在星巴克建立数据素养 —在这一集的数据框架中,星巴克的数据素养和知识管理总监 Megan Brown 讨论了他们为打造星巴克的数据文化和数据素养所做的工作。
  • 在纽约人寿保险公司建立全面的数据科学职能—在这一集数据框架中,纽约人寿保险公司的首席数据&分析官 Glenn Hofmann 讨论了他如何建立一个 50 人的数据科学和人工智能职能部门,他们如何利用技能组合为数据科学家提供不同的职业道路,等等。

2022 年招聘和留住数据团队的最佳资源

2022 年已经被证明是数据不可思议的一年。我们希望通过这篇综述,你有信心带着比以往更多的知识和资源进入新的一年。要了解更多提高技能和数据知识的方法,请查看以下材料:

21 大数据工程面试问题和答案

原文:https://web.archive.org/web/20221129035725/https://www.datacamp.com/blog/top-21-data-engineering-interview-questions-and-answers

Data engineering interview q and a

通用数据工程师面试问题

在一般的数据工程面试轮中,你会被 HR 经理问到你的工作经验和你给公司带来的价值。

什么使你成为这个职位的最佳候选人?

如果招聘经理选择你进行电话面试,他们一定在你的简介中看到了他们喜欢的东西。所以,你可以自信的面对这个问题,谈谈你的经历和职业成长。

在参加面试之前,回顾一下公司的简介和工作描述是很重要的。这样做将有助于你了解招聘经理想要什么。如果他们正在寻找一个可以设计和管理数据管道的人,确保你专门谈论它。

一般来说,你可以思考你的技能、经验和知识,以及这些因素如何让你脱颖而出。

据你所说,数据工程师的日常职责是什么?

这里没有绝对的答案,但是你可以分享一下你上一份工作的经历,以及你作为工程师的责任。职位描述也是寻找这些信息的好地方。

然而,一般来说,数据工程师的日常职责包括:

  • 开发、测试和维护数据库
  • 基于业务需求开发数据解决方案
  • 数据采集
  • 为 ETL、数据建模、转换和服务开发、验证和维护数据管道。
  • 在某些情况下,部署统计模型。
  • 通过清理、验证和监控数据流来维护数据质量。
  • 提高系统可靠性、性能和质量。
  • 遵循数据治理和安全指南来执行每项任务。

作为一名数据工程师,你觉得最难的是什么?

虽然这将取决于个人,但在数据工程师访谈中有一些共同的线索。像数据科学家和 DevOps 工程师一样,成为一名数据工程师最艰难的部分可能是学习和掌握各种技术。您需要不断集成新的工具来提高数据系统的性能、安全性、可靠性和投资回报率。

确保您了解灾难管理、数据治理、安全协议、业务需求和预测数据需求也可能很难掌握。你要负责这么多事情,这是一份艰难的工作。

你对哪些数据工具或框架有经验?有你喜欢的吗?

同样,这个数据工程师面试答案将基于您的经验。如果您熟悉现代工具和第三方集成,回答这个问题不会有问题。

您可以谈论用于数据库管理、数据仓库、数据编排、数据管道、云管理、数据清理、建模和转换以及批处理和实时处理的工具。

记住,这个问题没有错误答案。面试官正在评估你的技能和经验。

这些问题是为有经验的人准备的。如果你是初学者,想开始数据工程职业生涯,用 Python 职业轨迹完成数据工程师。它由 19 门课程组成,将教授您现代数据工程概念、编程语言、工具和框架。

数据工程师流程面试问题

经过几轮面试后,你通常会进入技术阶段,包括编码挑战、解决问题、白板上的数据库系统设计、课后考试和分析问题。

这个阶段可能会相当激烈,所以了解一些常见的数据工程面试问题和答案可以帮助你在面试中获得高分。

向我介绍一个你从头到尾都在做的项目。

如果您以前作为学生或专业人员从事过数据工程项目,那么这个答案应该很自然。话虽如此,提前准备总是有帮助的。

确保你解释了它是如何开始的,以及你解决了什么业务问题。此外,解释从访问原始数据到将其转换为干净的结构数据的每个步骤。

有时你正在做多个项目,你会被这个问题吓住。为了避免这种情况发生,最好回顾一下你最近参与的五个项目。你可以阅读项目文档,理解问题陈述。

看看下面的例子:

TLC Trip record

图片来自DataTalksClub/data-engineering-zoom camp

在上面的项目中,我们使用 Kafka 和 Spark streams 接收 TLC 旅行记录数据,并对其进行处理、转换和服务。

在项目中:

  • GCP、Terraform 和 Docker 用于云环境
  • GCP、气流和 Postgres 用于数据接收
  • 数据仓库的 BigQuery 和 Airflow
  • 用于分析工程的 dbt、BigQuery、Postgres、Google Studio 和元数据库
  • 批量处理的火花
  • 数据流的 Spark 和 Kafka

初级数据工程师面试问题

初级工程面试更侧重于工具、编码和 SQL 查询。它涉及关于数据库管理、ETL、编码挑战和家庭考试的问题。

当公司雇佣应届毕业生时,他们希望确保你有能力处理他们的数据和系统。

你能解释一下与数据建模相关的设计模式吗?

有三种数据建模设计模式:星型、雪花型和银河型。

星型模式包含各种维度表,这些维度表连接到中心事实表。

Star Schema

图片来自 guru99

雪花是星型模式的延伸。它由事实表和具有雪花状层的维度表组成。

Snow flake

图片来自 guru99

Galaxy 模式包含两个事实表,并且在它们之间共享维度表。

Galaxy schema

图片来自 guru99

你用过哪些 ETL 工具?你最喜欢什么,为什么?

在这里,你应该提到你已经掌握的工具列表,并解释为什么你为某些项目选择了某些工具。

招聘经理正在评估你对各种 ETL 工具的经验和知识,所以请从利弊方面解释你选择这些工具的原因。

您还可以提到流行的开源工具,如 dbt、Spark、Kafka 和 Airbyte。你可以通过参加数据工程介绍课程来更新你的 ETL 知识。

数据工程师经理面试问题

对于工程经理职位,问题与决策制定、业务理解、管理和维护数据集、合规性和安全策略有关。

数据仓库和操作数据库有什么区别?

数据仓库为数据分析任务和决策提供历史数据。它支持高容量分析处理,如 OLAP。数据仓库旨在加载访问多行的高复杂度查询。该系统支持少量并发用户,旨在快速检索大量数据。

操作数据库管理系统用于实时管理动态数据集。它们支持数千个并发客户端的高容量事务处理。通常,这些数据包含有关业务运营的日常信息。

你认为为什么每个使用数据系统的公司都需要灾难恢复计划?

灾难管理是数据工程师经理工作中最重要的部分。数据工程师经理计划并准备各种数据存储系统的灾难恢复。

该任务涉及文件和媒体的实时备份。备份存储将用于在网络攻击或设备故障的情况下恢复文件。安全协议用于监控、跟踪和限制传入和传出流量。

数据工程师技术面试问题

数据工程工具

Data engineering tools

作者图片

什么是数据编排,您可以使用什么工具来执行它?

数据编排是一个自动化的过程,用于访问来自多个来源的原始数据,执行数据清理、转换和建模技术,并为分析任务提供服务。最流行的工具是 Apache Airflow、Prefect、Dagster 和 AWS Glue。

你在分析工程中使用什么工具?

分析工程是一个过程,在这个过程中,我们访问经过处理的数据,对其进行转换,应用统计建模,并以报告和仪表板的形式将其可视化。流行的工具有 dbt(数据构建工具)、BigQuery、Postgres、Metabase、Google Data Studio 和 Tableau。

面向数据工程师的 Python 面试问题

哪些 Python 库的数据处理效率最高?

最流行的数据处理库是 pandasNumpy 。对于大数据集的并行处理,我们使用 DaskPysparkDatatableRapids 。它们各有利弊,我们必须基于数据需求来理解应用程序。

在 Python 中如何执行 web 抓取?

  1. 使用请求库和 URL 访问网页
  2. 使用 BeautifulSoup 提取表格和信息
  3. 转换成使用熊猫的结构
  4. 使用熊猫熊猫来清洁它
  5. 以 CSV 文件的形式保存数据

在某些情况下, pandas.read_html 可以创造奇迹。它以结构化格式提取、处理和转换数据。

注意:在像黑客排名代码大战LeetCode 这样的网站上接受编码挑战是一种很好的做法。您可以通过参加 DataCamp 的 5 项 Python 挑战来磨练您的 Python 技能。

数据工程师的 SQL 面试问题

SQL 编码阶段是数据工程雇佣过程的一个重要部分。可以练习各种简单和复杂的脚本。面试官可能会要求你写一个关于数据分析、常用表表达式、排名、添加小计和临时函数的查询。

SQL 中常见的表表达式有哪些?

这些用于简化复杂的连接和运行子查询。

在下面的 SQL 脚本中,我们运行一个简单的子查询来显示所有拥有理科专业和 A 成绩的学生。

SELECT *
FROM class
WHERE id in
  (SELECT DISTINCT id
  FROM id
  WHERE grade= "A"
  AND major= "Science"
  )

如果我们多次使用这个子查询,我们可以创建一个临时表“temp ”,并在查询中使用 SELECT 命令调用它,如下所示。

WITH temp as (
  SELECT id as id
  FROM id
  WHERE grade= "A"
  AND major= "Science"
)

SELECT *
FROM class
WHERE id in (SELECT id from temp)

你可以把这个例子翻译成更复杂的问题。

如何对 SQL 中的数据进行排序?

数据工程师通常根据销售和利润等参数对价值进行排名。

下面的查询根据销售额对数据进行排名。还可以使用 DENSE_RANK(),如果值相同,它不会跳过后续的等级。

SELECT
  id,
  sales,
  RANK() OVER (ORDER BY sales desc)
FROM bill

能否创建一个简单的临时函数,并在 SQL 查询中使用?

就像 Python 一样,您可以在 SQL 中创建一个函数,并在查询中使用它。它看起来很优雅,你可以避免编写巨大的 case 语句- 更好的编程

在下面的脚本中,我们创建了一个简单的“get_gender”临时函数。它使用类型从“M/F”变为全形式“公/母”。之后,我们可以通过向 get_gender 函数提供一个列名来调用它。

CREATE TEMPORARY FUNCTION get_gender(type varchar) AS (
  CASE WHEN type = "M" THEN "male"
        WHEN type = "F" THEN "female"
        ELSE "n/a"
  END
)
SELECT
  name,
  get_gender(Type) as gender
FROM class

解决 SQL 编码练习题是练习和修改遗忘概念的最好方法。您可以通过参加 DataCamp 的评估测试SQL中的数据分析来获得您的 SQL 技能(您需要一个 DataCamp 帐户来访问此评估)。

FAANG 数据工程师问题

在这一部分,我们探讨了脸书、亚马逊、谷歌和人力资源经理在数据工程职位面试中最常问的问题。

脸书数据工程师面试问题

我们为什么要在卡夫卡中使用集群,它有什么好处?

Kafka 集群由多个代理组成,在多个实例上分发数据。它无需停机即可扩展。Apache Kafka 集群用于避免延迟。如果主集群宕机,其他 Kafka 集群将用于提供相同的服务。

Kafka 集群架构由主题、代理、动物园管理员、生产者和消费者组成。它处理大数据的数据流,用于创建数据驱动的应用程序。

阿帕奇气流解决了什么问题?

Apache Airflow 允许您在一个屋檐下管理和调度分析工作流、数据仓库管理、数据转换和建模的管道。

您可以在一个地方监视执行日志,回调可用于向 Slack 和 Discord 发送失败警报。最后,它易于使用,提供了一个有用的用户界面和健壮的集成,并且可以免费使用。

亚马逊数据工程师面试问题

您将获得一个 IP 地址作为字符串形式的输入。你如何发现它是否是一个有效的 IP 地址?

这是编码面试中最常见的问题,答案很简单。您将在“.”上拆分字符串并创建多个检查来确定 IP 地址的有效性。

def is_valid(ip):

    ip = ip.split(".")

    for i in ip:
        if (len(i) > 3 or int(i) < 0 or
                          int(i) > 255):
            return False
        if len(i) > 1 and int(i) == 0:
            return False
        if (len(i) > 1 and int(i) != 0 and
            i[0] == '0'):
            return False

    return True

A = "255.255.11.135"
B = "255.050.11.5345"

A IP 有效,它返回,而 B 返回,因为它在点之后有 4 个数字。

print(is_valid(A))
>>> True
print(is_valid(B))
>>> False

Hadoop 中的各种模式有哪些?

Hadoop 主要工作在 3 种模式下:

  • 独立模式:在不使用 HDFS 的情况下用于调试。它使用本地文件系统进行输入和输出。
  • 伪分布式模式:由单个节点集群组成,NameNode 和 Data 节点驻留在同一个地方。它主要用于测试目的。
  • 完全分布式模式:这是一种生产就绪模式,其中多个集群正在运行。数据分布在多个节点上。它有单独的主守护进程和从守护进程节点。

谷歌数据工程师面试问题

如何处理 SQL 查询中的重复数据点?

您可以使用 DISTINCT 来避免重复。

下面的查询将从 CUSTOMERS 表中返回唯一的数据点。

SELECT DISTINCT Name, ADDRESS FROM CUSTOMERS
ORDER BY Name;

或者使用带有最大最小命令的 rowid 删除重复行。

SQL 查询正在删除 rowid ,其中 rowid 是一个 MAX ,按雇员姓名和地址分组。它会将表分组为名称地址,并挑选最高的行 id,丢弃其他的。表中的每条记录都有一个唯一的 rowid ,它指向磁盘中的一个物理位置。

DELETE FROM Employee
WHERE rowid NOT IN (
  SELECT MAX(rowid)
  FROM Employee
 GROUP BY Name, ADDRESS
);

给定一个 n-1 个整数的列表,这些整数在 1 到 n 的范围内。列表中没有重复项。列表中缺少一个整数。你能写一个有效的代码来找到丢失的整数吗?

这是最常见的编码面试挑战之一。面试官在寻找有推理能力的高效代码。

我们将创建 search_missing_number 函数,它将:

  1. 检查是否有空列表并返回 1,或者如果没有缺失值,它将返回列表的长度+1
  2. 如果它通过了所有检查,它将计算前 N 个自然数的和 n*(n+1)/2 -> total
  3. 求所有列表元素的和->总和
  4. 返回第一个自然数之和与所有元素之和的差。
def search_missing_number(list_num):
    n = len(list_num)
    # checks
    if(list_num[0] != 1):
        return 1
    if(list_num[n-1] != (n+1)):
        return n+1

    total = (n + 1)*(n + 2)/2
    sum_of_L = sum(list_num)
    return total - sum_of_L

验证:

num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13]
print("The missing number is", search_missing_number(num_list))

>>> The missing number is 12.0

如何准备数据工程师面试

在参加面试之前,你应该复习数据工程中使用的所有概念和标准术语。此外,你应该为技术面试做准备。

  • 掌握 SQL :你应该练习创建、修改和管理数据库。此外,您应该掌握数据分析、建模和转换。
  • 解决编码挑战:解决 Python、Scala 或 C++编码挑战。大多数公司通过课后考试和现场编码挑战来评估编程技能。
  • 设计 ETL 管道:练习创建数据、ETL 或交付管道。您需要了解如何测试、验证、扩展和维护数据管道。
  • 分析工程:练习加载、转换和数据分析。学习创建数据质量和系统性能的仪表板。
  • 复习潜在问题:复习模拟问题样本,为面试做准备。在谷歌上简单搜索就能获得数百个问题。
  • 了解现代数据工程工具:即使你没有使用现代数据工程工具的经验,你也应该知道它们是如何工作的,以及它们如何与其他工具集成。公司总是在寻找更好的工具,以更低的成本提高性能。
  • 学习批处理和流式 : Apache Spark 用于批处理,Apache Kafka 用于数据流。这些工具需求量很大,它们会帮助你在顶级公司找到工作。
  • 环境:有些情况下,面试官会问云计算(GCP、AWS、Azure)、Docker、脚本、Terraform、Kubernetes。您可以使用这些工具来设置云或本地计算机和存储资源。理解这些技术并将它们集成到组合项目中是一个很好的实践。

了解如何成为一名数据工程师启动你的职业生涯,并在数据科学领域最受欢迎的职业中找到一份工作。

人力资源电话筛选、技术电话筛选、课后考试、编码挑战、现场面试、白板数据库和系统设计、SQL 面试,最后是检查文化契合度的“高管”面试。

有些公司有三个阶段的面试,而有些公司有多达九个阶段。组织通常有很高的门槛来测试每个级别的候选人。

是的,每一个产生数据的公司都需要数据工程师来创建管道,管理数据,并将数据交付给各个部门。到 2025 年,我们每天将产生 463 艾字节的数据,我们将需要越来越多的工程师来提取、转换和管理数据管道和系统-【weforum.org】

是的,每一个与 IT 领域相关的人都必须学会写代码,即使是在管理层。对于数据工程师来说,Python、SQL、Docker、Yaml、Bash 是必备的编码语言。它们在基础设施中用作代码、管道、数据库管理、流、网络抓取、数据处理、建模和分析。

数据工程师为数据分析师收集、转换和准备数据,以提取有价值的业务洞察力。数据工程师管理整个数据库系统,并确保他们为数据分析任务提供高质量的数据,如分析报告、仪表板、客户研究和预测。

从多个来源获取数据,创建、验证和维护数据管道,使用算法转换数据,执行分析工程,确保符合数据治理和安全性,以及维护整个数据库系统。他们负责向公司的各个部门提供高质量的数据流。可以通过阅读 了解更多关于数据工程的知识什么是数据工程? 博客。

你必须知道编码、数据仓库、ETL(提取转换负载)、SQL 查询、数据分析和建模、关键事物和沟通技巧。数据工程是通过经验和克服该领域的复杂挑战来学习的。

根据 Indeed 的数据,美国数据行业的平均工资在 116,037 美元到 299,953 美元之间。你的薪水将取决于公司的规模、地点和经验。例如,如果你在洛杉矶有 5 年以上的工作经验,并且你正在申请 Meta,那么你的基本工资将是每年 178,210 美元。欧洲的工资往往低很多,在亚洲,又更低。

2021 年数据基础架构的三大趋势

原文:https://web.archive.org/web/20221129033105/https://www.datacamp.com/blog/top-3-trends-in-data-infrastructure-for-2021

数据工程仍然是企业的重中之重,2021 年,数据基础设施领域将会有令人振奋的发展。在最近的一次网络研讨会中,世界银行的数据工程师、前圣地亚哥市首席数据官马克西姆·佩彻斯基强调了三个特别值得关注的趋势:数据编排平台、数据发现引擎和数据湖库。

数据编排平台

虽然编排平台已经存在多年来管理计算机系统和软件,但数据编排是一个相对较新的概念,它跨存储系统抽象数据访问,虚拟化数据,并将数据呈现给数据驱动的应用程序。数据编排平台通过组合来自多个数据存储位置的孤立数据并使其可用,帮助公司变得更加数据驱动。例子包括阿帕奇气流提督路易吉史迪奇,它们与版本控制、DevOps 和持续集成等现代软件方法兼容。

DataCamp 的课程Python 中的 Airflow 简介是一个学习如何以简单且可重复的方式实现和安排 ETL 和数据工程工作流的好地方。

数据发现引擎

随着数据的增加,公司将投入更多的时间让他们的团队找到他们需要的数据,记录下来,并减少返工,这是有道理的。像 Lyft 的阿蒙森和 T2 优步的数据手册这样的数据发现引擎旨在通过提供数据搜索界面来提高数据用户的生产力。这些工具依赖于元数据,元数据通过允许数据基础架构随着公司的增长而扩展来支持生产力和合规性。数据发现的目标是使数据更加公平:可发现、可访问、可互操作和可重用。

数据仓库

数据湖和数据仓库有不同的用例。每个都是为不同的目的和不同的最终用户而设计的。例如,分析人员通常使用数据仓库来收集商业情报——它们包含为他们的工作而显式处理的平面文件。另一方面,数据湖是由数据工程师建立和维护的,他们将数据湖集成到数据管道中。数据科学家与数据湖的合作更加密切,因为它们包含更广泛、更现代的数据。

数据湖库顾名思义就是数据湖和数据仓库的结合。像 SnowflakeDatabrick 的 Delta Lake 这样的平台已经创建了解决方案,为结合了数据湖和数据仓库优势的数据提供单一的真实数据来源。数据湖库实现了数据仓库的数据结构和数据湖的管理特性,这对于数据存储来说通常更具成本效益。同时,它们保留了数据的模式和版本。有了数据湖库,数据科学家将能够进行机器学习和商业智能。

来源:数据块

所有这三种趋势对于企业在 2021 年扩展数据基础架构至关重要。它们对于围绕数据构建的公司以及那些努力将数据可持续地集成到其工作流程中的公司非常有用。了解有关大公司在运营数据和实现数据驱动方面所面临挑战的更多信息

五大在线数据科学认证

原文:https://web.archive.org/web/20230101103202/https://www.datacamp.com/blog/top-5-online-data-science-certifications

对数据科学职位的需求以及获得认证如何帮助你获得一个职位

根据世界经济论坛最近的一份报告,数据科学是最受欢迎的技能之一——在他们调查的每个国家的就业市场中,十大“新兴”角色中的大多数都在某种程度上涉及数据科学。因为这个领域有大量的工作机会,了解它的工作原理和能力将有助于你的职业发展。

此外,向未来的潜在雇主证明你拥有数据科学职位所需的技能在求职过程中变得更加重要。也就是说,发展这些数据科学技能的机会不再伴随着巨大的入门障碍,相反,您可以掌控自己的未来。

如何获得在线认证

在整个疫情,我们已经看到教育以前所未有的速度转移到网上,现在认证也越来越多地转移到网上领域。足不出户就可以展示你的知识,有很多选择,让你有机会在方便的时候获得认证。但是,有这么多的认证,可能很难知道从哪里开始,所以我们汇编了一个前五名在线数据科学认证的列表。

哈佛专业数据科学家 $793

由 edX 提供支持,该认证利用真实世界的案例研究来教授数据科学,主要关注 r。从数据科学的基础到机器学习,该认证利用基于所教授内容的实际应用的问题:电影推荐、选举预测和 2007-08 年的金融危机。这将增强你在雇主眼中解决现实问题的能力。

【Data camp】数据科学专业【29 美元/月

我们的认证将测试您成为一名成功的专业数据科学家所需的技能。我们的认证侧重于 R 或 Python 和 SQL,由三项评估、一项编码挑战和一个案例研究组成。在案例研究部分,您将向技术和非技术观众展示真实世界环境。

通过认证后,您将可以联系我们的职业服务团队。我们的职业服务团队专门帮助认证学习者在数据科学领域找到他们梦想的工作。无论是通过量身定制的职业建议、简历审阅、一般最佳实践还是工作匹配,我们的团队都将帮助您成功定位。

IBM 数据科学专业证书【40-80 美元/月

由 IBM 和 Coursera 共同运营,IBM 的认证涵盖了数据科学的基础知识,同时也深入分析和可视化数据的细节,主要是使用 Python。最后,你将完成一个练习,为你的投资组合增添一些内容,并向雇主展示你的技能。

Excel 到 MySQL【40-80 美元/月

该认证由杜克大学和 Coursera 联合举办,将教你如何利用数据回答商业问题。该认证由五门不同的课程组成,将涵盖 SQL、Tableau 和 Excel 在业务分析中的使用。

画面 【桌面专家 100 美元

Tableau 提供三种不同的考试(桌面专家、认证助理和专业人员),用于在不同层级使用其产品。每一级都提供不断增加的奖励,如较低的复习考试费用。考试是在线和开卷的,所以如果你忘记了一两个细节,不要担心。该认证将测试您使用 Tableau 本身和创建可视化的能力,这将使您能够更好地交流您的发现。

如果你觉得已经准备好证明你的知识,那就去参加我们的认证吧——如果你觉得你可以先多做一点练习,这里有大量的课程和练习在数据营上!

上个月你可能错过的热门文章

原文:https://web.archive.org/web/20230101102949/https://www.datacamp.com/blog/top-articles-you-may-have-missed-last-month

数据科学是发展最快的行业之一。每天都有新的研究论文、软件包、教程和技术推出,有时很难跟上。对于任何数据从业者来说,掌握数据科学的最新知识对于保持学习和成长非常重要。在这篇文章中,你会发现上个月你可能错过的所有最新新闻、教程、研究和见解的集合。

新发布的教程

用 scikit-learn 创建自定义变压器的两种方法

这篇关于数据科学的博客文章涵盖了一个相当简单的教程,教你如何使用 scikit-learn 创建一个定制的转换器。Scikit-learn 是数据科学中使用最广泛的包之一,也可以说是最受欢迎的机器学习包。它提供了一系列预处理功能,如一次热编码、最小最大缩放等。然而,有时需要使用定制的预处理功能,而不是使用预先构建的功能,例如一个热编码器。本教程教你如何在 scikit-learn 中创建自定义转换器,以简化机器学习的数据预处理。

使用顶点 AI 的大查询 ML 中的 MLOps

在过去的一年里,大型科技公司在大规模运营领域取得了长足的进步。将机器学习模型引入生产环境是当今数据团队面临的最大挑战之一。这个视频提供了一个快速教程,告诉你如何使用谷歌云的 Vertex AI 和 Big Query ML 服务来构建一个生产就绪的 Vertex AI 管道。

DataCamp 的新 Power BI 教程

随着与微软合作推出 Power BI Track 中的新数据分析师,DataCamp 在过去一个月发布了一些关于 Power BI 的教程。Power BI 是最广泛使用的商业智能工具之一,如果您的公司使用 Microsoft Office,那么您很可能已经可以使用它了。对于希望超越 Excel 并深入数据世界的人来说,这也是一个很好的跳板。这些教程涵盖了使用 Power BI 的所有领域,从从 Excel 过渡到 Power BI ,到针对初学者的 Power BI 更深入的教程Power BI 中的数据建模,以及针对初学者的 Power BI 的 DAX 公式教程。你也可以在学习过程中下载这个方便的备忘单

开创性的机器学习研究

由 OpenAI 提供-2

在过去的一个月里,OpenAI 凭借其 DALLE-2 图像生成算法震惊了世界。OpenAI 已经训练了这种新的机器学习模型,从简单的自然文本输入中创建照片级的图像和艺术。DALLE-2 是 DALLE-1 的继任者,它通过使用一种称为“扩散”的过程实现了很高水平的照片真实感,这种过程创建了随机点的图案,并逐渐改变它以形成它可以从文本中识别的图像。你可以在这里阅读,并观看数据营的数据记者伊莎贝拉·莱斯利·米勒在我们的每周综合新闻视频中分解它。

路径语言模型(PaLM)

PaLM 展示了通路系统的首次大规模使用。谷歌去年推出了 Pathways 系统架构,以有效地训练新一代模型,这些模型可以跨不同领域完成各种任务。通过 PaLM,谷歌创建了一个庞大的 5400 亿参数变压器模型,在各种语言和推理任务上实现了最先进的性能。这些任务包括代码生成、笑话解释、因果识别等等。查看这篇文章,深入了解 PaLM 解锁的路径和用例类型。

新的包和模型

PyTorch 1.11 版本

随着 Pytorch 版本 1.11 的发布,带来了各种改进。PyTorch 的最新版本现在提供了 TorchData 和 functorch 的测试版,torch data 是 DataLoader API 的继承者,func torch 为 PyTorch 模块提供了可组合的函数转换。除了这些功能的引入,PyTorch 1.11 还拥有多种性能改进,例如移动和边缘部署的启动时间加快了 40%,等等。要了解 PyTorch 的更多信息,请查看面向初学者的 DataCamp 课程。

EpyNN 1.2.7

EpyNN 代表“用于神经网络的教育 python”。它面向教师、学生、科学家以及任何希望从头开始理解和构建神经网络的 Python 技能相对较低的人。它提供了大量的架构模板和实际例子,减少了学习如何从头开始开发神经网络的时间。

大科学大型语言模型训练(tr11-176B-ml-logs)

BigScience 是一个受欢迎的拥抱脸空间,它的使命是与世界各地的数千名研究人员一起创建大规模的语言模型。BigScience 主模型的训练于 2022 年 3 月 11 日开始,将在 Jean Zay 公共超级计算机的 384 个 A100 80GB GPUs 上进行 3 到 4 个月的训练。这一开源模型将由 176B 参数组成,并将具有类似 GPT 的纯解码器架构。你可以在的推特上关注培训更新——并且在六月左右的某个时候能够使用这个模型。

数据科学和机器学习用例

西甲与 Databricks 合作进行足球分析

西甲的分析团队与 Databricks 合作,在联赛的分析基础设施中部署一个数据湖。这将使西甲技术公司(La Liga Tech)能够更有效地构建和管理他们的数据,并将机器学习用于有趣的用例,如受伤预测、球迷内容推荐等。

使用深度学习来注释蛋白质宇宙

科学家们长期以来一直使用计算工具直接从序列中推断和注释蛋白质的功能。谷歌的 AI 团队已经成功利用深度学习可靠地预测蛋白质的功能;他们称之为 ProtENN,这使他们能够向 Pfam 的数据库添加大约 680 万个条目。谷歌的人工智能团队已经发布了 ProtENN 模型和一个提取互动文章用于实验。解决这些类型的问题将通过机器学习实现更快、更可靠、新的药物发现和治疗。

见解和观点

增强现代数据分析师的能力

在最新的 DataFramed 播客中,Mozart Data 的首席执行官 Peter Fishman 剖析了现代数据堆栈的状态,以及数据科学中的最新工具是如何为现代数据分析师提供支持的。此外,他还讲述了他领导数据团队的经验、优秀数据分析师的素质、专业知识的重要性以及倾听用户意见等。无论你在哪里得到你的播客,请收听并订阅 DataFramed。

MLOps 一团糟,但这是意料之中的

在这篇文章中,Confetti AI 的创始人 Mihail Eric 分享了他对当今 MLOps 工具现状的见解。正如文章标题所描述的那样,Mihail 出色地打破了机器学习工具领域的脱节状态。由于机器学习操作仍处于起步阶段,围绕它的一系列标准、工具和最佳实践仍在形成中,没有明确的规范堆栈可供从业者依赖。此外,解决人才短缺和在组织文化中采用机器学习思维将在未来几年影响 MLOps 的采用。

了解更多信息

我们希望你喜欢这个顶级故事,见解,教程和研究综述。有关数据科学最新进展的更多信息,请查看以下资源:

2022 年顶级数据科学会议

原文:https://web.archive.org/web/20221129044300/https://www.datacamp.com/blog/top-data-science-conferences-for-2022

数据科学会议是培养数据技能和数据职业生涯的好方法。他们提供了一个很好的机会来聆听行业专家对行业发展的介绍,发现在现实世界中成功部署解决方案的领导者的最佳实践和技巧,并参加研讨会以建立现有技能和增加新的数据技能。更重要的是,这些会议提供了很好的社交和职业发展机会。

本文重点关注将在 2022 年剩余时间参加的一些最大、最有用的数据科学会议。无论数据科学家的技能水平、经验和在组织中的任期如何,他们都可以参加各种地点和焦点主题的会议。其中一些会议更适合数据从业者,包括研讨会和实践培训会议,而其他会议则更适合希望扩大数据科学在其组织中的影响的数据领导者。

2022 年数据创新峰会

  • 日期:2022 年 5 月 5 日至 6 日
  • 地点 : 混合—可在瑞典斯德哥尔摩参加虚拟会议和现场会议
  • 费用****:2390 SEK(虚拟)或 5490 SEK(亲自)

本次会议旨在尽可能多地汇聚数据科学、大数据、ML、AI、数据管理和数据工程领域的创新人才。为期两天的会议提供了来自行业领导者的 200 多个案例研究和技术深度探讨,以及各种关于数据科学和机器学习的研讨会和速成班。我们的目标是共享所有最具创新性的数据和人工智能项目,以推动这个行业的未来。它旨在面向所有部门和国家的数据从业者,让他们共同协作和创新。

Gartner 数据和分析峰会

  • 日期:2022 年 5 月 9 日至 11 日
  • 地点 : 英国伦敦
  • 费用****:3550 欧元

本次会议面向数据领导者。会议重点关注数据科学领域的商业战略、技术和领导力。演讲者和研讨会的重点是帮助组织规划未来,利用数据实现业务成果,制定战略计划以加快数据变革,建立数据文化的最佳实践,以及使数据和分析与业务成果保持一致。Gartner 提供了 100 多场不同领域的研究,所有研究都致力于帮助组织通过数据实现价值。

Tableau 会议

  • 日期:2022 年 5 月 17 日至 19 日
  • 地点:混合式——美国内华达州拉斯维加斯(现场),全球在线提供
  • 费用:免费(虚拟)或 1900 美元(个人)

Tableau Conference 2022(TC22)面向广大受众。他们有许多会议,主题从使用 Tableau 的指南和培训会议,到讨论数据文化和组织内商业智能未来的数据领导者。这些会议有现场和虚拟两种形式的 Q & A,并提供了一个使用 Tableau 与个人和组织联系的好方法。

2022 年数据可靠性工程会议

  • 日期:2022 年 5 月 25 日至 26 日
  • 地点 : 虚拟
  • 费用 : 免费

本次会议是唯一一次聚焦数据可靠性工程的会议。它包括实践研讨会、现场 Q & A,以及关于数据可靠性工程师的角色和角色未来的演示。此次会议包括来自 OpenSea、Strava、Gap 和 DoorDash 等大公司的发言人,对于那些了解数据可靠性和质量的人来说,这是一次非常有益的会议。

应用(会议)

  • 日期:2022 年 5 月 18 日至 19 日
  • 地点 : 美国俄亥俄州哥伦布市
  • 费用 : 免费

本次会议旨在让数据和机器学习团队了解现实世界中经常面临的数据工程挑战,以及如何着手解决这些挑战。来自优步、CashApp 和沃尔沃等组织的一组令人印象深刻的演讲者将深入探讨最佳实践、开发模式、工具和有趣的架构,以扩展机器学习模型在生产中的部署。

世界数据峰会

  • 日期:2022 年 5 月 18 日至 20 日
  • 地点:荷兰阿姆斯特丹
  • 费用:【1,295 欧元(会议)、795 欧元(研讨会日)和 1595 欧元(两天)

本次会议面向数据领导者和数据从业者。本次会议的目标是让与会者了解为业务和客户增长开发数据科学解决方案的流程。本次会议的主要议题包括客户分析、营销分析的归因建模和模型可解释性技术。演讲者还将涵盖前瞻性主题,如新工具和趋势、构建数据文化等。本次峰会提供了在研讨会上获得实践培训、在会议上向行业专家学习或两者结合的选择。

数据连接会议,由女性在分析

  • 日期:2022 年 6 月 2 日至 3 日
  • 地点:美国俄亥俄州哥伦布市
  • 费用:550 美元

本次会议旨在面向广泛的受众,包括分析师、数据科学家、机器学习工程师、软件开发人员、研究人员、学生、企业家和高管。会议为数据科学领域的女性数据领导者提供了一个平台,并将专注于个性化和以人为中心的机器学习。具体来说,50 多名演讲者将围绕治理&风险、人工智能& ML、数据工程&管理、领导力&战略、推动价值&交流见解等问题展开讨论,并将涵盖一些行业用例。

除了演讲者之外,还将有一个虚拟的招聘会,包括谷歌、英特尔、微软、LinkedIn 和星巴克等公司,竞赛,与专家的问答会议,以及与赞助公司联系的方式。

Ai4 2022

  • 日期:2022 年 8 月 16-18 日
  • 地点:美国内华达州拉斯维加斯和虚拟
  • 费用:595 美元

本次会议聚焦于组织中负责任地采用和开发人工智能和机器学习技术。它的特点是来自工业、学术界和政府的数据从业者和领导者。不同的专题讲座将特别涵盖如何在各种用例和行业中负责任地使用数据科学和机器学习,如金融、保险、汽车、电信、医疗保健等。此外,它涵盖了提供研讨会和培训会议的技术路线,介绍如何将负责任的人工智能技术应用于推荐系统、计算机视觉应用等技术。

营销分析和数据科学

  • 日期:2022 年 11 月 14 日至 16 日
  • 地点:美国德克萨斯州圣安东尼奥市和虚拟
  • 费用:【1,099 美元

本次会议聚焦于数据科学在市场营销中的具体应用。它深入到网络分析、MarTech、商业智能和数据驱动的 GTM 策略。该会议始于 2016 年,此后一直在探索营销和数据分析的交集。该会议汇集了众多行业领袖,涵盖了推动数据科学和营销之间协同增效的最佳实践、在组织内构建数据文化,以及推动数据科学产生更大影响的策略。

深度学习峰会,伦敦

  • 日期:2022 年 9 月 22 日至 23 日
  • 地点:英国伦敦和虚拟世界
  • 费用: 595 英镑(亲自)或 495 英镑(虚拟)

本次峰会面向经验丰富的数据从业者和数据领导者,他们试图了解人工智能的发展方向。本次会议提供了对深度学习在现实世界中的最新技术进步和实际应用的见解。它的特点是来自学术界和工业界的演讲者,并试图弥合深度学习的研究和现实世界应用之间的差距。主题包括广泛的主题,涵盖新的深度学习架构、行业用例、新的工具和框架等。

ODSC 西重新连接

  • 日期:2022 年 11 月 1 日至 3 日
  • 地点:美国加州旧金山
  • 费用:【1,299 美元

可以说是最受欢迎的数据科学会议之一,ODSC·韦斯特再连接面向所有技能水平的数据从业者。这是世界上最大的应用数据科学培训会议之一。它以杰出的演讲者为特色,如许多常用开源工具的贡献者、顶尖大学的教授和顶尖数据组织的领导者。该活动分为数据科学培训课程,随后是行业领袖的演讲、研讨会和主题演讲。

人工智能和大数据博览会

  • 日期:2022 年 12 月 1 日至 2 日
  • 地点:奥林匹亚、伦敦、英国和虚拟
  • 费用:免费

本次博览会旨在向数据领导者和数据从业者广泛开放。本次会议涵盖的主要主题是商业智能、深度学习、机器学习、人工智能算法、数据&分析以及虚拟助手和聊天机器人。虚拟助手和聊天机器人特别有趣,在这个列表的其他会议中不是一个关键的焦点领域。该活动还邀请了来自 BBC、戴尔、Spotify 和阿斯利康等组织的演讲者。该活动还与其他四场以技术为重点的活动在同一地点举行,分别关注 IOT 理工大学、区块链、网络安全和 5G。

科林斯智能事件

  • 日期:全年
  • 地点:虚拟世界和现实世界
  • 费用:不可用

Corinium Intelligence 全年定期举办小型和大型会议,面向希望扩大分析在其组织内的影响的数据领导者。通过他们的 CDAO(首席数据和分析官)活动系列,他们汇集了多个城市的领先 CDAO,涵盖数据文化、技能提升、数据货币化等主题。

我们希望您喜欢今年剩余时间要参加的会议列表。请注意,根据您注册的时间和选择的套餐,价格可能会有所不同。

不断学习:

2022 年最热门的机器学习工作以及如何获得这些工作

原文:https://web.archive.org/web/20230101102924/https://www.datacamp.com/blog/top-machine-learning-jobs-in-2022

Machine Learning Jobs Header

当大多数人听到“机器学习”这个词时,他们脑海中首先想到的是数据科学。

2011 年,数据科学领域被《哈佛商业评论》评为“20 世纪最性感的工作”,在过去的十年里,它取得了巨大的发展。来自不同背景的学生、毕业生和在职专业人士争相进入该行业,并获得一份数据科学工作。他们中的许多人仅仅通过参加在线课程和自学课程材料就成功地做到了这一点。

数据科学是目前最热门的机器学习角色。由于高薪和弹性工作时间的承诺,这个领域有很多宣传。

然而,如果你正在寻找一份机器学习方面的工作,你应该知道数据科学并不是你唯一的职业选择。组织收集的数据量在过去几年中呈指数级增长,这反过来又导致了许多新的机器学习角色的兴起。

在本文中,我们将分解几个 2022 年值得追求的机器学习职业选择。

7 个最好的机器学习工作

下面,我们重点介绍了 2022 年机器学习领域的一些顶级工作。我们还挑选了一些你在这些角色中工作所需的基本技能,以及可以帮助你获得相关工作的课程。如果你正在寻找数据行业中最好的机器学习机会,请查看 DataCamp 的工作岗位,寻找适合你技能的角色。

1。数据科学家

首先,让我们从探索数据科学家的角色开始,以便了解这项工作真正需要什么。

数据科学家是在数据的帮助下为组织增加商业价值的个人。

作为一名数据科学家,你应该能够收集、预处理和分析大量数据,以提出解决业务问题的见解。你还需要运用机器学习建模技术来提出推动业务增长的预测。

成为数据科学家所需的技能:

数据科学家应该掌握至少一门编程语言——通常是 R 或 Python。您还应该能够使用 SQL 提取和操作数据,构建机器学习算法,并使用统计技术分析数据集。Python 包如 Numpy、Pandas、Matplotlib 和 Keras 通常被公司的数据科学团队用于数据分析和模型构建。学习使用这些软件包是一个好主意,因为一些数据科学面试官将测试您对它们的了解。如果你想发展你在数据科学方面的技能,并在该领域找到一份工作,Datacamp 有两条很好的职业道路可以帮助你开始: 数据科学与 Python数据科学与 R

作为一名数据科学家,你还需要将业务需求转化为功能性的机器学习模型。为了做到这一点,你需要对你工作的领域有所了解。例如,如果你想从事营销工作,学习一些常用的营销指标和术语是一个好主意,因为这将有助于你在做出分析之前更好地理解手头的业务问题。你可以参加 Datacamp 的 这个 营销分析课程,获取特定领域的知识,从其他数据科学有志者中脱颖而出。

为了更好地了解公司对数据科学家的期望,看看惠普的职位列表:

HP Machine Learning Job Description

根据 Glassdoor 的数据,美国数据科学家的平均工资为每年 143971 美元。在大型科技公司,如 【谷歌】Meta苹果 ,这个数字会增加,每年从 15 万美元到 17 万美元不等。

2。MLOps 工程师

MLOps 工程师生产和扩展由数据科学家构建的预测模型。他们的工作是将数据科学代码转换成用户可以与之交互的功能性最终产品。

下面是一个你作为 MLOps 工程师将要完成的任务的例子:

你加入了一家航空公司,那里的数据科学家建立了一个机器学习算法,来预测最有可能购买航班保险的用户。整个模型是在一个 Jupyter 笔记本上创建的,你需要把它嵌入到公司的网站上。

你构建的系统应该能够根据用户采取的行动将他们重定向到网站上的不同接触点。例如,如果机器学习算法预测客户可能会购买保险,他们将被重定向到一个介绍不同航班保险计划的网页。

在部署了机器学习算法之后,您需要实现一个可以不时地持续监控模型性能的流程。现实世界的数据总是在变化,因此预测模型可能会退化。必须偶尔检查度量和日志,以了解哪里出了问题,如果模型在生产中表现不佳,可能必须重新培训。

需要时,您还需要执行数据和模型版本控制。必须跟踪对训练数据集或预测算法的任何修改,并且应该保留以前的版本,以确保可以随时恢复它们。

最后,作为一名 MLOps 工程师,您必须验证您构建的系统是安全的,并且没有任何敏感的用户数据遭到破坏。为了实现这一点,您可以实现访问控制机制,验证所创建的基础结构符合遵从性策略,并引入有效的模型报告功能。

成为 MLOps 工程师所需的技能:

作为一名 MLOps 工程师,您通常不需要从头开始构建预测算法。然而,您仍然需要使用机器学习库,如 Tensorflow、Keras 和 PyTorch,所以请确保将这些库添加到您的工具箱中。

你还需要理解 ML 算法的基础,因为你的大部分工作涉及重构数据科学家的代码,并使它们为生产做好准备。

最后,因为你的主要任务是自动化机器学习工作流,所以你需要了解软件开发和 MLOps 概念,如 CI/CD 管道。

为了更好地了解公司对 MLOps 工程师的期望,请看一下 multiply 列出的 MLOps 工程师职位清单:

Manifold MLOps Job Description

美国 MLOps 工程师平均工资为【118,278 美元/年。然而,在像华特·迪士尼公司 这样的大型组织中,这个数字每年可高达 15 万美元。

3。机器学习工程师

虽然数据科学家的工作围绕着建立预测模型,但机器学习工程师设计的是最终用户可以与之互动的可扩展的人工智能产品。

机器学习工程师和数据科学家之间有一些不同。

数据科学家主要用 R 或 Python 编写代码,分析数据,并建立预测模型来解决公司的业务问题。他们的大部分工作是高度统计性的,围绕着产生商业洞察力。

另一方面,机器学习工程师负责构建和训练机器学习管道。在某些情况下,他们还执行 MLOps 任务,例如将这些模型投入生产,并在必要时持续监控和重新训练预测算法。

这里有一个你作为机器学习工程师将要从事的任务的例子:

你被一家音乐流媒体公司录用,加入了产品团队。您需要构建一个推荐系统管道,并将该模型投入生产。您部署的应用程序应该接收用户数据,并根据每个客户现有的音乐偏好为他们提供个性化的建议。您还需要持续监控模型性能,并在必要时重新训练推荐系统。

成为机器学习工程师所需技能:

机器学习工程师位于数据科学和软件工程的交叉点,被期望对这两个领域都有所了解。如果你想成为一名机器学习工程师,一定要学习统计学、概率和机器学习建模的基础知识。

你还需要理解软件工程的原则,比如抽象、模块化和版本控制,因为你将创建可扩展的应用程序,与最终用户进行交互。

最后,作为一名机器学习工程师,你需要掌握 MLOps 的知识,并且必须精通将数据科学模型投入生产时所涉及的最佳实践。

下面是 Spotify 的机器学习工程师职位列表截图:

Spotify Machine Learning Engineer Job Description

据 Glassdoor 报道,美国 的平均机器学习工程师工资每年 13.1001 万美元。然而,像Meta网飞 ,以及 苹果 这样的大公司为一个 ML 工程师角色提供超过 15 万美元的基本工资,这与他们的数据科学家工资相当。

如果你想学习成为一名机器学习工程师所必需的技能,Datacamp 的 机器学习基础与 Python 课程是一个很好的起点。

你也可以阅读 这篇 的文章,进一步了解机器学习工程师的角色以及你如何成为一名机器学习工程师。

免责声明: 数据科学家、机器学习工程师和 MLOps 工程师的角色有很多重叠。虽然本文根据传统定义对这三个职位进行了解释,但是公司也可以互换这些职位。

4。数据科学顾问

作为一名数据科学顾问,你将与一家咨询公司合作,为他们的客户提供机器学习和人工智能解决方案。

在典型的数据科学角色中,您为固定领域的单个公司工作,并解决组织内的业务问题。然而,作为一名顾问,你将与不同行业的客户一起从事许多不同的项目。

有两种类型的数据科学顾问。第一种是机器学习策略顾问,他提出了一个人工智能驱动的策略来解决他们客户的问题,但并没有实际实施它。麦肯锡(McKinsey)和波士顿咨询公司(BCG)等顶级咨询公司就属于这一类,它们的顾问将解决方案概念化,而不是实际构建端到端的系统。

第二种数据科学顾问是构建者。像德勤和埃森哲这样的公司就属于这一类,他们的数据科学家实际上为他们的客户实现了全功能的 AI 产品。

成为数据科学顾问所需的技能:

标准数据科学家的角色和数据科学顾问的角色有很多重叠。他们都被期望知道如何构建机器学习算法,分析大量数据,并利用他们的专业知识增加商业价值。

然而,由于数据科学顾问需要与客户互动,他们通常还需要具备非凡的沟通和演示技能。咨询顾问的最大优势是他们能够将数据转化为可操作的见解,这些见解可以被非技术人员轻松消化。

如果你有兴趣成为一名数据科学顾问,并希望磨练自己在数据故事方面的技能,你可以参加 Datacamp 的这个 数据通信概念 课程。

此外,由于顾问为各种各样的客户从事许多不同的项目,他们需要能够使用各种各样的工具。例如,虽然大多数公司将 R 或 Python 列为获得机器学习工作的先决条件,但麦肯锡通常要求候选人精通这两种语言才能成为顾问。

以下是麦肯锡一名数据科学顾问的职位描述截图:

McKinsey Data Science Consultant Job Description

根据 Glassdoor 的数据,数据科学顾问的平均工资为【112595 美元/年 。然而,顶级咨询公司如 麦肯锡BCG平均每年支付他们的数据科学顾问 15 万到 20 万美元。

5。机器学习研究科学家

数据科学家构建机器学习模型来驱动商业价值,而研究科学家从头开始创建定制的人工智能解决方案。机器学习研究员在学术机构或像谷歌这样资助研究的大公司工作。

机器学习研究是理论密集型的,研究人员通常专注于开发新的机器学习模型或提高现有算法的性能。

机器学习从业者和研究科学家之间形成了鲜明的对比。

在 ML 研究中,即使模型精度有 0.2%的微小提高也可以被认为是一个突破,值得写一篇论文。相比之下,为组织实施机器学习解决方案的人不会真的关心性能的小幅提高,特别是如果这是以公司时间和计算能力为代价的话。

此外,虽然机器学习行业的从业者通常是能够管理端到端项目工作流的多面手,但研究人员在该领域的某个方面高度专业化,并继续在该特定领域做出发现。

成为机器学习研究科学家所需的技能:

由于机器学习研究人员是高度专业化的学者,他们通常需要拥有硕士或博士学位,应该能够熟练地撰写研究论文,并且必须知道至少一种编程语言。优化或回归分析等特定领域的机器学习技能也是必要的。

下面是谷歌对一名机器学习研究科学家的职位描述截图:

Google Machine Learning Research Scientist Job Description

根据 Glassdoor,一个机器学习研究科学家的平均年薪是$ 151124

如果你想成为一名机器学习研究科学家,但不知道从哪里开始,请查看 Datacamp 的这个 机器学习科学家与 Python 学习跟踪。

6。计算机视觉工程师

作为一名计算机视觉工程师,你将为各种组织用例开发对象检测、人脸识别和姿态估计模型。

例如,如果你在一家开发安全解决方案的公司工作,你的任务可能是开发一个入侵检测系统,以便及时识别和防止威胁的发生。

计算机视觉工程师的角色是高度专业化的,因为他们的关注领域仅限于一个领域。雇用计算机视觉工程师的公司通常要么希望他们在该领域提出一个新颖的解决方案,要么改进现有的解决方案。

这与 ML engineering 等通才角色不同,在 ML engineering 中,预先训练的模型或现有的软件包可以用来解决业务问题。

成为计算机视觉工程师所需的技能:

要成为一名计算机视觉工程师,你需要有很强的编程能力,以及一些软件工程原理的知识。学会解决 DSA(数据结构和算法)问题,因为这些问题在面试中经常被问到。

由于你将构建计算机视觉应用,你需要知道如何将公司的要求转化为最终产品。因此,你应该对系统设计有所了解。

最后,学习微积分、统计学、数学优化和线性代数,因为这些是机器学习算法的组成部分。如果你是机器学习初学者,缺乏所需的基础数学知识,可以先上 Datacamp 的 线性代数入门 课程。

如果你想更好地了解成为一名计算机视觉工程师所需的技能,看看特斯拉的工作列表:

Tesla Computer Vision Engineer Job Description

根据 Glassdoor 的数据,计算机视觉工程师的平均年薪为【121,369 美元 。在 MetaApple这样的公司,这个数字每年可以上升到 15 万-20 万美元。

7 .。机器学习导师

在获得该领域的熟练程度后,您可以开始创建关于该主题的内容,以教育机器学习的有志之士。机器学习的领域很广,许多来自不同背景的学生都在尝试在线自学课程材料。

像 DataCamp 这样的在线学习网站经常在寻找能够满足这些学生需求的培训师,你可以随时在平台上申请成为讲师

如果你心中有特定的主题想与机器学习社区分享,YouTube 和 Udemy 也是很好的起点。

除了有一份全职工作,这些都是利用你的专业知识建立一个被动收入流的好方法。

成为机器学习导师所需技能:

作为一名机器学习讲师,你需要具备非凡的沟通技巧,并且应该能够将高度技术性的概念分解给非技术观众。一般来说,你应该有一些在机器学习领域工作的经验,但这并不总是一个硬性要求,只要你能证明你在所教的学科中有足够的知识深度。

下面是一个名为 FourthBrain 的在线学习平台发布的机器学习讲师职位列表截图:

FourthBrain Machine Learning Instructor Job Description

根据 Glassdoor 的数据,美国机器学习培训师的平均年薪为【124812 美元 。然而,由于大多数公司都是以自由职业者的身份雇佣讲师,或者根据课程收入来支付他们,所以这个数额可能会有所不同。例如,像何塞·波尔蒂利亚这样的 Udemy 顶级机器学习导师仅从他们的在线课程中就赚了大约【100 万到 400 万 美元。

决定机器学习的职业道路

从上面列出的职业选择中你可以看出,对于来自不同背景的人来说,机器学习是一个充满机遇的领域。该行业的工作报酬很高,年薪为 10 万美元,处于工资级别的低端。

如果你正在寻找机器学习的角色,数据科学是你的职业选择之一,但它不是唯一的选择。选择一个符合你的目标和价值观的角色是很重要的,所以要花时间选择一份你最感兴趣的工作。

例如,如果你喜欢每天与人交流,并且天生具有很强的说服力,你可能会成为一名数据科学顾问或讲师。但是,如果你是一个更喜欢编程和创建端到端产品的技术人员,那么你应该考虑从事机器学习或 MLOps 工程方面的职业。

如果你倾向于语音识别或计算机视觉等特定领域,机器学习研究等专业角色可以成为令人满意的职业。你是否曾经觉得帮助构建特斯拉的物体检测系统以提高汽车的自动驾驶能力可能是一件令人兴奋的事情?如果是这样的话,计算机视觉工程的工作可能适合你。

最终,所有机器学习角色的薪酬都很高,并且有持续增长和改进的空间。没有一份工作严格来说比另一份更好,做出最终的职业决定完全取决于你自己的兴趣和能力。

顶级机器学习用例及算法

原文:https://web.archive.org/web/20221210075939/https://www.datacamp.com/blog/top-machine-learning-use-cases-and-algorithms

机器学习可以说是数据科学和人工智能最突出和最明显的用例的原因。从特斯拉的自动驾驶汽车到 DeepMind 的 AlphaFold 算法,基于机器学习的解决方案已经产生了令人惊叹的结果,并进行了大量宣传。但是机器学习到底是什么?它是如何工作的?最重要的是,这值得大肆宣传吗?本文提供了关键机器学习算法的直观定义,概述了它们的一些关键应用,并提供了如何开始机器学习的资源。

什么是机器学习?

简而言之,机器学习是人工智能的一个子领域,其中计算机根据直接从数据中学习的模式提供预测,而无需显式编程。你会注意到在这个定义中,机器学习是人工智能的一个子领域。因此,让我们将定义分解为更多细节,因为机器学习、人工智能、深度学习甚至数据科学等术语经常被互换使用。

人工智能

人工智能的最佳定义之一来自谷歌大脑的联合创始人、前百度首席科学家吴恩达。根据安德鲁的说法,人工智能是一个“让计算机智能运行的庞大工具集。”这可以包括从计算器等明确定义的系统到垃圾邮件检测器等基于机器学习的解决方案。

机器学习

如上所述,机器学习是人工智能的一个子领域,其中算法从历史数据中学习模式,并通过将这些学习到的模式应用于新数据来提供基于这些模式的预测。传统上,简单、智能的系统(如计算器)由开发人员明确编程为明确定义的步骤和过程(即,如果这个,那么那个)。然而,对于更高级的问题,这是不可伸缩的或不可能的。

让我们以垃圾邮件过滤器为例。开发人员可以通过显式定义垃圾邮件过滤器来尝试和创建它们。例如,他们可以定义一个程序,如果电子邮件有特定的主题行或包含特定的链接,该程序就会触发垃圾邮件过滤器。然而,一旦垃圾邮件发送者改变策略,这个系统将被证明是无效的。

另一方面,基于机器学习的解决方案将接受数百万封垃圾邮件作为输入数据,通过统计关联学习垃圾邮件的最常见特征,并根据学习到的特征对未来的邮件进行预测。

深度学习

深度学习是机器学习的一个子领域,可能是流行文化中最明显的机器学习用例的原因。深度学习算法受到人脑结构的启发,需要难以置信的大量数据进行训练。它们通常用于最复杂的“认知”问题,如语音检测、语言翻译、自动驾驶汽车等。

数据科学

与机器学习、人工智能和深度学习相比,数据科学的定义相当宽泛。简而言之,数据科学就是从数据中提取价值和洞察力。这种价值可能以使用机器学习的预测模型的形式出现,但也可能意味着通过仪表板或报告展现洞察力。在本文中阅读更多关于数据科学家的日常任务的信息。

image12.png

除了垃圾邮件检测,一些常见的机器学习应用程序包括基于人口统计数据的客户细分(销售和营销)、股票价格预测(金融)、索赔审批自动化(保险)、基于观看历史的内容推荐(媒体和娱乐)等等。机器学习已经变得无处不在,并在我们的日常生活中找到了各种应用。

在本文的最后,我们将分享许多资源,让你开始学习机器。

不同类型的机器学习

现在,我们已经给出了机器学习的概述,以及它在这个领域中可能遇到的其他流行词汇中的位置,让我们更深入地了解不同类型的机器学习算法。机器学习算法大致分为监督学习、非监督学习、强化学习和自我监督学习。让我们更详细地了解它们以及它们最常见的用例。

监督机器学习

大多数机器学习用例都围绕着算法从历史数据中学习模式,并以预测的形式将它们应用到新数据中。这通常被称为监督学习。监督学习算法显示了我们试图解决的特定问题的历史输入和输出,其中输入本质上是我们试图预测的观察的特征或维度,而输出是我们想要预测的结果。让我们用垃圾邮件检测的例子来说明这一点。

在垃圾邮件检测用例中,将在垃圾邮件数据集上训练监督学习算法。输入将是关于电子邮件的特征或维度,例如电子邮件主题行、发件人的电子邮件地址、电子邮件的内容、电子邮件是否包含看起来危险的链接,以及可以给出关于电子邮件是否是垃圾邮件的线索的其他相关信息。

image11.jpg

输出将是该电子邮件实际上是否是垃圾邮件。在模型学习阶段,该算法学习一个函数来映射一组输入变量(垃圾邮件的不同维度)和输出变量(是否是垃圾邮件)之间的统计关系。然后,使用这种功能映射来预测以前看不到的数据的输出。

监督学习用例大致有两种类型:

  • 回归:回归用例是指我们试图预测一个范围内的连续结果。一个很好的例子是基于房子的面积、位置、卧室数量和其他相关尺寸的房价预测。
  • 分类:分类用例是指我们尝试对一个结果是否属于两个或更多类别进行分类。垃圾邮件检测器是分类模型(要么是垃圾邮件,要么不是垃圾邮件),但其他分类用例包括客户流失预测(将流失或不流失),识别图片中的汽车(多个类别),等等。

在接下来的一节中,我们将更详细地研究特定的监督学习算法及其一些用例。

无监督机器学习

无监督学习算法不是学习将输入映射到输出的模式,而是发现数据中的一般模式,而不明确显示输出。无监督学习算法通常用于对不同的对象和实体进行分组和聚类。无监督学习的一个很好的例子是客户细分。公司通常有各种各样的客户角色。组织通常希望有一种基于事实的方法来识别他们的客户群,以便更好地为他们服务。进入无监督学习。

在这个用例中,无监督学习算法将根据各种属性来学习客户群,例如他们使用产品的次数、他们的人口统计数据、他们与产品的交互方式等等。然后,相同的算法可以基于相同的维度预测新客户属于哪个可能的细分市场。

image15.png

来源

无监督算法也用于通过使用维度减少技术来减少数据集中的维度(即,特征的数量)。这些算法通常用作训练监督学习算法的中间步骤。

数据科学家在训练机器学习算法时经常面临的一个很大的权衡是性能与预测准确性。一般来说,他们对特定问题了解得越多越好。然而,这也可能导致缓慢的训练时间和表现。降维技术有助于减少数据集中的特征数量,而不会牺牲预测价值。

强化学习

强化学习是机器学习算法的一个子集,它利用奖励来促进期望的行为或预测,否则就是惩罚。虽然相对而言仍是机器学习的一个研究领域,但强化学习负责在国际象棋、围棋等游戏中超越人类智能的算法。

这是一种行为建模技术,模型通过不断与环境交互的试错机制来学习。让我们用象棋的例子来说明这一点。在高层次上,强化学习算法(通常称为 agent)被提供了一个环境(棋盘),在这个环境中它可以做出各种决策(走棋)。

每一步都有一组相关的分数,对导致代理人获胜的行为给予奖励,对导致代理人失败的行为给予惩罚。

代理不断与环境互动,以学习收获最多回报的动作,并不断重复这些动作。这种促进行为的重复被称为开发阶段。当代理寻找新的途径来获得奖励时,这被称为探索阶段。更一般地说,这被称为探索-开发范例。

image10.png

来源

自我监督机器学习

自我监督学习是一种数据高效的机器学习技术,其中模型从未标记的样本数据集进行学习。如下例所示,第一个模型输入了一些未标记的输入图像,它使用这些图像生成的特征对这些图像进行聚类。

这些例子中的一些将具有属于聚类的高置信度,而其他的则没有。第二步使用来自第一步的高置信度标记数据来训练分类器,该分类器往往比一步聚类方法更强大。

image5.png

来源

自监督算法和监督算法之间的区别在于,前者的分类输出仍然没有映射到真实对象的类。它不同于监督学习,因为它不依赖于人工标记的集合,而是自己生成标签,因此得名自学习。

最流行的机器学习算法的分类

下面,我们概述了一些顶级的机器学习算法及其最常见的用例。

顶级监督机器学习算法

线性回归

一种简单的算法模拟一个或多个解释变量和连续数字输出变量之间的线性关系。与其他机器学习算法相比,它的训练速度更快。它最大的优势在于能够解释和诠释模型预测。这是一种回归算法,用于预测客户生命周期价值、房价和股价等结果。

image13.png

您可以在 Python 教程的线性回归基础中了解更多信息。如果你对回归分析有兴趣,DataCamp 上的这个非常受欢迎的课程是你的合适资源。

决策树

决策树算法是决策规则的树状结构,应用于输入要素以预测可能的结果。它可用于分类或回归。决策树预测为医疗专家提供了很好的帮助,因为它可以直接解释这些预测是如何做出的。

如果有兴趣学习如何使用 Python 构建决策树分类器,可以参考本教程。此外,如果你更习惯使用 R,那么你将从这个教程中受益。DataCamp 上还有一个全面的决策树课程

image8.png

来源

随机森林

它可以说是最流行的算法之一,并且建立在决策树模型中明显可见的过度拟合的缺点之上。过度拟合是指算法在训练数据上训练得太好,而它们无法对看不见的数据进行归纳或提供准确的预测。随机森林通过在从数据中随机选择的样本上构建多个决策树来解决过度拟合的问题。最佳预测形式的最终结果来自森林中所有树的多数投票。

image2.png

来源

它用于分类和回归问题。它在特征选择、疾病检测等方面有应用。你可以从 DataCamp 上这个非常受欢迎的课程中了解更多关于基于树的模型和集合(组合不同的单个模型)的信息。你也可以在这篇基于 Python 的教程中了解更多关于实现随机森林模型

支持向量机

支持向量机,俗称 SVM,一般用于分类问题。如下例所示,SVM 找到了一个超平面(本例中为直线),该超平面将两个类(红色和绿色)分开,并最大化了它们之间的边距(虚线之间的距离)。

image9.png

来源

SVM 通常用于分类问题,但也可用于回归问题。它用于对新闻文章和手写识别进行分类。在这篇 scikit-learn SVM 教程中,你可以阅读更多关于不同类型的内核技巧以及 python 实现。你也可以遵循这个教程,在这里你将复制 R 中的 SVM 实现

梯度推进回归器

梯度推进回归是一种集成模型,它将几个弱学习器结合起来,形成一个稳健的预测模型。它擅长处理数据中的非线性和多重共线性问题。

image7.png

来源

如果您从事拼车业务,并且需要预测拼车费用金额,那么您可以使用梯度推进回归器。如果你想了解渐变增强的不同风味,那么你可以在 DataCamp 上观看这个视频。

顶级无监督机器学习算法

k 均值聚类

K-Means 是使用最广泛的聚类方法,它基于欧几里德距离确定 K 个聚类。这是一个非常受欢迎的客户细分和推荐系统的算法。

image3.png

来源

这篇教程是学习 K-means 聚类的很好的资源。

主成分分析

主成分分析(PCA)是一种统计过程,用于通过将其投影到较低维度的子空间来总结来自大型数据集的信息。它也被称为降维技术,确保保留具有更高信息的数据的基本部分。

image1.png

来源

从本教程中,您可以在两个流行的数据集乳腺癌和 CIFAR-10 上实践动手 PCA 实现

分层聚类

这是一种自下而上的方法,其中每个数据点被视为其自己的聚类,然后最接近的两个聚类被迭代地合并在一起。与 K-means 聚类相比,它最大的优点是不需要用户一开始就指定期望的聚类数。它在基于相似性的文档聚类中得到应用。

image16.png

来源

你可以在 DataCamp 使用本课程的scipy库学习各种无监督学习技术,比如层次聚类和 K-means 聚类。此外,你还可以从这门课中学习如何应用聚类技术从未标记的数据中获得洞察力。

高斯混合模型

它是一种概率模型,用于对数据集中的正态分布聚类进行建模。它不同于标准的聚类算法,因为它估计一个观察值属于一个特定聚类的概率,然后对其子群体进行推断。

image4.png

来源

您可以在这里找到一站式课程整理,涵盖基于模型的聚类、混合模型的结构等基本概念。您还将使用 flexmix 软件包实践高斯混合建模。

Apriori 算法

一种基于规则的方法,使用频繁项集属性的先验知识来标识给定数据集中最频繁的项集。市场购物篮分析采用这种算法来帮助亚马逊和网飞这样的巨头将关于他们用户的大量信息转化为简单的产品推荐规则。它分析了数以百万计的产品之间的关联,揭示了深刻的规则。

DataCamp 提供了两种语言的综合课程——PythonR

image6.png

来源

如何学习机器学习

机器学习不再只是一个时髦词。许多组织正在部署机器学习模型,并已经从预测性洞察中实现了收益。不用说,市场上对高技能机器学习从业者的需求很大。下面,您会发现一个资源列表,可以快速帮助您提升机器学习概念的技能。下面是分享的内容:

您需要了解的 17 种顶级 MLOps 工具

原文:https://web.archive.org/web/20221210075939/https://www.datacamp.com/blog/top-mlops-tools

正如我们在关于 MLOps 入门的文章中所探讨的,MLOps 构建在 DevOps 的基础之上,这是一种高效编写、部署和运行企业应用的软件开发策略。

这是一种大规模管理机器学习项目的方法。MLOps 增强了开发、运营和数据科学团队之间的协作。结果,您获得了更快的模型部署、优化的团队生产力、风险和成本的降低,以及生产中的连续模型监控。

通过阅读我们的博客了解 MLOps 的过去、现在和未来,了解 MLOps 为什么重要以及它旨在解决什么问题。

在这篇文章中,我们将了解用于模型开发、部署和监控的最佳 MLOps 工具,以标准化、简化和精简机器学习生态系统。

实验跟踪和模型元数据管理工具

这些工具允许您管理模型元数据并帮助进行实验跟踪:

1.MLFlow

MLflow 是一款开源工具,可以帮助你管理机器学习生命周期的核心部分。它通常用于实验跟踪,但也可以用于可再现性、部署和模型注册。您可以使用 CLI、Python、R、Java 和 REST API 来管理机器学习实验和模型元数据。

MLflow 有四个核心功能:

  1. MLflow Tracking :存储和访问代码、数据、配置和结果。
  2. MLflow 项目:打包数据科学源,实现再现性。
  3. MLflow Models :向各种服务环境部署和管理机器学习模型。
  4. MLflow Model Registry :中央模型库,提供版本控制、阶段转换、注释和管理机器学习模型。

MLFlow

作者图片

2.彗星 ML

Comet ML 是一个追踪、比较、解释、优化机器学习模型和实验的平台。你可以在任何机器学习库中使用它,比如 Scikit-learn、Pytorch、TensorFlow 和 HuggingFace。

Comet ML 面向个人、团队、企业和学术界。它让任何人都可以很容易地可视化和比较实验。此外,它使您能够可视化来自图像、音频、文本和表格数据的样本。

Comet ML

来自彗星 ML 的图像

3.权重和偏差

权重&偏差是一个 ML 平台,用于实验跟踪、数据和模型版本化、超参数优化和模型管理。此外,您可以使用它来记录工件(数据集、模型、依赖项、管道和结果)并可视化数据集(音频、视觉、文本和表格)。

Weights & Biases 有一个用户友好的中央仪表盘,用于机器学习实验。和 Comet ML 一样,可以和其他机器学习库整合,比如 Fastai,Keras,PyTorch,Hugging face,Yolov5,Spacy 等等。

Weights & Biases

来自重量和偏差的 Gif

:您也可以使用 TensorBoard、Pachyderm、DagsHub 和 DVC 工作室进行实验跟踪和 ML 元数据管理。

流程编排和工作流管道 MLOps 工具

这些工具可帮助您创建数据科学项目和管理机器学习工作流:

4.长官

perfect是一个现代化的数据堆栈,用于监控、协调和编排应用程序之间的工作流。它是一个开源的轻量级工具,为端到端的机器学习管道而构建。

您可以使用 Prefect Orion UI 或 Prefect Cloud 作为数据库。

Prefect Orion UI 是一个开源的、本地托管的编排引擎和 API 服务器。它让您深入了解本地 Prefect Orion 实例和工作流。

Prefect Cloud 是一个托管服务,用于可视化流程、流程运行和部署。此外,您可以管理帐户、工作区和团队协作。

Prefect

完美的形象

5.元流

Metaflow 是一个强大的、久经沙场的工作流管理工具,用于数据科学和机器学习项目。它是为数据科学家而构建的,因此他们可以专注于构建模型,而不是担心 MLOps 工程。

使用 Metaflow,您可以设计工作流程,在秤台上运行工作流程,并在生产中部署模型。它自动跟踪和版本化机器学习实验和数据。此外,您可以在笔记本中可视化结果。

Metaflow 可以与多种云(包括 AWS、GCP 和 Azure)和各种机器学习 Python 包(如 Scikit-learn 和 Tensorflow)一起工作,API 也可用于 R 语言。

Metaflow

图元流中的图像

6. Kedro

Kedro 是一个基于 Python 的工作流编排工具。您可以使用它来创建可再现的、可维护的和模块化的数据科学项目。它将软件工程的概念整合到机器学习中,如模块化、关注点分离和版本控制。

使用 Kedro,您可以:

  1. 设置依赖关系和配置。
  2. 设置数据。
  3. 创建、可视化和运行管道。
  4. 记录和实验跟踪。
  5. 单台或分布式计算机上的部署。
  6. 创建可维护的数据科学代码。
  7. 创建模块化、可重用的代码。
  8. 在项目上与队友协作。

Kedro

来自 Kedro 的 Gif

注意:您也可以使用 Kubeflow 和 DVC 进行流程编排和工作流管道。

数据和管道版本控制工具

借助这些 MLOps 工具,您可以管理与数据和管道版本相关的任务:

7.迟钝的人

Pachyderm 通过 Kubernetes 上的数据版本、血统和端到端管道实现数据转换自动化。您可以与任何数据(图像、日志、视频、CSV)、任何语言(Python、R、SQL、C/C++)以及任何规模(数 Pb 的数据、数千个作业)集成。

社区版是开源的,面向一个小团队。需要高级功能的组织和团队可以选择企业版。

就像 Git 一样,您可以使用类似的语法对数据进行版本控制。在 Pachyderm 中,对象的最高级别是 Repository,您可以使用提交、分支、文件、历史和出处来跟踪和版本化数据集。

Pachyderm

图片来自厚皮动物

8.数据版本控制(DVC)

数据版本控制是一个开源的、流行的机器学习项目工具。它与 Git 无缝协作,为您提供代码、数据、模型、元数据和管道版本。

DVC 不仅仅是一个数据跟踪和版本控制工具。

您可以将它用于:

  • 实验跟踪(模型度量、参数、版本)。
  • 创建、可视化和运行机器学习管道。
  • 部署和协作的工作流程。
  • 再现性。
  • 数据和模型注册。
  • 使用 CML 进行机器学习的持续集成和部署。

DVC

图片来自 DVC

注意 : DagsHub 也可以用于数据和管道版本控制。

模型部署和服务工具

在部署模型时,这些 MLOps 工具非常有用:

9.TensorFlow 扩展(TFX)服务

TensorFlow Extended (TFX)服务帮助您将经过训练的模型部署为端点。有了 TFX,你现在可以实验、训练、部署和维护机器学习模型。它允许您使用 TFX CLI 创建 REST API。

TensorFlow 服务是健壮的、灵活的和可伸缩的,它带有一个负载平衡器来管理大量的请求。您可以使用 Docker 和 Kubernetes 提供预测服务,或者使用独特的配置构建模型服务器。

TensorFlow 服务通过发起批量请求来保持硬件效率。此外,它提供了模型版本化和管理。缺点是,它只适用于 Tensorflow 模型。

import tempfile

MODEL_DIR = tempfile.gettempdir()
version = 1
export_path = os.path.join(MODEL_DIR, str(version))
print('export_path = {}\n'.format(export_path))

tf.keras.models.save_model(
    model,
    export_path,
    overwrite=True,
    include_optimizer=True,
    save_format=None,
    signatures=None,
    options=None
)

os.environ["MODEL_DIR"] = MODEL_DIR
nohup tensorflow_model_server \
  --rest_api_port=8501 \
  --model_name=fashion_model \
  --model_base_path="${MODEL_DIR}" >server.log 2>&1

10.BentoML

BentoML 让机器学习应用的发布变得更加简单快捷。它是 Python 首创的工具,用于在生产中部署和维护 API。它通过运行并行推理和自适应批处理进行强大的优化,并提供硬件加速。

BentoML 的交互式集中式仪表板使部署机器学习模型时易于组织和监控。最棒的是,它可以与各种机器学习框架配合使用,如 Keras、ONNX、LightGBM、Pytorch 和 Scikit-learn。简而言之,BentoML 为模型部署、服务和监控提供了完整的解决方案。

BentoML

图片来自 BentoML

11.皮质

Cortex 让你在生产中部署、管理和扩展机器学习模型。它是一个开源、灵活、多框架的模型服务和监控工具。

Cortex 扩展到 Docker、Kubernetes、TensorFlow Serving、TorchServe 和其他 ML 库。它通过提供可扩展的端点来管理负载。此外,您可以在单个 API 端点上部署多个模型,并且它支持用于保护 API 的自动伸缩特性。这是一个 MLOps 工具,允许您完全控制模型管理操作。

create or update apis

Usage:
  cortex deploy [CONFIG_FILE] [flags]

Flags:
  -e, --env string      environment to use
  -f, --force           override the in-progress api update
  -y, --yes             skip prompts
  -o, --output string   output format: one of pretty|json (default "pretty")
  -h, --help            help for deploy

注意:您还可以使用 MLflow、Kubeflow 和 AWS sagemaker 进行模型部署和服务。

生产 ML Ops 工具中的模型监控

无论您的 ML 模型是处于开发、验证还是部署到生产中,这些工具都可以帮助您监控一系列因素:

12.明显地

显然,AI 是一个开源的 Python 库,用于在开发、验证和生产过程中监控 ML 模型。它检查数据和模型质量、数据漂移、目标漂移以及回归和分类性能。

显然有三个主要组成部分:

  1. 测试(批量模型检查):用于执行结构化数据和模型质量检查。
  2. 报告(交互式仪表盘):交互式数据漂移、模型性能和目标虚拟化。
  3. 监视器(实时监视):监视来自已部署的 ML 服务的数据和模型度量。

Evidently

图片显然来自

13.游手好闲的人

Fiddler AI 是一个 ML 模型监控工具,有一个简单易用,清晰的用户界面。它允许您解释和调试预测,分析整个数据集的模式行为,大规模部署机器学习模型,以及监控模型性能。

让我们看看 ML 监控的主要 Fiddler AI 特性:

  • 性能监控:对数据漂移、漂移时间以及漂移方式的深度可视化。
  • 数据完整性:避免为模型训练输入不正确的数据。
  • 跟踪异常值:显示单变量和多变量异常值。
  • 服务指标:显示对 ML 服务操作的基本洞察。
  • 预警:为一个模型或一组模型设置预警,对生产中出现的问题进行预警。

Fiddler

图片来自 Fiddler

14.Censius AI

Censius 是一个端到端的人工智能可观察性平台,提供自动监控和主动故障排除。它允许您监控整个 ML 管道,解释预测,并修复问题。您可以使用 Python 或 Java SDK 或 REST API 设置 Censius,并将其部署在本地或云上。

主要特点:

  • 监控性能下降、数据漂移和数据质量。
  • 实时通知,提醒未来的问题。
  • 用于数据、模型和业务指标的可定制仪表板。
  • 对 A/B 测试框架的本机支持。
  • 表格、图像和文本数据集的数据解释能力。

Censius

图片来自人口普查

:亚马逊 Sagemaker 还提供生产中的模型监控。

此外,请阅读机器学习、管道、部署和 MLOps 教程,通过代码示例了解如何将多个 MLOps 工具集成到机器学习应用中。

端到端 MLOps 平台

如果您正在寻找一个可以在整个过程中提供帮助的综合 MLOps 工具,以下是一些最佳工具:

15.AWS SageMaker

Amazon Web Services sage maker是 MLOps 的一站式解决方案。您可以培训和加速模型开发、跟踪和版本化实验、编目 ML 工件、集成 CI/CD ML 管道,以及无缝地部署、服务和监控生产中的模型。

主要特点:

  • 数据科学团队的协作环境。
  • 自动化 ML 培训工作流程。
  • 在生产中部署和管理模型。
  • 跟踪和维护模型版本。
  • 用于自动集成和部署的 CI/CD。
  • 持续监控和保留模型以保持质量。
  • 优化成本和性能。

Amazon SageMaker

图片来自亚马逊 pagemaker

16.达格舒卜

DagsHub 是一个为机器学习社区制作的平台,用于跟踪和版本化数据、模型、实验、ML 管道和代码。它允许您的团队构建、审查和共享机器学习项目。

简单来说就是一个机器学习的 GitHub,你得到各种工具来优化端到端的机器学习过程。

主要特点:

  • 您的 ML 项目的 Git 和 DVC 库。
  • DagsHub 记录器和 MLflow 实例用于实验跟踪。
  • 使用 label studio 实例的数据集注记。
  • 区分 Jupyter 笔记本、代码、数据集和图像。
  • 能够对文件、代码行或数据集进行注释。
  • 像 GitHub wiki 一样为项目创建一个报告。
  • ML 管道可视化。
  • 可重复的结果。
  • 运行 CI/CD 进行模型培训和部署。
  • 数据合并。
  • 提供与 GitHub、Google Colab、DVC、Jenkins、外部存储、webhooks 和 New Relic 的集成。

Dagshub

作者图片

17. Kubeflow

Kubeflow 让机器学习模型在 Kubernetes 上的部署变得简单、可移植、可扩展。您可以使用它进行数据准备、模型训练、模型优化、预测服务,并在生产中调整模型性能。您可以在本地、内部或云中部署机器学习工作流。简而言之,它让数据科学团队更容易使用 Kubernetes。

主要特点:

  • 具有交互式用户界面的集中式仪表板。
  • 用于再现性和流线化的机器学习管道。
  • 为 JupyterLab、RStudio 和 Visual Studio 代码提供本机支持。
  • 超参数调整和神经结构搜索。
  • Tensorflow、Pytorch、PaddlePaddle、MXNet、XGboost 的培训工作。
  • 作业调度。
  • 为管理员提供多用户隔离。
  • 与所有主要的云提供商合作。

Kubeflow

图片来自 Kubeflow

结论

我们正处于 MLOps 行业蓬勃发展的时期。每周您都会看到新的开发、新的创业公司和新的工具推出,以解决将笔记本电脑转换为生产就绪型应用程序的基本问题。甚至现有的工具也在扩展视野,集成新功能,成为超级 MLOps 工具。

在这篇博客中,我们了解了适用于 MLOps 流程各个步骤的最佳 MLOps 工具。这些工具将在实验、开发、部署和监控阶段为您提供帮助。

如果你是机器学习的新手,想要掌握作为机器学习科学家的基本技能,请尝试参加我们的机器学习科学家与 Python 职业跟踪。

如果您是专业人士,并且想要了解更多关于标准 MLOps 实践的信息,请阅读我们关于 MLOps 最佳实践以及如何应用它们的文章

MLOps 工具有助于标准化、简化和优化 ML 生态系统。这些工具用于实验跟踪、模型元数据管理、编排、模型优化、工作流版本控制、模型部署和服务以及生产中的模型监控。

  • 实施云解决方案的能力。
  • 使用 Docker 和 Kubernetes 的经验。
  • 使用实验跟踪和工作流程版本控制进行质量保证的经验。
  • 构建 MLOps 管道的能力。
  • 熟悉 Linux 操作系统。
  • 具有使用 PyTorch、Tensorflow 和 TFX 等 ML 框架的经验。
  • 拥有 DevOps 和软件开发经验。
  • 具有单元和集成测试、数据和模型验证以及部署后监控的经验。

AWS、GCP 和 Azure 为机器学习生命周期提供了各种工具。它们都为 MLOps 提供端到端的解决方案。AWS 在知名度和市场份额方面领先。它还为模型训练、服务和监控提供了简单的解决方案。

这取决于你以前的经验。要掌握 MLOps,你需要同时学习机器学习和软件开发生命周期。除了精通编程语言之外,您还需要学习几个 MLOps 工具。DevOps 工程师学习 MLOps 很容易,因为大多数工具和策略都是由软件开发驱动的。

这取决于使用案例。Kubeflow 提供了比 MLflow 更高层次的可再现性,因为它管理编排。

  • Kubeflow 一般用于大规模部署和管理复杂的 ML 系统。
  • MLFlow 一般用于 ML 实验跟踪,存储和管理模型元数据。

两者都是软件开发策略。DevOps 专注于开发和管理大规模软件系统,而 MLOps 专注于在生产中部署和维护机器学习模型。

  • DevOps: 持续集成(CI)和持续交付(CD)。
  • MLOps: 持续集成,持续交付,持续培训,持续监控。

2022 年最重要的商务智能工作

原文:https://web.archive.org/web/20230101102924/https://www.datacamp.com/blog/top-power-bi-jobs-in-2022

Power BI on mobile and desktop

如果你正在考虑从事分析或商业智能方面的职业,那么 Power BI 是添加到你简历中的最佳技能之一。Power BI 不仅提供了各种各样的工作机会,而且也是一项有助于长期职业发展的宝贵技能。

如果你不知道什么是 Power BI或者如果你对 Power BI 职业是否真的值得持观望态度,那么请继续阅读!在本文中,我们将分析 Power BI 在市场中的位置,以及 Power BI 可以提供哪些职业机会。我们将讨论你期望的薪水是多少,你应该具备什么样的技能和经验,以及每份工作都涉及到什么。

什么是 Power BI?

Power BI 是一个商业智能(BI)工具,允许您连接到各种数据源,在报告和仪表板中可视化数据,然后与您想要的任何人共享它们。一般来说,BI 的目的是跟踪关键绩效指标(KPI)并揭示业务数据中的洞察力,以便更好地为整个组织的决策提供信息。

要了解更多关于 Power BI 的知识并掌握基础知识,请查看此入门教程或考虑报名参加此 DataCamp Power BI 技能培训。

权力 BI 职业值得吗?

你可能会问自己的下一个问题是,从事商务智能是否真的值得。让我们来看看 Power BI 在市场中的定位,与其他一些流行的商业智能工具进行比较。

每年,Gartner 都会使用他们的“魔力象限”方法发布分析和商业智能市场摘要。您可以在下图中看到 2022 年分析和商业智能平台魔力象限

Magic Quadrant

这个幻方图根据愿景的完整性和执行能力对各种平台进行排名。显然,微软(Power BI)遥遥领先于其他公司。Gartner 将“领导者”描述为“今天执行相对较好,并且为明天做好准备”的人。

根据 TrustRadius 在 2021 年进行的一项分析,Power BI 被确定为 2021 年领先的 BI 软件,占据 36%的市场份额。Power BI 也是 2021 年最受关注的软件。

Business Intelligence Market Share

上述“魔力象限”和市场份额分析在探索长期职业发展的最大机会时非常有用。基于这两点,Power BI 是商业智能和分析领域的可靠职业选择。如果你有兴趣在职业生涯中的某个时候过渡到数据科学,那么在 Power BI 和 business intelligence 领域的工作是获得经验和增强技能的绝佳跳板。

Power BI 提供了哪些职业机会?

Power BI 中最常见的工作有:

  • Power BI 开发人员/分析师:专注于 Power BI
  • Power BI 顾问: Power BI 是主要技能,但通常需要更多经验和各种其他软件平台的知识
  • 商业智能开发人员/分析师:商业智能平台的范围很广,可能需要其他高级分析技能

在本文的其余部分,我们将对这些角色进行细分,重点关注以下几个主要方面:

  • 工资幅度
  • 必备技能和/或教育水平
  • 最常见的角色和职责

Power BI 开发人员/分析师

Power BI 开发人员和 Power BI 分析师都有非常相似的工作要求和薪资期望,他们的职称可以互换使用。这项工作以 Power BI 为中心,通常包括周围的微软生态系统(如 SQL Server、Azure 和 SSRS)。

根据 Glassdoor 的数据,这份工作的平均年薪是 104292 美元。这可能会因公司和工作级别的不同而有很大差异(即初级与高级)。通常,除了任何相关技能和工具之外,Power BI 还需要大约 3-5 年的经验。

这项工作需要的最常见的伴随技能是 SQL ,所以在学习 Power BI 的同时培养这项技能是个好主意。

一些工作清单提到,IT、计算机科学或类似专业的学士学位是必备条件。然而,一般来说,学士学位并不是 Power BI 中列出的大多数工作的标准要求。

角色和职责(此列表并不详尽,仅包含此工作中最常见的一些职责):

  • 根据业务需求创建、发布和维护 Power BI 报告和控制面板。
  • 写 DAX 公式。
  • 连接到各种数据源并与各种其他平台集成(例如,Salesforce、SAP、Oracle、Azure 和 SQL Server)。
  • 安装和管理 Power BI 网关。
  • 编写和优化复杂的 SQL 查询和存储过程。
  • 与其他业务单位合作,了解需求和业务问题,然后有效地交流见解和成果。

Power BI 顾问

电力商业智能顾问是一个跨多个行业的实践性更强的工作,需要更广泛的技能。这些工作通常涉及直接与客户的定期接触,并要求你能够很好地沟通,有组织能力,并能够从头到尾管理项目。

Power BI 顾问的工作以 Power BI 为中心,但也可以包括各种其他软件平台(如 Salesforce 和 SAP 等第三方软件);有时需要在 Power BI 和这些平台之间进行复杂的集成。对于脚本语言(如 Python)的知识也有更广泛的需求,以促进这些集成或复杂的分析。

根据 Glassdoor 的数据,这份工作的平均年薪是 110385 美元。这里值得注意的是,Power BI 顾问可以是全职职位,也可以是有限时间内的合同制职位。通常情况下,这些工作需要更多的经验,对于公司来说,要求 5 年以上的 Power BI 经验并不罕见。

角色和职责(此列表并不详尽,仅包含此工作中最常见的一些职责):

  • 利用 Power BI 构建端到端解决方案–从头开始规划和设计系统。
  • 能够独立工作,并在需要时作为团队的一部分。
  • 了解客户需求,利用 Power BI 提供有效的解决方案(还能够发现能够促进增长并为客户提供价值的其他机会)。
  • 确定新项目的范围,撰写项目计划并从头到尾记录项目。
  • 根据客户要求创建和发布 Power BI 报告和仪表板(项目完成后的持续维护并不总是其中的一部分)。
  • 连接到各种数据源,并与基于云的和内部部署的各种其他平台集成(例如 Salesforce、SAP、Oracle、Azure、SQL Server 和 AWS)。

商业智能开发人员/分析师

商业智能开发人员和商业智能分析师非常相似,他们的职位在许多职位列表中可以互换使用。这些工作比 Power BI 开发人员要宽泛一些,因为他们并不总是涉及 Power BI,并且可能需要 Tableau 和 Qlik 等其他平台的知识。然而,Power BI 是最常用的平台之一,在行业中非常有名,因此拥有 Power BI 作为一项技能在这些工作中具有很大的分量。你的技能也可以很容易的转移到其他平台。

在这些工作中,学士学位往往是强制性的,因为它们通常要求你进行高级分析并产生洞察力,而不仅仅依赖于特定的商业智能工具。正因为如此,可能还需要掌握足够的脚本语言(如 Python)技能以及熟练的 SQL。

根据 Glassdoor 的数据,这份工作的平均年薪是 130895 美元。

角色和职责(此列表并不详尽,仅包含此工作中最常见的一些职责):

  • 与其他业务单位和团队合作,了解需求、业务问题和业务流程,以推动解决方案。
  • 负责数据挖掘、数据转换、数据洞察、高级分析、报告及其交付。
  • 参与关于公司当前和未来数据需求的高层讨论,并就数据如何最好地支持关键业务功能提供建议。
  • 根据需要设计、实施和维护 ETL 作业和流程。
  • 根据需要设计、构建和维护 SQL 数据库。

结论

Power BI 显然是分析和商业智能市场的领导者。这意味着,在你的简历中把能力 BI 作为一项技能,将会打开各种各样的职业机会和长期发展。

如果你有兴趣从事 Power BI 职业,你应该考虑 Power BI 职业跟踪的数据分析师。该课程由微软共同创建,将为您提供通过 PL-300 考试并获得助理认证所需的知识和技能:微软认证:Power BI 数据分析师助理

我们希望这篇文章能为您提供一些在 Power BI 中可以期待的职业机会,并激励您在分析和商业智能领域开始令人兴奋的职业生涯!

2022 年数据科学家的顶级编程语言

原文:https://web.archive.org/web/20230101103026/https://www.datacamp.com/blog/top-programming-languages-for-data-scientists-in-2022

如果你正在考虑开始数据科学职业生涯,越早开始编码越好。学习编码是每个有抱负的数据科学家的关键一步。然而,开始编程可能会令人望而生畏,尤其是如果你没有以前的编码经验。

要选择合适的编程语言,首先要看数据科学家在日常工作中做些什么。数据科学家是使用数学和统计技术处理、分析和提取数据信息的技术专家。数据科学领域有许多领域,从机器学习和深度学习到网络分析、自然语言处理和地理空间分析。为了完成任务,数据科学家依靠计算机的能力。编程是一种允许数据科学家与计算机交互并向计算机发送指令的技术。

有数百种编程语言,为不同的目的而构建。其中一些更适合数据科学,提供高生产率和高性能来处理大量数据。然而,这个群体仍然包含了大量的编程语言。

在本文中,我们将探讨 2022 年的一些顶级数据科学编程语言,并展示每种语言的优势和能力。

  • 计算机编程语言
  • 稀有
  • 结构化查询语言
  • Java 语言(一种计算机语言,尤用于创建网站)
  • 朱莉娅
  • 斯卡拉
  • C/C++
  • Java Script 语言
  • 迅速发生的
  • 矩阵实验室
  • 斯堪的纳维亚航空公司

计算机编程语言

在几个编程语言流行指数中排名第一,包括 TIOBE 指数和 PYPL 指数,Python 的流行程度在最近几年蓬勃发展。Python 是一种开源的通用编程语言,不仅在数据科学行业,而且在其他领域,如 web 开发和视频游戏开发,都有广泛的适用性。

Source: TIOBE Index

你能想到的任何数据科学任务都可以用 Python 来完成。这主要得益于其丰富的图书馆生态系统。凭借其庞大的用户社区支持的数千个强大的软件包,Python 可以执行各种操作,从数据预处理、可视化和统计分析,到机器学习和深度学习模型的部署。以下是一些最常用于数据科学和机器学习的库:

NumPy 是一个流行的软件包,它提供了大量的高级数学函数。许多包都是基于 NumPy 对象的,比如著名的 Numpy 数组。

pandas 是数据科学中的一个关键库,用于执行数据库的各种操作,也称为 DataFrames。

Matplotlib :数据可视化的标准 Python 库。

scikit-learn :建立在 NumPy 和 SciPy 之上,已经成为开发机器学习算法最流行的 Python 库。

TensorFlow :由 Google 开发,是开发机器学习和深度学习算法的强大计算框架。

Keras :一个开源库,旨在训练高性能的神经网络。

由于其简单易读的语法,Python 通常被认为是初学者最容易学习和使用的编程语言之一。如果你是数据科学的新手,不知道先学哪种语言,Python 是最好的选择之一。

如果您想成为 Python 专家,DataCamp 可以提供帮助。查看我们目录中的 Python 课程,开始训练成为一名成功的数据科学家。

稀有

根据流行指数,R 还没有 Python 流行,它是有抱负的数据科学家的首选。经常在数据科学论坛上被描绘成 Python 的主要竞争对手,学习这两种语言中的一种是进入该领域的关键一步。

r 是一种开源的、特定于领域的语言,专门为数据科学而设计。在金融和学术界非常流行,R 是数据操作、处理和可视化以及统计计算和机器学习的完美语言。

Source: KDnuggets

像 Python 一样,R 有一个庞大的用户社区和大量用于数据分析的专用库。一些最著名的属于 Tidyverse 家族,一个数据科学包的集合。它包括用于数据操作的 dplyr 和功能强大的 ggplot2,这是 r 中用于数据可视化的标准库。至于机器学习任务,像 caret 这样的库将使您在开发算法时更加轻松。

尽管可以在命令行上直接使用 R,但通常使用 Rstudio,它是一个强大的第三方接口,集成了各种功能,如数据编辑器、数据查看器和调试器。

无论您是数据科学的新手,还是想要增加新的语言,学习 R 都是一个完美的选择。查看我们丰富的课程目录开始磨练你的技能。

结构化查询语言

世界上的许多数据都存储在数据库中。SQL(结构化查询语言)是一种特定于领域的语言,允许程序员与数据库通信、编辑和提取数据。如果你想成为一名数据科学家,掌握数据库和 SQL 的工作知识是必不可少的。

了解 SQL 将使您能够使用不同的关系数据库,包括 SQLite、MySQL 和 PostgreSQL 等流行系统。尽管这些关系数据库之间有微小的差异,但基本查询的语法非常相似,这使得 SQL 成为一种非常通用的语言。

无论你选择 Python 还是 R 开始你的数据科学之旅,你也要考虑学习 SQL 。由于其声明性的、简单的语法,与其他语言相比,SQL 非常容易学习,并且它会在这个过程中给你很大的帮助。

想入门 SQL?看看 DataCamp 提供的不同的 SQL 课程技能课程,做好成为查询高手的准备。

Java 语言(一种计算机语言,尤用于创建网站)

在 PYPL 指数中排名第二,在 TIOBE 指数中排名第三,Java 是世界上最流行的编程语言之一。它是一种开源的、面向对象的语言,以其一流的性能和效率而闻名。无尽的技术、软件应用和网站都依赖于 Java 生态系统。

Source: PYPL Index

尽管在开发网站或从头构建应用程序时,Java 是首选,但近年来,Java 在数据科学行业中占据了突出的地位。这主要是因为 Java 虚拟机,它为流行的大数据工具,如 Hadoop、Spark 和 Scala,提供了一个坚实而高效的框架。

由于其高性能,Java 是开发 ETL 作业和执行需要大存储和复杂处理要求的数据任务(如机器学习算法)的合适语言。

朱莉娅

Julia 可以被认为是数据科学的后起之秀。尽管是这个列表中最年轻的语言之一,(该列表于 2011 年发布),Julia 已经给数值计算界留下了深刻的印象。有时被称为 Python 的继承者,与用于数据分析的其他语言相比,Julia 是一个非常有效的工具。

尽管由于被几个主要组织(包括金融行业的许多组织)早期采用而声名狼藉,但 Julia 仍然缺乏与顶级数据科学语言竞争的成熟度。它仍然有一个小社区,并且没有它的主要竞争对手 Python 或 r 那么多的库。

朱莉娅的主要缺点是它的年轻,但有许多理由继续关注它。让我们看看它在未来几年如何演变。

斯卡拉

虽然 Scala 在编程语言的顶级排名中并不常见(它在 PYPL 指数中排名第 18,在 TIOBE 中排名第 33),但在数据科学的背景下,谈论这种编程语言是不可避免的。

Scala 最近成为机器学习和大数据的最佳语言之一。Scala 于 2004 年发布,是一种多聚合语言,被明确设计成比 Java 更清晰、更简洁的替代语言。

Scala 也运行在 Java 虚拟机上,从而允许与 Java 的互操作性,并使其成为分布式大数据项目的完美语言。比如 Apache Spark 集群计算框架就是用 Scala 写的。

#C/C++

         

作为两种优化程度最高的语言,熟悉 C 及其近亲 C++,在处理计算密集型数据科学工作时会非常有用。

C 和 C++相对来说比其他编程语言更快,这使得它们非常适合开发大数据和机器学习应用程序。包括 PyTorch 和 TensorFlow 在内的一些流行的机器学习库的核心组件都是用 C++编写的,这并不是巧合。

由于它们的低级本质,C 和 C++是最复杂的语言之一。因此,虽然它们可能不是进入数据科学世界的首选,但是一旦您对编程的基础有了扎实的了解,掌握它们是一个明智之举,可以为您的简历带来很大的不同。

Java Script 语言

根据 2021 年栈溢出开发者调查显示,JavaScript 居于首选编程语言之首。JavaScript 是一种跨领域、通用的语言,因其构建丰富的交互式网页的能力而广为人知。

Source: Stack Overflow

尽管大多数 JavaScript 用户都在 web 开发部门工作,但近年来,这种语言在数据科学行业已经声名狼藉。今天,JavaScript 支持流行的机器学习和深度学习库,如 TensorFlow 和 Keras,以及非常强大的可视化工具,如 D3。

由于流行的机器学习库的支持,以及它在 web 开发人员中的广泛流行,它对于所有想要进入数据科学的前端和后端程序员来说都是一个平稳的入门选择。

迅速发生的

Python 和 R 的一个缺点是它们都没有考虑到移动设备。在未来几年,我们可以期待移动设备、可穿戴设备和物联网的更大进步。苹果开发 Swift 是为了让创建应用程序变得更容易,并借此发展其应用程序生态系统和增加客户保留率。在 2014 年发布后不久,苹果和谷歌就开始合作,让它成为移动和机器学习相互作用的关键工具。

Swift 现在与 TensorFlow 兼容,并可与 Python 互操作。Swift 的另一个优势是,它不再局限于 iOS 生态系统,它已经开放源代码,可以在 Linux 上工作。

出于这些原因,如果你是一名移动开发者,并且对数据科学感到好奇,Swift 就是你要找的。

Go(或 GoLang)是一种越来越受欢迎的语言,尤其是对于机器学习项目。谷歌在 2009 年引入了类似 C 语言的语法和布局。根据许多开发人员的说法,Go 是 c 语言的 21 世纪版本。

在推出十多年后,由于其灵活和易于理解的语言,Go 变得非常受欢迎。在数据科学的背景下,围棋可以成为机器学习任务的良好盟友。尽管前景看好,但 Go 的数据科学社区仍然非常小。

矩阵实验室

MATLAB 是一种主要为数值计算而设计的语言。自 1984 年推出以来,MATLAB 在学术界和科学研究中被广泛采用,它提供了强大的工具来执行高级数学和统计运算,使其成为数据科学的重要候选对象。

然而,MATLAB 有一个重要的缺点:它是专有的。根据不同的情况(学术、个人或商业用途),您可能需要支付大量的资金来获得许可证,这使得它不如其他可以免费使用的编程语言有吸引力。

斯堪的纳维亚航空公司

SAS(统计分析系统)是为商业智能和高级数值计算设计的软件环境。SAS 已经存在很长时间了,它被许多领域的大公司广泛采用,为 SAS 开发者创造了一个巨大的市场。

然而,相对于 Python 和 r 等其他数据科学编程语言,SAS 正逐步失去人气。这主要是因为,正如 MATLAB 的情况一样,使用 SAS 需要许可证。这为新用户和公司创造了一个进入壁垒,他们将倾向于使用免费的开源语言。

结论

我们希望这篇文章能帮助你浏览丰富多样的数据科学编程语言。作为一名数据科学家,没有哪种语言能够绝对解决您工作中可能出现的所有问题和情况。但是,如果你是数据科学的新人,我们的建议是从选择 Python 或 R 开始,你可以报名参加我们免费的Python 入门教程R 入门教程,看看你最喜欢哪个。从那以后,成功的关键就是耐心和练习。为了获得实际编程经验,我们最近推出了 DataCamp Workspace ,这是一个编写代码、应用技能和创建数据科学组合的在线环境。

一旦你对自己选择的语言有了信心,你就可以通过扎实的 SQL 训练来提升自己。幸运的是,DataCamp 提供了大量的 SQL 课程。

从那里,天空是极限。精通多种编程语言是一项资产,根据组织的需要在不同语言之间转换将有助于您成为一名多才多艺的数据科学家,并获得更成功的职业生涯。

23 大 Python 面试问答

原文:https://web.archive.org/web/20221212135909/https://www.datacamp.com/blog/top-python-interview-questions-and-answers

Python Interview Questions

Python 是科技行业最流行的语言。在面试中,您将被要求使用 Python 解决挑战,并解释复杂的 Python 功能。要通过技术和编码阶段,你需要一个指南或模拟问题来练习。

在本帖中,我们概述了技术面试中最常见的问题。练习这些问题可以帮助数据专业人员、开发人员和软件工程师成功通过面试阶段。

基本 Python 面试问题

这些是你在初级 Python 面试中可能会遇到的一些问题。

1.你能区分列表和元组吗?

列表和元组是 Python 数据结构。列表是动态的,而元组具有静态特征。它们都有不同的优点和使用案例。

目录

list 是可变的数据类型,消耗更多的内存,更适合插入和删除元素。此外,它有几个构建函数,与 Tuple 相比,迭代的含义较慢。

举例:

a_list = ["Data", "Camp", "Tutorial"]

元组

Tuple 是一种不可变的数据类型,通常用于访问元素。它速度更快,占用的内存更少,但是缺少内置方法。

举例:

a_tuple = ("Data", "Camp", "Tutorial")

在我们的 Python 列表教程中了解更多。

2.Python 中 init()是什么?

在 OOP 术语中,它被称为构造函数。它用于在创建新对象时启动一个状态。例如,可以为对象特性指定值,或者在创建对象时运行必要的操作。

init()方法是为 Python 类保留的,在创建新对象时会自动调用该方法。

举例:

我们创建了一个“book_shop”类,并添加了构造函数和“book()”函数。构造函数将存储书名,函数' book()'将打印书名。

为了测试我们的代码,我们用“Sandman”初始化了“b”对象,并执行了“book()”函数。

class book_shop:

    # constructor
    def __init__(self, title):
        self.title = title

    # Sample method
    def book(self):
        print('The tile of the book is', self.title)

b = book_shop('Sandman')
b.book()
# The tile of the book is Sandman

3.可变数据类型和不可变数据类型有什么区别?

可变的 Python 数据类型可以被修改,并且它们可以在运行时改变,例如,列表、字典和集合。

不可变的 Python 数据类型不能更改或修改,它们在运行时保持不变,例如,数字、字符串和元组。

4.用一个例子解释列表、字典和元组理解。

目录

List comprehension 提供了一行语法来基于现有列表的值创建新列表。你可以用一个“for 循环”来复制同样的东西,但是这需要你写多行,有时会变得很复杂。

列表理解简化了基于现有 iterable 的列表创建。

my_list = [i for i in range(1, 10)]
my_list
# [1, 2, 3, 4, 5, 6, 7, 8, 9]

词典

与列表理解类似,您可以使用一行代码基于现有的表创建一个字典。您需要用花括号“{}”将操作括起来。

my_dict = {i for i in range(1, 10)}
my_dict
# {1, 2, 3, 4, 5, 6, 7, 8, 9}

元组

对于元组来说有点不同。您可以使用圆括号`()'创建元组理解,但它将返回一个生成器对象,而不是元组理解。

您可以运行循环来提取元素或将它们转换为列表。

my_tuple = (i for i in range(1, 10))
my_tuple
# <generator object <genexpr> at 0x7fb91b151430>

你可以在我们的 Python 元组教程中了解更多。

高级 Python 面试问题

这些面试问题是为更有经验的 Python 从业者准备的。

5.Python 中的猴子补丁是什么?

Python 中的 Monkey patching 是一种动态技术,可以在运行时改变代码的行为。简而言之,您可以在运行时修改类或模块。

举例:

让我们用一个例子来学习猴子打补丁。

  1. 我们创建了一个具有“patch()”函数的类“monkey”。我们还在类外创建了一个“monk_p”函数。
  2. 我们现在将通过将‘monkey . patch’分配给‘monk _ p’来用‘monk _ p’函数替换‘patch’。
  3. 最后,我们将通过使用“monkey”类创建对象并运行“patch()”函数来测试修改。

没有显示“patch()正在被调用”,而是显示了“monk_p()正在被调用”。

class monkey:
    def patch(self):
          print ("patch() is being called")

def monk_p(self):
    print ("monk_p() is being called")

# replacing address of "patch" with "monk_p"
monkey.patch = monk_p

obj = monkey()

obj.patch()
# monk_p() is being called

6.Python 的“with”语句是为了什么而设计的?

“with”语句用于异常处理,使代码更简洁。它通常用于管理公共资源,如创建、编辑和保存文件。

举例:

您可以使用“with”语句创建并编写一个文本文件,而不是编写多行 open、try、finally 和 close 语句。很简单。

# using with statement
with open('myfile.txt', 'w') as file:
    file.write('DataCamp Black Friday Sale!!!')

7.为什么在 Python 的 try/except 构造中使用 else?

try: except:在 Python 中以异常处理而闻名,那么 else:在哪里派上用场呢? else:将在未引发异常时触发。

举例:

让我们通过几个例子来更多地了解“else:”。

  1. 第一次尝试时,我们输入 2 作为分子,输入“d”作为分母。这是不正确的,而“except:”是由“无效输入!”。
  2. 在第二次尝试中,我们输入 2 作为分子,1 作为分母,得到的结果是 2。没有引发异常,所以它触发了“else:”打印消息“除法成功。”
try:
    num1 = int(input('Enter Numerator: '))
    num2 = int(input('Enter Denominator: '))
    division = num1/num2
    print(f'Result is: {division}')
except:
    print('Invalid input!')
else:
    print('Division is successful.')

## Try 1 ##
# Enter Numerator: 2
# Enter Denominator: d
# Invalid input!

## Try 2 ##
# Enter Numerator: 2
# Enter Denominator: 1
# Result is: 2.0
# Division is successful.

参加 Python 基础技能课程,获得成为 Python 程序员所需的基本技能。

Python 数据科学面试问题

对于那些更关注 Python 的数据科学应用的人来说,这些是你可能会遇到的一些问题。

8.NumPy 比常规 Python 列表有什么优势?

记忆

Numpy 数组消耗的内存更少。

例如,如果创建一个列表和一个包含一千个元素的 Numpy 数组。列表将消耗 48K 字节,Numpy 数组将消耗 8K 字节的内存。

速度

Numpy 数组在数组上执行操作所需的时间比列表少。

例如,如果我们将两个列表和两个包含一百万个元素的 Numpy 数组相乘。列表花了 0.15 秒,数组花了 0.0059 秒。

虔诚地

Numpy 数组使用起来很方便,因为它们提供了简单的数组乘法、加法和更多的内置功能。而 Python 列表不能运行基本操作。

9.merge、join 和 concatenate 有什么区别?

合并

使用唯一列标识符合并两个名为 series 对象的数据框架。

它需要两个数据框架,两个数据框架中的一个公共列,以及“如何”将它们连接在一起。您可以对两个数据帧进行左、右、外、内和交叉连接。默认情况下,它是一个内部联接。

pd.merge(df1, df2, how='outer', on='Id')

加入

使用唯一索引连接数据帧。它需要一个可选的“on”参数,该参数可以是一列或多个列名。默认情况下,join 函数执行左连接。

df1.join(df2)

连锁的

Concatenate 沿特定轴(行或列)连接两个或多个数据帧。它不需要一个“开”的论点。

pd.concat(df1,df2)
  • join() :通过索引合并两个数据帧。
  • merge() :根据指定的一列或多列合并两个数据帧。
  • concat() :垂直或水平组合两个或多个数据帧。

10.你如何识别和处理缺失值?

识别缺失值

我们可以通过使用“isnull()”函数,然后应用“sum()”来识别数据帧中缺失的值。 Isnull()将返回布尔值,求和将得出每列中缺失值的数量。

在这个例子中,我们创建了一个列表字典,并将其转换为 pandas 数据帧。之后,我们使用 isnull()。sum()获取每列中缺失值的数量。

import pandas as pd
import numpy as np

# dictionary of lists
dict = {'id':[1, 4, np.nan, 9],
        'Age': [30, 45, np.nan, np.nan],
        'Score':[np.nan, 140, 180, 198]}

# creating a DataFrame
df = pd.DataFrame(dict)

df.isnull().sum()
# id       1
# Age      2
# Score    1

处理缺失值

处理缺失值有多种方法。

  1. 如果行或列包含缺失值,请使用' dropna()'删除整行或整列。不建议使用这种方法,因为这样会丢失重要信息。
  2. 使用' fillna()'函数用常量、平均值、向后填充和向前填充来填充缺失值。
  3. 使用“Replace()”函数将缺失值替换为常量字符串、整数或浮点数。
  4. 使用插值法填充缺失的值。

注意:使用“dropna()”函数时,请确保您正在处理一个更大的数据集。

# drop missing values
df.dropna(axis = 0, how ='any')

#fillna
df.fillna(method ='bfill')

#replace null values with -999
df.replace(to_replace = np.nan, value = -999)

# Interpolate
df.interpolate(method ='linear', limit_direction ='forward')

pandas interpolate

参加数据科学家和 Python 职业培训,成为一名专业的数据科学家。它包括 25 门课程和 6 个项目,帮助您在 Python 库的帮助下学习数据科学的所有基础知识。

11.你使用过哪些 Python 库进行可视化?

数据可视化是数据分析中最重要的部分。您可以看到您的数据在运行,这有助于您找到隐藏的模式。

最流行的 Python 数据可视化库有:

  1. Matplotlib
  2. 希伯恩
  3. Plotly
  4. 散景

在 Python 中,我们一般使用 Matplotlibseaborn 来显示所有类型的数据可视化。只需几行代码,您就可以用它来显示散点图、折线图、箱线图、条形图等等。

对于交互式和更复杂的应用程序,我们使用 Plotly 。您可以使用它用几行代码创建丰富多彩的交互式图形。您可以缩放、应用动画,甚至添加控制功能。Plotly 提供了 40 多种独特的图表,我们甚至可以使用它们来创建一个 web 应用程序或仪表板。

散景用于大型数据集中具有高度交互性的详细图形。

Python 编码面试问题

如果你有一个 Python 编码的面试,准备类似的问题可以帮助你给面试官留下深刻印象。

12.在 Python 中,如何用给定的字符替换字符串空间?

这是一个简单的字符串操作挑战。你必须用特定的字符替换空格。

例 1 :某用户提供了字符串“l vey u”和字符“o”,输出将是“loveyou”。

例 2 :某用户提供了字符串“D t C mpBl ckFrid yS le”和字符“a”,输出将是“DataCampBlackFridaySale”。

在' str_replace()'函数中,我们将循环遍历字符串中的每个字母,并检查它是否是空格。如果它由空格组成,我们将用用户提供的特定字符替换它。最后,我们将返回修改后的字符串。

def str_replace(text,ch):
    result = ''
    for i in text: 
            if i == ' ': 
                i = ch  
            result += i 
    return result

text = "D t C mpBl ckFrid yS le"
ch = "a"

str_replace(text,ch)
# 'DataCampBlackFridaySale'

13.给定一个正整数 num,写一个函数,如果 num 是一个正方数,则返回 True,否则返回 False。

这有一个相对简单的解决方案。您可以通过以下方式检查数字是否有完美的平方根:

  1. 求该数的平方根,并将其转换为整数。
  2. 将平方应用于平方根数,并检查它是否是一个完美的平方根。
  3. 将结果作为布尔值返回。

测试 1

我们已经为“valid_square()”函数提供了数字 10。

  1. 取这个数的平方根,我们得到 3.162776601683795。
  2. 通过将其转换成整数,我们得到 3。
  3. 然后,取 3 的平方,得到 9。
  4. 9 不等于数字,所以函数会返回 False。

测试 2

我们已经为“valid_square()”函数提供了数字 36。

  1. 取这个数的平方根,我们得到 6。
  2. 通过将其转换成整数,我们得到 6。
  3. 然后,取 6 的平方,得到 36。
  4. 36 等于数字,所以函数将返回 True。
def valid_square(num):
    square = int(num**0.5)
    check = square**2==num
    return check

valid_square(10)
# False
valid_square(36)
# True

14.给定一个整数 n,返回 n 阶乘 n 中尾随零的个数!

为了通过这个挑战,你必须首先计算 n 阶乘(n!)然后计算训练零的个数。

寻找阶乘

在第一步中,我们将使用 while 循环迭代 n 阶乘,当 n 等于 1 时停止。

计算尾随零

在第二步中,我们将计算尾随零,而不是零的总数。差别巨大。

7! = 5040

七个阶乘总共有两个零,只有一个尾随零,所以我们的解应该返回 1。

  1. 将阶乘数转换为字符串。
  2. 读回来申请循环。
  3. 如果数字是 0,结果加+1,否则中断循环。
  4. 返回结果。

解决方案很优雅,但需要注意细节。

def factorial_trailing_zeros(n):

    fact = n
    while n > 1:
        fact *= n - 1
        n -= 1

    result = 0

    for i in str(fact)[::-1]:
        if i == "0":
            result += 1
        else:
            break

    return result

factorial_trailing_zeros(10)
# 2
factorial_trailing_zeros(18)
# 3

参加基本的实践编码面试问题课程,为您接下来的 Python 编码面试做准备。

FAANG Python 面试问题

下面,我们挑选了一些你可能会从行业中最受欢迎的职位中想到的问题,这些职位在 Meta、Amazon、Google 等公司。

脸书/Meta Python 面试问题

你在 Meta 会遇到的确切问题很大程度上取决于这个角色。但是,您可能会遇到以下情况:

15.字符串分段

你会得到一大串单词和一个单词字典。您必须确定输入字符串是否可以使用字典分割成单词。

String segmentation

作者图片

解决方案相当简单。你必须在每一点分割一个大的字符串,并检查该字符串是否可以分割成字典中的单词。

  1. 使用大字符串的长度运行循环。
  2. 我们将创建两个子字符串。
  3. 第一个子字符串将从 s[0:i]中检查大字符串中的每个点
  4. 如果第一个子串不在字典中,它将返回 False。
  5. 如果第一个子串在字典中,它将使用 s[i:0]创建第二个子串。
  6. 如果第二个子字符串在字典中,或者第二个子字符串的长度为零,则返回 True。用第二个子串递归调用' can_segment_str()',如果可以分段则返回 True。
def can_segment_str(s, dictionary):
    for i in range(1, len(s) + 1):
        first_str = s[0:i]
        if first_str in dictionary:
            second_str = s[i:]
            if (
                not second_str
                or second_str in dictionary
                or can_segment_str(second_str, dictionary)
            ):
                return True
    return False

s = "datacamp"
dictionary = ["data", "camp", "cam", "lack"]
can_segment_string(s, dictionary)
# True

16.从排序数组中删除重复项

给定一个按升序排序的整数数组,删除重复的数字,使每个唯一元素只出现一次。确保数组的最终顺序保持不变。

在 Python 中不可能改变数组的长度,所以我们将结果放在数组的第一部分。删除重复项后,我们将有 k 个元素,数组中的前 k 个元素应该包含结果。

Remove duplicates from sorted array

图片来自 LeetCode

例 1 :输入数组为[1,1,2,2],函数应该返回 2。

例 2 :输入数组为[1,1,2,3,3],函数应该返回 3。

解决方案:

  1. 运行范围为 1 到数组大小的循环。
  2. 检查之前的号码是否唯一。我们正在将以前的元素与当前的元素进行比较。
  3. 如果它是唯一的,则使用 insertIndex 更新数组,开始时为 1,然后在 insertIndex 上加+1。
  4. 返回 insertIndex,因为它是 k。

一旦你知道怎么做,这个问题就相对简单了。如果你花更多的时间去理解这句话,你可以很容易地想出一个解决办法。

def removeDuplicates(array):
    size = len(array)
    insertIndex = 1
    for i in range(1, size):
        if array[i - 1] != array[i]:
            # Updating insertIndex in our main array
            array[insertIndex] = array[i]
            # Incrementing insertIndex count by 1
            insertIndex = insertIndex + 1
    return insertIndex

array_1 = [1,2,2,3,3,4]
removeDuplicates(array_1)
# 4

array_2 = [1,1,3,4,5,6,6]
removeDuplicates(array_2)
# 5

17.找到最大的单笔销售利润

给你提供了股票价格的列表,你必须返回买入和卖出价格,以获得最高利润。

:我们要从单笔买卖中获取最大利润,如果不能盈利,就要减少损失。

例一 : stock_price = [8,4,12,9,20,1],买入= 4,卖出= 20。利润最大化。

例二 : stock_price = [8,6,5,4,3,2,1],买入= 6,卖出= 5。最小化损失。

解决方案:

  1. 我们将通过从当前买入(列表中的第二个元素)中减去全局卖出(列表中的第一个元素)来计算全局利润。
  2. 运行从 1 到列表长度的循环。
  3. 在循环中,使用列表元素和当前买入值计算当前利润。
  4. 如果当前利润大于全局利润,则用当前利润和全局卖出将全局利润更改为列表的 I 元素。
  5. 如果当前买入大于列表的当前元素,用列表的当前元素改变当前买入。
  6. 最终,我们将返回全球买卖价值。为了得到全球购买价值,我们将从全球利润中减去全球销售。

问题有点棘手,你可以想出你独特的算法来解决问题。

def buy_sell_stock_prices(stock_prices):
    current_buy = stock_prices[0]
    global_sell = stock_prices[1]
    global_profit = global_sell - current_buy

    for i in range(1, len(stock_prices)):
        current_profit = stock_prices[i] - current_buy

        if current_profit > global_profit:
            global_profit = current_profit
            global_sell = stock_prices[i]

        if current_buy > stock_prices[i]:
            current_buy = stock_prices[i]

    return global_sell - global_profit, global_sell

stock_prices_1 = [10,9,16,17,19,23]
buy_sell_stock_prices(stock_prices_1)
# (9, 23)

stock_prices_2 = [8, 6, 5, 4, 3, 2, 1]
buy_sell_stock_prices(stock_prices_2)
# (6, 5)

亚马逊 Python 面试问题

Amazon Python 面试问题可能会有很大不同,但可能包括:

18.找出数组中缺少的数字

已经向你提供了从 1 到 n 的正整数列表。从 1 到 n 的所有数字都存在,除了 x,你必须找到 x。

举例:

| four | five | three | Two | eight | one | six |

  • n = 8
  • 缺少的数字= 7

这道题是一道简单的数学题。

  1. 求列表中所有元素的和。
  2. 利用等差数列求和公式,求出前 n 个数的期望和。
  3. 返回预期总和与元素总和之间的差值。
def find_missing(input_list):

  sum_of_elements = sum(input_list)

  # There is exactly 1 number missing
  n = len(input_list) + 1
  actual_sum = (n * ( n + 1 ) ) / 2

  return int(actual_sum - sum_of_elements)
list_1 = [1,5,6,3,4]

find_missing(list_1)
# 2

19.数组中的毕达哥拉斯三联体

编写一个函数,如果存在满足 a2+ b2 = c2 的毕达哥拉斯三元组,则返回 True

举例:

| 输入 | 输出 |
| [3, 1, 4, 6, 5]  | 真实的 |
| [10, 4, 6, 12, 5] | 错误的 |

解决方案:

  1. 对数组中的所有元素求平方。
  2. 按升序对数组进行排序。
  3. 跑两圈。外部循环从数组的最后一个索引到 1 开始,内部循环从(outer_loop_index -1)开始。
  4. 创建 set()来存储外循环索引和内循环索引之间的元素。
  5. 检查集合中是否存在等于(array[outerLoopIndex]–array[innerLoopIndex])的数字。如果是,返回真,否则返回假。
def checkTriplet(array):
    n = len(array)
    for i in range(n):
        array[i] = array[i]**2

    array.sort()

    for i in range(n - 1, 1, -1):
        s = set()
        for j in range(i - 1, -1, -1):
            if (array[i] - array[j]) in s:
                return True
            s.add(array[j])
    return False

arr = [3, 2, 4, 6, 5]
checkTriplet(arr)
# True

20.有多少种方法可以用硬币和总数来找零?

我们需要创建一个函数,该函数采用一个硬币面额和总金额的列表,并返回我们可以进行更改的方式的数量。

在示例中,我们提供了硬币面额[1,2,5]和总额 5。作为回报,我们有五种方法可以做出改变。

make change with coins

作者图片

解决方案:

  1. 我们将创建大小金额+ 1 的列表。添加了额外的空间来存储零量的溶液。
  2. 我们将用 1 开始一个解决方案列表。
  3. 我们将运行两个循环。外部循环将返回面额的数量,内部循环将从外部循环索引的范围运行到金额+1。
  4. 不同面值的结果存储在阵列解决方案中。溶液[i] =溶液[i] +溶液[i - den]
  5. 这个过程将对命名列表中的所有元素重复,在解决方案列表的最后一个元素,我们将有我们的号码。
def solve_coin_change(denominations, amount):
    solution = [0] * (amount + 1)
    solution[0] = 1
    for den in denominations:
        for i in range(den, amount + 1):
            solution[i] += solution[i - den]

    return solution[len(solution) - 1]

denominations = [1,2,5]
amount = 5

solve_coin_change(denominations,amount)
# 4

谷歌 Python 面试问题

与提到的其他公司一样,Google Python 面试问题将取决于职位和经验水平。但是,一些常见问题包括:

21.用 Python 定义一个 lambda 函数,一个迭代器,一个生成器。

Lambda 函数也称为匿名函数。您可以添加任意数量的参数,但只能使用一条语句。

迭代器是一种对象,我们可以用它来迭代列表、字典、元组和集合等可迭代对象。

生成器是一个类似于普通函数的函数,但是它使用 yield 关键字而不是 return 来生成一个值。如果函数体包含 yield,它会自动成为生成器。

在我们的完整教程中阅读更多关于 Python 迭代器和生成器的内容。

22.给定数组 arr[],找出最大值 j–I,使得 arr[j] > arr[i]

这个问题很简单,但需要特别注意细节。我们得到了一个正整数数组。我们必须找到 j-i 的最大差值,其中 array[j] > array[i]。

例子:

  1. 输入:[20,70,40,50,12,38,98],输出:6 (j = 6,i = 0)
  2. 输入:[10,3,2,4,5,6,7,8,18,0],输出:8 ( j = 8,i = 0)

解决方案:

  1. 计算数组的长度并用-1 初始化最大差值。
  2. 跑两圈。外部循环从左侧选取元素,内部循环将选取的元素与从右侧开始的元素进行比较。
  3. 当元素大于拾取的元素时停止内部循环,并使用 j - I 不断更新最大差值。
def max_index_diff(array):
    n = len(array)
    max_diff = -1
    for i in range(0, n):
        j = n - 1
        while(j > i):
            if array[j] > array[i] and max_diff < (j - i):
                max_diff = j - i
            j -= 1

    return max_diff

array_1 = [20,70,40,50,12,38,98]

max_index_diff(array_1)
# 6

23.在 Python 中如何使用三元运算符?

三元运算符也称为条件表达式。它们是根据条件 True 和 False 来评估表达式的运算符。

您可以在一行中编写条件表达式,而不是使用多行 if-else 语句。它允许您编写简洁紧凑的代码。

例如,我们可以将嵌套的 if-else 语句转换成一行,如下所示。

If-else 语句

score = 75

if score < 70:
    if score < 50:
        print('Fail')
    else:
        print('Merit')
else:
    print('Distinction')
# Distinction

嵌套三元运算符

print('Fail' if score < 50 else 'Merit' if score < 70 else 'Distinction')
# Distinction

你需要修改 Python 语法、函数、类、数据类型、算法、数据结构和异常处理。此外,您需要阅读技术教程,查看示例项目、备忘单和模拟问题,并解决编码挑战以通过面试阶段。

你需要准备关于本机功能的一般性 Python 问题、特定工作问题(数据工程师、数据科学家、后端开发人员)以及基于代码的定时问题。可以用 DataCamp 练习 机器学习 Python 题统计 Python 面试题

你必须展现出编写干净的生产就绪代码的能力,理解特定工作的 Python 库、工具和算法,并为复杂的问题提出独特的解决方案。你可以通过练习编码挑战或从事开源项目来做到这一点。

通过在 GitHub 和个人网站上创建基于 Python 的项目组合,你也可以脱颖而出。

lambda 函数也称为匿名函数,即没有名称的 Python 函数。它可以接受任意数量的参数,但只计算并返回一个表达式。

语法:

lambda arguments : expression

举例:

lambda_add = lambda a : a + 10
print(lambda_add (7))
# 17
  1. 开发网站和软件
  2. 脚本和实用软件
  3. 桌面应用
  4. 数据分析
  5. 机器学习

如果将函数应用于 iterable 的每一项,“map”比“for loop”更快。

数据科学中的不确定性(抄本)

原文:https://web.archive.org/web/20221129045010/https://www.datacamp.com/blog/uncertainty-in-data-science-transcript

https://web.archive.org/web/20220703063315if_/https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/502660623%3Fsecret_token%3Ds-2gCsr&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true

这是播客的链接。

介绍艾伦·唐尼

雨果:嗨,艾伦,欢迎来到 DataFramed。

艾伦:嘿,雨果。谢谢您们。

Hugo:很高兴你能来参加我们的节目,我真的很高兴你能来谈论数据科学中的不确定性,我们如何看待预测,我们如何进行概率性思考,我们如何做对,以及我们如何出错,但在我们开始之前,我很想了解一下你,所以我想知道你在数据社区以什么闻名。

艾伦:对。嗯,我正在写一个系列丛书,叫做 Think X,for all X,所以希望有人知道。我认为 Python 是一个起点,然后对于数据科学,考虑统计和贝叶斯,对于数据科学和贝叶斯统计。

雨果:太好了,那为什么要思考呢?

Allen:来了大概,迂回,原著叫《如何像计算机科学家一样思考》,本来是一本 Java 的书,后来变成了 Python 的书,然后就不是真正的编程了。这是关于更大的想法,所以当我开始读其他的书时,这些书的前提是,你正在使用计算作为一种工具来学习其他的东西,所以这是一种思维方式,这是一种对主题的方法,所以这就是我们如何得到总是为不同价值的东西思考的模式。

计算

雨果:对。我很喜欢这一点,说到计算的想法,我知道你是计算帮助我们思考的角色的巨大支持者,所以也许你可以说一分钟。

艾伦:当然。我的意思是,它部分来自...我一直在教一个工程项目,工程教育很长一段时间以来都非常侧重于数学,所以在你开始做任何工程之前,你必须学习大量的微积分和线性代数,而这根本不需要。我认为工程中有很多想法,你可以很快地通过计算得到,但在数学上要困难得多。

艾伦:一个经常出现的例子是集成,这是一个有点困难的想法。学生们,当他们看到一个积分符号时,立即会有一些挑战,但是如果你们离散地做每件事,你们可以把所有这些积分,你们只是把它们变成求和,然后如果你们计算,你们把所有的求和变成 for 循环,然后你们可以有非常清楚的代码,你们在空间中循环,你们把所有的元素加起来。这就是积分的含义。

雨果:没错,我认为另一个你想得很多的地方,也是我们很多人工作过的地方,是使用计算、采样和重新采样数据集来获得关于统计的想法。对吗?

艾伦:对。是啊。我认为经典的统计推断,看起来像置信区间和假设检验,重采样是一个非常强大的工具。你在运行系统的模拟,你可以用一种非常简单的方式计算采样分布或 p 值,这意味着它很容易做到,但它也只是让概念变得透明。怎么回事真的很明显。

雨果:没错,你实际上...我们之前在播客上有一个片段,是...这是本周的博客文章,我们在你的博客文章中有一篇,只有一个测试,这真正阐明了在统计假设检验的世界中,只有一个测试的想法,你实际上可以看到这一点,这是你的一个优点,你可以看到当你采用抽样,重新抽样,自举方法时。对吗?

艾伦:对。是啊。我认为它使框架变得可见,假设检验,有一个零假设的模型,这对于不同的场景是不同的,还有检验统计,这对于不同的场景是不同的,但是一旦你指定了这两个部分,其他的都是一样的。你在运行同样的框架。所以,我觉得这样概念就清晰多了。

雨果:太好了,我们将在节目笔记中链接到这一点。我们还会链接到你那篇名为“仍然只有一个测试”的精彩后续文章。

艾伦:嗯,那只是因为我第一次没有解释清楚,所以我必须再试一次。

你是怎么进入数据科学的?

Hugo:这也证明了一点,仍然只有一个测试,我再重复一遍,仍然只有一个测试。那么,你最初是怎么进入数据科学的呢?

艾伦:嗯,我的背景是计算机科学,所以有很多方法,很多途径可以进入数据科学,但我认为计算机科学肯定是其中一个重要的途径。我做了...我的硕士论文是关于计算机视觉的,所以这是朝着那个方向迈出的一步。我的博士学位都是关于计算系统的测量和建模,所以有很多东西出现在那里,比如长尾分布,然后在 2009 年我休假,我在谷歌的一个小组工作,研究互联网性能,所以我们做了很多测量,建模,统计描述和预测建模,所以这是我开始认真对待的地方,也是我第一次研究 Think Stats 的地方。

雨果:所以,我认为你参与数据科学的起源故事提出了一个有趣的观点,即你实际上接触了许多不同类型的数据,我知道你是数据科学不仅仅是数据科学家的想法的忠实粉丝,因为它实际上可能会引起每个人的兴趣...我们的生活方式和数据科学有很多接触点。对吗?

艾伦:对。是啊。这是我感到有点不安的一件事,当人们谈论数据科学时,他们谈论大数据,然后他们谈论定量金融和商业分析,就像这一切一样,我使用了更广泛的数据科学概念。我想强调的是,任何时候你都可以使用数据来回答问题和指导决策,因为这包括很多科学,通常是关于回答问题,很多关于工程,你设计一个系统来实现一个特定的目标,当然,决策,无论是在个人还是企业还是国家公共政策层面。因此,我希望看到数据科学参与所有这些部分。

雨果:当然。所以,我们今天在这里谈论不确定性。数据科学的一部分是进行预测,我们将会进行预测,但我们生活在一个不确定的世界这一事实非常有趣,因为我们作为一种文化和社会,我们用概率来思考不确定性,所以我想知道你对我们人类是否真的擅长概率思维的想法。

艾伦:对。这很有趣,因为我们在同一时间。

雨果:我很高兴你没有说我们可能是。

艾伦:对。是啊。那就太好了。所以,我们似乎有一些概率思维的本能,甚至对小孩子也是如此。我们做一些类似贝叶斯更新的事情。当我们得到新的数据时,如果我们对某事不确定,我们得到新的证据,我们更新我们的信念,在某些情况下,我们实际上做了一个精确贝叶斯更新的非常好的近似,通常是对于中等概率范围的事情,可能从大约 25%到 75%。与此同时,我们在非常罕见的事情上很糟糕。我们很不擅长小概率,还有很多方式我们会一直被愚弄,因为我们实际上并没有做数学计算。我们正在对它进行逼近,而这些逼近总是以行为心理学家指出的方式失败,比如确认偏差和其他类似的认知失败。

“我们为什么这么惊讶?”"

雨果:当然。所以,我想和你在博客上写的一篇名为《为什么我们如此惊讶》的文章谈谈。,你在其中表示,“理论上,我们不应该对 2016 年总统选举的结果感到惊讶,但实际上,我们感到惊讶。”所以,我想知道为什么你认为我们不应该感到惊讶。

艾伦:对。嗯,很多预测,很多来自 FiveThirtyEight 和《纽约时报》的模型,他们预测特朗普有大约 25%的机会赢得选举,也许更多。所以,如果某样东西有 25%的机会,那就相当于掷两次硬币,两次正面朝上。对此你不会感到特别惊讶。因此,理论上 25%的风险不应该令人惊讶,但在实践中,我认为人们仍然没有真正理解概率预测。

艾伦:我们可以看到的一个原因是缺乏对称性,也就是说,如果我告诉你特朗普有 25%的机会获胜,你会想,“嗯,好吧。这可能会发生,”但当 FiveThirtyEight 说希拉里·克林顿有 70%的机会获胜时,我想很多人都把这解释为确定性预测,即 FiveThirtyEight 在说,“希拉里·克林顿会赢,”然后当这没有发生时,他们说,“那么,FiveThirtyEight 是错的,”我不认为这是对概率预测的正确解释。如果有人告诉你有 70%的可能性,但它没有发生,这应该有点令人惊讶,但这并不一定意味着预测是错误的。

雨果:对,在你的文章中,你实际上提出了一个相关的观点,每个人都在某种程度上预测,嗯,预测希拉里有超过 50%的机会获胜,你提出了一个观点,人们将此解释为人们一致认为希拉里会以不同程度的信心获胜,但那是...所以,如你所说,这是把它解释为确定性预测,而不是概率性预测。对吗?

艾伦:对,我认为没错,而且...它又一次没有通过对称性测试,因为不同的预测,从 70%到 99%不等,人们的反应好像那是一个共识,但那不是共识。如果你把它翻过来,那就是说特朗普有 1%到 30%的机会获胜,如果预测是这样表达的,我想人们会看着它说,“哦,显然没有达成共识,因为 1%和 30%之间有很大的差异。”

雨果:我非常喜欢这种抛硬币的类比,因为它让很多事情都有了正确的看法,另一个例子,正如你在文章中提到的那样,纽约时报认为特朗普有 9%的胜算,如果你连续四次抛硬币,得到四个头像,这相对来说是令人惊讶的,但你不会像这样,“哦,我不敢相信会发生这种事,”这有 6.25%的胜算。对吗?

艾伦:对。是的,我认为这是了解这些概率意味着什么的好方法。

雨果:当然。所以,你也提到这些模型实际上是相对可信的模型,所以也许你可以这么说。

艾伦:是的。我认为有两个理由认为这些预测是可信的,其中之一是过去的表现,FiveThirtyEight 和纽约时报在以前的选举中表现良好,但也许更重要的是,他们的方法是透明的。他们向你展示了他们用作输入的所有民意调查数据,我认为他们实际上并没有公布算法,但他们给出了关于这些东西如何工作的许多细节。一些民意调查比其他的更可信。他们应用了修正系数,他们也有...他们考虑到了时间。因此,较新的投票将比更早的投票具有更大的权重。所以,所有这些,我认为在事实发生之前,我们有充分的理由相信这些预测,而在事实发生之后,即使结果不是我们所预期的,那也并不意味着模型是错的。

Hugo:那么,有了这些关于我们对不确定性的不确定性以及我们对概率性思维的优缺点的知识,我们作为一个数据报告社区可以采取什么方法在未来更好地交流不确定性呢?

艾伦:对。我想我们还不知道,但我认为好的一点是人们正在尝试很多不同的事情。所以,再一次,以选举为例,《纽约时报》就像一根颤动的针,这是一种著名的,也许不是最好的表达信息的方式。还有其他例子。内特·西尔弗的预测是基于多次模拟运行。因此,他会展示一个直方图,显示做了很多很多模拟的结果,我认为这可能对一些观众有用。我认为这对其他观众来说很难。

艾伦:我提出的一个建议是,我希望看到有人尝试,而不是运行许多模拟并试图总结结果,我希望每天看到一次模拟,并详细展示一次模拟的结果。因此,回想 2016 年,假设你每天看报纸,它向你展示了一种可能的选举结果,假设内特·西尔弗的预测是正确的,克林顿有 70%的机会获胜。所以,在给定的一周内,你可能会看到克林顿赢了四到五次。你会看到特朗普赢两三次,我认为在那个星期结束时,你的直觉实际上对这种可能性有很好的感觉。

雨果:我认为这是一个不可思议的想法,因为对我个人来说,这意味着你并不是真的在抽象地看这些模拟或结果。你实际上正以某种方式亲身经历着它们。

艾伦:没错。因此,你会产生打开报纸看到特朗普获胜的情绪效应,如果这已经在模拟中发生过几次,那么现实就不会那么令人惊讶了。

雨果:当然。有没有其他类型的方法或思考方式是你希望在未来看到的?

艾伦:嗯,就像我说的,我认为有很多实验正在进行,所以我认为我们会更好地交流这些想法,我认为观众也在学习,所以不同的可视化在几年前不会很好地工作,现在人们更好地解释数据,解释可视化,因为它已经成为媒体的一部分。如果你回顾一下不久前,我不知道你是否记得《今日美国》什么时候开始做信息图表,那是一件事。人们真的对这些信息图表感到兴奋,你现在回头看这些东西,它们很糟糕。就像-

雨果:嗯嗯(肯定)。我们已经走了很长一段路。

艾伦:它实际上只是一个条形图,只不过这个条形图是由堆积的苹果和堆积的橙子组成的,这是数据可视化,比如说,20 年前,现在你可以看看《纽约时报》正在用交互式可视化做的事情。我有一天看到了一个,这是他们对收益率曲线的三维可视化,这在金融和经济学中是一个艰难的想法,三维可视化是艰难的,交互式可视化是具有挑战性的,所以也许它不是对每个观众都有效,但我真的很欣赏它的雄心。

雨果:你提到了数据科学在总体决策中的作用,我认为在很多方面,我们根据我们拥有的所有数据做出决策,然后做出决策,但是很多时候,决策的质量取决于结果的质量,这不一定是思考这些问题的正确方式。对吗?

艾伦:对。我举了一个关于 21 点的例子,你可以在 21 点中做出正确的选择。你在应该承受打击的时候承受了打击,如果你破产了,人们会忍不住说,“哦。嗯,我想我不应该这样做,”但这是不正确的。你做了正确的选择,从长远来看,这是正确的决定。任何特定的结果都不一定会如你所愿。

雨果:是的,但是我们知道在那种情况下,因为我们可以根据我们拥有的理论和我们头脑中的模拟或计算来评估预测。对吗?本质上是长期利率。

艾伦:对。是啊。21 点很简单,因为 21 点的每个游戏都是一样的,所以你有这些相同的测试。你有长期利率。我们很难进行单一情况的预测,单一情况的概率。

雨果:比如选举预测?

艾伦:就像选举,对吧,但是在那种情况下,对吧,你不能评价一个单一的预测。不能具体说是对是错,但可以评价预测过程。您可以检查以确保概率预测是经过校准的。所以,也许回到内特·西尔弗,在《信号与噪声》中,他用了一个很好的例子,那就是国家气象局,他们做概率预测。他们说,“20%的可能性下雨,80%的可能性下雨,”在任何一天,你都不知道他们是否错了。

艾伦:所以,如果他们说 20%会下雨,或者如果他们说 80%不会下雨,这有点令人惊讶,但这并不意味着他们错了。但从长远来看,如果你记录下他们所说的 20%的每一次,然后你计算 20%的日子里实际上下雨了多少次,80%的日子里下雨了多少次,如果答案是 20%和 80%,那么这就是一个很好的概率预测。

社会中哪里普遍存在不确定性?

雨果:当然。这是另一个例子。天气是其中之一。我们已经讨论了选举预测,这两个例子都是我们真正需要考虑不确定性的例子。我想知道社会中还有哪些例子是我们需要考虑不确定性的,以及它们为什么重要。

艾伦:是的。嗯,一个大的...任何与健康和安全相关的事情,这些都是我们谈论风险的情况,我们谈论的干预措施有一定的好结果的概率,一定的副作用的概率,我认为还有其他情况,有时我们的启发式是好的,而其他时候我们会犯真正一致的认知错误。

雨果:有很多认知偏差,我经常遇到的一个是,我甚至不知道它叫什么,但当你的样本量很小,我看到一件事出现了几次,我就想,“哦,事情可能就是这样。”

艾伦:对。是啊。我想这是一种过度拟合的形式。在统计学中,有一个笑话说人们谈论小数字定律,但这是对的。我认为这是一种过早下结论的说法。这是一个例子,我认为医生在过去有一个版本,就是他们经常根据自己的病人来决定治疗,所以,“某某药物对我的病人很有效,我在我的病人身上看到了不好的结果,”与使用大型随机试验形成对比,我们现在有很多证据表明,随机试验是一种更可靠的证据形式,比你给出的从小数字中归纳的例子更可靠。

Hugo:正如你所说,健康和安全是两个相关的例子。你认为我们能做些什么来解决这个问题?

艾伦:这个很难。我在想我们误解健康的一些方式,我们获得安全的一些方式。当然,问题之一是我们非常不擅长小风险,小概率。有一些证据表明,如果我们用自然频率来表达事物,我们可以做得更好一点,所以如果我告诉你某件事有 0.01%的概率,你可能很难理解,但如果我告诉你这是一万个人中的一个,那么你可能有办法想象出来。你可以说,“好吧,好吧。在一场棒球比赛中,可能有 30,000 人,所以现在这里可能有三个人有这样那样的情况。”所以,我认为用自然频率来表达可能是有帮助的。

雨果:有意思。所以,本质上,我认为,这些是语言技术和采用我们知道在语言中起作用的东西。

艾伦:是的,我想是的。我认为图形可视化也很重要。当然,我们有这个令人难以置信的强大工具,那就是我们的视觉系统,它能够获取大量数据并快速处理,所以我认为,这是将信息从一页纸上获取并进入某人大脑的最佳方式之一。

雨果:对。看,这实际上只是让我想起了一些我多年来没有想过的事情,但那一定是 10 或 15 年前,我在澳大利亚墨尔本的一个艺术展上,有一幅艺术作品形象地展示了有多少人在特定的情况下或用米粒做了特定的事情。所以,他们有一个碗,就像澳大利亚的总人口,美国的总人口,然后是在大屠杀中被杀害的人数和登上月球的人数,这种类型的东西,实际上是令人难以置信的生动和难忘的,你会有一种强烈的重要性。

艾伦:是的。我认为这行得通。我看过一个视频,我们必须找到这个,也许可以放一个链接,关于战争伤亡人数,显示每个伤亡人数的一个小个体,然后把它加起来,显示不同战争中不同伤亡人数的彩色矩形,每个国家的人数,这非常有效,然后我想起 XKCD 已经做了几个非常好的例子来显示事物的相对大小,只是把它们映射到页面上的区域。其中一个我认为非常好的是不同剂量的放射性,他能够显示许多不同的数量级,从一个小单位开始,用一个正方形表示,然后放大,再放大,这样你就可以看到在像牙科 x 光片这样的东西和其他种类的暴露之间有数量级的差异,我们真的不应该担心这些,而这些暴露是真正的健康风险。

不确定性误解

雨果:难以置信。那么,你认为我们需要纠正的关于不确定性的最重要的误解是什么,那些以数据为导向的教育者?

艾伦:对。我们讨论了概率预测。我认为这是一个大问题。我想我想到的另一个大问题是分布的形状,当你试图总结一个分布时,如果我只告诉你平均值,那么人们通常会认为它是一个类似钟形的曲线,我们对这种情况有一些直觉,如果我告诉你人类的平均身高大约是 165 厘米,或者我认为高于这个数字,但无论如何,你会有一种感觉,“好吧。所以,可能有些人超过 200 岁,也可能有些人不到 60 岁,但可能没有人身高超过一千米。”我们对这种分布有一种感觉。

艾伦:然后你会得到类似帕累托分布的东西,这是我在书中使用的一个例子,我称之为帕累托世界,这和我们的世界一样,因为平均高度差不多,但是分布形状像帕累托分布,这是一种疯狂的长尾分布,在帕累托世界中,平均高度在 1 到 2 米之间, 但是绝大多数人只有一厘米高,如果你在帕累托世界有七十亿人,最高的一个大概有一百公里高。

帕累托分布

Hugo:这太不可思议了,请快速回答一下,帕累托分布是什么类型的现象,它们是如何建模的?

艾伦:对。嗯,我觉得财富和收入是其中的两大项。事实上,我认为这是帕累托研究这些长尾分布的原始领域,这是少数人拥有几乎所有财富,而绝大多数人几乎没有财富的情况。这种情况下,如果我告诉你平均值,而你在想象一个钟形的分布,你对发生的事情有完全错误的理解。意思是真的不告诉你一个典型的人有什么。其实可能没有典型的人。

雨果:当然,事实上,这是一个很好的例子。另一个例子是,如果你有一个中间没有任何东西的双峰分布,均值。实际上没有人拥有我们所说的那种特定数量的东西。

艾伦:对,这是个很好的例子。

Hugo:艾伦,当你讨论帕累托分布和正态分布时,我突然想到,作为利益相关者、决策者、研究科学家和数据科学家,我们似乎更愿意考虑汇总统计数据和具体数字,而不是分布。我的意思是,我们喜欢报告均值、众数、中位数和方差等传播度量。我们似乎感觉有些不舒服,我们不太擅长考虑分布,这似乎是量化和考虑不确定性的必要条件。

艾伦:不,我想那是对的。它不是天生的。你知道,我和学生一起工作。理解发行版的概念需要一段时间。但我认为这很重要,因为它捕捉到了所有关于预测的信息。你想知道所有可能的结果,以及每个可能结果的概率。这就是分布。它准确地捕捉到了您作为决策者所需的信息。

雨果:没错。所以,我的意思是,代替交流,例如,假设检验中的 P 值,我们实际上可以显示可能的效应大小的分布,对吗?

艾伦:对,这就是贝叶斯方法的优势,因为你得到的是捕捉这些信息的后验分布。如果你现在把它应用到决策过程中,它会回答你可能想问的所有问题。如果你只关心中心趋势,你可以得到,但通常有一个成本函数,你知道,如果这个值非常高,就有一个相关的成本。如果很低,就有相关的成本。因此,如果你得到了整个分布,你可以把它输入到成本效益分析中,做出更好的决策。

雨果:当然。我喜欢你提出的观点,这是我经常思考的,当我教授贝叶斯思维和贝叶斯推理时,我总是非常明确地提出这一点,从后验概率,从分布中,你可以得到许多你需要的和你想要报告的其他东西。

艾伦:对,所以也许你关心,你知道,给定的灾难性输出的概率是多少。所以,在这种情况下,你会看到,你知道,分布的尾部。或者类似于,你知道,我偏离某个量的概率是多少,或者类似于均值和价差的东西。无论数字是多少,你都可以从分布中得到。

哪些技术最适合围绕不确定性进行思考和交流?

雨果:当然。这实际上是...这引出了我想谈的另一个问题。我认为贝叶斯推理有多种方式,作为一种技术,我们已经开发出来处理这些类型的问题和概念。我还认为,在过去的几十年里,我们已经达到了一个点,现在,由于我们拥有的计算能力,贝叶斯推理实际上更加可行,以一种稳健和有效的方式进行。我想我们一会儿会谈到这一点。但总的来说,我想知道,在你看来,哪些技术最适合思考和交流不确定性,艾伦?

艾伦:嗯,你知道,人们一直使用的几种可视化方法,当然,你知道,最经典的是直方图。我认为那部电影最适合普通观众。大多数人理解直方图。小提琴图有点类似,只是两个连续的直方图。我认为这些很好,因为人们理解它们,但也有问题。我的意思是,我已经看到一些文章指出,你必须得到正确的直方图。如果容器太大,那么你就抹去了很多你可能关心的信息。如果面元尺寸太小,你会得到很多噪声,并且很难通过噪声看到分布的形状。

艾伦:所以,我提倡的一件事是使用 CDFs 代替直方图,或 pdf,作为默认的可视化。当我探索一个数据集时,我几乎总是在看 CDF,因为你可以获得分布形状的最佳视图,你可以看到模式,你可以看到中心趋势,你可以看到扩散。但是,如果你有奇怪的异常值,它们会跳出来,如果你有重复的值,你可以在 CDF 中清楚地看到它们,较少的视觉噪声会分散你对重要内容的注意力。所以我爱 CDF。唯一的问题是人们不理解他们。但我认为这是观众受到教育的另一个例子,越多的人消费数据新闻,他们就越多地看到这样的可视化。这是一种隐性学习。

艾伦:我最近看到一个例子,有人展示了人类居住的海拔高度。因为他们在谈论海平面上升,谈论生活在海平面以上不到四米的人口比例。但是可视化是一种偷偷摸摸的 CDF,他们显示,它实际上是一个侧面的 CDF。但它是以这样一种方式完成的,一个不一定受过技术训练的人也能弄清楚那个图表显示的是什么。所以我认为这是朝着好的方向迈出的一步。

雨果:我非常喜欢。澄清一下,CDF 是一个累积分布函数?

艾伦:是的。抱歉,我应该说的。

雨果:对。

艾伦:我特别指的是经验 CDF,也就是直接从数据中提取数据,生成累积分布函数。

雨果:太棒了。其中一个好处是,x 轴上的每一个点,y 值都对应于数据点的数量,等于这个特定点的 a 小于。很棒的一点是,你还可以读出所有的百分位数,对吗?

艾伦:完全正确,没错。你可以双向阅读。所以,如果你从 y 轴开始,你可以选择你想要的百分比,比如中间值,50%。然后读出相应的 x 值。或者说,反面就是你说的那样。如果您想知道低于某个阈值的值的百分比,那么您只需读取该阈值并获得相应的 y 值。

雨果:对。我喜欢的另一件事是,你提到了一堆,好几个非常吸引人的经验 CDF,ECDFs 的特征。我也喜欢你可以绘制,你知道,你的控制和许多不同的实验只是在同一个图形上,并实际上看到它们如何不同,而不是你试图绘制一堆直方图在一起,你必须做古怪的幻灯片和所有这些东西,对不对?

艾伦:是的,完全正确。你可以在同一个轴上堆叠许多 CDF,你看到的差异才是真正重要的差异。当您比较直方图时,您会看到大量的噪声,并且您可以看到直方图之间的差异,这些差异只是随机的。当你看 CDF 的时候,你会很清晰地看到差异是什么,以及这些差异发生在分布的什么地方。

雨果:对。太棒了。听着,我很兴奋有一天普通大众会欣赏 CDF,他们会出现在主流媒体上。我认为那是一个光明的未来。

艾伦:是的,我想我们已经很接近了。我见过一个例子,应该还有更多。

Hugo:关于不确定性,有没有其他你认为有用的技术或者思考方式?

艾伦:我们谈了一点可视化模拟,我认为这很重要。有一个例子可以追溯到...如果我们必须回到 2016 年的选举,我认为出现的一个问题是,当他们向你展示不同州的地图时,他们展示了一个色阶,其中有红色州和蓝色州,还有粉色、浅蓝色和紫色。他们试图用彩色地图来显示不确定性,但那不是选举团的工作方式。选举团,每个州不是全红就是全蓝,只有几个例外。这就是预测结果与最终结果看起来非常不同的情况,我认为这是我们对预测和结果感到不舒服的部分原因。

雨果:有意思。你认为有什么办法可以解决这个问题?

艾伦:嗯,回到我的建议,你知道,不要试图给我看所有可能的模拟结果,而是每天给我看一个模拟。在这种情况下,你给我看的结果,每天的结果,要么全是红色,要么全是蓝色。因此,在这种意义上的预测看起来会和结果一模一样。当你看到结果的时候,很有可能它至少会和你的一个预测相似。

雨果:太好了。现在我有了一个未来闪影,一个进入未来的灵机一动,我们可以使用虚拟现实技术让人们进入潜在的模拟中。但那绝对是未来音乐。

艾伦:是的。我认为那很有趣。

在你看来,数据科学的未来是什么样的?

雨果:对。说到未来,我们已经谈了很多现代数据科学和不确定性。我想知道在你看来,数据科学的未来是什么样的?

艾伦:我认为很大一部分原因是更多的人参与进来。因此,不仅仅是训练有素的技术统计学家,我们还像数据记者一样交谈,例如,他们有查看数据的技术技能,也有讲故事的技能,可以提出有趣的问题,获得答案,然后传达这些答案。我很乐意看到所有这些成为从小学开始的普通教育的一部分。从中学开始,处理数据,处理一些我们已经讨论过的可视化数据。用数据回答问题。使用数据来探索和发现世界,你知道,在不同教育水平的适当阶段。

艾伦:有很多人在谈论试图减少世界上的微积分,增加数据科学,我认为这将是我们前进的方向。如果你看看人们真正需要知道什么,他们可能会使用什么,实际上每个人都将成为数据科学的消费者,我认为越来越多的人将成为数据科学的生产者。所以我认为这是核心教育的一部分。还有微积分,我爱微积分。但是,对很多人来说,这并不重要。

雨果:对。可以说,对于你的工程背景来说,我的意思是,微积分对工程师和物理学家非常重要,但对其他需要量化的人来说,我认为你的观点非常重要,学习如何实际处理数据和统计数据,可以说是非常重要的。

艾伦:是的。我认为,正如我所说的,越来越多的人至少会从事某种数据科学,他们会利用现在可以免费获得的所有数据,你知道,政府机构正在产生大量的数据,而他们通常没有资源来真正利用这些数据做任何事情。他们得到了生成数据的授权,但他们没有这样做的人。但另一方面,任何拥有基本数据技能的人都有巨大的机会进入那里并找到有趣的东西。通常,你是第一批探索一个数据集的人之一,你知道,如果你在它发布的那一天跳进那里,你可以找到各种各样的东西,不一定使用,你知道,强大或复杂的统计方法,只是基本的探索性数据分析。

雨果:是的,现在有能力让学习者、学生、教育机构的人参与到数据科学中来,让他们意识到数据科学与他们相关,他们可以分析和探索关于他们生活或生理系统的数据,我认为这是一个巨大的胜利。

艾伦:是的。这真的很有力量,这也是我...我称自己为数据乐观主义者。我的意思是,我认为这里有巨大的机会将数据科学用于社会公益。进入这些数据集,如你所说,它们与人们的生活相关。你能找到东西。我在最近的一次会议上看到了一个很好的例子,我和一个来自巴西的年轻人交谈,他开发了一个应用程序,该应用程序可以检查在线的政府数据,并标记腐败的证据,即预算被滥用的证据。他们会在推特上发布。只是有一个机器人会发现这些账户中的可疑之处,并在推特上发布出来,你知道,这是一种透明度,我认为这使政府变得更好。所以我认为那里有很大的潜力。

雨果:太不可思议了。实际上,这提醒了我。我不久前遇到了一个律师,他不是技术人员,也不是计算人员,但他正在学习一点机器学习,一点 Python。他试图弄清楚你是否能根据以前的判决预测最高法院的判决,以及谁会以特定的方式投票。这只是因为这是他真正感兴趣的事情,从职业和社会公正的角度来看也是如此。

艾伦:对。我认为,你知道,人们可以做到这一点,他们不一定是该领域的专家,但缺乏更好的词的业余爱好者,可以进入那里,真正做有用的工作。我认为,你知道,也有很多担忧。这引起了很多人的关注,我正在读凯茜·奥尼尔的书《数学毁灭武器》。有很多担忧,我认为有些事情很可怕,我们应该思考,但我现在实际上正在思考并试图弄清楚的一件事是,我们如何平衡这场讨论?因为我认为我们正在,或者至少已经开始,就此展开一场公开的讨论。把问题摆到桌面上来解决是好的,但我们如何在我认为合适的乐观主义和我们应该处理的关切之间取得正确的平衡。

雨果:对,绝对是。正如你所说,越来越多的书被出版,越来越多的公开对话发生。我的意思是,在过去的几周里,Mike Loukides、Hilary Mason 和 DJ Patil 发表了一系列关于数据伦理的文章,以及他们希望在文化和技术等领域看到的采用。我确实认为数学毁灭武器作为这次谈话的一部分非常有趣,因为凯茜·奥尼尔关于数学毁灭武器的定义的一个关键部分是它也是不透明的,对吗?因此,我们谈论的所有案例都涉及到必要的透明度,因此,如果我们看到更多这样的事情发生,我们至少能够就此展开对话。

艾伦:对,我同意奥尼尔和你的观点。我认为这是这些算法的关键部分,你知道,开放科学和可复制科学是基于透明和开放数据,你知道,也是开放代码和开放方法。

雨果:当然。这实际上给我带来了另一个问题,这是一条贯穿这里的线,每个人,每个公民在某种意义上与数据科学互动的能力。我想知道在你的实践中,作为一名数据科学家和教育家,开源在每个人与数据科学互动的能力中扮演了什么角色?

艾伦:对,我认为它很大。你知道,如果你的代码是私有的,可复制的科学就不起作用。如果你,你知道,如果你只分享你的数据而不分享你的方法,那只能到此为止。如果我发布我的代码,也不会有很大帮助,但它是用一种不是每个人都能理解的语言编写的,你知道,这种语言非常昂贵。即使在相对富裕的国家,你也不一定能接触到这些代码。当你走向世界的时候,你知道,世界上绝大多数人都无法接触到它,相比之下,像 R 和 Python 这样的语言是免费的,现在你仍然可以接触到技术,这并不普遍,但这更好,我认为自由软件是其中重要的一部分。

雨果:对。

艾伦:你知道,我把我的书放在免费许可证下的部分原因是,我知道世界上有很多人不会购买这些书的硬拷贝,但我想让他们可用,我确实,你知道,我收到了很多人的来信,他们以电子形式使用我的实验室,他们无法获得硬拷贝。

最受欢迎的数据科学技术

Hugo:那么,Allen,我们已经讨论了一些你非常重视的技术。我想知道你最喜欢的数据科学技术或方法是什么。

艾伦:对。我有很多。

雨果:我们开始吧。

艾伦:这可能不是一个短名单。

雨果:当然。

艾伦:所以我本质上是贝叶斯主义者。我做一定量的计算推断,你知道,你在经典统计推断,但我真的对帮助贝叶斯方法传播感兴趣。我认为其中一个挑战就是理解这些想法。当你第一次遇到这种想法时,它似乎很难,然后在某个时候有了突破,然后它似乎很明显。一旦你明白了,这是一个如此美丽简单的想法,它会改变你看待一切的方式。所以这就是我想帮助读者和我的学生,从最初的困惑过渡到清晰的时刻。

艾伦:我使用的方法之一,也是我在《思考贝叶斯》中经常使用的方法,就是网格算法,你把所有连续的东西分解成离散的块,然后所有的积分就变成了循环,我认为这使得思路非常清晰。我认为另一个重要的部分是算法,尤其是 MCMC 算法,你知道,这就是贝叶斯方法在实际问题中的实用性。你之前提到,你知道,计算能力已经变得可用。这是贝叶斯实用的很大一部分。但我认为算法同样重要,尤其是当你开始进入更高维度时。没有在过去十年左右发展起来的非常新的现代算法,这是不可行的。

雨果:对。我想谈谈网格方法的概念,你说,转向,你说积分变成了循环。我认为这实际上也是我们一直在讨论的很多事情背后的东西,实际上最初吸引我到你的教育学和你的所有工作的东西,是将数学转化为计算的想法。我们在 bootstrap 和重采样等技术中也看到了同样的情况,但采用看起来相对抽象的概念,并观察它们在计算结构中的实际表现,并在那里进行转换。

艾伦:对。是的,我发现这对我作为一个学习者来说非常有力量。我有过一次又一次的这种经历,阅读用数学概念表达的东西,然后我把它变成代码,我觉得这就是我理解它的方式。部分是因为你可以看到它的发生,通常它是非常直观的,至少对我来说,数学是不直观的。另一个原因是它是可调试的。如果你有一个误解,那么当你试图用代码表示它时,你会看到误解的证据。它会以一个 bug 的形式出现。所以,当你调试你的代码时,你也在调试你的理解。对我来说,这建立了我的信心,当我有工作代码时,这也让我相信我理解了事情。

Hugo:当然,一个相关的概念是将它分解成代码块可以让你理解更小的概念,并以更小的步骤构建整个概念。

艾伦:对,是的。我认为这也是一个很好的观点。

雨果:太好了。那么,还有其他喜欢的技术吗?如果你愿意,你可以再吃一两个。

艾伦:我会提到一个是生存分析。部分原因是它在大多数情况下不会出现在入门课上,但它是我不断回来的东西。我已经用它做了几个项目,不一定是研究生存或医学,而是我做的一项关于婚姻持续时间的研究。或者,直到某人有了第一个孩子,或者第一次结婚,或者婚姻本身持续了多久,直到离婚。所以,就像我说的,这不是每个人都能看到的想法,但是一旦你学会了,你就会开始看到它的很多应用。

雨果:当然。我没记错的话,这的确写进了你的思维统计手册,还是?

艾伦:是的。是的,我有一部分是关于生存分析的。

行动呼吁

雨果:对,棒极了。所以我肯定也会在节目笔记中链接到这个。所以,我的最后一个问题是,你对我们的听众有行动号召吗?

艾伦:也许两个。我认为如果你还没有机会学习数据科学,你应该学习。我认为现在有很多很好的资源,只是不久前还没有。尤其是如果你在高中或大学上过统计学课,而这门课与你无关,那么问题不一定出在你身上。我认为长期以来统计学的标准课程并不适合大多数人。我认为它只是在深奥的假设检验上花了太多时间。它陷入了一些统计哲学,实际上不是很好的哲学,不是很好的哲学,它是科学。

艾伦:如果你现在从数据科学的角度回到这个话题,你更有可能找到更相关的课程和教育资源。它们将基于数据。他们会更引人注目。所以再试一次。我想这是我第一次呼吁行动。

雨果:我同意。

艾伦:另一个是,对于掌握数据科学技能的人来说,有很多方法可以利用这些技能为社会造福。我认为很多数据科学家最终会从事定量金融和商业分析,这是两大应用领域。这并没有错,但我也认为有很多方法可以利用你所拥有的技能做一些好事,你知道,找到正在发生的故事,并把这些故事传播出去。你知道,用这些故事来实现改变。或者不为别的,只是为了回答关于这个世界的问题。如果有你感兴趣的东西,通常你可以找到数据并回答问题。

雨果:还有很多关于社会公益项目的非常有趣的数据,实际上我们已经让彼得·布尔在播客上谈论了一般意义上的公益数据,我也会在节目笔记中添加一些链接。

艾伦:是的,然后我有一个演讲,我想把它和我做过几次的演讲联系起来,它叫做数据科学,数据乐观主义。演讲的最后一部分是我呼吁数据科学造福社会。我收集了一些链接,这些链接都是我认识的在这个领域工作的人和团体,但无论如何都不完整。因此,我很乐意听到更多的人,也许可以帮助我扩大我的名单。

雨果:太棒了。人们也可以在推特上联系你?是这样吗?

艾伦:是的。我是艾伦·唐尼。

雨果:太棒了。艾伦,很高兴你能来参加这个节目。

艾伦:非常感谢。和你谈话很愉快。

posted @ 2024-10-31 16:48  绝不原创的飞龙  阅读(34)  评论(0编辑  收藏  举报