给定代码的混淆矩阵数据集仅包含6个类,没有标签

问题描述

数据集分为验证集和训练集。我使用移动网络模型。我得到97%的准确性。但是混淆矩阵仅显示16。我不知道如何为混淆矩阵编写代码。帮我编写混淆矩阵和分类报告的代码

 train_datagen=ImageDataGenerator(preprocessing_function=keras.applications.mobilenet.preprocess_input,validation_split=0.30)
    
    train_generator=train_datagen.flow_from_directory('/content/gdrive/My Drive/combin',target_size=(224,224),batch_size=32,class_mode='categorical',shuffle=True,subset='training')
    
    
    validation_generator = train_datagen.flow_from_directory(
                                                  '/content/gdrive/My Drive/combin',# same directory as training data
                                                    target_size=(224,batch_size=1,subset='validation') # set as validation data
from keras.applications.mobilenet import MobileNet
from keras.models import Model
from keras.layers import Dense,GlobalAveragePooling2D

# parameters for architecture
input_shape = (224,224,3)
num_classes = 6
conv_size = 32

# parameters for training
batch_size = 32
num_epochs = 20

# load MobileNet from Keras
MobileNet_model = MobileNet(include_top=False,input_shape=input_shape)

# add custom Layers
x = MobileNet_model.output
x = GlobalAveragePooling2D()(x)
x = Dense(512,activation="relu")(x)

Custom_Output = Dense(num_classes,activation='softmax')(x)
# define the input and output of the model
model = Model(inputs = MobileNet_model.input,outputs = Custom_Output)
        
# compile the model
model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['categorical_accuracy'])

model.summary()


#Confution Matrix and Classification Report
Y_pred = model.predict_generator(validation_generator)
y_pred = np.argmax(Y_pred,axis=1)
print('Confusion Matrix')
print(confusion_matrix(validation_generator.classes,y_pred))
print('Classification Report')
target_names = ['1','2','3','4','5','6']
print(classification_report(validation_generator.classes,y_pred,target_names=target_names))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)