65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 SaaS 驱动的 AutoML 工具 R2 Learn 构建预测模型

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2019年4月26日

CPOL
viewsIcon

4200

R2 Learn 是一款基于SaaS的端到端自动化机器学习(AutoML)工具,使数据科学家或数据工程师能够通过几个简单步骤,快速完成从导入数据集到训练模型并获得预测的所有工作。

引言

机器学习并非一个新概念,但对许多企业而言,其真正的落地实现仍然遥不可及。原因何在?当企业面临大数据问题时,通常会聘请不同领域的专家来协助数据工程师准备系统,进行数据预处理、模型训练和预测。这要求您还要管理将提供领域专家建议、用于清理数据源、进行特征工程、算法选择等工作的人员或资源。这个过程可能需要数月,并且在领域专家和数据工程师构建和测试初始模型后仍会继续。与这种传统方法不同,新的机器学习(ML)工具使得自动处理数据并更快、更好地生成预测模型变得更加容易。

R2 Learn 是一款基于云的自动化机器学习(AutoML)产品,它恰好能够弥合数据工程师与领域专家数据科学家之间的差距。与其他许多仅涵盖算法选择和参数调优的 AutoML 解决方案不同,R2 Learn 涵盖了数据质量检查、数据预处理、特征处理、算法选择、参数调优、模型开发以及模型性能监控和优化——即整个机器学习的开发和运维生命周期。这种端到端的自动化和 ML 工作流优化实现了“一键式,数据输入,模型输出”。

R2 Learn 的端到端流程

在本文中,我们将引导您完成使用 R2 Learn 设置有效的 AutoML 预测模型的全过程,演示该产品如何简化原本需要大量专家干预的过程。

构建模型

R2 Learn 需要注册账户,并提供为期 14 天的免费试用账户供您评估产品。首先,在本例中,请创建 R2 Learn 服务的新试用账户。这将使您能够访问完成本示例或您自己项目数据所需的工具。您可以导入 CSV 数据,对自己的数据集进行训练,并生成预测。

开始时,R2 Learn 允许您创建一个项目并设置基本信息,例如项目类型、描述等。

接下来,R2 Learn 提供 2 种选择数据集的方式。一种是使用他们自己的数据集来探索服务。另一种方式是导入您自己的数据。R2 Learn 支持 CSV 或 Excel 文件格式的数据集,或 SQL 脚本。我们将使用这个公开可用的加利福尼亚住房数据集来探索该服务。此数据集包含有关不同房产及其区域的信息。我们将利用这些信息,在提供区域、卧室、浴室、房屋面积、区域人口和其他必要信息后,来预测房屋的定价。

这是一个回归问题——因为我们试图预测一个值。该文件是一个 CSV 文件,您可以直接将其上传到 R2 Learn 平台。然后,R2 Learn 将对数据执行基本的 ETL 操作。完成此部分后,平台将显示数据,并允许您定义需要预测的变量以及将用作预测变量的变量(此处为基本的因变量和自变量)。

数据质量直接决定建模结果。R2 Learn 可以自动检测数据类型不匹配、缺失值、异常值,并支持异常数据预览。平台可以自动修复目标变量和预测变量的问题,或者允许您手动修复。

规划模型训练的最简单方法是使用 R2 Learn 的自动流程。点击“自动建模”后,R2 Learn 将自动开始训练过程,并为您提供可部署的训练模型。这种一键式自动建模流程对于 AI 专业知识有限的人来说尤其有用。

如果您决定手动执行这些操作,R2 Learn 提供“高级建模”功能来支持您的选择过程,让您可以更全面地控制因变量和自变量,并覆盖“自动建模”通常会给出的建议。您可以决定哪些变量需要,哪些可以忽略。R2 Learn 还允许您验证数据集的完整性并验证数据源以移除任何空值,以及执行任何进一步的数据转换。

在高级建模视图中,您可以选择要用于训练的变量。R2 Learn 会在选择过程中提供支持——它会显示变量的重要性因子。您还可以检查相关性矩阵以更好地理解这一点。高级建模提供的另一个主要好处是为学习过程选择算法。在“高级建模设置”选项卡下,您可以找到这些设置和选项。R2 Learn 支持市场上数十种最有效的学习算法,并会每季度不断扩展其选择范围。

