python - 如何将 one-hot 编码转换为整数?

标签 python numpy tensorflow

我有一个形状为 (100,10) 的 numpy 数组数据集。每一行都是一个单热编码。我想将其转换为形状为 (100,) 的 nd 数组,以便将每个向量行转换为一个整数,该整数表示非零索引的索引。有没有使用 numpy 或 tensorflow 的快速方法?

最佳答案

您可以使用 numpy.argmaxtf.argmax .示例:

import numpy as np  
a  = np.array([[0,1,0,0],[1,0,0,0],[0,0,0,1]])
print('np.argmax(a, axis=1): {0}'.format(np.argmax(a, axis=1)))

输出:

np.argmax(a, axis=1): [1 0 3]

您可能还想查看 sklearn.preprocessing.LabelBinarizer.inverse_transform .

关于python - 如何将 one-hot 编码转换为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42497340/

相关文章:

python - 如何在 Tensorflow 中从 tf.keras 导入 keras?

python - 在Python3中分析和计算列表列表中的新值

Python - 读取、解析和写回文件

python - 使用Python的docx库,如何对表格进行缩进?

python - 重复 5 次 for 循环乘法

python - 如何继承 numpy.ndarray 的子类

python - Numba 可以与 TensorFlow 一起使用吗?

python - 生成一个有图案的 numpy 矩阵

tensorflow - Keras 中的卷积层可视化

python - 使用不同 tf 设备的 keras 训练模型