2025年impdp导入命令参数详解skip(impdp导入dmp文件命令)

impdp导入命令参数详解skip(impdp导入dmp文件命令)svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。



 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <blockquote> 

讯享网

原文:DataCamp Blog

协议:CC BY-NC-SA 4.0

原文:https://web.archive.org/web/202/https://www.datacamp.com/blog/power-bi-vs-excel-which-should-you-use

Microsoft Excel 自 1985 年问世以来,在商业和学术环境中已经变得司空见惯。另一方面,Power BI 还不到 10 年,虽然它不太为人所知,但它提供了更强大的功能,在许多情况下是更好的选择。

在本文中,我们将讨论 Power BI 和 Excel 之间的主要相似之处和不同之处,并就如何根据您的使用案例在这些工具之间进行选择给出一些指导。

Excel 是微软创建的一款电子表格软件,是 Office 产品套件和 Office 365 软件包的一个组件。Excel 于 1985 年首次发布,在商业和学术界已经变得司空见惯。例如,它用于人力资源管理、运营管理以及绩效分析和报告。

Excel 是一个通用的电子表格工具,用于组织和分析大小数据,包括公式、函数甚至宏(适用于有技术倾向的个人)。

Excel 的主要特性使其成为一种适用于各种数据分析任务的优秀工具,这些特性包括:

  • 函数和公式。 Excel 有许多可用的预定义函数,您甚至可以组合多个函数来执行复杂的自定义计算。
  • 数据可视化 -只需点击几下鼠标,Excel 就可以直观地呈现您的数据。这使得分析数据并在报告或仪表板中呈现数据变得快速而简单。
  • 模板。创建新的 Excel 工作簿时,Microsoft 随时提供 Excel 模板。与他人共享您自己的模板或使用他人创建的模板来加速您的数据分析也很容易。
  • 数据转换。Excel 中的超级查询工具允许您从不同来源加载数据,执行复杂的数据转换,然后将数据导入 Excel 工作簿。

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 公式,支持更高级的计算。

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

作者图片

学习曲线

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 没有这些安全功能。虽然您可以对工作簿、工作表和单元格应用密码保护,但基础数据仍然可能被暴露。

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 报告。您可以通过选择“获取数据”来找到它们,在该屏幕的底部,您会发现一个用于访问模板应用程序的按钮。

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

其次,您可以从您构建的 Power BI 报告中创建一个模板。该模板将保存布局、视觉效果和电源查询步骤,以便您可以快速重复使用电源 BI 报告,从而加快分析和报告速度。这些模板也比原始报告小得多,因为模板不保存底层数据。

您可以通过选择“文件”、“导出”并选择“Power BI 模板”,从现有的 Power BI 报告中快速创建模板。给它一个描述和名字,就这样!

在考虑是使用 Power BI 还是 Excel 来解决特定问题时,您可以考虑三个主要方面:

  1. 数据。有多少数据可供分析或需要分析?建议考虑将 Power BI 作为大容量数据或预计增长非常快的数据集的解决方案。
  2. 分析天赋。Power BI 可能需要更具体的商业智能技能,尤其是对于更复杂的解决方案。因此,你应该考虑你在企业中有什么样的才能,以及是否需要雇佣额外的分析人才。
  3. 灵活性。考虑一下 Excel 和 Power BI 在灵活性方面的区别。Excel 允许您创建高度复杂、灵活的报告和仪表板,但是您在灵活性方面获得的好处,却失去了自动化这些任务的能力。另一方面,PBI 提供的灵活性不如 Excel,但是您可以执行高度的自动化。

原文:https://web.archive.org/web/939/https://www.datacamp.com/blog/power-bi-vs-tableau-which-one-should-you-choose

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

一个好的决策过程会在果断和尽职调查之间找到平衡,因此快速传达信息在商业中非常重要。这是可视化的本质——通常在一个单一的图形中,图表快速地显示和解释了原本成千上万的数字和文字。可以使用 Tableau 和 Power BI 等商业智能工具创建图表。

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

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

他们非常受欢迎。

据 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 上获得,一旦你学会了如何使用其中一个,学习如何使用另一个就很简单了。

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

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

但是,应该考虑几个不同点,如果您正在考虑在您的业务中使用它们,选择其中一个是有意义的。

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 Pro9.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 提供 Tableau 和 Power BI 两种课程。我们的课程使您能够在不涉及任何安装的情况下练习每个工具的界面,并涵盖连接数据和构建仪表板等功能。

概括起来

(舞台上由人扮的)静态画面功率 BI市场领导者?981 号房981 号房各种不同的可视化?981 号房981 号房可以连接各种数据源?981 号房981 号房用户友好?981 号房981 号房它能在什么类型的机器上工作?苹果电脑和视窗电脑仅限 Windows 电脑认证?多重一个更易于集成…销售力量微软费用各不相同,但 Tableau 通常更贵各不相同,但 Tableau 通常更贵

想从事数据方面的职业?在 Microsoft Power BI 职业跟踪中发现我们的数据分析师,您将立即为工作做好准备。

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

原文:https://web.archive.org/web/939/https://www.datacamp.com/blog/predicting-soccer-world-cup-winners

有史以来最伟大的国家足球队是哪支?是 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 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 |

现在让我们根据 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 以考虑通货膨胀,但这超出了本文的范围。

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

如果您希望自己重新创建该图,则打开用于准备数据和绘制图的 DataCamp 工作区。

最后,看看即将到来的卡塔尔世界杯,哪些球队最有可能把奖杯带回家?看看最近的 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%的获胜机会。

如果你对使用数据进行预测感兴趣,可以试试机器学习科学家职业道路。

  • Python 中的机器学习科学家
  • R 中的机器学习科学家

如果你已经做到了这一点,并且你仍然有兴趣了解更多关于 Elo 评级和足球的信息,你可以看看《国际预测杂志》上的这篇文章,这篇文章还描述了 Elo 评级如何被用作其他模型的功能:使用 ELO 评级预测足球协会的比赛结果。

原文:https://web.archive.org/web/939/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 文件、数据库、仓库和第三方应用程序。如果还没有这样做,那么应该在一个集中的位置整合和管理这些数据源,然后才能在预测分析和建模中使用它们。这确保了数据是安全的,并且质量和治理是重中之重。

正如古老的数据分析格言所说:“垃圾进来,垃圾出去。”尽量避免将所有数据存储在电子表格中。虽然电子表格很灵活,但却很容易编辑和共享,而无需控制其中数据的质量和安全性。

此外,考虑您已经拥有或希望在未来生成的数据量。如果没有适当的存储系统和流程来处理大量数据,构建预测模型可能会变得不必要的耗时,并且对于他们需要解决的问题来说效率低下。

改变

预测分析项目中的转换步骤包括为即将到来的分析或模型清理、探索和准备数据。

在清理数据时,您应该寻找丢失的数据和异常值,或者在问题的上下文中没有意义的可疑值。这与数据探索是携手并进的,因为通过探索数据,你可以理解它,异常变得更加明显。

最后,必须为项目的下一步准备数据。这里的确切过程取决于需要完成的算法和分析类型。

例如,假设您正在拟合一个线性回归模型来预测广告活动中的点击率。在这种情况下,您必须考虑线性回归的假设以及数据是否满足这些假设。也有必要将数据中的任何分类变量转换成虚拟变量,这被称为一次性编码。

在继续构建预测模型之前,请确保将数据分为定型集、测试集和验证集。您使模型适合训练集,这是它学习数据中的模式以进行预测的方式。但是,您还必须有一个验证集来迭代和改进模型,然后使用测试集获得模型准确性的最终无偏估计。

分析

如果您正在使用相对简单的监督机器学习算法(如逻辑回归)构建预测模型,则此步骤需要您拟合模型并评估结果。然而,一些复杂的算法,如神经网络,需要仔细的微调和调整才能产生准确的预测。

需要记住的重要一点是,许多预测模型需要大量数据才能准确地推广到现实世界。如果您仍然需要获得这些模型所需的大量数据,那么您可以考虑其他允许您预测或预测较小规模的结果的技术。这也取决于你的目标和你试图解决的商业问题,包括数据挖掘和应用各种统计方法等技术。

部署

预测分析项目的最后一步是部署。这是项目的最终输出或结果,并将作为模型为您的组织增加价值的媒介。根据您为解决特定问题而选择的项目和解决方案,此步骤可能包括从简单的报告或仪表板到复杂的现有平台部署的任何内容。

考虑您的组织是否有足够的人才来进行更复杂的部署,以确保流程平稳高效。例如,投资至少一名数据工程师对成功的模型部署大有帮助。

分析,尤其是预测分析,不仅仅是为少数科技巨头和大公司保留的,甚至也不仅仅是为组织内的少数人保留的。如今,各种规模的组织都在使用分析,并且几乎可以应用于每个行业。此外,预测分析现在是一项在整个组织中由团队分配和拥有的功能。

预测分析可以为几乎每个组织提供难以置信的竞争优势。然而,考虑和理解成功的预测分析项目的要素至关重要。本文提供了预测分析的指南,如何将其应用于业务问题,以及其工作背后的过程。

原文:https://web.archive.org/web/010/https://www.datacamp.com/blog/project-jupyter-and-interactive-computing-transcript

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

https://web.archive.org/web/833if_/https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/%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 架构实际上表达了我们对交互式计算的思考。我要说的是,交互计算的核心思想是,有一个计算机程序在有人类参与的环境中运行。当程序运行时,人在运行中编写和运行代码,然后查看运行代码的结果输出,并决定随后编写和运行什么代码。这是一种交互模式,在人类编写代码和计算机运行代码之间来回切换,人类以迭代的方式与结果交互。

雨果:这对科学研究过程的许多方面来说都是理想的,对吗?从探索性的数据分析到编写嵌入了内嵌结果、图像和文本等内容的代码?

布莱恩:当然。这是我们真正想了很多的事情,那就是当人类处理代码和数据时,最终,在某些时候,为了使他们的工作有意义和有影响力,代码和数据需要嵌入到我们认为是围绕代码和数据的叙述或故事中,使人类能够与之互动,基于它做出决定,理解它。这真的是人类对决策的应用。当你处理数据的时候,有一个人在循环中真的很重要。

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 现在有了你所讨论的功能,这有助于找到这种平衡,对吗?

布莱恩:哦,当然。看到他们发布这个我很激动,我想这是上个月发生的事情。现在我甚至不记得他们到底叫它什么了。

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/128/https://www.datacamp.com/blog/providing-financial-inclusion-with-data-science

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

https://web.archive.org/web/723if_/https://embed.podcasts.apple.com/us/podcast/76-providing-financial-inclusion-with-data-science/id?i=03

DataCamp 播客 DataFramed 的主持人 Adel Nehme 最近采访了 Credit Karma 的数据科学和工程副总裁 Vishnu 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 上再见。

原文:https://web.archive.org/web/202/https://www.datacamp.com/blog/python-2-vs-3-everything-you-need-to-know

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

如果你正在考虑进入数据科学领域,你可能听说过 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 是由吉多·范·罗苏姆在 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 是下一代编程语言。它是在 2008 年 12 月发布的,附带了一些改进和新特性。

Python 3 不仅仅是调试后的另一个版本的 Python 2 代码。新版本彻底改变了语言,以解决以前版本中的安全问题和设计缺陷。Python 3 提供了一种新的语法,旨在防止冗余或重复的代码,即以不同方式执行相同任务的代码。通过提供单一、清晰的做事方式,Python 3 的易用性和可读性有了很大的提高。

