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 }のオブジェクト配列です。ライブラリは4つのフォーマットを理解します – プレーン、階層的(:でレベルを区切る)、マルチアウトプット(,で独立したラベルグループを区切る)、および両者の組み合わせ。
- 代替案 – スクリプトタグを好む場合は、リポジトリで
yarn installを実行し、コンパイルされたpublic/confMat.jsをサイトにコピーして、READMEのHTML例と同様に埋め込みます。
データフォーマット – 各エントリは、特定の 実際の ラベルセットを持つインスタンスが、どの 観測された ラベルセットに予測されたかの件数(count)を記録しています。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– コードスタイルをLintし、自動修正します。
ライブデモ – ライブデモは https://apple.github.io/ml-hierarchical-confusion-matrix/ でホストされており、READMEに短いYouTubeウォークスルーのリンクがあります。
引用 – Neoを出版物で使用する場合、CHI 2022の論文を引用してください(BibTeXは提供済み)。
ライセンス – コードはリポジトリの LICENSE ファイル(Appleのオープンソース条項)に基づいてリリースされています。
- 上記のすべての詳細はリポジトリのREADMEから直接取得したものであり、追加機能は推測されていません。*
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト