私はこのような配列を持っています:
X = [0,0,1,1,0,0,1,1,1,0,0,0]
nx2 のワンホット エンコーダ ベクトルを作成したい
one_hotX = [[1,0],[1,0],[0,1],[0,1],[1,0]...]
これを行う簡単な方法はありますか?OneHotEncoder と LabelEncoder が機能していないようです。
私はこのような配列を持っています:
X = [0,0,1,1,0,0,1,1,1,0,0,0]
nx2 のワンホット エンコーダ ベクトルを作成したい
one_hotX = [[1,0],[1,0],[0,1],[0,1],[1,0]...]
これを行う簡単な方法はありますか?OneHotEncoder と LabelEncoder が機能していないようです。
自分でベクトルを構築するのはどうですか:
[[0, 1] if i else [1, 0] for i in X]
#[[1, 0],
# [1, 0],
# [0, 1],
# [0, 1],
# [1, 0],
# [1, 0],
# [0, 1],
# [0, 1],
# [0, 1],
# [1, 0],
# [1, 0],
# [1, 0]]
を使用している場合はnumpy
、次のようなこともできます(ベクトル化されたアプローチ):
import numpy as np
code = np.array([[1,0],[0,1]])
arrX = np.array(X)
code[arrX]
#array([[1, 0],
# [1, 0],
# [0, 1],
# [0, 1],
# [1, 0],
# [1, 0],
# [0, 1],
# [0, 1],
# [0, 1],
# [1, 0],
# [1, 0],
# [1, 0]])