如何将2D numpy数组转换为一种热编码?

坦齐拉伊斯兰教|

我正在尝试对以下数据应用一种热编码。但是我对输出感到困惑。在进行一次热编码之前,数据的形状为(5,10),在进行一次热编码之后,数据的形状为(5,20)。但是每个字母将被编码为4个元素。因此,在应用一种热编码后,形状应为(5,40)而不是(5,10)。我该如何解决?

X = [[‘A’, ‘G’, ‘T’, ‘G’, ‘T’, ‘C’, ‘T’, ‘A’, ‘A’, ‘C’],
     [‘A’, ‘G’, ‘T’, ‘G’, ‘T’, ‘C’, ‘T’, ‘A’, ‘A’, ‘C’],
     [‘G’, ‘C’, ‘C’, ‘A’, ‘C’, ‘T’, ‘C’, ‘G’, ‘G’, ‘T’],
     [‘G’, ‘C’, ‘C’, ‘A’, ‘C’, ‘T’, ‘C’, ‘G’, ‘G’, ‘T’],
     [‘G’, ‘C’, ‘C’, ‘A’, ‘C’, ‘T’, ‘C’, ‘G’, ‘G’, ‘T’]]
Y = np.array(X)
print('Shape of numpy array', Y.shape)

# one hot encoding

onehot_encoder = OneHotEncoder(sparse=False)
onehot_encoded = onehot_encoder.fit_transform(Y)
print(onehot_encoded)
print('Shape of one hot encoding', onehot_encoded.shape)


Output:

Shape of numpy array (5, 10)
[[1. 0. 0. 1. 0. 1. 0. 1. 0. 1. 1. 0. 0. 1. 1. 0. 1. 0. 1. 0.]
 [1. 0. 0. 1. 0. 1. 0. 1. 0. 1. 1. 0. 0. 1. 1. 0. 1. 0. 1. 0.]
 [0. 1. 1. 0. 1. 0. 1. 0. 1. 0. 0. 1. 1. 0. 0. 1. 0. 1. 0. 1.]
 [0. 1. 1. 0. 1. 0. 1. 0. 1. 0. 0. 1. 1. 0. 0. 1. 0. 1. 0. 1.]
 [0. 1. 1. 0. 1. 0. 1. 0. 1. 0. 0. 1. 1. 0. 0. 1. 0. 1. 0. 1.]]
 Shape of one hot encoding (5, 20)
迈科拉(Mykola Zotko)

您需要对每个列分别进行一次热编码,以便为ndarray中的每个列获取4个新列:

X = np.array(X)

# Get unique classes.
classes = np.unique(X)

# Replace classes with itegers.
X = np.searchsorted(classes, X)

# Get an identity matrix.
eye = np.eye(classes.shape[0])

# Iterate over all columns
# and get one-hot encoding for each column.
X = np.concatenate([eye[i] for i in X.T], axis=1)

X.shape
# (5, 40)

考虑以下示例:

[['A', 'G'],
 ['C', 'C'],
 ['T', 'A']]

一键编码的ndarray中将获得8(2 x 4)列:

  Column 0      Column 1         
 A  C  G  T    A  C  G  T

 1  0  0  0    0  0  1  0
 0  1  0  0    0  1  0  0
 0  0  0  1    1  0  0  0

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将具有对象dtype的Numpy 2D数组转换为浮点数的常规2D数组

来自分类Dev

如何将深度为2的元组转换为2D Numpy数组?

来自分类Dev

如何将锯齿状数组转换为2D数组?

来自分类Dev

如何将字符串转换为2d char数组

来自分类Dev

如何将简单(平面)数组转换为多维(2D)数组

来自分类Dev

如何将值分配给2D向量(如2D数组)

来自分类Dev

如何将2D数组转换为1D数组以在视图中显示

来自分类Dev

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

来自分类Dev

如何将php对象数组从一种形式转换为另一种形式

来自分类Dev

如何将2d numpy数组转换为二进制指标矩阵以获取最大值

来自分类Dev

将2d矩阵转换为3d一个热矩阵numpy

来自分类Dev

如何将一系列数组转换为2D numpy数组

来自分类Dev

如何将.mat二进制格式转换为2D numpy数组?

来自分类Dev

一种热编码后如何汇总行

来自分类Dev

如何将等压相对湿度数据转换为2D数组形式?

来自分类Dev

有没有一种方法可以将numpy数组转换为数据框,然后再转换回numpy数组,并且仍保持原始形状?

来自分类Dev

如何将值与2D数组进行比较?

来自分类Dev

如何将数据库结果转换为2D数组

来自分类Dev

如何将具有对象dtype的Numpy 2D数组转换为浮点数的常规2D数组

来自分类Dev

如何将2D数组设置为2D返回

来自分类Dev

如何将一种格式的json转换为另一种格式

来自分类Dev

如何将简单(平面)数组转换为多维(2D)数组

来自分类Dev

您如何将2D数组的每个int元素转换为String?

来自分类Dev

如何将值分配到2D向量(如2D数组)中

来自分类Dev

如何将JSON数组转换为JavaScript 2D数组

来自分类Dev

如何将CSV文件转换为.js文件中的2d数组?

来自分类Dev

将 JSON 数组数据的一种形式转换为另一种形式?

来自分类Dev

如何将一种类型的对象数组转换为另一种类型?

来自分类Dev

如何将 JSON 转换为简单的 2D 数组?

Related 相关文章

  1. 1

    如何将具有对象dtype的Numpy 2D数组转换为浮点数的常规2D数组

  2. 2

    如何将深度为2的元组转换为2D Numpy数组?

  3. 3

    如何将锯齿状数组转换为2D数组?

  4. 4

    如何将字符串转换为2d char数组

  5. 5

    如何将简单(平面)数组转换为多维(2D)数组

  6. 6

    如何将值分配给2D向量(如2D数组)

  7. 7

    如何将2D数组转换为1D数组以在视图中显示

  8. 8

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

  9. 9

    如何将php对象数组从一种形式转换为另一种形式

  10. 10

    如何将2d numpy数组转换为二进制指标矩阵以获取最大值

  11. 11

    将2d矩阵转换为3d一个热矩阵numpy

  12. 12

    如何将一系列数组转换为2D numpy数组

  13. 13

    如何将.mat二进制格式转换为2D numpy数组?

  14. 14

    一种热编码后如何汇总行

  15. 15

    如何将等压相对湿度数据转换为2D数组形式?

  16. 16

    有没有一种方法可以将numpy数组转换为数据框,然后再转换回numpy数组,并且仍保持原始形状?

  17. 17

    如何将值与2D数组进行比较?

  18. 18

    如何将数据库结果转换为2D数组

  19. 19

    如何将具有对象dtype的Numpy 2D数组转换为浮点数的常规2D数组

  20. 20

    如何将2D数组设置为2D返回

  21. 21

    如何将一种格式的json转换为另一种格式

  22. 22

    如何将简单(平面)数组转换为多维(2D)数组

  23. 23

    您如何将2D数组的每个int元素转换为String?

  24. 24

    如何将值分配到2D向量(如2D数组)中

  25. 25

    如何将JSON数组转换为JavaScript 2D数组

  26. 26

    如何将CSV文件转换为.js文件中的2d数组?

  27. 27

    将 JSON 数组数据的一种形式转换为另一种形式?

  28. 28

    如何将一种类型的对象数组转换为另一种类型?

  29. 29

    如何将 JSON 转换为简单的 2D 数组?

热门标签

归档