クラス分類問題などで、整数値のベクトルをone hot表現に変換する場合、
pythonではnumpyを使って以下のように変換できる。
python
import numpy as np
target_vector = [0,2,1,3,4] # クラス分類を整数値のベクトルで表現したもの
n_labels = len(np.unique(target_vector)) # 分類クラスの数 = 5
np.eye(n_labels)[target_vector] # one hot表現に変換
実行して得られるone-hot表現
array([[ 1., 0., 0., 0., 0.], # 0
[ 0., 0., 1., 0., 0.], # 2
[ 0., 1., 0., 0., 0.], # 1
[ 0., 0., 0., 1., 0.], # 3
[ 0., 0., 0., 0., 1.]]) # 4
##参考
https://www.reddit.com/r/MachineLearning/comments/31fk7i/converting_target_indices_to_onehotvector/