def add(self, val, weight): count = self._dist.get(val, None) if count is None: count = WeightMass() count.weight = 1.0 self.__sum += 1.0 self._dist[val] = count count.weight += weight self.__sum += weight
def update_distribution(self, instance): if instance.class_is_missing(): return class_val = instance.string_value(attribute=instance.class_attribute()) mass = self.class_distribution.get(class_val, None) if mass is None: mass = WeightMass() mass.weight = 1.0 self.class_distribution[class_val] = mass self.class_distribution[class_val].weight += instance.weight()