Python将单一数字标签进行one-hot编码

在对分类神经网络进行训练时,涉及到标签的设置,分为纯数字类及one-hot类,后者采用的比较多,因此涉及到如何进行标签的转换,如标签([[1],[2],[3]])需要转换成([[1,0,0],[0,1,0],[0,0,1]]),Python程序如下:

import numpy as np

a=np.array([[1],[2],[3]])

a=np.reshape(origin_label,[-1])      #将([[1],[2],[3]])转换为([1,2,3])

b=np.zeros([3,3])                           #生成([[0,0,0],[0,0,0],[0,0,0]])

b(a==1,0)=1                                  #生成([[1,0,0],[0,0,0],[0,0,0]])

b(a==2,1)=1                                 #生成([[1,0,0],[0,1,0],[0,0,0]])

b(a==3,2)=1                                 #生成([[1,0,0],[0,1,0],[0,0,1]]),完毕




猜你喜欢

转载自blog.csdn.net/qq_23981335/article/details/80306578