如何在ImageDataGenerator中对序列数据进行热编码?

托比托

我将一些字符串标签转换为标记化序列。

sequences[0]
[3, 2, 4, 1, 8, 3, 7, 11]

每个令牌代表一个特定字符,例如2代表“ b”等。

现在,为了训练神经网络,我想使用ImageDateGenerator来获得一个热编码标签,其外观应如下所示:

[[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, 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, 0, 0, 0]...]

有没有办法做到这一点ImageDataGenerator如果没有,我该如何处理呢?

谢谢!

大卫·S

您可以执行以下操作:

import numpy as np

a = np.array([3, 2, 4, 1, 8, 3, 7, 11])
b = np.zeros((a.size, 23))
b[np.arange(a.size),a - 1] = 1
print(b)

输出:

[[0. 0. 1. 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.]
 [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. 1. 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. 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. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]

请注意,在示例输出中,计数从1开始而不是0,因此我从中减去了1 a

使用TensorFlow 2.x您可以执行以下操作:

import tensorflow as tf
import numpy as np
a = np.array([3, 2, 4, 1, 8, 3, 7, 11])
tf.keras.utils.to_categorical(a, num_classes=23)

输出:

array([[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., 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., 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., 1., 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., 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., 1., 0., 0., 0., 0.,
        0., 0., 0., 0., 0., 0., 0.]], dtype=float32)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Pandas的文本中对特定单词进行热编码?

如何在SQL中添加序列/对数据进行排序

如何在熊猫数据框中将字节中的“一个热编码”列名解码为字符串

如何在Keras中编码序列以对RNN进行排序?

如何对熊猫数据框的一列进行一次热编码?

如何对每行都有列表的数据帧进行一次热编码

当多列包含相同的值时,如何对大型数据帧进行热编码?

如何用变化的值对数据帧进行一致的热编码?

如何对无组织的市场篮数据框的产品进行热编码

如何在字符级别对句子矩阵进行一次热编码?

R-如何在使其他列保持静止的同时对单个列进行热编码?

如何在LabelBinarizer sklearn中进行一次热编码后找到类标签

如何从数据帧在Keras流中馈入一个热编码矢量数据帧

如何生成DNA序列的一种热编码?

如何优雅地对熊猫中的一系列列表进行热编码

如何在R中制作地理数据热图?

如何在数据集表中对列索引进行标签编码?

如何在numpy中向量化一个热编码循环

如何在熊猫的一种热编码中处理未知的分类值

如何在 scitkit 模型中拟合一个热编码类

如何在.fit()方法中对多个标签(训练)使用一种热编码?

如何在机器学习中定义标签(单热编码除外)

如何使用data.table对要素变量进行热编码?

如何对一个变长特征进行热编码?

如何最好使用代码示例对特征进行热编码

如何使用LabelBinarizer对训练和测试进行正确的热编码

在预测时从测试数据进行一次热编码后,如何处理类别不匹配?

如何对整个列而不是对每一列进行一次热编码熊猫数据帧?

如何在MySQL中简化序列数据?