Implement a function balance_undersample that takes a list of (sample, label) tuples and returns a new list where each class has the same number of samples, equal to the count of the minority (least frequent) class.
Rules:
min_count samples in their original order of appearance.min_count kept samples.This mirrors a common preprocessing step before training a classifier on an imbalanced dataset.