Point aggregation

Data Visualization の精度とパフォーマンスを向上させるために、折れ線グラフ内でポイント集約メソッドを使用します。ポイント集約モードには、full fidelity(完全精度)random sampling(ランダムサンプリング) の2種類があります。W&B はデフォルトで完全精度モードを使用します。

Full fidelity

完全精度モードを使用すると、W&B はデータポイントの数に基づいて、x軸を動的なバケットに分割します。次に、各バケット内の最小値、最大値、平均値を計算し、折れ線グラフのポイント集約をレンダリングします。

ポイント集約に完全精度モードを使用する主な利点は3つあります。

  • 極端な値とスパイクを保持する: データ内の極端な値とスパイクを保持します。
  • 最小点と最大点のレンダリング方法を設定する: W&B App を使用して、極端な(最小/最大)値を影付きの領域として表示するかどうかをインタラクティブに決定します。
  • データ忠実度を損なわずにデータを探索する: W&B は、特定のデータポイントにズームインすると、x軸のバケットサイズを再計算します。これにより、精度を損なわずにデータを探索できます。キャッシュを使用して、以前に計算された集約を保存し、ロード時間を短縮します。これは、大規模なデータセットをナビゲートする場合に特に役立ちます。

最小点と最大点のレンダリング方法を設定する

折れ線グラフの周りの影付き領域で最小値と最大値を表示または非表示にします。

次の画像は、青い折れ線グラフを示しています。水色の影付き領域は、各バケットの最小値と最大値を表しています。

折れ線グラフで最小値と最大値をレンダリングするには、次の3つの方法があります。

  • Never: 最小/最大値は影付きの領域として表示されません。x軸バケット全体の集約された線のみを表示します。
  • On hover: 最小/最大値の影付き領域は、チャートにカーソルを合わせると動的に表示されます。このオプションを使用すると、ビューがすっきりした状態に保たれ、範囲をインタラクティブに検査できます。
  • Always: 最小/最大影付き領域は、チャート内のすべてのバケットに対して常に表示され、常に値の全範囲を視覚化できます。チャートで多くの Runs が可視化されている場合、これは視覚的なノイズになる可能性があります。

デフォルトでは、最小値と最大値は影付き領域として表示されません。影付き領域オプションのいずれかを表示するには、次の手順に従います。

  1. W&B の Projects に移動します。
  2. 左側のタブで Workspace アイコンを選択します。
  3. 画面の右上隅にある歯車アイコンを、Add panels ボタンの左側の横にあるアイコンを選択します。
  4. 表示される UI スライダーから、Line plots を選択します。
  5. Point aggregation セクション内で、Show min/max values as a shaded area ドロップダウンメニューから On over または Always を選択します。
  1. W&B の Projects に移動します。
  2. 左側のタブで Workspace アイコンを選択します。
  3. 完全精度モードを有効にする折れ線グラフ パネルを選択します。
  4. 表示されるモーダル内で、Show min/max values as a shaded area ドロップダウンメニューから On hover または Always を選択します。

データ忠実度を損なわずにデータを探索する

極端な値やスパイクなどの重要なポイントを見逃すことなく、データセットの特定領域を分析します。折れ線グラフをズームインすると、W&B は各バケット内の最小値、最大値、平均値を計算するために使用されるバケットサイズを調整します。

W&B は x軸をデフォルトで1000個のバケットに動的に分割します。各バケットについて、W&B は次の値を計算します。

  • Minimum: そのバケット内の最小値。
  • Maximum: そのバケット内の最大値。
  • Average: そのバケット内のすべてのポイントの平均値。

W&B は、完全なデータ表現を保持し、すべてのプロットに極端な値を含める方法でバケット内の値をプロットします。1,000ポイント以下にズームインすると、完全精度モードは追加の集約なしですべてのデータポイントをレンダリングします。

折れ線グラフをズームインするには、次の手順に従います。

  1. W&B の Projects に移動します。
  2. 左側のタブで Workspace アイコンを選択します。
  3. オプションで、折れ線グラフ パネルを ワークスペース に追加するか、既存の折れ線グラフ パネルに移動します。
  4. クリックしてドラッグし、ズームインする特定の領域を選択します。

Random sampling

ランダムサンプリングは、1500個のランダムにサンプリングされたポイントを使用して折れ線グラフをレンダリングします。ランダムサンプリングは、多数のデータポイントがある場合にパフォーマンス上の理由で役立ちます。

ランダムサンプリングを有効にする

デフォルトでは、W&B は完全精度モードを使用します。ランダムサンプリングを有効にするには、次の手順に従います。

  1. W&B の Projects に移動します。
  2. 左側のタブで Workspace アイコンを選択します。
  3. 画面の右上隅にある歯車アイコンを、Add panels ボタンの左側の横にあるアイコンを選択します。
  4. 表示される UI スライダーから、Line plots を選択します。
  5. Point aggregation セクションから Random sampling を選択します。
  1. W&B の Projects に移動します。
  2. 左側のタブで Workspace アイコンを選択します。
  3. ランダムサンプリングを有効にする折れ線グラフ パネルを選択します。
  4. 表示されるモーダル内で、Point aggregation method セクションから Random sampling を選択します。

サンプリングされていないデータへのアクセス

W&B Run API を使用して、Run 中にログに記録された メトリクス の完全な履歴にアクセスできます。次の例は、特定の Run から損失値を取得して処理する方法を示しています。

# W&B API を初期化します
run = api.run("l2k2/examples-numpy-boston/i0wt6xua")

# 'Loss' メトリクスの履歴を取得します
history = run.scan_history(keys=["Loss"])

# 履歴から損失値を抽出します
losses = [row["Loss"] for row in history]