我使用了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/