Handling imbalanced data by deleting over represented rows vs. adding under represented rows
Technically what I do, is create a 50-50 dataframe, which has all of the under-represented rows and randomly selected over-represented rows.


You could use a random seed for the selection from the non-frauded cards dataset so that every time it selects the same rows. This way you are able to track and compare the results.

import numpy as np
from numpy import random

arr = np.arange(5)  # [0, 1, 2, 3, 4]
random.seed(1)  # Reset random state
random.shuffle(arr)  # Shuffle!
print(arr)


Just an example on how to use random seed from numpy, you'll have to come up with your own way to use it for your need (suggestion: create arr in range(0, len(frauded_card)) and shuffle it, then use arr as indexes for the frauded_card sample to use)