我使用了keras中提供的to_categorical函数,将float类型的numpy ndarray转换为它的二进制副本。 Y的尺寸为2144x1,但函数返回的数组的尺寸为2144x2。
如何从to_categorical获取2144x1数组?
Y仅包含0和1(浮点类型)
函数调用:

y_binary = to_categorical(Y)

最佳答案

keras.utils.to_categorical(y, num_classes=None)


将类向量(整数)转换为二进制类矩阵。

但它似乎不支持浮点数(它为所有数字求和)

to_categorical([0, 0.1, 0.2, 0.3, 1])
[[ 1.  0.]
 [ 1.  0.]
 [ 1.  0.]
 [ 1.  0.]
 [ 0.  1.]]


to_categorical([0, 1, 2, 3, 1])
[[ 1.  0.  0.  0.]
 [ 0.  1.  0.  0.]
 [ 0.  0.  1.  0.]
 [ 0.  0.  0.  1.]
 [ 0.  1.  0.  0.]]


一种解决方案是将其放大为正整数,然后转换为分类。

关于python - to_categorical返回2列矩阵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44749268/

10-16 12:02