一种字符级别的热编码

时间:2018-06-21 23:55:25

标签: python scikit-learn keras

因此,我遵循了本文中提供的一些示例:How to one-hot-encode sentences at the character level?

而且它们似乎在字符级进行热编码。但是,我无法弄清楚其中包含整数的字符串在字符级别进行热编码。

例如:

"hello" # h=7, e=4 l=11 o=14

将是:

[[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

借助上面提到的帖子,我得以实现这一目标。但是有人可以帮助我对以下内容进行热编码:

"Hello0311"

高度重视任何帮助和指导

1 个答案:

答案 0 :(得分:1)

您可以直接使用Keras提供的单例编码功能。像这样:

import numpy as np
from keras.utils import np_utils
y_train_label = [7,4,11,11,14]
y_train_label_onehot = np_utils.to_categorical(y_train_label)
print('one_hot:',y_train_label_onehot)

结果:Figure one hot