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

模型监控:实时了解模型运行状况 1. 背景介绍 1.1 为什么需要模型监控 随着人工智能和机器学习技术的快速发展,越来越多的企业和组织开始将这些技术应用于实际业务场景。然而,随着模型的部署和应用,如何确保模型在实际运行过程中的稳定性、准确性和可靠性成为了一个亟待解决的问题。模型监控作为一种实时了解模型运行状况的方法,可以帮助我们 阅读详情

💡 作者:韩信子@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]"

接下来,导入所用的工具库whylogs、pandas和os。我们也创建一份 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_metrics或why.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 关于 📘分类和 📘回归的代码。

参考资料

whylogs:端到端剖析和监视您的ML数据管道 whylogs库 这是Whylogs的Python实现。 Java实现可在找到。 无论数据是为生产还是实验而构建,了解数据在应用程序中移动时的属性对于保持ML / AI管道稳定并改善用户体验都是至关重要的。 whylogs是一个开源统计日志记录库,它使数据科学和ML团队可以轻松地描述ML / AI管道和应用程序,并生成可用于监视,警报,分析和错误分析的日志文件。 whylogs可以计算任何规模至TB规模的数据集的近似统计数据,从而使用户易于识别模型输入或输出的统计属性的变化。使用近似统计信息可以使程序包在最小的基础结构上运行并监视整个数据集,而不必仅通过使用数据样本来计算统计信息就可以错过异常值和其他异常情况。这些特性使Whylogs成为分析基于TB规模数据和企业SLA的生产ML / AI管道的出色解决方案。 如有疑问和讨论,请跳至我们的! 主要特点 数据洞察: whylogs在ML / 立即下载

相关推荐

PSpice 导入 LTspice 仿真实验 --(如何解决PSpice模型无法使用的错误)

参考了网上第三方器件导入LTspice的博客和资料,不论是哪个公司下载的SPICE模型导入LTspice的方法都类似。如果遇到导入报错的情况可以先看一下报错提示,如果通过语法修改实现功能的则说明可以进行仿真,当然性能可能与官方给的模型存在一点出入,但做一个基本的功能验证本人认为还是可以的,总比做出板子用不了或者完全不匹配的要好一些。

伊丽莎白的学习之路 8998

收藏这5个顶级Python库,事半功倍!

它提供了一种简单的方式来生成和记录数据的摘要信息,包括数据的描述统计、数据类型、空值比例以及其他有用的统计指标。它提供了全面的内存使用情况视图,并生成各种报告,如火焰图,帮助我们分析收集的数据并定位内存泄漏和热点问题。它是一个功能强大的工具,旨在取代各种其他工具,包括 Flake8、isort、pydocstyle、yesqa、eradicate,甚至 pyupgrade 和 autoflake 的子集,同时以闪电般的速度执行。它提供了一组方便的函数和工具,用于创建、操作和计算边界框的各种属性。

Python栈 255

保姆级教程:用Python和PyTorch复现PTB-XL心电信号分类论文(附完整代码)

本文提供了一份详细的PTB-XL心电信号分类教程,涵盖从数据预处理到模型优化的完整流程。通过PyTorch实现三种深度学习架构(Conv1D、SincNet和熵特征融合网络),并针对医疗AI特有的类别不平衡问题提供解决方案。教程包含可运行的代码示例,帮助开发者快速复现论文结果并应用于实际心电信号分析场景。

weixin_30555125的博客 405

如何使用WhyLogs:一站式数据质量监控与分析的终极指南

WhyLogs是一个轻量级的数据质量监控和数据分析库,能够实时收集和记录特征统计数据,便于后期进行数据质量和异常检测等工作。作为GitHub加速计划中的重要项目,它为数据科学家和工程师提供了简单而强大的工具,帮助他们更好地理解和管理数据。 ## 📊 什么是WhyLogs? WhyLogs是一个开源的数据日志库,旨在帮助用户轻松地收集、分析和监控数据特征。它可以与各种数据处理框架和工具集成,为

gitblog_00033的博客 426

(详细教程)opencv+pycharm+笔记本摄像头 做一个人脸识别

文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 一、安装opencv-python 这里推荐使用pycharm直接安装opencv-python 打开文件——设置——python解释器——点击+号 搜索opencv-python,点击安装包,等待片刻即可安装好 检查是否安装好,新建一个项目输入以下代码,若无报错则安装好 import cv2 二、准备分类器 咱们使用opencv官方提供的分类器,包括面部识别,侧...

qq_52852432的博客 1万+

国产Flash替代方案:手把手教你用XSCT烧写ZYNQ7045的BOOT.BIN(附完整命令解析)

本文详细介绍了国产Flash替代方案在ZYNQ7045上的应用,通过XSCT工具链实现BOOT.BIN的精准烧写。内容涵盖国产Flash兼容性检查、PetaLinux环境搭建、XSCT烧写全流程及故障排查,帮助开发者高效完成国产化替代,提升硬件开发效率。

