我想对数据集进行一次热编码,看起来像[[5,7,11,9,13,1,...],[3,7,5,9,16,... ],..];其中每个序列的长度为24,每个序列中最大可能的整数为33,序列总数为200.每个序列是句子的整数表示。 我如何才能有效地编写一个热门编码? 我试过了
for sentence in sentences:
n=maxlen
k=max_vocabullary
m=np.zeros((n,k))
m[np.arange(n),sentence]=1
print (m)
答案 0 :(得分:1)
尝试使用Scikit-learn的OneHotEncoder。
from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder()
encoded_seqs = enc.fit_transform([[5,7,11,9,13,1,...],[3,7,5,9,16,....],..])
http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html