-
Most likely your model is predicting the majority class only, so I guess it’s predicting the
False
class. You can check it by printing the unique predictions for the datasets. -
You could use
nn.BCEWithLogitsLoss
, remove thesigmoid
, and set thepos_weight
asnumber_negative_samples / number_positive_samples
. If that doesn’t work, try to useWeightedRandomSampler
as described here. -
see 2.
Also, note that the accuracy can be misleading for an imbalanced dataset as described in the Accuracy paradox.