def visualize_col(): """ """ adj_matrix = col_matrix(col_k, nnc_mps, agreement_matrix, nnc_arbit, mps) classes = get_equiv_classes(nnc_mps, agreement_matrix, nnc_arbit, mps) classes_set = set(classes) classes_set.remove(-1) num_classes = len(classes_set) classes_ord = list(classes_set) classes_ord.sort() class_indices = {classes_ord[i]: i for i in range(num_classes)} class_sizes = [classes.count(cls) for cls in classes_ord] groups = [None for i in range(len(classes))] for i in range(len(classes_ord)): class_index = i rel_p = [mp[1][0] for mp in mps if classes[mps.index(mp)] == classes_ord[class_index]] counts = [rel_p.count(rel_p[j]) for j in range(len(rel_p))] dominant = rel_p[counts.index(max(counts))] groups[i] = dominant names = [str(i) for i in range(len(adj_matrix))] #groups = [str(i) for i in range(len(adj_matrix))] write_json_graph_general(adj_matrix, names, groups, filename = "viz/col/" + agr_method + '_' + str(start_session) + '_' + str(end_session) + 'minsess' + str(min_sessions) + '_' + 'k=' + str(col_k) + '_' + str(nnc_arbit) + ".json")
def visualize_sen_nnc(): """ """ adj_matrix = top_k(nnc_k, sen_nnc_mps, nnc_internal, sen_agreement_matrix, nnc_arbit, sen_mps) # XXX dangerous: this will break if we consider a part of the sen members. names = [mp[0] for mp in sen_nnc_mps] groups = [mp[1][0] for mp in sen_nnc_mps] write_json_graph_general(adj_matrix, names, groups, filename = sen_filename_viz)
def visualize_sen_synth_topk(): """ """ adj_matrix = synth_topk(sen_agreement_matrix, eps, k_value, clusters, mh_iterations, reverse_utility) # XXX dangerous: this will break if we consider a part of the sen members. names = [mp[0] for mp in sen_nnc_mps] groups = [mp[1][0] for mp in sen_nnc_mps] #print adj_matrix write_json_graph_general(adj_matrix, names, groups, filename = sen_filename_viz)
def visualize_col_equiv(): """ """ adj_matrix = general_equiv(col_matrix(col_k, nnc_mps, agreement_matrix, nnc_arbit, mps), nnc_arbit) names = [str(i) for i in range(len(adj_matrix))] groups = [str(i) for i in range(len(adj_matrix))] write_json_graph_general(adj_matrix, names, groups, filename = "viz/coleq/" + agr_method + '_' + str(start_session) + '_' + str(end_session) + 'minsess' + str(min_sessions) + '_' + 'k=' + str(col_k) + '_' + str(nnc_arbit) + ".json")
def visualize_sen_avg(): """ """ adj_matrix = col_matrix(col_k, sen_nnc_mps, sen_agreement_matrix, nnc_arbit, sen_mps) classes = get_equiv_classes(sen_nnc_mps, sen_agreement_matrix, nnc_arbit, sen_mps) classes_set = set(classes) classes_set = [thing for thing in classes_set if thing != -1] num_classes = len(classes_set) classes_ord = list(classes_set) classes_ord.sort() class_indices = {classes_ord[i]: i for i in range(num_classes)} class_sizes = [classes.count(cls) for cls in classes_ord] groups = [None for i in range(len(classes))] for i in range(len(classes_ord)): class_index = i rel_p = [mp[1][0] for mp in sen_mps if classes[sen_mps.index(mp)] == classes_ord[class_index]] counts = [rel_p.count(rel_p[j]) for j in range(len(rel_p))] dominant = rel_p[counts.index(max(counts))] groups[i] = dominant names = [str(classes.count(classes_ord[i])) for i in range(len(adj_matrix))] #groups = [str(i) for i in range(len(adj_matrix))] lis = [] for row in adj_matrix: lis += row lis = [thing for thing in lis if thing != 0] average = float(sum(lis))/len(lis) for i in range(len(adj_matrix)): for j in range(len(adj_matrix)): if adj_matrix[i][j] < average: adj_matrix[i][j] = 0 else: adj_matrix[i][j] = 1 write_json_graph_general(adj_matrix, names, groups, filename = "viz/col/sen" + str(sen_n) + agr_method + '_' + str(sen_start_session) + '_' + str(sen_end_session) + 'minsess' + str(sen_min_sessions) + '_' + 'k=' + str(col_k) + '_' + str(nnc_arbit) + "avg.json")
def visualize_bench(): matrix, names, groups = gml_to_json('bench/karate/karate.gml') write_json_graph_general(matrix, names, groups, 'viz/bench/networks/karate.json') matrix, names, groups = gml_to_json('bench/football/football.gml') write_json_graph_general(matrix, names, groups, 'viz/bench/networks/football.json')
from util import write_json_graph_general from synth_topk import synth_topk f = open(sen_filename_agr, 'rb') sen_agreement_matrix = pickle.load(f) sen_common_session_matrix = pickle.load(f) f.close() def sen_filename(sen_n, k_value, eps, clusters, mh_iterations, reverse_utility): return "viz/synth/sen" + str(sen_n) + "_" + \ 'k=' + str(k_value) + '_' + "eps=" + str(eps) + "_" + "clusters=" + str(clusters) + \ "iter=" + str(mh_iterations) + "_" + str(reverse_utility) + ".json" # That's an experiment for a fixed dataset for this_eps in [0.1*i for i in xrange(1, 6)]: for this_k_value in [2]: adj_matrix = synth_topk(sen_agreement_matrix, this_eps, this_k_value, clusters, mh_iterations, reverse_utility) # XXX dangerous: this will break if we consider a part of the sen members. names = [mp[0] for mp in sen_nnc_mps] groups = [mp[1][0] for mp in sen_nnc_mps] #print adj_matrix sen_filename_temp = sen_filename(sen_n, this_k_value, this_eps, clusters, mh_iterations, reverse_utility) write_json_graph_general(adj_matrix, names, groups, filename = sen_filename_temp)