Source code for pysubgroup.constraints
import pysubgroup as ps
[docs]class MinSupportConstraint:
def __init__(self, min_support):
self.min_support = min_support
@property
def is_monotone(self):
return True
[docs] def is_satisfied(self, subgroup, statistics=None, data=None):
if hasattr(statistics, "size_sg"):
return statistics.size_sg >= self.min_support
if isinstance(statistics, dict) and "size_sg" in statistics:
return statistics["size_sg"] >= self.min_support
try:
return ps.get_size(subgroup, len(data), data) >= self.min_support
except AttributeError: # special case for gp_growth
return self.get_size_sg(statistics)
[docs] def gp_prepare(self, qf):
self.get_size_sg = (
qf.gp_size_sg
) # pylint: disable=attribute-defined-outside-init
[docs] def gp_is_satisfied(self, node):
return self.get_size_sg(node) >= self.min_support