AUC less than or equal 0.5 when plotting ROC curve

Viewed 24

I want to plot the ROC for my Deep learning Models, However, I am always getting auc less than or equal 0.5. I am using Tensorflow 2.6 and my data are Videos extracted to be frames. it is a binary classification problem [0 or 1]. 1 indicates Water Leakage and 0 indicated Not water leakage

I tried to print the actual values versus the predicted values and I got the following Model 1 enter image description here Model 2 enter image description here

From the snapshots the 0 is indicated with 0.2 or 0.7 or a range of values in between 0-1. the 1 is indicated with 0.2 or 0.7 or a range of values in between 0-1.

The ROC curves are linear figures indicating random prediction.

Classification Report enter image description here

Why are the models performing in such a manner, shouldn't each class have a specific range of values that give an indication of that class.

ROC calculations used

 f,t, thres = metrics.roc_curve(testing_actual['data'][1], testing_predicted)

Or

RocCurveDisplay.from_predictions(testing_actual['data'][1] ,testing_predicted, ax=ax_roc, name='DL_Model')

I didnot use predict_proba because it was depreciated for tensorflow 2.6, any other alternatives. What should I be checking in order to trouble shoot this problem

0 Answers
Related