示例#1
0
    def disc_merge(self, cluster, dim, vals, skip=None):
        # reject if union is a superset of anything in
        # rejected_disc_vals
        vals = set(vals)
        vals.update(cluster.discretes.get(dim, ()))
        for subset in self.rejected_disc_vals[dim]:
            if vals.issuperset(subset):
                return None

        merged = Merger.disc_merge(self, cluster, dim, vals, skip)
        if merged:
            merged.c_range = list(self.c_range)
            merged.inf_func = self.learner.create_inf_func(merged)
        return merged
示例#2
0
 def disc_merge(self, cluster, dim, vals, skip=None):
   merged = Merger.disc_merge(self, cluster, dim, vals, skip)
   if merged:
     merged.c_range = list(self.c_range)
     merged.inf_func = merged.create_inf_func(self.learner.l)
   return merged