
埋め込みの例
以下のリソースでは、ご自身で試す前に、Embedding Projector の動作を確認できます。Hello world
この最小限の例では、埋め込みをログしてプロジェクタで表示するために必要な最小限のコードを示します。W&B では、wandb.Table クラスを使って埋め込みをログできます。以下は、それぞれが 5 次元で構成される 3 つの埋め込みの例です。

Digits MNIST
次の例では、より高次元のデータとより豊富なオーバーレイを使った、より実践的なワークフローを示します。前の例では埋め込みをログする基本的な仕組みを示しましたが、実際には通常、はるかに多くの次元とサンプルを扱います。SciKit-Learn で利用できる MNIST Digits データセット (UCI ML hand-written digits dataset) を考えてみましょう。このデータセットには 1,797 件のレコードがあり、それぞれ 64 次元です。この問題は、10 クラスの分類タスクです。また、可視化のために入力データを画像に変換することもできます。
ログオプション
以下のセクションでは、埋め込みデータを W&B にログするときに、サポートされている構造化方法を説明します。埋め込みは複数の形式でログできます。- 単一の埋め込み列: 多くの場合、データはすでに行列のような形式になっています。この場合は、単一の埋め込み列を作成できます。このとき、セル値のデータ型には
list[int]、list[float]、またはnp.ndarrayを使用できます。 - 複数の数値列: 前の 2 つの例ではこの方法を使用しており、各次元に対して 1 つの列を作成します。W&B では、セルに Python の
intまたはfloatを使用できます。


- dataframe から直接
wandb.Table(dataframe=df)を使用する。 - データのリスト から直接
wandb.Table(data=[...], columns=[...])を使用する。 - テーブルを 行ごとに段階的に構築する (コード内にループがある場合に便利です) 。
table.add_data(...)を使用してテーブルに行を追加します。 - テーブルに 埋め込み列 を追加する (埋め込み形式の予測のリストがある場合に便利です) :
table.add_col("col_name", ...)。 - 計算列 を追加する (テーブル全体に適用したい function や model がある場合に便利です) :
table.add_computed_columns(lambda row, ndx: {"embedding": model.predict(row)})。
プロットオプション
埋め込みをログした後、その投影方法と表示方法を調整できます。2D Projection を選択したら、歯車アイコンをクリックして表示設定を編集できます。対象の列を選択するだけでなく (前のセクションを参照) 、使用するアルゴリズムと必要なパラメーターも選択できます。以下の画像に、UMAP と t-SNE のパラメーターを示します。

W&B は、3 つすべてのアルゴリズムで、1,000 行・50 次元のランダムなサブセットにダウンサンプリングします。