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;未推斷任何額外功能。*
相關
- 專案
- 專案
- 專案
- 專案