Why the accuracy, precision and recall results for training and validation shows same value in each epoch in my deep learning model

34 Views Asked by At

I want to get the accuracy, precision and recall values, classification report for this problem.But I get same values for accuracy, precision and recall in each epoch. Also I get meager value for iou. How can I increase the accuracy,precision,recall and iou and please give me a solution for same value getting issue.This is the deep-learning code I used

from tensorflow.keras import layers
model=Sequential()
model.add(layers.Conv2D(16,(3,3),activation='relu',input_shape=(224,224,3)))
model.add(layers.MaxPooling2D((2, 2)))

model.add(layers.Conv2D(32,(3,3),activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))

model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))

model.add(layers.Conv2D(128,(3,3),activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))

model.add(layers.Conv2D(512, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))

model.add(layers.Conv2D(512, (3, 3), activation='relu'))
model.add(layers.Flatten())

model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(2,activation='softmax'))

model.summary()

from keras import optimizers
from sklearn.metrics import precision_score, recall_score, f1_score
metrics = ["accuracy",tf.keras.metrics.Recall(thresholds=None, top_k=None, class_id=None,       name=None, dtype=None), tf.keras.metrics.Precision(thresholds=None, top_k=None, class_id=None, name=None, dtype=None), iou]


adam = optimizers.Adam()
model.compile(loss='binary_crossentropy',optimizer=Adam(learning_rate=0.001),metrics=metrics)

history = model.fit(train_ds,validation_data=val_ds,epochs=50)

ex-Epoch 1/50 25/25 [==============================] - 28s 1s/step - loss: 0.6883 - accuracy: 0.5329 - recall: 0.5329 - precision: 0.5329 - iou: 0.2665 - val_loss: 0.6840 - val_accuracy: 0.5076 - val_recall: 0.5076 - val_precision: 0.5076 - val_iou: 0.2741 Epoch 2/50 25/25 [==============================] - 17s 665ms/step - loss: 0.6377 - accuracy: 0.6684 - recall: 0.6684 - precision: 0.6684 - iou: 0.2916 - val_loss: 0.5209 - val_accuracy: 0.9289 - val_recall: 0.9289 - val_precision: 0.9289 - val_iou: 0.3613 Epoch 3/50 25/25 [==============================] - 18s 703ms/step - loss: 0.3707 - accuracy: 0.8684 - recall: 0.8684 - precision: 0.8684 - iou: 0.4125 - val_loss: 0.2006 - val_accuracy: 0.9289 - val_recall: 0.9289 - val_precision: 0.9289 - val_iou: 0.4732

When I get the classification report and confusion matrix it gives values,

Confusion Matrix [[54 42] [56 45]] Classification Report precision recall f1-score support

Ovarian_Cancer       0.49      0.56      0.52        96

Non_Ovarian_Cancer 0.52 0.45 0.48 101

      accuracy                           0.50       197
     macro avg       0.50      0.50      0.50       197
  weighted avg       0.50      0.50      0.50       197
0

There are 0 best solutions below