label:one-hot 与 标量转化

文章目录

  • label:one-hot 与 标量转化
    • 一、标量 转化为 one-hot 向量
    • 二、one-hot向量 转化为 标量

label:one-hot 与 标量转化

一、标量 转化为 one-hot 向量

from keras.utils import to_categorical

data = [1, 3, 2, 0, 3, 2, 2, 1, 0, 1]
encoded = to_categorical(data)
print("encoded:", encoded)

输出:
encoded: [[0. 1. 0. 0.]
 			[0. 0. 0. 1.]
 			[0. 0. 1. 0.]
 			[1. 0. 0. 0.]
 			[0. 0. 0. 1.]
 			[0. 0. 1. 0.]
 			[0. 0. 1. 0.]
 			[0. 1. 0. 0.]
 			[1. 0. 0. 0.]
 			[0. 1. 0. 0.]]

二、one-hot向量 转化为 标量

因为一个热向量是一个包含0和1的向量,所以可以这样做:

encoded = np.array([[0, 1, 0, 0],
                    [0, 0, 0, 1],
                    [0, 0, 1, 0],
                    [1, 0, 0, 0],
                    [0, 0, 0, 1],
                    [0, 0, 1, 0],
                    [0, 0, 1, 0],
                    [0, 1, 0, 0],
                    [1, 0, 0, 0],
                    [0, 1, 0, 0]])

data = [np.where(r == 1)[0][0] for r in encoded]
print("data:", data)

输出:
data: [1, 3, 2, 0, 3, 2, 2, 1, 0, 1]

你可能感兴趣的:(python,AI)