def locality(la):
    items_cov_list, items_popularity, cov_ratio_list, degree_distr = la.compare_items_edge_coverage(1, minimum_interactions=1)
    print utils.mean_sd(items_cov_list)
    print utils.mean_sd(items_popularity)
    plotter.plotHist(sorted([val for val in cov_ratio_list]), "Ratio of Common Likes with friends to total popularity", "Frequency (Number of items)", logyscale=True, bins=20)
    #####plotter.plotHist(sorted([val for val in cov_ratio_list]), "Ratio of Edge coverage to total popularity", "Frequency", logyscale=True)
    #plotter.plotHist(sorted(items_popularity), "Item", "total popularity")
    plotter.plotCumulativePopularity(items_popularity, labelx="Item percentile", labely="Cum. percent of number of likes")
    f_out = open('plots/data/influenced_loves_ratio.tsv', 'w')
    for i in range(len(items_cov_list)):
        f_out.write(str(items_cov_list[i])+' '+str(items_popularity[i])+' '+str(cov_ratio_list[i])+'\n')
    f_out.close()
Exemple #2
0
def locality(la):
    items_cov_list, items_popularity, cov_ratio_list, degree_distr = la.compare_items_edge_coverage(
        1, minimum_interactions=1)
    print utils.mean_sd(items_cov_list)
    print utils.mean_sd(items_popularity)
    plotter.plotHist(sorted([val for val in cov_ratio_list]),
                     "Ratio of Common Likes with friends to total popularity",
                     "Frequency (Number of items)",
                     logyscale=True,
                     bins=20)
    #####plotter.plotHist(sorted([val for val in cov_ratio_list]), "Ratio of Edge coverage to total popularity", "Frequency", logyscale=True)
    #plotter.plotHist(sorted(items_popularity), "Item", "total popularity")
    plotter.plotCumulativePopularity(items_popularity,
                                     labelx="Item percentile",
                                     labely="Cum. percent of number of likes")
    f_out = open('plots/data/influenced_loves_ratio.tsv', 'w')
    for i in range(len(items_cov_list)):
        f_out.write(
            str(items_cov_list[i]) + ' ' + str(items_popularity[i]) + ' ' +
            str(cov_ratio_list[i]) + '\n')
    f_out.close()
    na = AdoptShareComparer(data)
    x = na.get_sum_interactions_by_type()
    listen_arr, love_arr = compare_interact_types_byuser(na,
                                                         "listen",
                                                         "love",
                                                         binwidth=100,
                                                         duplicates=False,
                                                         min_exposure=2,
                                                         logyscale=False,
                                                         logxscale=True,
                                                         plot_type="xy")

    promisc = [(listen_arr[i], float(love_arr[i]) / listen_arr[i])
               for i in range(len(listen_arr))]
    plotter.plotHist([val2 for val1, val2 in promisc if val2 <= 3],
                     labelx="Ratio of love to listen interactions for a user",
                     labely="Frequency of Users",
                     xlim_val=[0, 3])
    listen_dict = {}
    for val1, val2 in promisc:
        listen_dict[val1] = listen_dict.get(val1, [])
        listen_dict[val1].append(val2)

    mean_promisc = []
    listen_values = []
    for key, val_arr in listen_dict.iteritems():
        listen_values.append(key)
        mean_promisc.append(np.mean(val_arr))
    plotter.plotLinesXY(listen_values,
                        mean_promisc,
                        labelx="Number of listen interactions",
                        labely="Ratio of love/listen interactions",
    listen_arr, love_arr = compare_interact_types_byuser(
        na,
        "listen",
        "love",
        binwidth=100,
        duplicates=False,
        min_exposure=2,
        logyscale=False,
        logxscale=True,
        plot_type="xy",
    )

    promisc = [(listen_arr[i], float(love_arr[i]) / listen_arr[i]) for i in range(len(listen_arr))]
    plotter.plotHist(
        [val2 for val1, val2 in promisc if val2 <= 3],
        labelx="Ratio of love to listen interactions for a user",
        labely="Frequency of Users",
        xlim_val=[0, 3],
    )
    listen_dict = {}
    for val1, val2 in promisc:
        listen_dict[val1] = listen_dict.get(val1, [])
        listen_dict[val1].append(val2)

    mean_promisc = []
    listen_values = []
    for key, val_arr in listen_dict.iteritems():
        listen_values.append(key)
        mean_promisc.append(np.mean(val_arr))
    plotter.plotLinesXY(
        listen_values,
        mean_promisc,