def test_modularity_probtune_und_sign(): x = load_signed_sample() seed = 59468096 ci,q = bct.modularity_probtune_und_sign(x, seed=seed) print q assert np.allclose(q, .07885327) seed = 1742447 ci,_ = bct.modularity_louvain_und_sign(x, seed=seed) _,oq = bct.modularity_finetune_und_sign(x, seed=seed, ci=ci) for i in np.arange(.05, .5, .02): fails=0 for j in xrange(100): _,q = bct.modularity_probtune_und_sign(x, ci=ci, p=i) try: assert q < oq except AssertionError: if fails > 5: raise else: fails+=1
def test_modularity_probtune_und_sign(): x = load_signed_sample() seed = 59468096 ci, q = bct.modularity_probtune_und_sign(x, seed=seed) print(q) assert np.allclose(q, .07885327) seed = 1742447 ci, _ = bct.modularity_louvain_und_sign(x, seed=seed) _, oq = bct.modularity_finetune_und_sign(x, seed=seed, ci=ci) for i in np.arange(.05, .5, .02): fails = 0 for j in range(100): _, q = bct.modularity_probtune_und_sign(x, ci=ci, p=i) try: assert q < oq except AssertionError: if fails > 5: raise else: fails += 1
def sample_degenerate_partitions(w, probtune_cap=.10, modularity_cutoff=.95): ntries = 0 while True: init_ci, _ = bct.modularity_louvain_und_sign(w) seed_ci, seed_q = bct.modularity_finetune_und_sign(w, ci=init_ci) p = (np.random.random() * probtune_cap) ci, q = bct.modularity_probtune_und_sign(w, ci=seed_ci, p=p) if q > (seed_q * modularity_cutoff): print ('found a degenerate partition after %i tries with probtune ' 'parameter %.3f: %.5f %.5f' % (ntries, p, q, seed_q)) ntries = 0 yield ci, q else: # print 'failed to find degenerate partition, trying again',q, # seed_q ntries += 1
def sample_degenerate_partitions(w, probtune_cap=.10, modularity_cutoff=.95): ntries = 0 while True: init_ci, _ = bct.modularity_louvain_und_sign(w) seed_ci, seed_q = bct.modularity_finetune_und_sign(w, ci=init_ci) p = (np.random.random() * probtune_cap) ci, q = bct.modularity_probtune_und_sign(w, ci=seed_ci, p=p) if q > (seed_q * modularity_cutoff): print( 'found a degenerate partition after %i tries with probtune ' 'parameter %.3f: %.5f %.5f' % (ntries, p, q, seed_q)) ntries = 0 yield ci, q else: # print 'failed to find degenerate partition, trying again',q, # seed_q ntries += 1