私は自分の機械学習プロジェクトに取り掛かっていたときに、ラベルをワンホットベクトルにするコード行を探していました。私はRedditのu/benanneからのこの素晴らしいコード行を見つけました。例えばこのワンホットベクトル変換はどのように機能しますか?
np.eye(n_labels)[target_vector]
、target_vector = np.array([1, 4, 2, 1, 0, 1, 3, 2])
のために、それはワンホットコーディングされた値を返します。
np.eye(5)[target_vector]
Out:
array([[ 0., 1., 0., 0., 0.],
[ 0., 0., 0., 0., 1.],
[ 0., 0., 1., 0., 0.],
...,
[ 0., 1., 0., 0., 0.],
[ 0., 0., 0., 1., 0.],
[ 0., 0., 1., 0., 0.]])
それは間違いなく仕事をしていますが、私はそれがどのように動作するかまたは、なぜわかりません。
です。 –
[トップ投票のSO質問]の2番目の回答です(https://stackoverflow.com/questions/29831489/numpy-1-hot-array)。 1H-1HAをうまく処理しているので –