def analyze_clustering(cls, separated_decomposed_clusters, distance_matrix, analysis): """ Performs the overlap analysis of a clustering (calculates global measurements). """ analysis["total_num_clusters"] = 0 analysis["total_num_elements"] = 0 analysis["overlap"] = OverlapCalculator.calculate_clustering_overlap( mergeSeparatedClusters(separated_decomposed_clusters), distance_matrix) analysis[ "mixed_overlap"] = OverlapCalculator.calculate_clustering_overlap( mergeSeparatedClusters( {"mixed": separated_decomposed_clusters["mixed"]}), distance_matrix) for cluster_type in separated_decomposed_clusters: analysis["num_" + cluster_type] = len( separated_decomposed_clusters[cluster_type]) analysis["total_num_clusters"] += analysis["num_" + cluster_type] analysis["num_" + cluster_type + "_elements"] = numpy.sum([ len( getAllElements( separated_decomposed_clusters[cluster_type][dc_id])) for dc_id in separated_decomposed_clusters[cluster_type] ]) analysis["total_num_elements"] += analysis["num_" + cluster_type + "_elements"]
def analyze_clustering(cls, separated_decomposed_clusters, distance_matrix, analysis): """ Performs the overlap analysis of a clustering (calculates global measurements). """ analysis["total_num_clusters"] = 0 analysis["total_num_elements"] = 0 analysis["overlap"] = OverlapCalculator.calculate_clustering_overlap(mergeSeparatedClusters(separated_decomposed_clusters), distance_matrix) analysis["mixed_overlap"] = OverlapCalculator.calculate_clustering_overlap(mergeSeparatedClusters({"mixed":separated_decomposed_clusters["mixed"]}), distance_matrix) for cluster_type in separated_decomposed_clusters: analysis["num_" + cluster_type] = len(separated_decomposed_clusters[cluster_type]) analysis["total_num_clusters"] += analysis["num_" + cluster_type] analysis["num_" + cluster_type + "_elements"] = numpy.sum([len(getAllElements(separated_decomposed_clusters[cluster_type][dc_id])) for dc_id in separated_decomposed_clusters[cluster_type]]) analysis["total_num_elements"] += analysis["num_" + cluster_type + "_elements"]
def analyze_clustering(cls, separated_decomposed_clusters, distance_matrix, analysis): analysis["total_num_clusters"] = 0 analysis["total_num_elements"] = 0 analysis["overlap"] = OverlapCalculator.calculate_global_overlap(mergeSeparatedClusters(separated_decomposed_clusters), distance_matrix, 2, 1) for cluster_type in separated_decomposed_clusters: analysis["num_" + cluster_type] = len(separated_decomposed_clusters[cluster_type]) analysis["total_num_clusters"] += analysis["num_" + cluster_type] analysis["num_" + cluster_type + "_elements"] = numpy.sum([len(getAllElements(separated_decomposed_clusters[cluster_type][dc_id])) for dc_id in separated_decomposed_clusters[cluster_type]]) analysis["total_num_elements"] += analysis["num_" + cluster_type + "_elements"] return cluster_type
def test_mergeSeparatedClusters(self): separated_decomposed_clusters = { 'mixed': { '1': { 'traj_A': [3], 'traj_B': [8, 10] }, '2': { 'traj_A': [4], 'traj_B': [14, 15] } }, 'pure': { '0': { 'traj_A': [0, 1, 2] }, '3': { 'traj_A': [5, 6] }, '4': { 'traj_B': [9, 11, 12, 13, 7] } } } expected = [{ 'traj_A': [3], 'traj_B': [8, 10] }, { 'traj_A': [4], 'traj_B': [14, 15] }, { 'traj_A': [0, 1, 2] }, { 'traj_A': [5, 6] }, { 'traj_B': [9, 11, 12, 13, 7] } ] self.assertItemsEqual(expected, mergeSeparatedClusters(separated_decomposed_clusters))
def analyze_clustering(cls, separated_decomposed_clusters, distance_matrix, analysis): analysis["total_num_clusters"] = 0 analysis["total_num_elements"] = 0 analysis["overlap"] = OverlapCalculator.calculate_global_overlap( mergeSeparatedClusters(separated_decomposed_clusters), distance_matrix, 2, 1) for cluster_type in separated_decomposed_clusters: analysis["num_" + cluster_type] = len( separated_decomposed_clusters[cluster_type]) analysis["total_num_clusters"] += analysis["num_" + cluster_type] analysis["num_" + cluster_type + "_elements"] = numpy.sum([ len( getAllElements( separated_decomposed_clusters[cluster_type][dc_id])) for dc_id in separated_decomposed_clusters[cluster_type] ]) analysis["total_num_elements"] += analysis["num_" + cluster_type + "_elements"] return cluster_type