Skip to main content
. 2023 May 28;11(6):1566. doi: 10.3390/biomedicines11061566
Algorithm 1: Under Sampling
1. Define class names
class_names = [‘Grade 0’, ‘Grade 1’, ‘Grade 2, ‘Grade 3’, ‘Grade 4’]
2. Define image numbers for each class
class_image_numbers = [7 ‘Grade 3’: 1441, ‘Grade 4’: 1987]
3. Calculate the average image numbers of the smaller three classes
smallest_classes = [‘Grade 1’, ‘Grade 3’, ‘Grade 4’]
Smaller classes image numbers = [class_image_numbers[class_names] for class_name in smaller_classes]
average_image_numbers = int(np.mean(lower_classes_image_numbers))
4. Random under sample the higher two classes to the average size
Larger_classes = [‘Grade 0’, ‘Grade 2’]
for class_name in larger_classes
class_image_number = class_image_numbers[class_names]
undersample_ratio = average_image_numbers/class_image_number
undersampled_image_numbers = int(class_image_number × undersample_ratio)
class_image_numbers[class_name] = undersampled_image_numbers