メインコンテンツへスキップ
W&B のカスタムチャートは、wandb.plot 名前空間の関数群を使って作成できます。これらの関数を使うと、W&B のプロジェクトダッシュボードでインタラクティブな可視化を作成でき、混同行列、ROC 曲線、分布プロットなど、一般的な ML 可視化に対応しています。

利用可能なチャート関数

関数説明
confusion_matrix()分類のパフォーマンスを可視化する混同行列を生成します。
roc_curve()二値分類器および多クラス分類器向けの ROC 曲線を作成します。
pr_curve()分類器の評価用に適合率-再現率曲線を作成します。
line()表形式データから折れ線チャートを作成します。
scatter()変数間の関係を示す散布図を作成します。
bar()カテゴリデータ用の棒グラフを生成します。
histogram()データ分布を分析するヒストグラムを作成します。
line_series()1 つのチャートに複数の折れ線系列をプロットします。
plot_table()Vega-Lite 仕様を使用してカスタムチャートを作成します。

一般的なユースケース

モデルの評価

  • 分類: 分類器の評価には confusion_matrix()roc_curve()pr_curve() を使用
  • 回帰: 予測値と実測値のプロットには scatter()、残差分析には histogram() を使用
  • Vega-Lite Charts: ドメイン固有の可視化には plot_table() を使用

トレーニングのモニタリング

  • 学習曲線: エポックごとのメトリクスをトラッキングするには、line() または line_series()
  • ハイパーパラメーターの比較: 設定を比較するには、bar() チャート

データ分析

  • 分布分析: 特徴量の分布には histogram() を使用します
  • 相関分析: 変数間の関係には scatter() プロットを使用します

はじめに

混同行列をログする

import wandb

y_true = [0, 1, 2, 0, 1, 2]
y_pred = [0, 2, 2, 0, 1, 1]
class_names = ["class_0", "class_1", "class_2"]

# runを初期化する
with wandb.init(project="custom-charts-demo") as run:
    run.log({
        "conf_mat": wandb.plot.confusion_matrix(
            y_true=y_true, 
            preds=y_pred,
            class_names=class_names
        )
    })

特徴分析のための散布プロットを作成する

import numpy as np

# 合成データを生成する
data_table = wandb.Table(columns=["feature_1", "feature_2", "label"])

with wandb.init(project="custom-charts-demo") as run:

    for _ in range(100):
        data_table.add_data(
            np.random.randn(), 
            np.random.randn(), 
            np.random.choice(["A", "B"])
        )

    run.log({
        "feature_scatter": wandb.plot.scatter(
            data_table, x="feature_1", y="feature_2",
            title="Feature Distribution"
        )
    })