Python 3 中的一些主要变化包括将打印声明改为内置函数、改进整数除法和改进 Unicode 支持。这些变化的本质是 Python 3 与 Python 2 不兼容,换句话说,它是向后不兼容的。

让我们看一些编码例子来说明 Python 2 和 3 的区别!

新的 print()函数

Python 2 中的 print 语句已经被 Python 3 中的 print()函数所取代,这意味着我们必须将想要打印的对象放在括号中。

Python 2:

讯享网

Python3:

 

整数除法

在 Python 2 中,当除以整数时,结果总是整数。在 Python3 中,结果总是包含小数,使得整数除法更加直观。

Python 2:

讯享网

Python 3:

 

Unicode 支持

在 Python 2 中,每个 Unicode 字符串都必须用前缀“u”标记,因为默认情况下它使用 ASCII 字符。相比之下,Python 3 默认将字符串存储为 Unicode,这比 ASCII 字符串更通用。

Python 2:

讯享网

Python 3:

 

距离函数

Python 2 中的 xrange()函数在 Python 3 中不再存在。它已被 range()函数所取代,该函数提高了遍历序列时的性能

Python 2:

讯享网

Python 3:

 

在下表中,您可以找到 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 历史上最大的变化。

虽然公司和开发人员最终将其代码库迁移到 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 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

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

来源: JetBrains

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 编程技能轨迹
  • Python 程序员职业轨迹
  • 编写高效的 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 维护单独的虚拟环境来做到这一点。

原文:https://web.archive.org/web/725/https://www.datacamp.com/blog/python-best-practices-for-better-code

编码是为计算机完成特定任务而编写指令(也称为算法)的艺术。为了与计算机交流,开发人员使用编程语言。

像英语、俄语或盖丘亚语等自然语言一样,编程语言包含一组特定的句法和语义规则,为通信提供了基础。尽管自然语言更复杂、更灵活、更动态,但这些属性也适用于编程语言,只是程度更有限。

你甚至可以用许多不同的方式编写最简单的算法。虽然在开发代码时需要一定的灵活性,但这会影响效率和有效的交流,尤其是当多人一起工作时。

因此,可读性是编写代码时的一个重要方面。为了确保开发人员意见一致,大多数编程语言都制定了编码标准。这些文档提供了生成可读、可维护和可伸缩代码的指南和**实践。

在本文中,我们将探索 Python(最流行的数据科学语言之一)的编码**实践。下面几节中介绍的实践主要是关于用 Python 编写代码的**实践的标准指南 PEP 8 。要了解更多关于 Python 的知识,请查看我们的Python 入门课程。

“代码被阅读的次数比它被编写的次数多得多。代码应该总是以提高可读性的方式编写”Python 的发明者吉多·范·罗苏姆

PEP 8 是 Python 代码的风格指南。由吉多·范·罗苏姆、巴里·华沙和尼克·科格兰在 2001 年编写的 PEP 8 提供了一组编写更具可读性和一致性的代码的建议。它涵盖了从如何命名变量到一行应该包含的最大字符数的所有内容。

PEP 代表 Python 增强提案。PEP 是一个文档,它描述了为 Python 提出的新特性,并记录了 Python 的一些方面,如设计和风格。

虽然不是强制性的,但是 Python 社区的大部分都使用 PEP 8。因此,遵循指南是非常可取的。通过这样做,你将提高你作为一名职业程序员的资格。

尽管 PEP 8 被广泛接受,但该指南可能不适合所有特定的场景。在这种情况下,公司定义自己的惯例是很常见的。

代码质量的 Python **实践

编写可读性强、组织有序的代码可以有所作为,提升你的职业前景。虽然对于初学者来说,编码看起来是一个机械而复杂的过程,但事实是编码是一门艺术。

有许多技巧可以帮助你提高 Python 代码的质量。以下是一些最相关的列表。

缩进暴政

缩进是指代码行开头的空格。虽然在其他编程语言中缩进只是为了可读性,但在 Python 中缩进是必须的。Python 使用缩进来打开代码块。更准确地说,每个缩进级别有 4 个连续的空格,如下面的代码所示:

讯享网
最大线路长度

PEP 8 建议任何一行都不要超过 79 个字符。这是有意义的,因为较短的行更容易阅读。此外,这个长度允许您打开多个相邻的文件。

空白行

用两行空行将顶级函数和类定义括起来。类中的方法定义由一个空行包围。额外的空行可以(有节制地)用于分隔相关函数组。最后,在函数中使用空行来表示逻辑部分。

使用棉绒和自动套用格式

精通代码需要时间。编码时注意所有的细节可能会很有挑战性,也很耗时。幸运的是,机器可以帮助我们确保代码质量,特别是 linters 和 formatters。

Linters 对源代码进行静态分析,并检查是否有对称差异。格式化程序是类似的工具,它试图重新调整代码间距、行长度、参数定位等,以确保不同文件或项目中的代码看起来一致。Python 提供了大量的 linters 和 formatters 供您选择。

牢记原则

虽然前面提到的一些规则很简单,但大多数情况下,编码需要良好的品味和直觉。要成为一名编码艺术家,你应该了解支撑 Python 的一些原则。这类原则的一个很好的例子是 Python 的禅,将在另一篇文章中介绍。

Python 日志记录**实践

日志记录是跟踪某些软件运行时发生的事件的一种方式。特别是当应用程序的规模和复杂性增加时,日志记录成为开发、调试、运行和跟踪性能的关键技术。

为了处理日志实践,日志模块从版本 2.3 开始就是 Python 标准库的一部分。该模块是大多数 Python 开发人员在日志记录方面的首选包。在 PEP 282 中有广泛的描述。

日志记录在本质上类似于打印功能。然而,打印功能缺少许多可能对开发人员有用的信息。然而,日志可以记录错误发生的时间戳和行号。它还可以将错误或任何信息记录到文件、套接字等中。

要导入该模块,只需运行以下代码:

 

并非每个日志消息都相似。事实上,该模块根据消息的严重性提供了一个日志级别类别。内容如下:

  • NOTSET (0) :这意味着所有消息都将被记录。
  • Debug (10) :用于诊断代码中的问题。
  • Info (20) :它可以确认代码中没有错误。信息级日志记录的一个很好的用例是训练机器学习模型的过程。
  • 警告(30) :预示未来可能发生的问题。例如,模块将来可能会停止使用的警告或低 ram 警告。
  • 错误(40) :代码出现严重 bug 这可能是语法错误、内存不足或异常。
  • Critical (50) :程序可能停止运行或突然退出的错误。
讯享网

说到这里,下面你可以找到在 Python 中处理日志记录时的六个**实践的列表。

使用日志代替打印

我们之前说过,日志以与打印功能相同的方式提供信息。然而,日志功能更强大,因为它们可以提供更细粒度的信息。

使用打印功能可能很诱人,尤其是如果你不熟悉日志程序,但是日志永远是最安全的选择。它们更适合扩展和处理复杂的应用程序。

网络上充满了指南和文档。比如这个 DataCamp 日志教程可能就是你要找的入门。

使用日志模块

这个模块是大多数 Python 开发人员的首选。这意味着该模块得到了很好的维护,并得到了一个庞大社区的支持,该社区将永远为您的疑问提供答案。

明智地选择日志记录级别

日志模块提供了六种不同级别的消息。它们中的每一个都是为特定的目的而设计的。你越坚持它们,你和用户就越容易理解你的代码中发生了什么。

记录时使用时间戳

这是打印功能所不具备的日志的关键特性。除了知道问题出现在哪里,知道问题何时发生也很重要。在这些情况下,时间戳是你最大的盟友。确保使用标准格式写入时间戳,即 ISO-8601 格式。

清空记录箱

使用 RotatingFileHandler 类(如 TimedRotatingFileHandler)代替 FileHandler 来存档、压缩或删除旧的日志文件,以防止出现内存空间问题。一旦触发了大小限制或时间条件,这些类将清理空间。

Python 注释**实践

注释对于为我们代码的未来读者做注解是非常重要的。尽管很难定义如何对代码进行注释,但我们可以遵循某些指导原则:

  • 任何与准则相矛盾的评论都比没有评论更糟糕。这就是为什么我们更新代码是非常重要的,并且不要忘记更新注释以避免产生不一致。
  • 注释必须是完整的句子,首字母大写。
  • 试着用英语写评论。虽然每个人都可以自由地用他们认为合适的语言来写他们的评论,但建议用英语来写。
  • 确保你的评论清晰明了,并且容易被使用你所写语言的其他人理解。

有两种类型的注释:块注释和行内注释。

块注释解释了它后面的代码。通常,块注释的缩进级别与代码块相同。块注释的每一行都以#和一个空格开始,如下所示:

 

另一方面,行内注释出现在与代码相同的级别。行内注释应该至少用两个空格与语句隔开。与块注释类似,行内注释以单个散列符号(#)开头,后跟一个空格和一个文本字符串。

讯享网

Python docstring **实践

docstring 是作为模块、函数、类或方法定义中的第一条语句出现的字符串文字。通常,使用文档字符串来自动生成代码文档。因此,可以使用 obj 在运行时访问 docstring。doc 对象特殊属性。

为了一致性,文档字符串总是用三重双引号(“ ”)括起来。

有两种形式的文档字符串:单行文档字符串和多行文档字符串。一行程序适用于非常明显的情况。它们应该在一行上。以下示例说明了 multiply()函数中的单行 docstring:

 

另一方面,多行 docstring 可以跨多行。这样的 docstring 应该记录脚本的函数和命令行语法、环境变量和文件。用法信息可能相当详细,应该足以让新用户正确使用该命令。

讯享网

关于 docstrings 更详细的解释可以在 PEP257 中找到。

Python 文档**实践

虽然注释对于与您一起工作的其他开发人员理解您的代码很重要,但是文档旨在帮助潜在用户社区如何使用您的软件。这是关键的一步:不管你的软件有多好,如果文档不够好,或者更糟,缺少文档,人们就不会使用它。

尤其是如果您正在处理一个新项目,包含一个自述文件总是一个好习惯。这些文件通常是代码读者的主要入口点。它们包括给用户和项目维护者的一般信息。

虽然简洁,自述文件应该解释项目的目的,软件的主要来源的 URL,和信用信息。

同样,您应该始终包含一个 setup.py 文件,该文件确保软件或库已经与 Distulils 一起打包和分发,这是分发 Python 模块的标准。

此外,如果您的软件需要其他依赖项或包来运行,您应该包含一个 requirements.txt 文件,它描述了所需的依赖项及其版本。

最后,你可以自由添加任何你认为与潜在用户相关的信息。例如,一个好的实践是提供你的包或函数如何工作的例子。

Python 虚拟环境**实践

为了确保数据项目的顺序和一致性,一个好的做法是为您启动的每个项目创建一个虚拟环境。

虚拟环境,也称为 virtualenvs,有助于分离和隔离项目所需的 Python 和库的版本,以及它们相关的 pip 版本。这授权最终用户安装和管理他们自己的一套软件和版本,这些软件和版本独立于系统提供的软件和版本。

要创建 virtualenvs,我们需要首先安装所需的包,在您的终端中编写以下代码行:

 

为了创建一个新的 virtualenv,下面的代码将变得神奇。我们称这个新的虚拟物为“新虚拟物”

讯享网

初学 Python 的开发人员最常犯的一个错误是对变量、类、函数等命名不当。命名约定是确保代码可读性的关键元素。

在 Python 中,命名对象的标准方式在 PEP 8 中有解释。根据指导方针,新的模块和包(包括第三方框架)应该按照这些标准编写,但是如果现有的库有不同的风格,内部一致性是首选的。

一般来说,你应该避免使用太笼统或太世俗的名字。此外,标准库中使用的标识符必须与 ASCII 兼容,如 PEP 3131 所述。

 

下面是 Python 中最常见对象的命名约定列表。

  • 包和模块
  • 包和模块的名字应该都是小写的
  • 只有在提高可读性的情况下,才能在包和模块名称中使用下划线。
  • 类名应该遵循 UpperCaseCamelCase 约定
  • 然而,Python 的内置类通常是小写单词
  • 实例变量、方法和函数
  • 实例变量名应该全部小写
  • 使用下划线将新单词添加到变量实例中
  • 非公共实例变量应该以单下划线开头
  • 常数
  • 常量名必须全部大写
  • 使用下划线向常量添加新单词

| 标识符 | 惯例 |
| 组件 | 小写字母 |
| 班级 | CapWords |
| 功能 | 小写字母 |
| 方法 | 小写字母 |
| 类型变量 | CapWords |
| 常数 | 大写字母 |
| 包裹 | 小写字母 |

确保软件开发活动中的可读性、代码质量和可伸缩性

虚拟环境是一种工具,它通过为每个项目创建单独的隔离环境来分离不同项目的依赖性。

这是一个提供如何编写 Python 代码的标准指南和**实践的文档。

缩进是指代码行开头的空格。Python 使用缩进来表示代码块。

Python 的禅是 19 个编写计算机程序的“指导原则”的集合,这些原则影响了 Python 编程语言的设计。

Python docstring 是一个用来记录 Python 模块、类、函数或方法的字符串,因此程序员无需阅读实现细节就能理解它做了什么

有两种类型的注释:块注释和行内注释。

原文:https://web.archive.org/web/026/https://www.datacamp.com/blog/python-in-healthcare-ai-applications-in-hospitals

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

目录

简介

使用 Python 进行图像诊断

  • 肿瘤的检测和分类
  • 检测心血管异常
  • 检测骨折和其他损伤
  • 常见癌症的筛查

自然语言处理(NLP)在医疗保健中的应用

  • 利用自然语言处理创建临床决策支持系统
  • 使用 NLP 提高表型分析能力
  • 预测精神病的发作
  • 肝硬化患者的识别和危险分层
  • 可报告癌症病例的识别
  • 自然语言处理在预测分析中的应用

利用 Python 预测和分析复杂疾病

使用 Python 改善患者体验

加强医院运营

药物发现

Python 在医疗保健中的应用前景

结论

在现代世界,计算机和智能手机已经占据了我们生活的许多方面,医疗保健行业也不例外。医疗从业者越来越多地将健康和医疗保健数据从纸质格式迁移到电子格式,医疗保健机构也因此产生了大量数据。Python 是一种基本的编程语言,数据科学家使用它来为医疗保健中的多种挑战创建解决方案,它提供了一套多样化的工具来为医疗保健专业人员从数据中生成重要的见解。医生可以使用 Python 驱动的应用程序进行更好的预测,并提高医疗服务的质量。在医疗保健领域,数据科学家主要使用 Python 来构建机器学习算法和软件应用程序,用于:

  • 执行医疗诊断
  • 提高医院运营效率
  • 基因组研究
  • 药物发现
  • 预测分析

Python 在医疗保健领域的主要应用基于机器学习(ML)和自然语言处理(NLP)算法。这些应用包括图像诊断、医学文档的自然语言处理以及使用人类遗传学预测疾病。此类应用对医疗保健部门至关重要:它们将数据处理和分析成患者和卫生工作者可以理解、有意义和可靠的信息。以下部分详细介绍了数据科学家和医疗从业者如何使用 Python 中的 ML 和 NLP 来解决医疗挑战并改善患者的健康状况。

医疗保健领域最有前途的技术发展之一是使用 ML 来分析多种图像,如磁共振成像(MRI)、计算机断层扫描(CT)和扩散张量成像(DTI)扫描,以提供诊断。虽然人类大脑很难同时分析多幅图像,但机器学习解决方案擅长处理多条信息,以产生单一的诊断结果。萨克(2021) 提供了机器学习在医疗保健和研究方向的现实应用的例子。同样值得注意的是,在机器学习中使用 Python 进行图像分析的准确率约为 92% 。这略低于高级临床医生 96%的准确率。但是病理学家审核机器学习模型时,准确率可以上升到 99.5% 。

肿瘤的检测和分类

机器学习技术在医疗保健中最常见的应用之一是使用计算机自动检测(CAD) 来检测肿瘤。这些技术应用 CNN 来计算肿瘤确实是肿瘤的概率。例如,在乳房 x 光检查中,人工智能工具可以为许多放射科医生提供“第二”意见。这显著提高了筛查的准确性,而不增加与使用人类给出“第二意见”相关的成本。

医生在胶质母细胞瘤(一种脑肿瘤)的检测和分类方面面临挑战。困难在于这些肿瘤的侵袭性和广泛性。与其他脑肿瘤不同,这些肿瘤很难定位和评估它们对治疗的反应。深度学习有助于自动评估胶质母细胞瘤磁共振成像。

检测心血管异常

使用 Python 从图像(如胸部 x 光)中自动检测心脏异常,可以加快决策速度,减少诊断错误。当患者出现呼吸急促等症状时,医生通常会要求拍胸片,以此作为心脏增大的工具。用 Python 创建的 AI 工具可以帮助自动完成评估任务,如测量肺动脉直径和隆凸角度测量。例如,下图显示了数据科学家如何利用患者的临床特征(如性别、吸烟状况和高血压风险等因素)使用 ML 来预测心血管疾病。该模型的准确率约为 76% (翁等,2017) 。

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

资料来源:翁等人(2017)

ML 算法可以评估图像并自动生成报告,为人类从业者从正常测量中分类异常节省时间。

检测骨折和其他损伤

数据科学家可以使用 ML 驱动的工具来识别难以看到的脱位、骨折和软组织损伤,使外科医生能够做出更自信的治疗选择。使用无偏见的算法来分析图像可以帮助医疗从业者考虑所有的损伤并提供**的治疗。人工智能工具可以帮助对医学图像进行全面分析,并及时生成准确的报告,从而最大限度地降低患者风险、假阴性和医疗从业者的法律风险。

检测胸部状况和并发症

肺炎等胸部疾病需要医护人员做出快速反应。医生使用放射学图像来诊断肺炎,并将这种疾病与其他肺部疾病(如新冠肺炎)相区别。然而,正如 Hasan 等人(2021) 所证明的,放射科医生可能并不总是能够分析图像并为医生撰写报告。即使有,如果病人已经有肺部疾病,他们也很难鉴别肺炎。一种基于 Python 的人工智能算法可以分析 x 光和其他医学图像来检测肺炎,然后自动提醒医疗保健提供者提供适当的治疗。

常见癌症的筛查

肿瘤学家使用医学成像来执行癌症的常规预防性筛查,例如结肠癌、前列腺癌和乳腺癌。在乳腺癌筛查中,放射科医师可能会面临将肿瘤最终分类为良性或恶性的挑战。假阳性可能导致不必要的侵入性测试或治疗,而错过恶性肿瘤可能导致延误诊断和不良后果。使用人工智能可以帮助提高阅读医学图像的准确性,潜在地降低不必要的良性活检的比率。

数据科学家和医疗保健从业者使用自然语言处理(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%的人制定了计划并试图自杀。

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

资料来源:国立卫生研究院(2021 年)。美国成年人的自杀想法和行为。

医疗保健专业人员希望识别处于危险中的个人或群体,以便他们能够进行干预。有几项研究预测了使用社交媒体帖子的自杀企图。一项研究使用 Twitter 数据开发了一个具有高精度水平(约 70%)的模型。关键的发现包括,有自杀风险的用户在文本中发布的表情符号较少,大多使用蓝色表情符号或心碎符号。他们还在试图自杀前发布悲伤或愤怒的推文。 Coppersmith (2018) 也使用 NLP 预测了自杀实例,准确率超过 70%(见带 ROC 的图)。

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

资料来源:科波史密斯等人(2018)

医疗保健组织已经在使用 NLP 从巨大的数据科学之树上摘下低垂的果实。主要的技术实体越来越多地为医疗保健创建 NLP 工具。例如,亚马逊有一个用户友好的临床 NLP 工具,可以帮助医疗从业者从非结构化数据中提取见解。他们可以很容易地招募患者进行试验研究,为患者找到正确的诊断,并建立早期检测硬化等疾病的预警系统。

分析师使用 Python 中的机器学习算法来分析遗传学,以预测疾病并确定疾病的原因。深入了解基因如何影响个体的风险有助于预防性保健。这可以为医生提供关于如何定制患者的医疗保健计划的重要信息,以降低获得更复杂疾病的风险。

很难预测任何疾病将如何演变,许多系统在这项任务上效率低下,因为一些疾病会快速而意外地变异。使用 Python,开发人员可以建立高效的机器学习模型,这些模型可以在疾病变得严重之前预测疾病。

其中一项关键进展是人类遗传学中的下一代测序(NGS)技术。NGS 是生物和医学研究不可分割的一部分。NGS 的基本意义已经扩大了对处理和分析所产生的数据集的需求。这有助于解决各种问题的研究问题,如宏基因组量化和分类,变异调用和基因组特征检测。

在另一个例子中,李等(2018) 使用在图形处理单元(GPU)上训练的深度学习算法来预测复杂疾病的异质性和上位性。

通过机器学习,科学家可以发现疾病模式和趋势,并以更可预测的方式进行建模。因此,机器学习有可能准确预测那些有患某些疾病风险的人,如心血管疾病、癌症和阿尔茨海默病。

最后, Google 开发了这样一种深度学习算法,利用患者的医疗数据来检测他们的癌症。该模型是高效的,不仅加快了治疗过程,而且降低了患者将来由于诊断不良而出现严重并发症的风险。

管理患者会占用大量资源。工作人员有限的医疗机构可能难以满足患者的预约、治疗和一般健康需求。用 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 种不同的立体可视化模式,允许用户突出显示和区分目标中的各种结构特征。科学家使用工具为药物分子寻找合适的结合位点。该工具旨在很好地适应新的预测方法。下图显示了该工具如何梳理数百万数据来帮助设计药物原型。

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

资料来源: PyMOL

PyMOL 允许可视化目标疾病生物体的三维(3D)结构。使用可视化技术,科学家们可以更好地理解基本问题,从而设计出新的分子结构来恰当地解决这种疾病。

大型复杂医疗数据集的涌入,降低成本的需求,以及医疗保健劳动力规模的缩小,推动了市场上 AI/ML 工具的增长。人类从业者和基于人工智能的工具之间的合作和伙伴关系也越来越多。AI/ML 和 NLP 开发者的未来看起来很光明,一些初创公司已经在开发人类感知的 AI 系统。在医疗保健中使用机器人的人数稳步上升。

机器人在医疗保健领域的新应用范围从外骨骼和假肢到纳米机器人和手术机器人。在美国,医疗保健机器人市场到 2027 年将增长到约 325 亿美元,预计 2020-2027 年期间的 CAGR 为 21.3%。

与新冠肺炎的斗争将继续推动市场增长,人工智能技术将被部署用于成像诊断、药物发现、基因组学和预测分析。

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

来源:市场与市场(2022)。

美国国家医学图书馆指出,精准医疗是“一种新兴的疾病治疗和预防方法,它考虑了每个人在基因、环境和生活方式方面的个体差异。

医疗保健的未来掌握在 AI/ML 手中,精准医疗可能是在医疗保健中使用 AI/ML 的最具影响力的好处之一。

精准医疗的目标是根据患者的个人病史、遗传信息、生活方式选择和动态变化的病理检查,为患者找到精确的治疗方案。其根本目标是结合最强大的人工智能技术(如深度神经网络、搜索算法、强化学习、概率模型、监督学习等)来开发精准医疗工具。它的重点是创建人工智能系统,可以利用早期筛查或常规检查数据预测患者患某种疾病的概率,Python 处于寻求精确医疗的最前沿,开发人员创建人工智能工具来模拟为什么以及在什么情况下更有可能发生疾病。这对于准备和指导卫生保健提供者甚至在个体出现症状之前进行干预是重要的。

使用 Python 创建 AI/ML 应用程序还有其他真正令人兴奋的可能性,如数字手术机器人。想象一下,在一个手术室里,病人走进去,让机器人安全而精确地对他们实施精确的手术。

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

来源:机器人商业评论(2022)

人工智能智能机器人可以与外科医生携手合作,并根据手术历史和结果利用分布式数据驱动的见解和指导。在医疗保健中使用 Python 的可能性是无穷无尽的,未来将为远程医疗和小手术的远程手术敞开大门。

Python 在医疗保健中的应用并非没有挑战。数据隐私和法律框架的挑战仍然阻碍着它的全面应用。也仍然很难找到第三方提供商可以合法使用的数据。需要对法律和政策制定进行大规模的合理化努力,以应对这些挑战。

作为数据科学家和人工智能实践者,我们有责任通过利用人工智能算法的力量来节省成本和改善全球数十亿人的生活,从而创造一个光明的未来。

您可以通过编码和以下指导项目获得 Python 实践技能:

  • 你的心率告诉你什么
  • 心脏病患者数据聚类
  • 肾结石和辛普森悖论

原文:https://web.archive.org/web/328/https://www.datacamp.com/blog/python-vs-r-for-data-science-whats-the-difference

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

如果您是数据科学的新手,或者您的组织是新手,您需要选择一种语言来分析您的数据,并选择一种深思熟虑的方式来做出决策。完全公开:虽然我会写 Python,但我的背景主要是 R 社区——但我会尽最大努力做到无党派。

好消息是,您不需要为这个决定付出太大的努力:Python 和 R 都有庞大的软件生态系统和社区,因此这两种语言几乎都适合任何数据科学任务。

最常用的两个编程语言索引 TIOBE 和 IEEE 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 的 dplyr 和 ggplot2 包,以及Python 的数据科学简介,其中介绍了 Python 的 pandas 和 Matplotlib 包,看看你更喜欢哪个。

结论:如果您组织中的数据科学主要由具有编程经验的专门团队进行,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 代码。这意味着一种语言中的所有特性都可以从另一种语言中访问。比如深度学习包 Keras 的 R 版居然调用 Python。同样,调用 PyTorch 。

如果你在一家发展迅速的公司工作,并且想招聘顶尖员工,那么做一些对立的研究来看看你的竞争对手在使用什么技术是值得的。毕竟,如果你的新员工不需要学习一门新的语言,他们会更有效率。

编程语言战争大多是人们推广他们最喜欢的语言的借口,并以戏弄使用其他语言的人为乐。所以我想澄清一点,我对在互联网上开始另一场关于 Python 和 R 在数据科学上的争论不感兴趣。

我希望我已经说服了你,虽然 Python 和 R 都是数据科学的好选择,但员工背景、你所处理的问题和你所在行业的文化等因素可以指导你的决定。

原文:https://web.archive.org/web/939/https://www.datacamp.com/blog/q3-2022-data-camp-classrooms-roundup

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

2022 年秋季学期的开学打破了单季度创造的最多数据营教室的记录!高中、本科和研究生级别的教师在 80 多个国家创建了超过 2,300 个 DataCamp 教室,使超过 24,000 名新教师和学生获得了六个月免费访问 DataCamp 学习、工作空间、认证和工作的机会。

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

我们还将加拿大、法国、澳大利亚和捷克共和国的中学教师纳入了 DataCamp 课堂。下面是两篇博文,讲述了捷克和澳大利亚的高中教师如何伸出援手,为 DataCamp 社会影响团队提供了核实这些地区学校电子邮件地址所需的必要数据。与美国、英国、比利时和波兰一样,这使得八个国家的高中有资格利用 DataCamp 教室提供的一切。发送电子邮件至 【电子邮件受保护】 帮助我们添加您所在国家的中学!

阅读更多: 一位教师如何在捷克共和国掀起数据教育革命

阅读更多: 数据营课堂登陆澳洲:你也可以投稿

  • 包含超过 380 门课程的综合数据科学课程可以让任何人从新手到专家,从基础理论课程到所有突出的编码技术,如 Python、SQL、R 等等。
  • 数据科学项目使用真实世界的数据集和场景,让学生体验向最终目标应用新技能的过程。
  • 一个易于使用的平台,无需下载任何软件即可访问全功能浏览器。
  • 练习练习通过快速的日常挑战来提升您的数据科学技能。
  • 我们所有课程视频的字幕和**辅助选项。
  • 作业和报告工具,增强您的课堂管理能力。你会确切地知道哪些学生完成了你的作业,什么时候完成的。我们甚至会给你看他们的技能评估的结果。
  • 高成就者可以获得行业认可的数据科学家和数据分析师认证,并访问我们的工作平台,开始他们的职业生涯。
  • DataCamp Workspace ,这是一个创意空间,允许教师定制作业,并允许学生分享他们的数据驱动工作组合。
  • iPhone 和 Android 上完整的 DataCamp 应用程序。
  • 我们甚至允许您和您的学生下载我们的课程内容进行离线学习。
  • 所有这些都是免费的!

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

我们的社会影响团队有了一名新成员!奥利·杜赫斯特是 DataCamp 的新任增长副总裁。他位于伦敦之外,他的目标是在 2023 年将数据营的捐赠和教室增加一倍。

当我们的社会影响实习生 Rayan Elatmani 和 Seve Perez 回到学校时,我们也向他们道别。他们在发展、维护、促进和改善 DataCamp 的所有社会影响项目方面所做的宝贵工作,只要他们存在,人们就会感受到。特别是,如果没有他们勤奋的团队合作,我们在澳大利亚、加拿大、捷克和法国的高中扩张是不可能的。

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

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

他们愉快地出现在我们的帝国大厦办公室里,我们都会怀念他们。祝你们俩好运!

原文:https://web.archive.org/web/302/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 捐赠给非营利组织及其成员:

  • 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/415/https://www.datacamp.com/blog/quick-guide-to-data-journalism

随着数据科学行业对数据故事的重新关注,将数据科学作为团队运动的方法,以及数据记者开展和发布的大型调查,如 Panama Papers 、 2016 年美国大选预测或Airbnb 效应,人们对数据新闻的兴趣正在上升。

但它到底是什么,你如何成为一名数据记者?今天的博文将尝试对这些问题给出更多的见解和答案。

提示:如果你想通过 R 学习数据新闻入门课程,可以考虑 DataCamp 的与 Tidyverse 课程中的数据交流。

有许多定义,很难只见树木不见森林。有些人说数据新闻和数据驱动新闻(DDJ)一样,另一些人坚持认为两者是不同的学科。你会在那里找到很多定义。

在本文中,我们将把这两者视为同一学科。

然后,就简单了,对吧?定义一点也不难!这只是用数据做的新闻。

但是新闻到底是什么意思,什么是数据?

数据新闻一般被定义为“当你将传统的‘新闻嗅觉’和讲述引人注目的故事的能力与现在可用的数字信息的绝对规模和范围相结合时,所开辟的新的可能性”。

然而,这个定义可能掩盖了存在工作流的事实:在这个意义上, Mirko Lorenz 的定义可能更准确,其中该学科被描述为“数据是分析、可视化以及最重要的是讲故事的基础的工作流”。

请注意,您会经常看到“汽车”(计算机辅助报告)这个术语。这是第一个有组织的,系统的方法来使用计算机收集和分析数据,以改善新闻。

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

既然背景和定义已经很清楚了,你可以开始思考成为一名数据记者需要什么了。接下来的部分将会让你更深入地了解成为一名会计师需要做些什么,你还会找到一个你可以遵循的分步计划的大纲,包括最好的资源。

成为一名数据记者需要什么?

你可能读过一些这方面的引言,比如“要成为一名优秀的数据记者,从成为一名优秀的记者开始会有所帮助”( Meredith Broussard )或者“计算机不会把一名糟糕的记者变成一名优秀的记者。他们所做的是让一个好记者变得更好”(埃利奥特·贾斯平),但最终你需要什么才能成为一名数据记者?

根据 ProPublica 的副执行主编、DocumentCloud 的联合创始人 Scott Klein 的说法,候选人应该具备 1。新闻技能,2。设计人才,3。编码敏锐度。这看起来相当简单,但是教育背景呢,什么是“新闻技能”、“设计天赋”或“编码敏锐度”?

对于第一个方面,你可能认为你需要一个新闻学位。斯科特·克莱恩证实,他团队中的大多数人都有新闻学位,但这肯定不是先决条件。有一些数据记者有数学或计算机科学背景。

这种方法效果很好,也是因为,按照克莱恩的说法,“新闻业天生适合那些想让世界变得更美好的数学运动员”。然而,克莱恩在候选人身上寻找的东西也透露出教育背景不一定起很大作用,只要你拥有他寻找的三样东西。

从另一方面来说,如果你没有任何技术背景,当然也有可能成为一名数据科学记者。

无论你的背景是什么,在你寻求获得成为一名数据记者所需的三项技能时,你都需要考虑它!

而这三项技能来之不易。不幸的是,没有很多大学或课程可以教你这三种知识,大多数人认为你真的需要自己学习很多东西。

你可以参加 MOOC,比如这个或者这个大数据大学课程,或者由外部数据记者教授的研讨会,但是提供的机会非常少,而且价格不菲。许多针对专业数据记者的培训通常包括数据和记者团队之间的合作,号召支持网络、数据训练营,…

但主要还是要自学。

这就是你需要为自己制定一个循序渐进的计划,包括各种资源,以达到成为一名数据记者的目标,或者,如果你已经是一名数据记者,继续自学。

学习数据新闻的循序渐进计划

这个循序渐进的计划包含了开始的第一步。您需要根据您的教育背景和学习风格个性化本指南。

以下是成为数据记者的计划中包含的八个步骤:

  1. 建立广泛的知识库
  2. 写,写,写
  3. 学习(一些)编程语言
  4. 发现数据新闻工作流程
  5. 打造你的工具箱
  6. 开始建立你的人际网络
  7. 继续你的学习
  8. 去争取吧!

//web.archive.org/web/311if_/https://www.slideshare.net/slideshow/embed_code/key/6AQ1IsyTnzVGe4
Data Journalism: A Quick Start Guide from Karlijn Willems

1.建立广泛的知识库

记者天生就是这样的人,无论何时出现新的话题,他们都必须能够调整自己的技能。此外,数据记者报道的主题可以变化很大,你必须能够覆盖广泛的范围,甚至比典型的记者更广。

建立广泛知识库的关键可能因人而异,取决于你的学习风格。

不过,达到目的的方法之一是通过大量的阅读、倾听和观看。但是最终,你的态度可能是达到你所需要的最重要的事情。如果你天生好奇,并且你有一些东西驱使你去发现和学习新事物,这绝对是一个加分项。

这第一步指定的广泛的知识库不仅包括时事知识,还包括量化主题的知识。你不应该只知道政治,而对统计学一无所知,因为这无疑会干扰你分析政治数据的能力。让这也成为文章中经常出现的事情之一,就是数据记者和编辑的建议:上统计课。如果你想开始,一定要去看看 OpenIntro 和 DataCamp 提供的统计课程。

最后,考虑获取更多关于学科本身的背景知识:

  • 听听斯科特·克莱因关于数据新闻历史的有趣演讲
  • 看看你的同事都做了些什么:
    • 由安娜·弗拉格发起的动物灭绝项目
    • 美国最危险的工作由克里斯多佛·坎农、亚历克斯·麦金太尔和亚当·皮尔斯(彭博)制作
    • 国安局文件解码,由埃文·麦卡斯基尔、加百列·丹斯、菲尔丁·凯奇和格雷格·陈(《卫报》)
    • 可视化伊战日志,作者乔纳森·斯特里特和朱利安·伯吉斯

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 等论坛和招聘启事中提到的工具的例子。该概述遵循上述工作流程的各个阶段,并不意味着详尽无遗:它只是为您提供从何处开始的指导。

建立你的工作空间。这可能是工作流程的第一步。如果你打算编程,你可能需要一个编码编辑器。考虑一下 VIM 、 TextMate 、 Sublime Text 或者一个成熟的 IDE,比如 RStudio 、Spyder……你也可以考虑安装 Git 或者其他版本控制系统来管理你的源代码。

获取您的数据。数据是您工作流程的基石。因此,您首先需要知道从哪里可以获得这些数据。获取数据的第一个途径是通过你的网络。来源是非常重要的,因为数据并不总是出现在你面前,但故事却出现了。然后你的工作是找到数据来证实你从你的消息来源那里听到的故事。

获取数据的第二种方式是通过开放数据平台。有很多这样的网站,但是最突出的是世界银行、T2、联合国、T4、数据门户和数据中心。你也有美国政府的公开数据和英国政府的公开数据,以及许多其他有公开数据的政府网站。

要了解更多关于开放数据可以带来的价值,请查看来自欧洲数据门户的开放数据研究所课程、电子学习计划,…

作为一名有抱负的数据记者,卫报的数据博客也是一个有趣的起点,因为它展示了数据、背景和关于数据新闻过程的问题。

数据集也可以通过邮件列表获得,如 NICAR listserv 或论坛。

除了可以通过开放数据平台、邮件列表、论坛或资源获得的数据集,你还可以通过网络搜集获得数据。在这里,您需要利用 Python 和 R 等编程语言提供的包或库。或者你可以求助于专门为此目的而设计的工具,这些工具不需要你精通编程。

另一方面,也可以从数据库中检索数据。SQL 在这一点上会派上用场。如果你想学习这个技能,试着专注于 MySQL、PostgreSQL 或 SQL Server。考虑在tutorial point上学习一些教程,了解更多关于数据库和 SQL 的知识。

你马上会发现拥有一个网络在这里是很重要的。我们稍后再讨论这个。

在所有这一切中,不要忘记法律上的考虑,这一点非常重要。总是检查你能利用你已经获得的数据集做什么,以及你需要给予谁信任。如果您没有获得所需的数据,您可以随时提交信息自由(FOI)请求(也称为“摇摆”),这使您有机会请求访问政府公共部门组织(如警方、学校或公有博物馆)持有的记录信息。

在工作区获取数据。要将数据放入您的工作空间,您可以首先求助于最基本的方法,即使用 Excel。然而,当你已经更高级时,你应该能够利用你正在使用的编码语言的库或包。您可以使用特殊函数在上导入数据。csv,。txt 或其他文件扩展名,但也有一些特定的材料可以帮助你通过网络搜集从互联网上收集数据。Python 和 R 有专门为此设计的库/包,即 或。要从 pdf 中抓取数据,您可以使用 Tabula 。要提取 web 数据,还可以利用 import.io 。

争论你的数据。整理您的数据意味着对其进行处理、清理和重塑,以便它可以随时对您的数据进行分析。对于 Python 来说, 和 包是必经之路。对于 R,可以依靠。对于开箱即用的工具, OpenRefine (以前的 Google Refine)是一个用于清理和转换数据的流行工具,但你也可以使用 DataWrangler 或 CSVKit 。

分析你的数据。这里可能是你的统计技能派上用场的地方。利用 or R 和 Python,用 或 对你的数据建模。您也可以使用诸如 DataRobot 、 Knime 或 RapidMiner 等工具。

可视化您的数据。大多数受欢迎的技能都涉及显示信息,所以把足够的注意力放在可视化数据上是非常重要的。可以求助于 Tableau 或者 Qlikview 、 TileMill 、 infogr 。am ,Google Fusion 或者 QGIS 和 ArcGIS 如果你正在寻找不需要你做(很多)编程的工具。如果你已经精通 JavaScript、Python 或 R,你可能会考虑 D3.js 、、、、或。

报告你的结果。您可以使用 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.继续你的学习

你的学习永远不会结束。总是有那么多要发现和要做的事情,尤其是当你想在这个领域开始的时候,甚至是当你已经有一份工作的时候。

你将永远在学习。

您可以查看一些其他资源:

关注并发现有趣的网站。访问博客,如fivethirtyeght、 TheUpshot (纽约时报)或 ProPublica Nerd 博客,或其他关于数据可视化的有趣网站,如 EagerEyes 或flow data。此外,不要忘了查看数据记者或数据自由职业者的博客和作品集,如 Maarten Lambrechts、 Alberto Lucas López 或 John Burn-Murdoch 。

听播客。如果你喜欢播客,你会很乐意收听数据故事。这是一个关于数据可视化的很棒的播客。不要错过这一集,Scott Klein 讲述了他的团队以及他们如何在 ProPublica 工作。也一定要看看偏导数和五点三十八分的播客。

读一些书。推荐书籍有本书由克莱尔·米勒所著。

寻找其他培训材料。查看这份培训材料清单。考虑一下你是否已经习惯了工具箱中的工具。如果你不是,考虑参加一些教程。你可以在这里找到更多 R 或 Python 教程。

开始做数据新闻。从小做起,从自己的一个项目开始。获取一个数据集,并开始分析、可视化和报告结果。你可以在 Kaggle 或者 DrivenData 上找到项目。下一步,你可以开一个博客。就像上面提到的那些。这是展示你才华的好方法,也是你简历的一大亮点。你要确保你的成果与全世界分享!

8.去吧!

当你完成了前面的步骤,你可能想给自己找一份数据记者的工作。

一些可能会帮助你找工作的网站有新闻呆子工作、Indeed.com、 NICAR Listserv、 Mediabistro 工作列表、 Linkedin 和journal Jobs。

最后,成为一名数据记者的**建议是马腾·兰布雷茨的建议:开始做数据新闻吧。

此外,这里还有一些提示:

不要气馁。开始时,你很可能会遇到问题,但这不是放弃的理由。你在实践中学习,这需要一些时间。

不要害怕从小处着手。有些新闻编辑室还没有大数据团队。请记住这一点。

慢慢来。判断某个项目是否值得,需要一定的经验。有时候,你会处理数据,但它不会成为一个故事。也要花时间建立你的人际网络,向他人学习,积累整个工作流程中的经验。

原文:https://web.archive.org/web/415/https://www.datacamp.com/blog/r-correlation-tutorial

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

在本教程中,您将探索大量的数据可视化方法及其底层统计。外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传特别是在识别数据框架中变量之间的趋势和关系方面。

没错,你会把重点放在相关和回归等概念上!首先,将向您介绍 R 中的相关性。然后,您将看到如何使用诸如和之类的包在 R 中绘制相关性矩阵。最后,您将看到存在哪些类型的相关性,以及它们对您的进一步分析有何影响。

如果你有兴趣深入这个话题,可以考虑参加 DataCamp 的相关性和回归课程。

在今天的教程中,你将使用从 Kaggle 获得的一组电影数据,来发现如何更好地理解变量之间的关系。

我对数据进行了轻度处理,通过确保货币等事物使用相同的单位,我们的分析是“苹果对苹果”的分析。如果没有这一步,我们对变量、和的统计分析将会产生误导。您可以访问原始数据集。

为了访问数据集并投入使用,您可以使用函数将您的数据导入到数据框中,并将其存储在具有惊人的原始名称的变量中!

讯享网

这就是入门的全部!

对数据的基本检查

导入数据框后,最好了解一下您的数据。首先,检查正在检查的数据的结构。下面你可以看到使用这个超级简单、有用的函数的结果:

 
讯享网

在这个特定的数据框中,您可以从控制台看到 11 个变量的 2961 个观测值。

顺便说一下,即使每部电影只有一个小时,你也需要连续看四个多月才能看完!

控制台还按名称列出每个变量、每个变量的类以及每个变量的一些实例。这让我们对数据框架中的内容有了一个很好的了解,对它的理解对我们的分析工作至关重要。

另一个帮助我们对数据框架进行快速、高级概述的伟大功能是。请注意运行所产生的输出之间的异同。

 
讯享网

只需一个命令,您就可以让 R 返回数据框中每个变量的一些关键统计信息。现在您已经知道您正在处理什么了,让我们开始深入研究数据吧!

在回顾您可用的变量时,似乎可以操纵一些数值变量来为我们的数据框架提供新的见解。

例如,你已经有了和变量,那么为什么不用一点子集来计算每部电影的利润呢?

你可以用公式计算利润。在下面的 DataCamp Light 块中尝试一下吧!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdih1cmwoXCJodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kY3dvb2RzMjcxNy9tb3ZpZXMuY3N2XCIpKSIsInNhbXBsZSI6IiMgRmlsbCBpbiB0aGUgYXBwcm9wcmlhdGUgdmFyaWFibGUgbmFtZXMgdG8gc3Vic2V0IVxucHJvZml0IDwtIG1vdmllcyQuLi4uLiAtIG1vdmllcyQuLi4uLlxuXG4jIENoZWNrIHRoZSByZXN1bHRcbnN1bW1hcnkocHJvZml0KSIsInNvbHV0aW9uIjoiIyBGaWxsIGluIHRoZSBhcHByb3ByaWF0ZSB2YXJpYWJsZSBuYW1lcyB0byBzdWJzZXQhXG5wcm9maXQgPC0gbW92aWVzJGdyb3NzIC0gbW92aWVzJGJ1ZGdldFxuXG4jIENoZWNrIHRoZSByZXN1bHRcbnN1bW1hcnkocHJvZml0KSIsInNjdCI6InRlc3Rfb2JqZWN0KFwicHJvZml0XCIsIHVuZGVmaW5lZF9tc2c9XCJEaWQgeW91IGNvcnJlY3RseSBkZWZpbmUgdGhlIHZhcmlhYmxlIGBwcm9maXRgP1wiLCBpbmNvcnJlY3RfbXNnID0gXCJOb3QgcXVpdGUhXCIpXG50ZXN0X2Vycm9yKClcbnN1Y2Nlc3NfbXNnKFwiRXhjZWxsZW50IVwiKSJ9

厉害!

你可以看到,在我们的数据框架中,有相当多的赚钱者和赚钱者。

我们的电影中的可能会用于一些有趣的分析,所以让我们继续将作为一个新列添加到我们的数据框中。

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdihcImh0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikiLCJzYW1wbGUiOiIjIEFkZCBhIGNvbHVtbiBmb3IgYHByb2ZpdGAgdG8gYG1vdmllc2AgXG5tb3ZpZXMkLi4uLi4gPC0gbW92aWVzJC4uLi4uIC0gbW92aWVzJC4uLi4uIiwic29sdXRpb24iOiIjIEFkZCBhIGNvbHVtbiBmb3IgYHByb2ZpdGAgdG8gYG1vdmllc2Bcbm1vdmllcyRwcm9maXQgPC0gbW92aWVzJGdyb3NzIC0gbW92aWVzJGJ1ZGdldCJ9

现在已经作为一个新列添加到我们的数据框中,是时候更仔细地看看数据集变量之间的关系了。

让我们看看相对于每部电影的是如何波动的。

为此,您可以使用 R 的内置和函数,其中将产生一个散点图,而将产生一条回归线或“**拟合线”,因为我们包含了线性模型参数,如下所示。

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdih1cmwoXCJodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kY3dvb2RzMjcxNy9tb3ZpZXMuY3N2XCIpKVxubW92aWVzJHByb2ZpdCA8LSBtb3ZpZXMkZ3Jvc3MgLSBtb3ZpZXMkYnVkZ2V0XG5vcHRpb25zKHNjaXBlbiA9IDk5OSkiLCJzYW1wbGUiOiIjIENyZWF0ZSB0aGUgc2NhdHRlciBwbG90IHdpdGggYHJhdGluZ3NgIG9uIHRoZSB4LWF4aXMgYW5kIGBwcm9maXRgIG9uIHRoZSB5LWF4aXNcbnBsb3QobW92aWVzJC4uLi4sIG1vdmllcyQuLi4uKVxuXG4jIEFkZCBhIHJlZ3Jlc3Npb24gbGluZXdpdGggdGhlIGZvcm0gYGFibGluZShsbSh5IH4geCkpYFxuXG5hYmxpbmUobG0obW92aWVzJC4uLi4gfiBtb3ZpZXMkLi4uLikpIiwic29sdXRpb24iOiIjIENyZWF0ZSB0aGUgc2NhdHRlciBwbG90IHdpdGggYHJhdGluZ3NgIG9uIHRoZSB4LWF4aXMgYW5kIGBwcm9maXRgIG9uIHRoZSB5LWF4aXNcbnBsb3QobW92aWVzJHJhdGluZywgbW92aWVzJHByb2ZpdClcblxuIyBBZGQgYSByZWdyZXNzaW9uIGxpbmUgd2l0aCB0aGUgZm9ybSBgYWJsaW5lKGxtKHkgfiB4KSlgIFxuYWJsaW5lKGxtKG1vdmllcyRwcm9maXQgfiBtb3ZpZXMkcmF0aW5nKSkifQ==

输出是否与您预期的差不多?

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

一般来说,似乎具有较高的电影往往具有较高的。另一种表述这种说法的方式是,至少在我们的数据框架中,和之间存在正相关。

也就是说,即使粗略地看一下剧情,也会发现有很多高收视率的电影并不完全是大片,也有一些非常赚钱的电影获得了相对较低的收视率。

相关性并不意味着因果关系!

有一个轶事可以帮助你理解相关性和因果性,如下:我在海滩上经营一个冰淇淋摊。当我的冰淇淋销售增加时,城市中乱穿马路者的平均数量往往会增加,但是我的冰淇淋导致人们无视交通法规,还是有其他因素在起作用?我的冰淇淋确实很棒,但是外面的阳光可能与人们想吃冰淇淋和不想站在人行横道上被晒伤有关。我的冰淇淋销量和 jay walkers 的数量之间确实存在关联,但你不能肯定地说这是一种因果关系。

在学习本教程的过程中,请记住这条推理路线!

那么中的变量之间存在什么类型的关系,如何定量评估这些关系呢?

第一种方法是用产生相关性和相关性矩阵:

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdihcImh0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIilcbm1vdmllcyRwcm9maXQgPC0gbW92aWVzJGdyb3NzIC0gbW92aWVzJGJ1ZGdldFxub3B0aW9ucyhzY2lwZW4gPSA5OTkpIiwic2FtcGxlIjoiIyBDb21wdXRlIFBlYXJzb24gY29ycmVsYXRpb25cbmNvcihtb3ZpZXMkcmF0aW5nLCBtb3ZpZXMkcHJvZml0KVxuXG4jIENvcnJlbGF0aW9uIE1hdHJpeFxuY29yKG1vdmllc1ssNDoxMF0pIn0=

注意你也可以指定你想要的方法来指示你想要计算的相关系数。要小心,因为这些相关性总是有一些假设:Kendall 和 Spearman 方法只对有序输入有意义。这意味着您需要在计算相关系数之前对数据进行排序。

此外,默认方法——皮尔逊相关法——假定变量呈正态分布,每个变量之间存在直线关系,并且数据围绕回归线呈正态分布。

还要注意,您可以使用,它是包的一部分,用于计算 pearson 和 spearman 相关性的显著性水平。

您还会看到,相关矩阵实际上是一个表格,显示了变量集之间的相关系数。这已经是了解数据集变量之间存在哪些关系的第一个好方法,但是让我们在下一节更深入地探讨这个问题。

在接下来的探索中,您将使用您的数据框中可用的变量绘制一个相关矩阵。这个简单的图将使您能够快速直观地看到哪些变量与其他变量具有负相关、正相关、弱相关或强相关。

为了实现这个奇迹,您将使用一个叫做的漂亮包和一个叫做的函数。

这个函数调用的形式将是,其中是您调用函数的数据框的名称。这个函数的输出将是一个三角形的彩色编码矩阵,标有我们的变量名。每个变量相对于其他变量的相关系数可以通过读取矩阵的横向和/或纵向来找到,这取决于变量在矩阵中的位置。

这听起来可能令人困惑,但实际上非常简单,所以在下面的代码块中尝试一下吧!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdih1cmwoXCJodHRwOi8vczMuYW1hem9uYXdzLmNvbS8vZGN3b29kczI3MTcvbW92aWVzLmNzdlwiKSlcbm1vdmllcyRwcm9maXQgPC0gbW92aWVzJGdyb3NzIC0gbW92aWVzJGJ1ZGdldFxubGlicmFyeShcIkdHYWxseVwiKSIsInNhbXBsZSI6IiMgUmVwbGFjZSB0aGUgXCIuLi4uLlwiIHdpdGggdGhlIG5hbWUgb2YgdGhlIGRhdGEgZnJhbWUgXG5nZ2NvcnIoLi4uLi4pIiwic29sdXRpb24iOiIjIFJlcGxhY2UgdGhlIFwiLi4uLi5cIiB3aXRoIHRoZSBuYW1lIG9mIHRoZSBkYXRhIGZyYW1lIFxuZ2djb3JyKG1vdmllcykifQ==

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

所以在你刚刚创建的相关矩阵中(顺便说一句,干得好!),您可以转到与某个变量相关的行或列,如,并查看其相关系数,如与另一个变量相对应的单元格的颜色所示。

例如,在检查时,您可以看到与有微弱的正相关性,与也有类似微弱的负相关性。

相关系数始终介于-1 和 1 之间,包括-1 和 1。相关系数为-1 表示完美的负拟合,其中 y 值的下降速度与 x 值的上升速度相同。相关系数 1 表示完美的正拟合,其中值以与值相同的速率增加。

在大多数情况下,比如你上面的例子,相关系数在-1 和 1 之间。

你注意到相关矩阵中显示的变量有什么奇怪的地方吗?

并不是中的所有变量都存在!

这是因为中的变量并不都是数字。功能会自动忽略非数字变量,使用户在创建矩阵前无需“子集化”这些变量,从而节省了一些时间。

如果你想让你的相关矩阵真正“流行”(或者你可能有点色盲,像我一样),你可以做一些简单的调整来产生更具视觉吸引力的数据加载矩阵。

在接下来的代码块中,您已经包含了参数,它可以被设置为等于或。默认设置是,但是如果添加,每个关系的相关系数都包含在适当的单元格中。这可以防止您根据色标猜测每个系数的值。

参数允许您根据相关系数的强度增加或减少每个标签的不透明度。这对于快速、直观的数据分析非常有帮助。

不要相信我的话,你自己试试吧!

现在让我们绘制一个更好的相关矩阵:

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdih1cmwoXCJodHRwOi8vczMuYW1hem9uYXdzLmNvbS8vZGN3b29kczI3MTcvbW92aWVzLmNzdlwiKSlcbm1vdmllcyRwcm9maXQgPC0gbW92aWVzJGdyb3NzIC0gbW92aWVzJGJ1ZGdldFxubGlicmFyeShcIkdHYWxseVwiKSIsInNhbXBsZSI6IiMgRmlsbCBpbiBcIlRSVUVcIiBvciBcIkZBTFNFXCIgdG8gc2VlIGhvdyB0aGUgY29ycmVsYXRpb24gbWF0cml4IGNoYW5nZXNcbmdnY29ycihtb3ZpZXMsIFxuICAgICAgIGxhYmVsID0gLi4uLi4sIFxuICAgICAgIGxhYmVsX2FscGhhID0gLi4uLi4pIiwic29sdXRpb24iOiIjIEZpbGwgaW4gXCJUUlVFXCIgb3IgXCJGQUxTRVwiIHRvIHNlZSBob3cgdGhlIGNvcnJlbGF0aW9uIG1hdHJpeCBjaGFuZ2VzXG5nZ2NvcnIobW92aWVzLCBcbiAgICAgICBsYWJlbCA9IFRSVUUsIFxuICAgICAgIGxhYmVsX2FscGhhID0gVFJVRSkifQ==

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

在接下来的图中,您将看到,当创建具有“强”相关性的图时,其回归线的斜率( / )更接近 1/1 或-1/1,而“弱”相关性的图可能具有几乎没有任何斜率的回归线。接近 1/1 或-1/1 的斜率意味着绘制的两个变量密切相关。

在我们的数据框架中,这样的回归线可以提供关于变量性质的有力见解,并可能表明这些变量的相互依赖性。

例如,在你之前的对的曲线图中,你看到我们的回归线有一个适度的正斜率。回头看看你的相关矩阵,你看到这两个变量的相关系数是 0.3。

有道理,对吧?

现在让我们来看看其他的图表,这些图表展示了您在上一节中看到的不同类型的相关性!

强相关性:绘制投票与评论

让我们从绘制两个强正相关的变量开始。

在查看我们的相关矩阵时,似乎对符合您的标准,相关值为 0.8。这意味着我们的斜率应该相对接近 1/1。

您将在本练习和接下来的练习中实现包。包是一个多功能的工具集,可用于创建引人注目的数据可视化。

在这种情况下,您将利用包中的函数,它可以根据传递给(几何)参数的绘图类型生成多种绘图。

在接下来的代码块中,被设置为包含两种几何类型的向量,和,其中产生散点图,产生趋势线。您还会注意到已被设置为,这意味着趋势线将是我们之前在对的绘图中创建的熟悉的直线回归线。

简而言之,您将了解到在一瞬间生成杀手级数据可视化是多么容易!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6ImxpYnJhcnkoXCJnZ3Bsb3QyXCIpXG5tb3ZpZXMgPC0gcmVhZC5jc3YodXJsKFwiaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikpXG5tb3ZpZXMkcHJvZml0IDwtIG1vdmllcyRncm9zcyAtIG1vdmllcyRidWRnZXRcbm9wdGlvbnMoc2NpcGVuID0gOTk5KSIsInNhbXBsZSI6IiMgUGxvdCB2b3RlcyB2cyByZXZpZXdzXG5xcGxvdChtb3ZpZXMkLi4uLi4sIFxuICAgICAgbW92aWVzJC4uLi4uLCBcbiAgICAgIGRhdGEgPSAuLi4uLiwgXG4gICAgICBnZW9tID0gYyhcInBvaW50XCIsIFwic21vb3RoXCIpLCBcbiAgICAgIG1ldGhvZCA9IFwibG1cIiwgXG4gICAgICBhbHBoYSA9IEkoMSAvIDUpLCBcbiAgICAgIHNlID0gRkFMU0UpIiwic29sdXRpb24iOiIjIFBsb3Qgdm90ZXMgdnMgcmV2aWV3c1xucXBsb3QobW92aWVzJHZvdGVzLCBcbiAgICAgIG1vdmllcyRyZXZpZXdzLCBcbiAgICAgIGRhdGEgPSBtb3ZpZXMsIFxuICAgICAgZ2VvbSA9IGMoXCJwb2ludFwiLCBcInNtb290aFwiKSwgXG4gICAgICBtZXRob2QgPSBcImxtXCIsIFxuICAgICAgYWxwaGEgPSBJKDEgLyA1KSwgXG4gICAgICBzZSA9IEZBTFNFKSJ9

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

您可能已经认识到了上面的函数中包含的参数。在中使用对散点图中的点应用不透明度梯度,类似于在中改变相关系数标签的不透明度。

在您使用的配置中,只有当一个点与其他 5 个点重叠时,才能实现完全不透明。增加或减少分母中的数字将影响改变点的不透明度所需的重叠点的数量。使用这种美学的一个原因是,它可以帮助用户快速识别图中数据点的集中程度,这反过来又可以让我们只需看一眼就能了解关于数据的新见解。

继续修改代码,看看它是如何为自己工作的!

弱相关性:绘制多年利润图

现在让我们通过绘制对来看看“弱”负相关是什么样子的。这一次,没有指定,所以我们的趋势线将根据数据以曲线方式变化(拟合曲线),这是该函数的默认设置。你会注意到,沿着趋势线的某些部分,有一个浅灰**域,其大小根据趋势线的置信区间而增大或减小。

如果你不熟悉置信区间的概念,不要担心!r 将为您完成这项工作,这个概念在这个练习之后会得到更好的解释。

现在,只要在空白处填入必要的代码并观察就行了!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6ImxpYnJhcnkoXCJnZ3Bsb3QyXCIpXG5tb3ZpZXMgPC0gcmVhZC5jc3YodXJsKFwiaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikpXG5tb3ZpZXMkcHJvZml0IDwtIG1vdmllcyRncm9zcyAtIG1vdmllcyRidWRnZXRcbm9wdGlvbnMoc2NpcGVuID0gOTk5KSIsInNhbXBsZSI6IiMgUGxvdCBwcm9maXQgb3ZlciB5ZWFyc1xucXBsb3QobW92aWVzJHllYXIsIFxuICAgICAgbW92aWVzJHByb2ZpdCwgXG4gICAgICBkYXRhID0gbW92aWVzLCBcbiAgICAgIGdlb20gPSBjKFwicG9pbnRcIiwgXCJzbW9vdGhcIiksIFxuICAgICAgYWxwaGEgPSBJKDEgLyA1KSkiLCJzb2x1dGlvbiI6IiMgUGxvdCBwcm9maXQgb3ZlciB5ZWFyc1xucXBsb3QobW92aWVzJHllYXIsIFxuICAgICAgbW92aWVzJHByb2ZpdCwgXG4gICAgICBkYXRhID0gbW92aWVzLCBcbiAgICAgIGdlb20gPSBjKFwicG9pbnRcIiwgXCJzbW9vdGhcIiksIFxuICAgICAgYWxwaGEgPSBJKDEgLyA1KSkifQ==

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

那么现在你已经有机会看到置信区间和平滑曲线在起作用,你能观察到什么呢?

  • 首先,你可以看到在图的开始部分,似乎在增加每一个。
  • 其次,您会注意到平滑曲线的灰**域偏移最初相当大,而数据点(或观察值)的数量相当少。
  • 第三,当曲线移动到一个更大的观察集中点时,灰**域变小,实际上接近曲线,曲线在随后的开始下降。

总之,绘制置信区间和平滑曲线可以让我们看到与回归线相关的不确定性。这种不确定性随着观测值的减少而增加,随着观测值的增加而减少。

这非常有助于可视化我们的变量之间的关系如何在整个数据框架中变化,并揭示观测值的集中如何改变绘制的曲线。

这里需要注意的是,该图可能有点误导,因为很难直观地辨别变量之间是正相关还是负相关。

现在让我们用绘制对的相同方法绘制对的曲线:只需替换“……”在每个自变量中,年被标绘在轴上,而在 y 轴上。确保指定“数据”等于哪个数据框!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6ImxpYnJhcnkoXCJnZ3Bsb3QyXCIpXG5tb3ZpZXMgPC0gcmVhZC5jc3YodXJsKFwiaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikpXG5tb3ZpZXMkcHJvZml0IDwtIG1vdmllcyRncm9zcyAtIG1vdmllcyRidWRnZXRcbm9wdGlvbnMoc2NpcGVuID0gOTk5KSIsInNhbXBsZSI6IiMgUGxvdCB0aGUgeWVhcnMgb24gdGhlIHgtYXhpcywgcHJvZml0IG9uIHRoZSB5LWF4aXNcbnFwbG90KG1vdmllcyQuLi4uLiwgXG4gICAgICBtb3ZpZXMkLi4uLi4sIFxuICAgICAgZGF0YSA9IC4uLi4uLCBcbiAgICAgIGdlb20gPSBjKFwicG9pbnRcIiwgXCJzbW9vdGhcIiksIFxuICAgICAgbWV0aG9kID0gXCJsbVwiLCBcbiAgICAgIGFscGhhID0gSSgxIC8gNSksIFxuICAgICAgc2UgPSBGQUxTRSkiLCJzb2x1dGlvbiI6IiMgUGxvdCB0aGUgeWVhcnMgb24gdGhlIHgtYXhpcywgcHJvZml0IG9uIHRoZSB5LWF4aXNcbnFwbG90KG1vdmllcyR5ZWFyLCBcbiAgICAgIG1vdmllcyRwcm9maXQsIFxuICAgICAgZGF0YSA9IG1vdmllcywgXG4gICAgICBnZW9tID0gYyhcInBvaW50XCIsIFwic21vb3RoXCIpLCBcbiAgICAgIG1ldGhvZCA9IFwibG1cIiwgXG4gICAgICBhbHBoYSA9IEkoMSAvIDUpLCBcbiAgICAgIHNlID0gRkFMU0UpIn0=

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

回顾您的相关矩阵,您会发现和的相关系数为-0.1,这在采用**拟合线的图中可能比在使用拟合曲线的图中更容易看到。

现在让我们看看中另一个强大的功能。该功能非常棒,因为它允许用户创建一个矩阵,显示多个变量的相关系数以及散点图(包括一条带有置信区间的**拟合线)和密度图。

使用这个函数,您可以以一种简洁、易于理解的方式有效地将本教程中涉及的所有内容结合起来。

在下面的代码块中,从数据框中选择您最喜欢的三个变量(不需要子集化!),插上电源,就可以玩了!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6ImxpYnJhcnkoXCJnZ3Bsb3QyXCIpXG5saWJyYXJ5KFwiR0dhbGx5XCIpXG5tb3ZpZXMgPC0gcmVhZC5jc3YodXJsKFwiaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikpXG5tb3ZpZXMkcHJvZml0IDwtIG1vdmllcyRncm9zcyAtIG1vdmllcyRidWRnZXRcbm9wdGlvbnMoc2NpcGVuID0gOTk5KSIsInNhbXBsZSI6IiMgUGx1ZyBpbiB5b3VyIHRocmVlIGZhdm9yaXRlIHZhcmlhYmxlcyBhbmQgdGlua2VyIGF3YXkhXG5nZ3BhaXJzKG1vdmllcywgXG4gICAgICAgIGNvbHVtbnMgPSBjKFwiLi4uLi5cIiwgXCIuLi4uLlwiLCBcIi4uLi4uXCIpLCBcbiAgICAgICAgdXBwZXIgPSBsaXN0KGNvbnRpbnVvdXMgPSB3cmFwKFwiY29yXCIsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IDEwKSksIFxuICAgICAgICBsb3dlciA9IGxpc3QoY29udGludW91cyA9IFwic21vb3RoXCIpKSIsInNvbHV0aW9uIjoiIyBQbHVnIGluIHlvdXIgdGhyZWUgZmF2b3JpdGUgdmFyaWFibGVzIGFuZCB0aW5rZXIgYXdheSFcbmdncGFpcnMobW92aWVzLCBcbiAgICAgICAgY29sdW1ucyA9IGMoXCJjYXN0X2ZhY2Vib29rX2xpa2VzXCIsIFwiYnVkZ2V0XCIsIFwicHJvZml0XCIpLCBcbiAgICAgICAgdXBwZXIgPSBsaXN0KGNvbnRpbnVvdXMgPSB3cmFwKFwiY29yXCIsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IDEwKSksIFxuICAgICAgICBsb3dlciA9IGxpc3QoY29udGludW91cyA9IFwic21vb3RoXCIpKSJ9

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

正如你可能已经猜到的,有许多场景中,一种类型的情节是理想的-关键是要了解哪些可视化技术是可用的,如何使用它们,以及最终结果意味着什么!

您已经在本教程中涉及了很多内容,所以祝贺您坚持到最后!

我希望你能够将这些概念运用到你自己的分析冒险中去!这些实际上是 R 中数据探索的基础,在开始分析和建模之前,您可以做更多的事情来确保对数据有一个良好的感觉。为什么不更进一步,开始 DataCamp 的探索性数据分析课程呢?

与此同时,我鼓励你前往 Kaggle ,如果你不想继续使用数据集,就去寻找一个丰富的、令人着迷的数据集来探索吧!

原文:https://web.archive.org/web/335/https://www.datacamp.com/blog/r-project-ideas

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

数据科学是其中一个领域,在这个领域里创造一份令人印象深刻的简历对于进入就业市场是不够的。如果你想在这个领域开始职业生涯,关键的一步是建立一个相关项目组合,在面试中展示你的数据技能。如果你精通 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 的一张真正的王牌,这也是这种编程语言通常击败其主要竞争对手 Python 的地方。

除了用于读入数据的 R (readr,用于数据清理的 tidyr,用于数据可视化的 ggplot2 等常见的多用途软件包。),还有很多针对各种应用分析问题设计的模块。例如:

  • fAssets–用于金融资产的分析和建模
  • MDA pack–一个医疗数据分析包
  • GEOmap——用于地形和地质测绘
  • 空气生物学——空气生物学数据的计算工具
  • Gali gor——网络营销包的集合
  • 语言类型学——用于语言类型学和映射

甚至像这样高度集中的图书馆:

  • ncov 2019–探索新冠肺炎统计数据

正如我们前面提到的,R 是一种面向数据科学的编程语言,它提供了超过 18,000 个数据科学包。除了上一节中列出的纯分析任务之外,我们还可以使用 R 来解决更高级的问题,包括对未知数据进行预测和建模。使用 R 允许我们:

  • 执行特征选择
  • 执行所有类型的机器学习(监督、半监督、非监督和强化学习)和深度学习任务
  • 应用各种机器学习方法,如分类、回归、聚类、自然语言处理(NLP)或人工神经网络(ANN)
  • 估计模型准确性
  • 选择**型号

同样,还有常用的数据科学包(用于分类和回归训练的 caret,用于实现朴素贝叶斯算法的 naivebayes,用于构建随机森林模型的 randomForest,用于深度学习的 deepNN 等。),有许多高度专门化的库,直到真正特定的库。举几个例子:

  • OenoKPM–用于模拟酒精发酵过程中 CO2 产生的动力学
  • fHMM–用于将隐马尔可夫模型拟合到金融数据中
  • 古流行——面向模式的耦合生态位-种群古气候模型框架
  • IBD sim 2–用于模拟家庭成员共享的染色体区域
  • rSHAPE——用于模拟单倍体无性群体进化

现在,我们将看一些 R 项目的例子,并为初学者和有经验的用户发现进一步开发的有趣想法。

r 项目示例

寻找 R 项目最值得的方法之一就是自己创造这样的例子!

别担心,它没有看起来那么可怕。即使您是 R 中数据科学的初学者,您也可以选择“沙盒”项目,这些项目带有准备好进行分析或建模的数据,向您介绍问题的背景,并提供关于要做什么步骤以及为什么要做的有用指导。

如果您是更高级的学习者,我们随时欢迎您从不同的角度更深入地探索数据,并超越建议的说明来满足您对数据的好奇心。无论如何,边做边主动学习是比仅仅阅读别人的项目更好的选择。

DataCamp 在 R 中提供了这种数据科学项目的大量选择,这将让你练习许多技术技能。这包括导入和清理数据、数据操作、数据可视化、概率&统计、机器学习等等。

除了传统上在各种数据科学学校分析的热门话题(如探索纽约 Airbnb 市场、可视化新冠肺炎、聚类心脏病患者数据或用随机森林预测出租车费用),在这里,你还会发现无数新鲜而好奇的话题。请随意更深入地探索它们:

  • 编程语言的兴衰
  • 探索 538 的万圣节糖果排名
  • 特朗普推文的文本分析
  • 回报你的学位
  • 气候变化对鸟类的影响
  • 是什么让神奇宝贝成为传奇?
  • 不良密码和 NIST 准则
  • 诺贝尔奖获得者的视觉历史

适合初学者的 r 项目

在浏览了现有的 R 项目或自己制作了一些指导性的项目后,您可以决定从头开始创建自己的项目。无论你处于学习的哪个阶段,这总是一个好主意。

如果你正在做你的第一个无指导的项目,首先要考虑的是在哪里找到要处理的数据。幸运的是,有很多流行的在线存储库,提供大量免费的和记录良好的数据集,包括真实世界和合成的数据集。这种资源的一些值得注意的例子是 DataCamp Workspace 、 Kaggle 、 UCI 机器学习库、谷歌数据集搜索、谷歌云平台、 FiveThirtyEight 和 Quandl

现在您有了一个很大的数据选择,作为一个 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 的初学者友好型和全面的在线职业轨迹:

  • 数据科学家与 R
  • 数据分析师与 R
  • 带 R 的机器学习科学家
  • 带 R 的统计师

它擅长高级和快速的统计计算、数据建模和构建有洞察力的可视化。此外,它是免费和开源的,配备了超过 18,000 个记录良好的数据科学包,与许多操作系统兼容,并由一个有用的在线社区支持。

解析来自网站的数据,阅读这些数据,对其进行清理和辩论,对其进行可视化,探索其统计数据,对其进行假设和测试,并从原始数据中提取有意义的见解和模式。在 R. 中还有许多特定于领域和任务的数据分析能力

进行分析任务,进行特征选择,进行所有类型的机器学习和深度学习任务,应用各种机器学习和深度学习方法,估计模型精度,选择**模型。R. 也有很多高度专业化的数据科学能力

要在 R 实践你的数据科学技能,从学习到做数据科学,并在面试中向潜在雇主展示你的技能。

上流行的免费在线知识库,如data camp Workspace,Kaggle, UCI 机器学习知识库 , 谷歌数据集搜索 , 谷歌云平台 ,

上 DataCamp R 项目GitHubKaggle等互联网平台。在 DataCamp R 项目目录上,您可以使用预加载的数据集,遵循关于要做什么和为什么要做的明确说明,并练习广泛的技术技能,自己创建这样的项目示例。

那些隐含基本数据清洗、数据操作、数据探索、数据可视化的,比如探索 Spotify 数据、分析 NBA 投篮统计、或者分析世界人口数据。

那些应用不同类型的机器学习算法,使用各种方法的。一些例子是预测电信客户流失、检测信用卡欺诈、预测自行车共享需求、聚类电子商务数据、识别垃圾短信、创建推荐系统等。

原文:https://web.archive.org/web/939/https://www.datacamp.com/blog/r-vs-sql-which-to-choose

学习一门新语言有时会令人望而生畏。无论是口语还是编程语言,你都希望确保你学到的东西是有价值的、容易理解的,并且是你会坚持下去的。如果您已经将选择范围缩小到 R vs SQL,本文将帮助您选择首先学习哪一个。

我们将涵盖您需要了解的关于这两种语言及其用途的所有内容,以及每种语言的优点、用途,以及这两种语言在一些关键因素上的比较。

先说基础的,这两种语言是什么? R 编程是一种主要用于统计计算和创建图形的编程语言和软件环境。这个系统由两部分组成:R 语言本身(这是大多数人谈论 R 时的意思)和运行时环境。

另一方面,SQL ( 结构化查询语言)是一种主要用于询问数据库问题(查询)的编程语言。我们使用 SQL 与关系数据库通信。在 SQL 的帮助下,我们可以访问、检索、排序和更新信息。它与许多著名的关系数据库管理系统(RDBMS)一起使用,如 Oracle、Microsoft SQL Server 和 MySQL。

在这篇文章中,我们将详细探讨这两种语言的优点,但是我们将从简单介绍 SQL 和 R 之间的主要相似之处和不同之处开始。

目的

r 和 SQL 都是编程语言,但是它们用于不同的目的。r 是一种用于统计计算和图形的编程语言和软件环境,而 SQL 是一种用于管理和操作存储在关系数据库中的数据的编程语言。

数据类型

r 被设计用来处理复杂的、结构化的数据集,比如那些常用于统计分析的数据集。相比之下,SQL 设计用于处理存储在关系数据库中的数据。这意味着 R 更适合数据可视化和统计建模等任务,而 SQL 更适合查询和更新数据库中的数据等任务。

它们是如何被使用的

r 是一种通用编程语言,这意味着它可以用于执行各种各样的任务,包括数据操作、统计分析和数据可视化。相比之下,SQL 是一种特定于领域的语言,这意味着它是专门为处理关系数据库中的数据而设计的。这意味着 SQL 通常用于查询和更新数据库中的数据等任务,而 R 用于更一般的数据分析任务。

用户

这两种语言都被数据分析师和其他处理数据的专业人员广泛使用,并且这两种语言都被设计为相对容易学习和使用。此外,R 和 SQL 都受到大量活跃的用户和开发人员社区的支持,这使得找到使用这些语言的支持和资源变得很容易。

选择学习 R 编程有几个好处。作为一种用于数据分析的强大且广泛使用的开源编程语言,有一些相当明显的优势需要考虑。其中包括:

  1. 这是一种高度灵活的语言,允许用户执行各种数据操作、统计分析和图形可视化任务。
  2. 有一个庞大而活跃的 R 用户社区,这意味着有大量的在线资源、文档和支持可以帮助你有效地学习和使用这门语言。
  3. R 还广泛用于学术界和工业界,所以如果你希望从事数据科学、研究或其他相关领域的职业,学习和使用 R 是有益的。
  4. r 有几个内置函数和包,可以更容易地执行复杂的数据分析任务,比如机器学习,而不必从头开始编写冗长复杂的代码。
  5. 这种语言是独立于平台的,所以它可以在任何操作系统上使用,这使得它成为一种通用的数据分析工具。

我们将看到学习 SQL 的许多优势与学习 R 的优势相似:

  1. SQL 对于任何使用数据库的人来说都是必不可少的。无论你是想成为数据分析师(T3)、数据科学家(T5)还是 web 开发人员(T5),对 SQL 的深刻理解对于处理数据都是必不可少的。
  2. 这是一种被广泛使用的语言,学习它可以在许多不同的行业打开就业机会。从小型创业公司到大型企业,许多公司都使用 SQL 来管理和分析他们的数据。
  3. 它是一种通用的语言,可以用来执行各种任务,包括创建和修改数据库,插入和更新数据,以及查询和分析数据。
  4. 与其他编程语言相比,SQL 相对容易学习。许多编程新手可以在很短的时间内学会 SQL 的基础知识。
  5. SQL 可以帮助你更有效地处理数据。使用 SQL,您可以快速轻松地检索、操作和分析数据,节省大量时间和精力。

现在我们对这些语言有了一些了解,让我们来看看它们的用途和重叠之处。你可以在另外的文章中读到更多关于什么 SQL 被用于和你能用 R 做什么的细节。

数据分析

r 和 SQL 都是常用于数据分析的语言。两者的主要区别在于,R 是一种专门为统计计算和数据分析而设计的编程语言,而 SQL 是一种用于管理和查询存储在关系数据库中的数据的语言。

r 是执行复杂统计分析和创建可视化的强大工具,而 SQL 更适合处理大型数据集和执行更基本的操作,如过滤、排序和聚合数据。最终,它们都是对数据分析非常有用的工具。

数据操作

这两种语言都适用于数据操作,即提取信息并对其进行更改以使其更易于解释或组织的过程。使用 R,您可以以各种方式执行数据操作,例如使用 subset()、With()和 within()等函数,以及 data 之类的包。表格、ggplot2、整形 2 和 readr。

当处理关系数据时,SQL 是最有用的工具之一。诸如 Limit、Distinct、Aggregation、Groupby 等操作可以帮助您跨不同的数据库组织数据。

让我们来比较一下这两种语言在特定任务中的表现:

数据管理

数据库是数据管理的核心,这使得 SQL 成为这项任务的显而易见的选择。它是允许我们通过查询构建关系数据库并与之交互的底层语言。尽管 R 通常用于数据分析、统计和可视化,但它作为管理数据和文件的工具正变得越来越流行。

数据处理速度

当比较各种函数的速度时,您会发现 R 和 SQL 之间的各种差异。在对各种性能指标评测的分析中,R 在一些任务上的执行速度明显更快,比如基本的数据库查询,而在创建临时变量和基于条件执行聚合时,它要慢得多。因此,虽然 R 在一些数据操作任务上非常快,但 SQL 在所有任务上都很稳定。

图形功能

r 是专门为图形数据分析而设计的。因此,很容易为您的数据创建大量可视化效果,如直方图、条形图、散点图等。相比之下,SQL 本身并不是真正的图形工具,更侧重于组织数据。但这并不意味着没有各种工具可以帮助您将 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 对清理后的数据执行更复杂的分析和可视化。

小讯
上一篇 2025-06-08 21:13
下一篇 2025-05-28 17:22

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/190877.html