whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵
- 💡 作者:韩信子@ShowMeAI
- 📘 机器学习实战系列:http://www.showmeai.tech/tutorials/41
- 📘 本文地址:http://www.showmeai.tech/article-detail/395
- 📢 声明:版权所有,转载请联系平台与作者并注明出处
- 📢 收藏ShowMeAI查看更多精彩内容
完整的机器学习应用过程,除了数据处理、建模优化及模型部署,也需要进行后续的效果验证跟踪和ML模型监控——它能保证模型和场景是保持匹配且有优异效果的。
模型上线后,可能会存在效果下降等问题,面临数据漂移等问题。详见ShowMeAI的文章 📘机器学习数据漂移问题与解决方案。
ShowMeAI在这篇文章中,将给大家展示如何使用开源工具库 whylogs 构建详尽的 AI 日志平台并监控 ML 模型。
💡 日志系统&模型监控
💦 环境配置
要构建日志系统并进行模型监控,会使用到开源数据日志库📘whylogs,它可以用于捕获数据的关键统计属性。安装方式很简单,执行下列 pip 命令即可
python
pip install "whylogs[whylabs]"
接下来,导入所用的工具库whylogs
、pandas
和os
。我们也创建一份 Dataframe 数据集进行分析。
```python import whylogs as why import pandas as pd import os
create dataframe with dataset
dataset = pd.read_csv("http://whylabs-public.s3.us-west-2.amazonaws.com/datasets/tour/current.csv") ```
使用 whylogs 创建的数据配置文件可以单独用于数据验证和数据漂移可视化,简单的示例如下:
```python 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,以将它们设置为项目中的环境变量。
```python
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。这使我们只需几行代码即可监控输入数据和模型预测!
```python
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。
```python 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 关于 📘分类和 📘回归的代码。
参考资料
- 📘 机器学习数据漂移问题与解决方案:http://www.showmeai.tech/article-detail/331
- 📘 whylogs:http://github.com/whylabs/whylogs
本文正在参加「金石计划 . 瓜分6万现金大奖」
- 感谢飞书放过幕布!100个GPT-4实战案例;GPT-4免费平替Poe;AI绘画新手指南之SD篇;new Bing靠谱教程 | ShowMeAI日报
- whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵
- 脉脉疯传!2023年程序员生存指南;多款prompt效率加倍工具;提示工程师最全秘籍;AI裁员正在发生 | ShowMeAI日报
- 中国风?古典系?AI中文绘图创作尝鲜!⛵
- Python中内置数据库!SQLite使用指南!
- Pandas中你一定要掌握的时间序列相关高级功能
- 数据科学家赚多少?数据全分析与可视化 ⛵
- 交互式仪表板!Python轻松完成!⛵
- ChatGPT!我是你的破壁人;比尔·盖茨不看好Web3与元宇宙;FIFA押中4届世界杯冠军;GitHub今日热榜 | ShowMeAI资讯日报
- ChatGPT要收费了;华尔街大裁员;阿里2023十大科技趋势;小红书元宇宙虚拟服饰被吐槽;GitHub今日热榜 | ShowMeAI资讯日报
- AI创业时代!这9个方向有钱途;AIGC再添霸榜应用Lensa;美团SemEval2022冠军方法分享;医学图像处理工具箱… | ShowMeAI资讯日报
- 嘘!P站数据分析年报;各省市疫情感染进度条;爱奇艺推出元宇宙App;You推出AI聊天机器人;GitHub今日热榜 | ShowMeAI资讯日报
- 美国公司裁员潮时间线◉科技寒冬可视化;3份报告回顾中国开发者2022;自动驾驶下半场,谁会冲出重围 | ShowMeAI每周通讯 #005-01.07
- 副业月入过万?数据有话说;扫地机器人发展到哪步了;疫情后要不要重返办公室;淘宝元宇宙直播间;GitHub今日热榜 | ShowMeAI资讯日报
- 大战谷歌!微软Bing引入ChatGPT;羊了个羊40万年薪招研发;Debian彻底移除Python2;GitHub今日热榜 | ShowMeAI资讯日报
- 酸了!乐视工作制改为四天半;高通新年裁员;AI绘画公司开始倒闭;网易入股张艺谋元宇宙公司;GitHub今日热榜 | ShowMeAI资讯日报
- 要么干要么滚!推特开始裁员了;深度学习产品应用·随书代码;可分离各种乐器音源的工具包;Transformer教程;前沿论文 | ShowMeAI资讯日报
- 真实世界的人工智能应用落地——OpenAI篇 ⛵
- 阳过→阳康,数据里的时代侧影;谷歌慌了!看各公司如何应对ChatGPT;两份优质AI年报;本周技术高光时刻 | ShowMeAI每周通讯 #003-12.24
- 用魔法打败魔法!这件毛衣让摄像头看不到你;两款酷炫的AI写作软件;快如闪电的B站下载工具;基于扩散模型的蛋白质设计 | ShowMeAI资讯日报