def testAsMirror(self):
        name = sys._getframe().f_code.co_name 

        lst = [[1, 2], [2, 2], [2, 3], [2, 3], [3, 2]]
        d = convert.from_edgelist(name, lst, directed=False, overide=True)
        print (d.get_edges())
        self.assertTrue(not d.is_edge_mirrored)
        self.assertEqual(3, d.num_node)
        self.assertEqual(3, d.num_edge)
        edges = d.get_edges()
        assert edges['src'].dtype == np.int
        assert edges['dest'].dtype == np.int
        
        self.assertTrue(not load_local(name).is_edge_mirrored)
        
        newname = name + "_new"
        d = d.as_mirror_edges(newname=newname, overide=True)
        edges = d.get_edges()
        print (d.get_edges())
        self.assertTrue(d.is_edge_mirrored)        
        assert edges['src'].dtype == np.int
        assert edges['dest'].dtype == np.int
        self.assertEqual(3, d.num_node)
        self.assertEqual(5, d.num_edge)
        self.assertTrue(load_local(newname).is_edge_mirrored)
 def testBug6(self):
     alg = 'oslom_Infohiermap'
     dataname = 'EVAL2_LFR_ud_wu_N1024_mu0.3'
     clu = clustering.load_result(dataname, alg)
     data = dataset.load_local(dataname)
     a = calc_clu_metrics(data, clu)
     print(a)
     self.assertTrue(not np.isnan(a['cluster_clustering_coefficient']))
 def testBug5(self):
     alg = 'cdc_MSCD_LFK2'
     dataname = 'EVAL2_LFR_ud_wu_N1024_mu0.3'
     clu = clustering.load_result(dataname, alg)
     data = dataset.load_local(dataname)
     calc_clu_metrics(data, clu)
     gt = list(data.get_ground_truth().values())[0]
     a = calc_clu_gt_attrib(gt, clu)
     print(a)
 def testBug4(self):
     alg = 'scan_pScan'
     dataname = 'SIMPLE_ud_wu_nc128_cz8_in7_it4'
     clu = clustering.load_result(dataname, alg)
     data = dataset.load_local(dataname)
     gt = list(data.get_ground_truth().values())[0]
     a = calc_clu_metrics(data, gt)
     print(a)
     a = calc_clu_metrics(data, clu)
     print(a)
     a = calc_clu_gt_attrib(gt, clu)
     print(a)
def load_result(dataname, runname):
    fpath = os.path.join(config.get_result_file_path(dataname, runname),
                         'result.txt')
    with open(fpath, 'rt') as f:
        j = json.load(f)
    d = dataset.load_local(dataname)
    edges = d.get_edges()
    nodes = set(edges['src']).union(set(edges['dest']))
    result_nodes = set()
    for l in j['clusters'].values():
        result_nodes.update(l)
    missed_nodes = nodes.difference(result_nodes)
    j['clusters']['-9999'] = list(missed_nodes)
    return Result(j)
Пример #6
0
def load_sample_dataset(name, overide=False):
    if not overide and local_exists(name):
        return load_local(name)

    else:
        path = os.path.join(config.GCT_HOME, 'data', _DATASET_[name])
        edges = pd.read_csv(path)
        gt = pd.read_csv(path.replace("_edges", '_gt'))
        description = ""
        directed = False
        return convert.from_edgelist(name,
                                     edges,
                                     groundtruth=gt,
                                     directed=directed,
                                     description=description,
                                     overide=overide)
def load_snap_dataset(name, overide=False):
    if not overide and local_exists(name):
        return load_local(name)

    else:
        conf = _DATASET_[name]
        edges = conf.get_edges()
        gt = conf.get_ground_truth()
        description = conf.description
        weighted = conf.weighted
        directed = conf.directed
        return Dataset(name,
                       description=description,
                       groundtruthObj=gt,
                       edgesObj=edges,
                       directed=directed,
                       weighted=weighted,
                       overide=overide)
Пример #8
0
    def setUp(self):
        overide = False

        def f(name):
            overide = False
            return random_dataset.generate_ovp_LFR(name,
                                                   N=128,
                                                   k=16,
                                                   maxk=16,
                                                   muw=0.1,
                                                   minc=32,
                                                   beta=1,
                                                   a=0,
                                                   overide=overide)

        name = "test_LFR_unw_und"
        self.graph_unweighted_undirect = self.get_dataset(name, f)
        assert not self.graph_unweighted_undirect.is_directed()
        assert not self.graph_unweighted_undirect.is_weighted()

        def f2(name):
            return random_dataset.generate_ovp_LFR("test_LFR_w_und",
                                                   N=128,
                                                   k=16,
                                                   maxk=16,
                                                   muw=0.1,
                                                   minc=32,
                                                   beta=1,
                                                   weighted=True,
                                                   a=0,
                                                   overide=overide)

        name = "test_LFR_w_und"
        self.graph_weighted_undirect = self.get_dataset(name, f)
        assert not self.graph_weighted_undirect.is_directed()
        assert self.graph_weighted_undirect.is_weighted()

        name = "test_LFR_w_dir"
        if dataset.local_exists(name):
            self.graph_weighted_direct = dataset.load_local(name)
        else:
            self.graph_weighted_direct = random_dataset.generate_ovp_LFR(
                name,
                N=128,
                k=16,
                maxk=16,
                muw=0.1,
                minc=32,
                beta=1,
                weighted=True,
                a=1,
                overide=overide)
            assert self.graph_weighted_direct.is_directed()
            assert self.graph_weighted_direct.is_weighted()

        name = "test_LFR_unw_dir"
        if dataset.local_exists(name):
            self.graph_unweighted_direct = dataset.load_local(name)
        else:
            self.graph_unweighted_direct = random_dataset.generate_ovp_LFR(
                name,
                N=128,
                k=16,
                maxk=16,
                muw=0.1,
                minc=32,
                beta=1,
                weighted=False,
                a=1,
                overide=overide)
            assert self.graph_unweighted_direct.is_directed()
            assert not self.graph_unweighted_direct.is_weighted()

        self.graphs = [
            self.graph_unweighted_undirect, self.graph_weighted_undirect,
            self.graph_weighted_direct, self.graph_unweighted_direct
        ]
Пример #9
0
 def get_dataset(self, name, fun):
     if dataset.local_exists(name):
         return dataset.load_local(name)
     else:
         return fun(name)
 def testBug3(self):
     alg = 'karateclub_SCD'
     dataname = 'EVAL2_LFR_ud_wu_N1024_mu0.3'
     clu = clustering.load_result(dataname, alg)
     data = dataset.load_local(dataname)
     calc_clu_metrics(data, clu)
 def testBug2(self):
     alg = 'cdc_MSCD_LFK2'
     dataname = 'EVAL2_LFR_ud_wu_N1024_mu0.3'
     clu = clustering.load_result(dataname, alg)
     data = dataset.load_local(dataname)
     calc_clu_metrics(data, clu)