weixin_33670786的博客 427

深入理解whylogs:数据日志记录的开源标准

在当今数据驱动的时代,数据质量和监控已成为机器学习(Machine Learning)和数据工程领域的核心挑战。你是否曾遇到过以下问题: - 模型在生产环境中性能突然下降,却无法确定是数据质量问题还是模型问题? - 数据管道(Data Pipeline)中出现异常值,但发现时已经影响了业务决策? - 需要手动编写大量代码来验证数据质量,维护成本高昂? whylogs正是为解决这些痛点而生的开源...

gitblog_00306的博客 384

Unity3d实现红外热成像效果

1.将需要在红外图像中高亮的物体设置到图层PostProcessing。 2.新建一个相机CameraHighLight,设置其Culling Mask为PostProcessing,也就是在这个相机中只有PostProcessing图层的物体可见。 3.新建一个RenderTexture,命名为HightLightRt,将CameraHighLight的Target Texture设HightLightRt。 4.新建一个相机Camera2,这个相机用于显示其他物体。 接下来将CameraHigh

zouxin_88的专栏 8327

推荐开源项目:WhyLogs Java Library - 深度洞察大规模数据的统计之钥

推荐开源项目:WhyLogs Java Library - 深度洞察大规模数据的统计之钥 whylogs-javaProfile and monitor your ML data pipeline end-to-end项目地址:https://gitcode.com/gh_mirrors/wh/whylogs-java 在当今机器学习和人工智能(ML/AI)领域中,对数据属性的深入理解是保持管道...

gitblog_00097的博客 419

Material Studio 2024安装避坑指南:从证书配置到权限设置的完整解决方案

本文详细解析了Material Studio 2024的安装流程,从环境准备到权限优化的完整解决方案。针对证书配置、系统权限和计算服务等常见问题,提供了12个关键风险点的避坑指南,帮助科研工作者高效完成安装,提升材料模拟工作的效率。

moon9的博客 772

机器学习实战26-一种基于LightGBM的股市涨跌预测系统与代码实现过程

在全球经济一体化的背景下,股市作为经济活动的晴雨表,其波动与预测对于投资者、金融机构乃至国家政策制定者而言至关重要。随着金融市场的日益复杂化与信息量的爆炸式增长,股市分析不再仅限于基本面和技术面的传统研究,而是迫切需要更加精准、高效及智能化的方法来捕捉市场动态,以辅助决策制定。模型评估是确保LightGBM股市预测系统准确性和稳定性不可或缺的一环。通过综合运用多种评估指标、科学的验证方法以及深入的性能分析,我们不仅能够全面理解模型的能力和限制,还能为持续优化模型、提升预测准确性奠定坚实基础。

微学AI的博客 2327

ReactOS国际化支持:多语言与本地化功能的实现

在当今全球化的软件开发环境中,国际化(Internationalization,简称i18n)和本地化(Localization,简称L10n)已成为操作系统开发的核心需求。ReactOS作为一个开源的Windows兼容操作系统,其国际化支持架构展现了开源社区在跨语言、跨文化软件开发方面的技术实力。本文将深入探讨ReactOS如何实现多语言支持、字符编码处理、区域设置管理等关键技术。 ## Re...

gitblog_00642的博客 633

河洛理数【陈抟】每月月卦推演每日运卦

