gpt4 book ai didi

python - 无法建立混淆矩阵

转载 作者:行者123 更新时间:2023-11-28 18:02:33 24 4
gpt4 key购买 nike

我想为我的 CNN 模型构建一个混淆矩阵,代码如下:

classifier = Sequential()


classifier.add(Conv2D(32, (3, 3), input_shape=(64,64, 3),
activation='relu'))


classifier.add(MaxPooling2D(pool_size=(2, 2)))

classifier.add(Flatten())
classifier.add(Dense(units=1, activation='sigmoid'))



classifier.compile(optimizer='adam', loss='binary_crossentropy', metrics=
['accuracy'])


batch_size = 32

train_datagen = ImageDataGenerator(rescale=1. / 255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)

test_datagen = ImageDataGenerator(rescale=1. / 255)

training_set = train_datagen.flow_from_directory('x1' ,
target_size=(64,64),
batch_size=64,
class_mode='binary')

test_set = test_datagen.flow_from_directory('x2' ,
target_size=(64,64),
batch_size=64,
class_mode='binary')



ep=50

H=classifier.fit_generator(training_set,
steps_per_epoch=1204/batch_size,
epochs=ep,
validation_data=test_set,
validation_steps=408/batch_size,
)

validation_steps=408

混淆矩阵:

from sklearn.metrics import confusion_matrix
Y_pred = classifier.predict_generator(test_set,validation_steps//batch_size+1)


y_pred = np.argmax(Y_pred, axis=1)
print('Confusion Matrix')
print(confusion_matrix(test_set.classes, y_pred))

我遇到了这个错误:

ValueError: Found input variables with inconsistent numbers of samples: [408, 792]

我该怎么办?

最佳答案

test_sety_pred 没有相同数量的观察值。您传递给 predict_generator 的步数可能不正确。

不确定您使用的是哪个版本的 Keras,但请尝试 Y_pred =classifier.predict_generator(test_set)。在较新的版本中,省略步数将返回对所有图像的预测。

关于python - 无法建立混淆矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55140311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com