关于机器学习:whylogs工具库的工业实践机器学习模型流程与效果监控-⛵

本文解说如何应用whylogs工具库,构建具体的AI日志平台,并监控机器学习模型的流程与成果。外围操作包含:环境配置、新建我的项目并获取ID、获取组织ID和拜访Key、将配置文件写入WhyLabs、监控模型性能指标。


💡 作者:韩信子@ShowMeAI
📘 机器学习实战系列:https://www.showmeai.tech/tutorials/41
📘 本文地址:https://www.showmeai.tech/article-detail/395
📢 申明:版权所有,转载请分割平台与作者并注明出处
📢 珍藏ShowMeAI查看更多精彩内容

残缺的机器学习利用过程,除了数据处理、建模优化及模型部署,也须要进行后续的成果验证跟踪和ML模型监控——它能保障模型和场景是放弃匹配且有优异成果的。

模型上线后,可能会存在成果降落等问题,面临数据漂移等问题。详见ShowMeAI的文章 📘机器学习数据漂移问题与解决方案

ShowMeAI在这篇文章中,将给大家展现如何应用开源工具库 whylogs 构建详尽的 AI 日志平台并监控 ML 模型。

💡 日志零碎&模型监控

💦 环境配置

要构建日志零碎并进行模型监控,会应用到开源数据日志库📘whylogs,它能够用于捕捉数据的要害统计属性。装置形式很简略,执行下列 pip 命令即可

pip install "whylogs[whylabs]"

接下来,导入所用的工具库whylogspandasos。咱们也创立一份 Dataframe 数据集进行剖析。

import whylogs as why
import pandas as pd
import os
# create dataframe with dataset
dataset = pd.read_csv("https://whylabs-public.s3.us-west-2.amazonaws.com/datasets/tour/current.csv")

应用 whylogs 创立的数据配置文件能够独自用于数据验证和数据漂移可视化,简略的示例如下:

import whylogs as why
import pandas as pd

#dataframe
df = pd.read_csv("path/to/file.csv")
results = why.log(df)

这里也解说一下云端环境,即把配置文件写入 WhyLabs Observatory 以执行 ML 监控。

为了向 WhyLabs 写入配置文件,咱们将 📘创立一个帐户(收费)并获取组织 ID、Key和我的项目 ID,以将它们设置为我的项目中的环境变量。

# Set WhyLabs access keys
os.environ["WHYLABS_DEFAULT_ORG_ID"] = 'YOURORGID'
os.environ["WHYLABS_API_KEY"] = 'YOURACCESSTOKEN'
os.environ["WHYLABS_DEFAULT_DATASET_ID"] = 'PROJECTID'

💦 新建我的项目并获取 ID

Create Project > Set up model > Create Project,整个操作过程如下图所示:

💦 获取组织 ID 和拜访 Key

菜单 > 设置 > 拜访令牌 > 创立拜访令牌,如下图所示:

通过这个配置,接下来就能够将数据配置文件写入 WhyLabs。

💦 将配置文件写入 WhyLabs 以进行 ML 监控

设置拜访密钥后,能够轻松创立数据集的配置文件并将其写入 WhyLabs。这使咱们只需几行代码即可监控输出数据和模型预测!

# initial WhyLabs writer, Create whylogs profile, write profile to WhyLabs
writer = WhyLabsWriter()
profile= why.log(dataset)
writer.write(file=profile.view())

咱们能够在 pipeline 管道的任何阶段创立配置文件,也就是说能够对每个步骤的数据进行监控。一旦实现将配置文件写入 WhyLabs,就能够查看、比拟和监控数据品质和数据漂移。

上述步骤过后,只需单击一下(或创立自定义监视器)即可启用预配置的监视器,检测数据配置文件中的异常情况。设置常见的监控工作是非常容易的,也能够很清晰快捷地检测数据漂移、数据品质问题和模型性能。

配置监视器后,能够在查看输出性能时对其进行预览。

当检测到异样时,能够通过电子邮件、Slack 或 PagerDuty 发送告诉。在设置 > 告诉和摘要设置中设置告诉首选项。

上述这些简略的步骤,咱们曾经实现了从 ML 管道中的任何步骤提取数据、构建日志和监控剖析,并在产生异样时失去告诉。

💦 监控模型性能指标

后面看到了如何监控模型输出和输入数据,咱们还能够通过在预测后果来监控性能指标,例如准确度、精确度等。

要记录用于监控的性能指标,能够应用why.log_classification_metricswhy.log_regression_metrics并传入蕴含模型输入后果的 Dataframe。

results = why.log_classification_metrics(
         df,
         target_column = "ground_truth",
         prediction_column = "cls_output",
         score_column="prob_output"
     )
 
 profile = results.profile() 
 results.writer("whylabs").write()

留神:确保您的我的项目在设置中配置为分类或回归模型。

在上面的示例笔记本中查看用于性能监控的数据示例。

大家想取得更多对于监控的示例 notebook 笔记本,能够查看官网 GitHub 对于 📘分类和 📘回归的代码。

参考资料

  • 📘 机器学习数据漂移问题与解决方案:https://www.showmeai.tech/article-detail/331
  • 📘 whylogs:https://github.com/whylabs/whylogs

举荐浏览

  • 🌍 数据分析实战系列 :https://www.showmeai.tech/tutorials/40
  • 🌍 机器学习数据分析实战系列:https://www.showmeai.tech/tutorials/41
  • 🌍 深度学习数据分析实战系列:https://www.showmeai.tech/tutorials/42
  • 🌍 TensorFlow数据分析实战系列:https://www.showmeai.tech/tutorials/43
  • 🌍 PyTorch数据分析实战系列:https://www.showmeai.tech/tutorials/44
  • 🌍 NLP实战数据分析实战系列:https://www.showmeai.tech/tutorials/45
  • 🌍 CV实战数据分析实战系列:https://www.showmeai.tech/tutorials/46
  • 🌍 AI 面试题库系列:https://www.showmeai.tech/tutorials/48

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据