使用 AutoAI 自动构建模型

栏目: IT技术 · 发布时间: 4年前

内容简介:本教程纳入出于为 AI 创建 AI 的目的,IBM 在 Watson™ Studio 中引入了一项名为AutoAI 的服务。AutoAI 作为一项服务,可自动执行机器学习任务,减轻数据科学家背负的重担。它可自动准备数据进行建模,为问题选择最佳算法,并为训练模型创建管道。

本教程纳入 IBM Cloud Pak for Data 快速入门学习路径

出于为 AI 创建 AI 的目的,IBM 在 Watson™ Studio 中引入了一项名为AutoAI 的服务。

AutoAI 作为一项服务,可自动执行机器学习任务,减轻数据科学家背负的重担。它可自动准备数据进行建模,为问题选择最佳算法,并为训练模型创建管道。

AutoAI 可以在公共云和私有云(包括 IBM Cloud Pak for Data)中运行。

学习目标

本教程通过一个用例介绍了 AutoAI 服务的优势。这将帮助您深刻理解如何在不使用任何代码的情况下处理回归和分类问题,以及如何使用此服务完成特征工程、模型选择、超参数调优等任务。本教程还包含了在管道中选择最佳模型以及如何通过 IBM Cloud Pak for Data platform 部署和使用这些模型的详细信息。

前提条件

预估时间

本教程大约需要 20 分钟才能完成(这包括 AutoAI 中的训练过程)。

本教程分为以下几个步骤:

  1. 创建项目和 AutoAI 实例
  2. 设置 AutoAI 环境并生成管道
  3. AutoAI 管道
  4. 部署和测试模型

创建项目和 AutoAI 实例

创建一个 Watson Studio 项目

  • 单击左上角的汉堡菜单 (☰),然后单击 Projects 。在 Projects 页面中,单击 New Project使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • 选择 Create an empty project使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • 为项目提供名称和可选的描述: 使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
    这将打开数据资产页面,此处可存储和组织您的项目资产。通过单击 Assets 栏,您可以从右侧界面加载数据集。
  • 上传 Telco-Customer-Churn.csv 数据集: 使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型

2. 设置 AutoAI 环境并生成管道

  • 要开始体验 AutoAI,可单击顶部的 Add to Project ,然后选择 AutoAI使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • 为您的服务命名,然后选择下拉菜单中列出的计算配置选项之一。接着单击 Create使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • 选择您的数据集。
  • Select prediction column 下面,单击 Churn 。然后单击 > Run experiment使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • 这样将运行 AutoAI 实验。UI 将显示进度: 使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • 此实验大约需要 14 分钟。完成后,您将看到一条消息,表明已经创建了管道: 使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型

3. AutoAI 管道

完成前面的过程之后,就可以开始实验了。AutoAI 过程遵循以下顺序来构建候选管道:

  • 数据预处理
  • 自动化模型选择(管道 1)
  • 超参数优化(管道 2)
  • 自动化特征工程(管道 3)
  • 超参数优化(管道 4)
  • 向下滚动可看到 Pipeline leaderboard使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
    下一步是通过查看指标来选择能够提供最佳结果的模型。在本例中,管道 4 使用“Area under the ROC Curve (ROC AUC)”指标给出了最佳结果。您可以通过单击排行榜中的相应管道来查看详细结果。
  • 单击 Save as model ,然后单击 Save 来保存模型。 使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
    将打开一个窗口,要求输入模型名称、描述(可选)等。完成此字段后,单击 Save使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
    您会收到一条通知,表明您的模型已保存到项目中。单击 View in project使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
    或者,在 Assets 选项卡下的顶级项目中,单击 Models 下保存的模型的名称: 使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型

4. 部署并测试模型

  • 要准备部署模型,可单击 Promote to deployment space使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • 要提升资产,您必须将项目与部署空间相关联。单击 Associate Deployment Space使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • 您可能已经创建了一个部署空间。在这种情况下,可单击 Existing 并选择该部署。
  • 如果您现在还没有部署,可转到 New 选项卡,并为您的部署空间指定名称,然后单击 Associate使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • 成功将模型切换到部署空间后,顶部将弹出一条通知,如下所示。单击此通知中的 deployment space 。此外,您还可以通过使用汉堡菜单 (☰) 并单击 Analyze -> Analytics deployments 来访问此页面: 使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • 如果您通过 Menu -> Analyze -> Analytics deployments 路径进入,可单击您的部署空间: 使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • Assets 选项卡下,单击您的模型: 使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • Deployments 选项卡下,单击 Deploy 以部署此模型: 使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • 为您的部署提供一个名称和可选的描述,然后单击 Create使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • 该部署将显示为 In progress ,完成后将切换为 Deployed 。单击部署: 使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • 部署的 API reference 选项卡将显示如何通过 cURL、 Java 、Javascript、PythonScala 来使用该模型: 使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型

使用 GUI 工具来测试部署的模型

