画像を表現するためのワンホットエンコーディングの使用
Neural networks は、データセット内のクラスのラベルがワンホットエンコーディングで整理されていることを前提とします。つまり、配列の各行には、固有のラベルに対応する列だけが 1 で、他のすべての列は 0 です。
fashion データセットには次の 3 つのカテゴリがあります。
- Shirts
- Dresses
- Shoes
この演習では、これらのラベルの小さなサンプルに対してワンホットエンコーディングを作成します。
この演習はコースの一部です
Keras で学ぶ画像モデリング
演習の手順
- ワンホットエンコード済み配列を保持する変数
ohe_labelsを初期化します。 - 各反復で、
categories内のアイテムのカテゴリの位置を見つけるためにnp.where()を使用します。 - 毎回、該当する行と列の組み合わせに
1を代入します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# The number of image categories
n_categories = 3
# The unique values of categories in the data
categories = np.array(["shirt", "dress", "shoe"])
# Initialize ohe_labels as all zeros
ohe_labels = ____((len(labels), n_categories))
# Loop over the labels
for ii in range(len(labels)):
# Find the location of this label in the categories variable
jj = np.where(___)
# Set the corresponding zero to one
ohe_labels[____] = ____