当您对此满意后,可以选择继续进行建模阶段。在此阶段,您将看到有关模型统计信息的展示,包括对模型质量的评估。

会提供训练阶段的完整报告,以便您自行决定。R2 Learn 会持续从数据中训练和学习,以提供更好(或不同)的训练模型。您可以选择您希望发布供用户访问的模型。

使用模型进行预测

在您训练好模型并准备开始进行预测后,R2 Learn 支持两种方式来生成输入数据的预测。一种方式是您可以导入输入数据作为文件,并使用在线门户对数据进行预测。另一种方式是为每个训练好的模型使用 API。

首先,我们来探索数据导入选项。您可以使用 CSV 文件格式输入所有数据,并将文件上传到服务。R2 Learn 将处理输入文件并为您生成响应文件。请记住,您需要提供模型进行预测所需的所有数据。对于这个快速测试,一种简单的测试方法是选取数据集(housing.csv 文件)的前两行。

longitude,latitude,housing_median_age,total_rooms,total_bedrooms,population,households,median_income,ocean_proximity-122.23,37.88,41.0,880.0,129.0,322.0,126.0,8.3252,NEAR
BAY

为此创建一个新文件并上传。R2 Learn 将返回一个包含查询结果的响应文件。在大多数情况下,您不需要使用此方法,但 R2 Learn 支持它以防万一您需要。

API 是一个 RESTful HTTP 端点,可用于预测我们输入的结果。服务端点在同一页面上提供,您可以从中捕获大多数参数。获得这些参数后,您可以使用任何您喜欢的编程语言编写 HTTP 客户端,或使用 Postman 等 API 调试器。我们将使用 Postman 来探索此选项。

R2 Learn 要求您向服务提供以下标头:

  1. HTTP 请求的 POST 方法
  2. 部署模型的端点(https://admin.r2.ai/api/deploy
  3. Token 标头(您的密钥)
  4. 部署 ID(特定于项目和部署)
  5. 数据(JSON 载荷)

按下面图片所示输入它们,

这里有几点需要注意,包括您必须传递的数据。在 JSON 符号中,您必须提交一个 JSON 文档数组,每个文档都必须包含平台预测值所需的字段。

为了帮助您测试,这是上面 JSON 数据载荷的文本版本。

[{ 
  "longitude": "-122.23", 
  "latitude": "37.88", 
  "housing_median_age": "41.0", 
  "total_rooms": "880", 
  "total_bedrooms": "129", 
  "population": "322", 
  "households": "126", 
  "median_income": "8.3252", 
  "ocean_proximity": "NEAR BAY"
}]

您可以使用此载荷发送请求到您的部署。任何 HTTP 客户端也同样适用:您需要提供这些标头,并且可以使用您喜欢的任何语言的库,例如 .NET Framework 的 HttpClient。

如果缺少某个值,平台将返回一个错误代码。

还有其他需要注意的错误代码,您可以在部署页面上找到这些错误。如果查询成功,您将以 JSON 符号接收预测结果。

模型上线后,R2 Learn 可以监控模型性能并重新训练模型,以保持其新鲜度和时效性。

结论

正如您所见,R2 Learn 无需依赖经验和直觉来寻找当前任务的最佳模型(这可能是一个缓慢、繁琐、昂贵且存在缺陷的过程),而是使数据科学家或数据工程师能够通过几个简单步骤,快速完成从导入数据集到训练模型并获得预测的所有工作。它不需要设置不熟悉的软件库或学习新的语言。R2 Learn 使 AutoML 既能在本地部署,也以 SaaS 的形式提供。您可以在一个平台上获得透明且易于解释的建模过程、高质量模型、快速建模和自学习能力。它使企业和用户能够高效智能地开发、部署、监控和优化模型。

尝试一下 R2 Learn,看看您能多快、多轻松地创建训练有素的预测模型。只需在 www.r2.ai/product注册即可获得 14 天免费试用,在此期间您可以探索 R2 Learn 如何帮助您的数据建模任务,并揭示潜在的数据价值。

© . All rights reserved.