constraints.py 553 Bytes
Newer Older
aarongitrepos's avatar
All  
aarongitrepos committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
import pysubgroup_mod as ps


class MinSupportConstraint:
    def __init__(self, min_support):
        self.min_support = min_support

    @property
    def is_monotone(self):
        return True

    def is_satisfied(self, subgroup, statistics=None, data=None):
        if hasattr(statistics, 'size'):
            return statistics.size >= self.min_support
        elif hasattr(statistics, 'size_sg'):
            return statistics.size_sg >= self.min_support
        else:
            return ps.get_size(subgroup, len(data), data) >= self.min_support