Project Icon

eurybia

开源Python库助力数据和模型偏移检测

Eurybia是一个Python开源库,专注于检测数据和模型偏移,并在模型部署前进行数据验证。该工具生成详细的HTML报告,支持模型性能监控、AI系统审核和治理优化。通过直观的可视化和动态报告,Eurybia简化了数据特征和偏移分析,促进了团队协作和跨部门沟通。

测试 pypi python版本 许可证 文档

🔍 概览

Eurybia是一个Python库,旨在帮助:

  • 检测数据漂移和模型漂移
  • 在将模型投入生产前验证数据

Eurybia解决了机器学习模型长期工业化可维护性的挑战。 因此,它有助于更好的模型监控、模型审核和更广泛的人工智能治理。

为此,Eurybia生成一份HTML报告:

🕐 快速开始

显示结果的3个步骤:

  • 步骤1:声明SmartDrift对象

    您至少需要传递2个pandas DataFrames来实例化SmartDrift类(当前或生产数据集,基线或训练数据集)

from eurybia import SmartDrift

sd = SmartDrift(
    df_current=df_current,
    df_baseline=df_baseline,
    deployed_model=my_model,  # 可选:将结果与部署模型的重要性进行对比
    encoding=my_encoder,  # 可选:如果部署了模型和编码器以使用此模型
    dataset_names={
        "df_current": "当前数据集名称",
        "df_baseline": "基线数据集名称",
    },  # 可选:输出的名称
)
  • 步骤2:编译模型

    有不同的方式来编译SmartDrift对象

sd.compile(
    full_validation=True,  # 可选:为节省时间,保留默认值False。如果为True,分析列之间模态的一致性。
    date_compile_auc="01/01/2022",  # 可选:在计算非当前时间的漂移时有用
    datadrift_file="datadrift_auc.csv",  # 可选:包含数据漂移性能历史的csv文件名
)
  • 步骤3:生成报告

    如果提供了数据科学模型(已部署)及其编码器,报告内容将更加丰富。 请注意,提供deployed_model和encoding只有在两个数据集都可被模型使用时才能产生有用的结果(即所有特征都存在,数据类型正确等)。

sd.generate_report(
    output_file="output/my_report_name.html",
    title_story="我的报告标题",
    title_description="我的报告副标题",  # 可选:添加描述报告的副标题
    project_info_file="project_info.yml",  # 可选:在报告中添加信息
)

报告示例

🛠 安装

Eurybia旨在与Python 3.8到3.10版本一起工作。可以使用pip进行安装:

pip install eurybia

如果遇到兼容性问题,您可以查看Eurybia文档中的相应部分这里

🔥 特性

  • 显示清晰易懂的洞察报告:

  • 允许数据科学家通过动态报告快速探索漂移,轻松在漂移检测和数据集特征之间导航。

简而言之

  • 使用调度器(如Airflow)监控漂移

  • 评估数据漂移水平

  • 促进数据分析师和数据科学家之间的协作,并轻松与非数据用户分享和讨论结果

更具体地说

  • 通过以下方式呈现数据漂移和模型漂移随时间的变化:
    • 特征重要性:最能区分两个数据集的特征
    • 散点图:特征重要性相对于漂移重要性
    • 数据集分析:基线数据集和最新数据集之间变量分布的比较
    • 预测值分析:基线数据集和最新数据集之间目标分布的比较
    • 数据漂移分类器的性能
    • 数据漂移分类器的特征贡献
    • AUC演变:不同时期数据漂移分类器的比较
    • 模型性能演变:您的模型随时间的性能

📢 为什么我们创建Eurybia

机器学习模型生命周期的可视化可以帮助理解Eurybia的重要性。在其生命周期中,机器学习模型经历以下阶段:模型学习、模型部署、模型监控。

让我们分别将模型的特征、目标和预测命名为X、Y和P(X, Y)。P(X, Y)可以分解为:P(X, Y) = P(Y|X)P(X),其中P(Y|X)是给定模型特征的输出条件概率,P(X)是模型特征的概率密度。

数据验证:验证用于生产预测的数据是否与部署前的训练数据或测试数据相似。用公式表示,P(Xtraining)类似于P(XtoDeploy)
数据漂移:与部署前的训练或测试数据相比,生产数据随时间的演变。用公式表示,比较P(Xtraining)和P(XProduction)
模型漂移:由于目标特征统计属性的变化(概念漂移)或数据变化(数据漂移)导致的模型性能随时间的演变。用公式表示,当P(Y|XProduction)相对于P(Y|Xtraining)发生变化时是概念漂移。而P(Y,XProduction)相对于P(Y,Xtraining)的变化是模型漂移

Eurybia帮助数据分析师和数据科学家通过报告进行协作,使他们能够在将模型部署到生产环境之前就漂移监控和数据验证进行交流。
Eurybia还通过在单一报告中显示任何模型和数据的有用信息,为数据科学审计做出贡献。

⚙️ Eurybia如何检测数据漂移

Eurybia主要使用二元分类模型(称为数据漂移分类器)来预测样本是属于训练数据集(或基线数据集)还是生产数据集(或当前数据集)。

如下图所示,有两个数据集,基线数据集和当前数据集。这些是我们希望比较以评估是否发生数据漂移的数据集。在第一个数据集中,我们创建一个名为"target"的列,它只填充0,而在第二个数据集中,我们也添加这个列,但这次只填充1值。
我们的目标是在这两个数据集(连接在一起)之上构建一个二元分类模型。一旦训练完成,这个模型将有助于判断是否存在数据漂移。为此,我们通过AUC指标来查看模型性能。AUC越大,漂移越大。(AUC = 0.5表示没有数据漂移,AUC接近1表示正在发生数据漂移)

这个数据漂移分类器的可解释性允许我们优先考虑对漂移重要的特征,并关注那些对生产中的模型影响最大的特征。

要使用Eurybia监控随时间变化的漂移,你可以使用调度器自动和定期进行计算。
你可以使用的调度器之一是Apache Airflow。要使用它,你可以阅读官方文档并阅读像这样的博客:Apache Airflow入门

🔬 构建工具

本节列出了Eurybia中使用的库。

📖 教程

这个GitHub仓库提供了许多教程,让你能快速开始使用Eurybia。

概述

在模型部署前验证数据

测量和分析数据漂移

测量和分析模型漂移

关于报告和图表的更多详情

🔭 路线图

  • 概念漂移

检测概念漂移并获取这种漂移的分析和可解释性。已开启一个问题:添加概念漂移

  • API模式

使Eurybia适应API模式消费的模型。已开启一个问题:使Eurybia适应API模式

如果你想贡献,可以在讨论标签中联系我们

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号