Exemplo n.º 1
0
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")
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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")
Exemplo n.º 5
0
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")
Exemplo n.º 6
0
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')
Exemplo n.º 7
0
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)