def evaluate_our_method(website, iter_count, data_count, attibute=["profession"]): params = [ {"kernel": "rbf", "C": 100, "gamma": 0.001}, {"kernel": "rbf", "C": 10, "gamma": 0.001}, {"kernel": "rbf", "C": 10, "gamma": 0.001}, ] print("======Our; Iter Count: %d======" % iter_count) embedding = get_neibor_embedding("./embedding/%s_user_embedding_using_neibors_%d.data.json" % (website, iter_count)) uids = [line.strip() for line in open("./%s_intersect_uid.data" % website)] # evaluate(get_label(website, 1, gender_reg), embedding) # evaluate(get_label(website, 2, age_reg), embedding) # evaluate(get_label(website, 3, location_reg), embedding) if "gender" in attibute: results = simple_evaluate( get_label(website, 1, gender_reg), embedding, params[0], data_count, data_range=total_data_arange["%s_gender" % (website)], uids=uids, ) output_results(results, "%s_%s_%s_result_%d.out" % (website, "gender", "our", iter_count)) if "age" in attibute: results = simple_evaluate( get_label(website, 2, age_reg), embedding, params[1], data_count, data_range=list(arange(0.05, 0.95, 0.05)), uids=uids, ) output_results(results, "%s_%s_%s_result_%d.out" % (website, "age", "our", iter_count)) if "location" in attibute: results = simple_evaluate( get_label(website, 3, location_reg), embedding, params[2], data_count, data_range=total_data_arange["%s_location" % (website)], uids=uids, ) output_results(results, "%s_%s_%s_result_%d.out" % (website, "location", "our", iter_count)) if "profession" in attibute: results = simple_evaluate( get_label(website, 4, profession_reg), embedding, params[2], data_count, data_range=total_data_arange["%s_profession" % (website)], uids=uids, ) output_results(results, "%s_%s_%s_result_%d.out" % (website, "profession", "our", iter_count))
def evaluate_baseline(fname, data_count): deepwalk_params = [ {'kernel': 'rbf', 'C': 1000, 'gamma': 0.001}, {'kernel': 'rbf', 'C': 100, 'gamma': 0.001}, {'kernel': 'rbf', 'C': 10, 'gamma': 0.001} ] line_params = [ {'kernel': 'linear', 'C': 1}, {'kernel': 'rbf', 'C': 100, 'gamma': 0.001}, {'kernel': 'rbf', 'C': 1000, 'gamma': 0.001} ] if 'deepwalk' in fname: print('======Deepwalk======') params = deepwalk_params if 'line' in fname: print('======LINE======') params = line_params if 'weibo' in fname: website = 'weibo' else: website = 'zhihu' embedding = get_simple_embedding(fname) # evaluate(get_label(website, 1, gender_reg), embedding) # evaluate(get_label(website, 2, age_reg), embedding) # evaluate(get_label(website, 3, location_reg), embedding) simple_evaluate( get_label(website, 1, gender_reg), embedding, params[0], data_count)
def evaluate_our_method(website, iter_count, data_count): params = [ {'kernel': 'rbf', 'C': 100, 'gamma': 0.001}, {'kernel': 'rbf', 'C': 10, 'gamma': 0.001}, {'kernel': 'rbf', 'C': 10, 'gamma': 0.001} ] print('======Our; Iter Count: %d======' % iter_count) embedding = get_neibor_embedding( './embedding/%s_user_embedding_using_neibors_%d.data.json' % (website, iter_count) ) # evaluate(get_label(website, 1, gender_reg), embedding) # evaluate(get_label(website, 2, age_reg), embedding) # evaluate(get_label(website, 3, location_reg), embedding) simple_evaluate( get_label(website, 1, gender_reg), embedding, params[0], data_count) # simple_evaluate(get_label(website, 2, age_reg), embedding, params[1]) simple_evaluate( get_label(website, 3, location_reg), embedding, params[2], data_count)
def main(): website = "outputacm" method = "line" count = 100 if method == "line": embedding = get_simple_embedding("./embedding/%s_user_embedding_using_line.data.json" % website) if method == "our": embedding = get_neibor_embedding("./embedding/%s_user_embedding_using_neibors_%d.data.json" % (website, count)) print(len(embedding)) results = simple_evaluate( get_label(website, 1, outputacm_reg), embedding, data_range=list(arange(0.1, 1, 0.1)), uid_file="./%s_intersect_uid.data" % website, ) output_results(results, "%s_%s_result_%d.out" % (website, method, count)) pass
def evaluate_baseline(fname, data_count, attibute=["profession"]): deepwalk_params = [ {"kernel": "rbf", "C": 1000, "gamma": 0.001}, {"kernel": "rbf", "C": 100, "gamma": 0.001}, {"kernel": "rbf", "C": 10, "gamma": 0.001}, ] line_params = [ {"kernel": "linear", "C": 1}, {"kernel": "rbf", "C": 100, "gamma": 0.001}, {"kernel": "linear", "C": 1000, "gamma": 0.001}, ] if "deepwalk" in fname: print("======Deepwalk======") baseline = "deepwalk" params = deepwalk_params if "line" in fname: print("======LINE======") params = line_params baseline = "line" if "weibo" in fname: website = "weibo" else: website = "zhihu" embedding = get_simple_embedding(fname) uids = [line.strip() for line in open("./%s_intersect_uid.data" % website)] # evaluate(get_label(website, 1, gender_reg), embedding) # evaluate(get_label(website, 2, age_reg), embedding) # evaluate(get_label(website, 3, location_reg), embedding) if "gender" in attibute: results = simple_evaluate( get_label(website, 1, gender_reg), embedding, params[0], data_count, data_range=total_data_arange["%s_gender" % (website)], uids=uids, ) output_results(results, "%s_%s_%s_result.out" % (website, "gender", baseline)) if "age" in attibute: results = simple_evaluate( get_label(website, 2, age_reg), embedding, params[1], data_count, data_range=list(arange(0.05, 0.95, 0.05)), uids=uids, ) output_results(results, "%s_%s_%s_result.out" % (website, "age", baseline)) if "location" in attibute: results = simple_evaluate( get_label(website, 3, location_reg), embedding, params[2], data_count, data_range=total_data_arange["%s_location" % (website)], uids=uids, ) output_results(results, "%s_%s_%s_result.out" % (website, "location", baseline)) if "profession" in attibute: results = simple_evaluate( get_label(website, 4, profession_reg), embedding, params[2], data_count, data_range=total_data_arange["%s_profession" % (website)], uids=uids, ) output_results(results, "%s_%s_%s_result.out" % (website, "profession", baseline))