def test_cbc(self): n = XNetwork("datasets/test/test_cbc.edges", communities_file="datasets/test/test_cbc.communities") n.calculate_CBC() for node in [1, 2, 3, 7, 8, 9]: self.assertEquals(n.graph.node[node]['cbc'], 3) self.assertEquals(n.graph.node[5]['cbc'], 27) self.assertEquals(n.graph.node[6]['cbc'], 7) for node in n.graph.nodes(): print node, n.graph.node[node]['cbc']
def get_mediator_score_distribution(): month = 12 n = XNetwork("datasets/enron/timeslots/{:02d}-filtered2.edges".format(month), communities_file="datasets/enron/communities/{:02d}-filtered2/k=3/directed_communities".format(month)) nodes_with_cbc = n.calculate_CBC() cbc_by_node = {nid: cbc for nid, cbc in nodes_with_cbc} guys_tuples = Reader.read_lines("datasets/enron/enron_guys.txt") guys = {int(nid): email for nid, email in guys_tuples} guys_by_email = {email: int(nid) for nid, email in guys_tuples} all_cdc = cbc_by_node.values() P.hist(all_cdc) P.title("Enron - Mediator score distribution in month {}".format(month)) P.xlabel("Mediator score") P.ylabel("Frequency") P.show() interesting_emails = [ "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**" ] for email in interesting_emails: try: print "{}\t{:.4f}".format(email, cbc_by_node[guys_by_email[email]]) except KeyError: print "{}\tX".format(email) i = 0 print "month", month print "-----------------------------------" print "rank\tnode_id\temail\tMS" print "-----------------------------------" for n, cbc in nodes_with_cbc: i += 1 if guys[n] not in interesting_emails: print "{}\t{}\t{}\t{:.4f}".format(i, n, guys[n], cbc)
def test_multi(self): n = XNetwork("datasets/test/test_multi.edges", communities_file="datasets/test/test_cbc.communities") self.assertEquals(n.graph.size(), 14) n.calculate_CBC() for node in n.graph.nodes(): print node, n.graph.node[node]['cbc']