Exemplo n.º 1
0
    def __init__(self, clusters: np.ndarray, classes: np.ndarray, aic: float,
                 bic: float, likelihood: float):
        """
        :param clusters: The cluster assignments
        :param classes: The class assignments
        :param aic: The Akaike information criterion
        :param bic: The Bayesian information criterion
        :param likelihood: The log likelihood
        """
        super().__init__(clusters, aic, bic, likelihood)

        self.N = len(classes)
        self.C = len(np.unique(classes))
        self.purity = purity(clusters, classes)
        self.purity2 = purity2(clusters, classes)
        self.rand_index = rand_index(clusters, classes)
        self.class_entropy = entropy(classes)
        self.precision = precision(clusters, classes)
        self.recall = recall(clusters, classes)
        self.f1_measure = f1_measure(clusters, classes)
        self.homogeneity = homogeneity(clusters, classes)
        self.completeness = completeness(clusters, classes)
        self.v_measure = v_measure(clusters, classes)
        self.nv_measure = nv_measure(clusters, classes)
        self.mutual_information = mutual_information(clusters, classes)
        self.normalized_mutual_information = normalized_mutual_information(
            clusters, classes)
        self.normalized_mutual_information2 = normalized_mutual_information2(
            clusters, classes)
 def __init__(self, clusters: np.ndarray, aic: float, bic: float,
              likelihood: float):
     """
     :param clusters: The cluster assignments
     :param aic: The Akaike information criterion
     :param bic: The Bayesian information criterion
     :param likelihood: The log likelihood
     """
     self.aic = aic
     self.bic = bic
     self.likelihood = likelihood
     self.K = len(np.unique(clusters))
     self.cluster_entropy = entropy(clusters)
Exemplo n.º 3
0
 def test_entropy_multiple_items(self):
     labels = [1, 2, 3, 1]
     assert_almost_equal(cm.entropy(labels),
                         scipy.stats.entropy([0.5, 0.25, 0.25]))
Exemplo n.º 4
0
 def test_entropy_two_item(self):
     labels = [1, 2]
     assert_almost_equal(cm.entropy(labels), scipy.stats.entropy([0.5,
                                                                  0.5]))
Exemplo n.º 5
0
 def test_entropy_one_item(self):
     labels = [50]
     assert_almost_equal(cm.entropy(labels), scipy.stats.entropy([1]))
Exemplo n.º 6
0
 def test_entropy_empty_set(self):
     labels = []
     assert_almost_equal(cm.entropy(labels), scipy.stats.entropy([]))