Skip to content

utils

filter_by_class_count(entries, label_source, min_count)

Drop entries whose label_source value occurs <= min_count times.

Source code in mantra/datasets/utils.py
38
39
40
41
42
43
44
45
def filter_by_class_count(entries, label_source, min_count):
    """Drop entries whose ``label_source`` value occurs <= ``min_count`` times."""
    if min_count <= 0:
        return entries, Counter()
    counts = Counter(e[label_source] for e in entries)
    kept_labels = {lbl for lbl, c in counts.items() if c > min_count}
    filtered = [e for e in entries if e[label_source] in kept_labels]
    return filtered, counts