def baseline(prep_cache_dir, sol_dir): print "Starting Baseline" e = Evaluation(prep_cache_dir) print "Loading cache" t_users = load_cache(prep_cache_dir, 'target_users_set') local_t_items = load_cache(prep_cache_dir, 'target_items_local_set') local_baseline_counts = load_cache(prep_cache_dir, 'tr_baseline_counts') online_t_items = set(load_cache(prep_cache_dir, 'target_items_list')) online_baseline_counts = load_cache(prep_cache_dir, 'tr_va_baseline_counts') prem_users = load_cache(prep_cache_dir, 'prem_user_set') print "Done loading" print "Score users by tr obs" local_temp = score_users_by_obs(t_users, local_baseline_counts, prem_users) print "Score users by tr+va obs" online_temp = score_users_by_obs(t_users, online_baseline_counts, prem_users) strategy = [1, 2, 3] for s in strategy: print "Baseline strategy", s local_filename = str(s) + '_baseline_local_eval_scores.txt' sub_filename = str(s) + '_baseline_submission.txt' local_rec_dump = str(s) + '_baseline_local_raw_rec' online_rec_dump = str(s) + '_baseline_online_raw_rec' local_recs = baseline_recommend(local_temp, local_t_items, s) online_recs = baseline_recommend(online_temp, online_t_items, s) log_recs(local_recs, local_rec_dump, sol_dir) log_recs(online_recs, online_rec_dump, sol_dir) e.format_submission(local_recs, online_recs, sol_dir, local_filename, sub_filename) print "Done with Baseline"
print "Finished loading" print "Starting post processing" t_users_int_set = load_cache(prep_dir, 'target_users_set') neg_user_int_set = load_cache(prep_dir, 'neg_users_set') filtered_rec_local = filter_recs(rec_local, t_users_int_set) filtered_rec_online = filter_recs(rec_online, t_users_int_set) print "Intermediate" neg_filtered_rec_local = filter_out_negs(filtered_rec_local, neg_user_int_set) neg_filtered_rec_online = filter_out_negs(filtered_rec_online, neg_user_int_set) print "Cutoff" filtered_rec_local = cutoff100(filtered_rec_local) filtered_rec_online = cutoff100(filtered_rec_online) neg_filtered_rec_local = cutoff100(neg_filtered_rec_local) neg_filtered_rec_online = cutoff100(neg_filtered_rec_online) print "Finished post processing" print "Starting evaluation and submission" e = Evaluation(prep_cache_dir=prep_dir) e.format_submission(filtered_rec_local, filtered_rec_online, sol_dir, '_eval_scores_hmf1_filtered_1000to100.txt', '_subm_hmf1_filtered_1000to100.txt') e.format_submission(neg_filtered_rec_local, neg_filtered_rec_online, sol_dir, '_eval_scores_hmf1_negfiltered_1000to100.txt', '_subm_hmf1_negfiltered_1000to100.txt') print "Done"