keras IndexError:索引5超出大小为5的轴1的界限

6vl6ewon  于 2022-11-30  发布在  其他
关注(0)|答案(4)|浏览(239)

尝试将列转换为分类数据以进行NN分类。该列有6个类

from tensorflow.keras.utils import to_categorical
y_train = to_categorical(y_train,num_classes=5)
y_test = to_categorical(y_test,num_classes=5)

得到的误差为

IndexError: index 5 is out of bounds for axis 1 with size 5.

我该怎么做才能清除这个?

pbwdgjma

pbwdgjma1#

y_train = to_categorical(y_train)
这样就可以了,因为num_classes在默认情况下被tf.to_categorical视为y_train + 1

cwtwac6a

cwtwac6a2#

如果列有6个类,那么为什么要在to_categorical中传递num_classes=5
尝试

y_train = to_categorical(y_train,num_classes=6)
y_test = to_categorical(y_test,num_classes=6)
kcrjzv8t

kcrjzv8t3#

标签的值超出范围-请尝试。

C_ = min(y_train.min() - y_test.min())
y_train = to_categorical(y_train - C_ ,num_classes=5)
y_test = to_categorical(y_test - C_ ,num_classes=5)
yyyllmsg

yyyllmsg4#

  • 我有这个错误 * 但是我更改了我的模型类的编号
    您的班级应该从0开始到*...*

例如:我的类是be 1,7,8,25,36它应该是change 1->0,7->1,8->2,25->3,36->4而新的类是be 0,1,2,3,4它不是1,7,8,25,36

  • 使用前 * train_test_split

好的

相关问题