method = HierLat(latent_factor=lafactor) hash_file_str = str(hash(tuple(daily_data_file))) reader = DailyWatchTimeReader() feedback_data = reader.read_file_with_minval(daily_data_file, min_occ_user, min_occ_prog, num_user, num_prog) exp_id = 'lko_bi_' + exp_name + '_data' + hash_file_str\ + '_mu' + str(min_occ_user) + '_mp' + str(min_occ_prog) \ + '_nu' + str(num_user) + '_np' + str(num_prog) \ + '_k' + str(leave_k_out) + '_toiter' + str(total_iteration) result_resource_str = 'exp' + exp_id + \ '_method' + method.unique_str() + \ '_iter' + str(iteration) sub_folder = exp_id + '/models/' + method.unique_str() # use a sub folder to store the experiment resource. trained_model = URM.LoadResource(URM.RTYPE_RESULT, result_resource_str, sub_folder) [method] = trained_model learnt_genre = method.V program_mapping = feedback_data.col_mapping program_inv_mapping = {y: x for x, y in program_mapping.items()} program_name = [ program_inv_mapping[i] for i in range(len(program_mapping))
leave_k_out = 20; lafactor = 5; method = HierLat(latent_factor=lafactor); hash_file_str = str(hash(tuple(daily_data_file))); reader = DailyWatchTimeReader(); feedback_data = reader.read_file_with_minval(daily_data_file, min_occ_user, min_occ_prog, num_user, num_prog); exp_id = 'lko_bi_' + exp_name + '_data' + hash_file_str\ + '_mu' + str(min_occ_user) + '_mp' + str(min_occ_prog) \ + '_nu' + str(num_user) + '_np' + str(num_prog) \ + '_k' + str(leave_k_out) + '_toiter' + str(total_iteration); result_resource_str = 'exp' + exp_id + \ '_method' + method.unique_str() + \ '_iter' + str(iteration); sub_folder = exp_id + '/models/' + method.unique_str(); # use a sub folder to store the experiment resource. trained_model = URM.LoadResource(URM.RTYPE_RESULT, result_resource_str, sub_folder); [method] = trained_model; learnt_genre = method.V; program_mapping = feedback_data.col_mapping; program_inv_mapping = {y: x for x, y in program_mapping.items()}; program_name = [ program_inv_mapping[i] for i in range(len(program_mapping)) ]; sio.savemat("prog_genre_mat.mat", {'genre_mat': learnt_genre, 'prog_name': program_name}); print 'done';