使用NumPy将索引数组转换为独热编码数组

给定一个一维索引数组:

a = array([1, 0, 3])

我想将其独热编码为一个二维数组:

b = array([[0,1,0,0], [1,0,0,0], [0,0,0,1]])

回答:

创建一个名为b的零数组,列数足够,即a.max() + 1
然后,对于每一行i,将第a[i]列设置为1

>>> a = np.array([1, 0, 3])>>> b = np.zeros((a.size, a.max() + 1))>>> b[np.arange(a.size), a] = 1>>> barray([[ 0.,  1.,  0.,  0.],       [ 1.,  0.,  0.,  0.],       [ 0.,  0.,  0.,  1.]])

Related Posts

keras cnn_lstm输入层不接受一维输入

我有一系列长的一维向量(3000位数字),我尝试对它们…

使用Tensorflow训练多层感知器对-1、0或1进行分类的问题

我正在尝试创建一个多层感知器来根据一些指标对情感进行分…

迁移学习准确率差

我有一个任务,需要根据缺陷对种子进行分类。我有大约14…

如何计算谷歌地球图片中树木覆盖的面积,或者计算树木与其他物体的比例

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

如何将预训练的神经网络用于灰度图像?

我有一组包含灰度图像的数据集,我希望在这些图像上训练一…

tf.nn.softmax_cross_entropy_with_logits 如何使用 labels

在一次作业中,我需要编写一个单层神经网络。在大部分内容…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注