Step2:每卦中的日爻遇到二十四节气中的当日为节(月初)或气(月中)的时候,所代表的日期需要变更。正常来说,屯卦分别代表初一到初六,但是由于当月初二时立秋节,所以初爻就不能作为初一、而是要作为立秋节开始时(文中还精算到了立秋是从初二的午时开始),如下。说的代表月运的基础卦上进行当月日卦的推演方式。老样子,我们还是按照书中举得例子卦在这边进行一步步的推演,最后做总结。Step1:从月卦爻下一爻开始,自下而上,进行五个爻的爻变,新推演的每个卦代表六天,如下。假设当月月卦是即济卦,月爻在二爻,如图所示(

Daniel专栏 764

使用whylogs进行数据质量分析入门指南

还在为数据质量问题头疼吗?面对海量数据时,如何快速发现异常、监控数据质量变化?whylogs作为开源数据日志记录标准,为你提供了一套完整的数据质量分析解决方案。本文将带你从零开始,掌握whylogs的核心功能和使用技巧。 ## ???? whylogs是什么? whylogs是一个轻量级的开源数据日志记录库,能够实时收集和记录特征统计数据。通过生成称为**whylogs profiles**的数据...

gitblog_00185的博客 394

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

使用WhyLabs和whylogs实现数据管道和ML应用的监控

WhyLabs通过whylogs生成的数据集统计概况进行监控,支持任意数据管道、ML基础设施或框架的无缝集成。可以处理TB级别的海量数据,保持计算要求低,并且能够确保数据隐私,因为实际数据不会离开您的环境。

fgayif的博客 519

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

如何永久保存微信聊天记录:WeChatMsg完整免费备份指南

在数字时代,微信聊天记录承载着我们珍贵的记忆和重要的信息,但官方不提供完整的导出功能,数据安全令人担忧。WeChatMsg是一款完全免费的开源工具,专门用于提取微信聊天记录并将其导出为HTML、Word、CSV等多种格式永久保存,还能进行深度数据分析生成年度聊天报告,让您真正掌握个人数据主权。 ## 🚀 项目价值与核心优势 ### 为什么选择WeChatMsg? 微信聊天记录面临多种风险:手

gitblog_00732的博客 474

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

[启用WhyLabs监控:提升数据管道和机器学习模型的可观测性]

WhyLabs基于开源软件whylogs,为数据科学家和工程师提供了一种轻松生成数据集统计概况的方法。这些概况被上传到WhyLabs平台进行集中监控和警告设置。WhyLogs通过统计方式确保数据隐私,实际数据永远不离开您的环境。通过WhyLabs和whylogs,数据管道和机器学习模型的监控变得更简单和高效。结合实时统计和集中监控,您可以快速检测并修复潜在问题。WhyLabs官网。

sjufgwgfhoia的博客 543

Tokyo Drift:使用 NannyML 和 Whylogs 检测图像中的漂移

在生产中部署模型时,检测数据中的漂移非常重要。它确保模型的性能不会因输入数据的性质发生变化而降低。有很多工具可用于监控数据和检测漂移,例如 Great expectations、NannyML 等。然而,其中大部分是为表格数据制作的。本文,我们将讨论使用流行工具检测图像漂移的不同方法。使用数据增强创建漂移为了创造漂移,我们采用了两种不同的方法。第一种方法是创建明显异常值的一次性图像。这些图像是由 ...

深度学习与计算机视觉 1365

监控模型的可解释性:深入理解模型行为

1.背景介绍 随着人工智能技术的不断发展,机器学习模型已经成为了许多领域的重要组成部分。然而,这些模型的黑盒性使得我们无法直接理解它们的内部工作原理,这为许多应用带来了挑战。在本文中,我们将探讨监控模型的可解释性,以及如何深入理解模型的行为。我们将讨论以下主题: 背景介绍 核心概念与联系 核心算法原理和具体操作步骤以及数学模型公式详细讲解 具体代码实例和详细解释说明 未来发展趋势与挑战 附录...

AI天才研究院 953

什么是模型监控?(Valohai)

它使您的 AI 团队能够识别和消除各种问题,包括糟糕的质量预测和糟糕的技术性能。因此,您的机器学习模型可提供最佳性能。一旦 Valohai 从原始日志中解析出指标,就可以使用 Valohai 部署监控 UI 随着时间的推移对其进行可视化,用户可以在其中分析任何选定时间范围的日志和指标。生产中的模型在操作系统级别与 Valohai 通信,这意味着它收集并存储您的进程内部打印的所有内容,无论是错误堆栈跟踪、模型指标还是健康信息。上面的清单将为实施彻底的模型监控提供有价值的考虑,以确保生产中持续不变的性能。

吃果冻不吐果冻皮 2364

数据上采样和下采样_采样不足以配置您的ml数据

数据上采样和下采样By Isaac Backus and Bernease Herman艾萨克·巴库斯(Isaac Backus)和伯尼瑟斯·赫曼(Bernease Herman) It’s 2020 and most of us still don’t know when, where, why, or how our models go wrong in production. While w...

weixin_26748251的博客 1002

模型监控的机器学习平台:如何提高效率和可扩展性

1.背景介绍 机器学习(Machine Learning)是一种通过数据学习模式和规律的计算机科学领域。它主要涉及到数据的收集、预处理、模型构建、训练和评估等环节。随着数据规模的增加,机器学习模型的复杂性也不断提高,这使得模型的训练和评估变得越来越耗时和资源。因此,如何提高机器学习平台的效率和可扩展性成为了一个重要的研究问题。 模型监控(Model Monitoring)是一种用于检测和预测机...

AI天才研究院 1072

监控深度学习模型的5个关键步骤

1.背景介绍 深度学习已经成为人工智能领域的核心技术之一,它已经取代了传统的机器学习方法在许多任务中的领先地位。然而,与传统的机器学习方法不同,深度学习模型在训练过程中可能会发生各种问题,如过拟合、欠拟合、梯度消失等。因此,监控深度学习模型的重要性不可忽视。 在本文中,我们将讨论监控深度学习模型的5个关键步骤。这些步骤将帮助您更好地理解模型的表现,并在需要时进行调整。 2.核心概念与联系 ...

AI天才研究院 1319
上一篇: 高手系列!数据科学家私藏pandas高阶用法大全 ⛵
下一篇: 图解来啦!机器学习工业部署最佳实践!10分钟上手机器学习部署与大规模扩展 ⛵
ShowMeAI
博客等级 码龄5年 6514粉丝 672原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShowMeAI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值