apple-aiml-research/ml-hierarchical-confusion-matrix

Neo: Hierarchical Confusion Matrix Visualization (CHI 2022)

Neo – 层次化混淆矩阵

是什么 – 一个 JavaScript 库,可嵌入支持 层次化多输出 类别标签的交互式混淆矩阵可视化。专为研究论文《Neo: Generalizing Confusion Matrix Visualization to Hierarchical and Multi-Output Labels》(CHI 2022)而开发。

为何重要 – 传统混淆矩阵假设类别为扁平列表。许多现代模型预测结构化标签(例如 fruit:citrus:lemon 或多个属性如 fruit:apple, taste:sour)。Neo 允许数据科学家在该层次结构的任意层级探索错误,重新归一化计数,并导出视图,使模型诊断更加丰富。

如何使用

  1. 安装 通过 npm 或 yarn:
    npm install --save @apple/hierarchical-confusion-matrix
    # 或
    yarn add @apple/hierarchical-confusion-matrix
    
  2. 导入 模块并调用 confMat.embed(containerId, spec, confusions),其中:
    • spec 描述类别层次结构(例如 { classes: ['root'] })。
    • confusions 是一个对象数组 { actual: [...], observed: [...], count: N }。该库支持四种格式:普通、层次化(: 分隔层级)、多输出(, 分隔独立标签组),以及两者的组合。
  3. 替代方案 – 如果更喜欢使用普通脚本标签,可在仓库中运行 yarn install,将编译后的 public/confMat.js 复制到您的网站,并按 README 中的 HTML 示例完全嵌入。

数据格式 – 每个条目记录具有给定 实际 标签集的实例有多少被预测为特定的 观测 标签集。README 提供了以下具体 JSON 片段:

  • 简单类别混淆(fruit:lemonfruit:apple)。
  • 层次化混淆(fruit:citrus:lemonfruit:pome:apple)。
  • 多输出混淆(fruit:lemon, taste:sweetfruit:apple, taste:sour)。
  • 层次化 + 多输出组合混淆。

开发 – 仓库包含典型的 JavaScript 工具链:

  • yarn build – 编译 TypeScript 源码。
  • yarn dev – 启动本地开发服务器以快速迭代。
  • yarn test:unit – 运行单元测试。
  • yarn lint – 检查并自动修复代码风格。

查看演示 – 实时演示托管在 https://apple.github.io/ml-hierarchical-confusion-matrix/,README 中链接了简短的 YouTube 演示视频。

引用 – 如果在出版物中使用 Neo,请引用 CHI 2022 论文(提供 BibTeX)。

许可证 – 代码根据仓库的 LICENSE 文件发布(Apple 开源条款)。


  • 上述所有细节均直接取自仓库的 README;未推断任何额外功能。*

相关

  • 项目
  • 项目
  • 项目
  • 项目