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 允许数据科学家在该层次结构的任意层级探索错误,重新归一化计数,并导出视图,使模型诊断更加丰富。
如何使用
- 安装 通过 npm 或 yarn:
npm install --save @apple/hierarchical-confusion-matrix # 或 yarn add @apple/hierarchical-confusion-matrix - 导入 模块并调用
confMat.embed(containerId, spec, confusions),其中:spec描述类别层次结构(例如{ classes: ['root'] })。confusions是一个对象数组{ actual: [...], observed: [...], count: N }。该库支持四种格式:普通、层次化(:分隔层级)、多输出(,分隔独立标签组),以及两者的组合。
- 替代方案 – 如果更喜欢使用普通脚本标签,可在仓库中运行
yarn install,将编译后的public/confMat.js复制到您的网站,并按 README 中的 HTML 示例完全嵌入。
数据格式 – 每个条目记录具有给定 实际 标签集的实例有多少被预测为特定的 观测 标签集。README 提供了以下具体 JSON 片段:
- 简单类别混淆(
fruit:lemon→fruit:apple)。 - 层次化混淆(
fruit:citrus:lemon→fruit:pome:apple)。 - 多输出混淆(
fruit:lemon, taste:sweet→fruit: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;未推断任何额外功能。*
相关
- 项目
- 项目
- 项目
- 项目