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
Model 2 
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.
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
