Пример #1
0
    def get_distribution(self, instance, class_attribute):
        dist = [0.0 for i in range(class_attribute.num_values())]

        for i in range(class_attribute.num_values()):
            mass = self.class_distribution.get(class_attribute.value(i), None)
            if mass is not None:
                dist[i] = mass.weight
            else:
                dist[i] = 1.0

        utils.normalize(dist)
        return dist
Пример #2
0
    def get_distribution(self, instance, class_attribute):
        dist = [0.0 for i in range(class_attribute.num_values())]

        for i in range(class_attribute.num_values()):
            mass = self.class_distribution.get(class_attribute.value(i), None)
            if mass is not None:
                dist[i] = mass.weight
            else:
                dist[i] = 1.0

        utils.normalize(dist)
        return dist
Пример #3
0
    def distribution_for_instance(self, instance):
        """Return the class probabilities for an instance.

        Args:
            instance (Instance): The instance to calculate the class probabilites for.

        Returns:
            list[float]: The class probabilities.
        """
        class_attribute = instance.class_attribute()
        pred = []

        if self._root is not None:
            l = self._root.leaf_for_instance(instance, None, None)
            actual_node = l.the_node
            if actual_node is None:
                actual_node = l.parent_node
            pred = actual_node.get_distribution(instance, class_attribute)
        else:
            # All class values equally likely
            pred = [1 for i in range(class_attribute.num_values())]
            utils.normalize(pred)

        return pred
Пример #4
0
    def distribution_for_instance(self, instance):
        """Return the class probabilities for an instance.

        Args:
            instance (Instance): The instance to calculate the class probabilites for.

        Returns:
            list[float]: The class probabilities.
        """
        class_attribute = instance.class_attribute()
        pred = []

        if self._root is not None:
            l = self._root.leaf_for_instance(instance, None, None)
            actual_node = l.the_node
            if actual_node is None:
                actual_node = l.parent_node
            pred = actual_node.get_distribution(instance, class_attribute)
        else:
            # All class values equally likely
            pred = [1 for i in range(class_attribute.num_values())]
            utils.normalize(pred)

        return pred
 def get_scores(self, samples):
     return normalize(self.classifier.decision_function(samples).tolist(),
                      absolute=True)