【发布时间】:2017-01-28 12:12:43
【问题描述】:
我有一个 (400, 1) numpy 数组,其中包含 4300, 4450, 4650... 等值,其中这些值可以分布在 20 个类中,即 4300 class 1, 4450 class 2... 并尝试使用以下代码将该数组转换为一个热编码列表。 y_train_onehot 显示了 400 个数组的列表,其中每个数组的大小 > 4000,即每个数组有大约 4000 个零。我该如何解决这个问题,以便为每个值创建一个热编码向量,即 4300 可以是 00001。
def convertOneHot(data):
y=np.array([int(i[0]) for i in data])
y_onehot=[0]*len(y)
for i,j in enumerate(y):
y_onehot[i]=[0]*(y.max() + 1)
y_onehot[i][j]=1
return (y,y_onehot)
y_train,y_train_onehot = convertOneHot(data)
【问题讨论】:
-
能否添加一个最小代表性样本并解释预期结果?
-
@Divakar 我刚刚上传了一张截图