现在,您可以通过部署后提供的界面测试模型。

  • 单击 Input with JSON format 图标,然后将以下数据粘贴到 Body 下面,再单击 Predict
    { "input_data":[ { "fields":[ "customerID", "gender", "SeniorCitizen", "Partner", "Dependents", "tenure", "PhoneService", "MultipleLines", "InternetService", "OnlineSecurity", "OnlineBackup", "DeviceProtection", "TechSupport", "StreamingTV", "StreamingMovies", "Contract", "PaperlessBilling", "PaymentMethod", "MonthlyCharges", "TotalCharges" ],
         "values":[ [ "7567-VHVEG", "Female", 0, "No", "No", 0, "No", "No phone service", "DSL", "No", "No", "Yes", "No", "No", "Yes", "Month-to-month", "No", "Bank transfer (automatic)", 85.25, 85.25 ] ] } ] }
    使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型
  • 或者,您也可以单击 Provide input using form 图表,填写各种字段,然后单击 Predict使用 AutoAI 自动构建模型
    使用 AutoAI 自动构建模型

使用 cURL 测试部署的模型

> 注意:Windows 用户将需要使用 cURL 命令。为此,建议您 下载 gitbash ,因为在后续步骤中,您还将获得其他 工具 并且能够轻松使用 shell 环境变量。

在终端窗口中,运行以下命令以获得 API 访问令牌。使用 CP4D 集群 usernamepassword

curl -k -X GET https://<cluster-url>/v1/preauth/validateAuth -u
<username>:<password>

将返回一个 json 字符串,并包含“accessToken”的值, 类似 如下:

{"username":"scottda","role":"Admin","permissions":["access_catalog","administrator","manage_catalog","can_provision"],"sub":"scottda","iss":"KNOXSSO","aud":"DSX","uid":"1000331002","authenticator":"default","accessToken":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InNjb3R0ZGEiLCJyb2xlIjoiQWRtaW4iLCJwZXJtaXNzaW9ucyI6WyJhY2Nlc3NfY2F0YWxvZyIsImFkbWluaXN0cmF0b3IiLCJtYW5hZ2VfY2F0YWxvZyIsImNhbl9wcm92aXNpb24iXSwic3ViIjoic2NvdHRkYSIsImlzcyI6IktOT1hTU08iLCJhdWQiOiJEU1giLCJ1aWQiOiIxMDAwMzMxMDAyIiwiYXV0aGVudGljYXRvciI6ImRlZmF1bHQiLCJpYXQiOjE1NzM3NjM4NzYsImV4cCI6MTU3MzgwNzA3Nn0.vs90XYeKmLe0Efi5_3QV8F9UK1tjZmYIqmyCX575I7HY1QoH4DBhon2fa4cSzWLOM7OQ5Xm32hNUpxPH3xIi1PcxAntP9jBuM8Sue6JU4grTnphkmToSlN5jZvJOSa4RqqhjzgNKFoiqfl4D0t1X6uofwXgYmZESP3tla4f4dbhVz86RZ8ad1gS1_UNI-w8dfdmr-Q6e3UMDUaahh8JaAEiSZ_o1VTMdVPMWnRdD1_F0YnDPkdttwBFYcM9iSXHFt3gyJDCLLPdJkoyZFUa40iRB8Xf5-iA1sxGCkhK-NVHh-VTS2XmKAA0UYPGYXmouCTOUQHdGq2WXF7PkWQK0EA","_messageCode_":"success","message":"success"}

在终端窗口中,导出此响应的“accessToken”部分作为 WML_AUTH_TOKEN 。通过复制 EndpointAPI reference 中获取 URL ,然后将其导出为 URL

export WML_AUTH_TOKEN=<value-of-access-token>
export URL=https://blahblahblah.com

现在从终端窗口运行以下 curl 命令:

curl -k -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header "Authorization: Bearer  $WML_AUTH_TOKEN" -d '{"input_data": [{"fields": ["customerID","gender","SeniorCitizen","Partner","Dependents","tenure","PhoneService","MultipleLines","InternetService","OnlineSecurity","OnlineBackup","DeviceProtection","TechSupport","StreamingTV","StreamingMovies","Contract","PaperlessBilling","PaymentMethod","MonthlyCharges","TotalCharges"],"values": [["7590-VHVEG","Female",0,"No","No",1,"No","No phone service","DSL","No","No","No","No","No","No","Month-to-month","No","Bank transfer (automatic)",25.25,25.25]]}]}' $URL

将返回一个包含响应的 json 字符串,在末尾包含“Yes”或“No”,表示客户是否将会流失。

结束语

本教程纳入 IBM Cloud Pak for Data 快速入门学习路径 。要继续学习本系列课程并了解 IBM Cloud Pak for Data 的更多信息,可查看下一个 Code Pattern 利用 Watson OpenScale 监视模型

本文翻译自: Automate model building with AutoAI (2020-02-26)


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Learn Python 3 the Hard Way

Learn Python 3 the Hard Way

Zed A. Shaw / Addison / 2017-7-7 / USD 30.74

You Will Learn Python 3! Zed Shaw has perfected the world’s best system for learning Python 3. Follow it and you will succeed—just like the millions of beginners Zed has taught to date! You bring t......一起来看看 《Learn Python 3 the Hard Way》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换