def run_job(self, my_task_id, num_tasks, num_clicks=1500, trials=10): for period_num in self.period_li: param_dict = dict() param_dict["time_rotate"] = period_num param_dict["N_pred"] = 3 param_dict["num_words"] = 17 for click_dist, dp_dist in zip(self.click_dists, self.dp_dists): param_dict["click_dist"] = click_dist param_dict["dp_dist"] = dp_dist self.parameters_list += [param_dict.copy()] print(len(self.parameters_list)) num_jobs = len(self.parameters_list) job_indicies = np.array_split(np.arange(1, num_jobs + 1), num_tasks)[my_task_id - 1] print(job_indicies) for job_index in job_indicies: parameters = self.parameters_list[job_index - 1] user_num = int((job_index * 0.999) / num_jobs) print(user_num) sim = SimulatedUser(parentdir, job_num=user_num) sim.parameter_metrics(parameters, num_clicks=num_clicks, trials=trials)
def run_job(self, my_task_id, num_tasks, num_clicks=500, trials=20): for fp_rate in self.false_positives: param_dict = dict() self.parameters_dict["false_positive"] = fp_rate self. parameters_dict["order"] = "sorted" self.parameters_dict["words_first"] = True self.parameters_dict["num_words"] = 7 for dist in self.click_dists: self.parameters_dict["click_dist"] = dist self.parameters_list += [self.parameters_dict.copy()] print(len(self.parameters_list)) num_jobs = len(self.parameters_list) job_indicies = np.array_split(np.arange(1, num_jobs+1), num_tasks)[my_task_id-1] print(job_indicies) for job_index in job_indicies: parameters = self.parameters_list[job_index-1] user_num = int((job_index*0.999)/num_jobs) print(user_num) sim = SimulatedUser(parentdir, job_num=user_num) sim.parameter_metrics(parameters, num_clicks=num_clicks, trials=trials)
def run_job(self, my_task_id, num_tasks, num_clicks=1500, trials=30): for click_dist, dp_dist in zip(self.click_dists, self.dp_dists): # click_dist = click_dist / np.sum(click_dist) param_dict = {} param_dict["click_dist"] = click_dist param_dict["dp_dist"] = dp_dist param_dict["time_rotate"] = 4 for n_pred in self.n_pred_range: param_dict["N_pred"] = n_pred for num_words in range(0, n_pred * 26, 3): param_dict["num_words"] = num_words self.parameters_list += [param_dict.copy()] print(len(self.parameters_list)) num_jobs = len(self.parameters_list) job_indicies = np.array_split(np.arange(1, num_jobs + 1), num_tasks)[my_task_id - 1] print(job_indicies) for job_index in job_indicies: parameters = self.parameters_list[job_index - 1] user_num = int((job_index * 0.999) / num_jobs) print(user_num) sim = SimulatedUser(parentdir, job_num=user_num) sim.parameter_metrics(parameters, num_clicks=num_clicks, trials=trials)
def run_job(self, my_task_id, num_tasks, num_clicks=500, trials=1): for fp_rate in self.false_positives: param_dict = dict() self.parameters_dict["false_positive"] = fp_rate param_dict["N_pred"] = 3 param_dict["num_words"] = 17 for dist in self.click_dists: hist = dist(np.arange(80)) hist = hist / np.sum(hist) param_dict["click_dist"] = hist.tolist() self.parameters_list += [self.parameters_dict.copy()] print(len(self.parameters_list)) num_jobs = len(self.parameters_list) job_indicies = np.array_split(np.arange(1, num_jobs + 1), num_tasks)[my_task_id - 1] print(job_indicies) for job_index in job_indicies: parameters = self.parameters_list[job_index - 1] user_num = int((job_index * 0.999) / num_jobs) print(user_num) sim = SimulatedUser(parentdir, job_num=user_num) sim.parameter_metrics(parameters, num_clicks=num_clicks, trials=trials)
my_task_id = 24 num_tasks = 24 words_first_range = [True, False] order_range = ["sorted", "default"] # order_range = ["sorted"] num_words_range = np.arange(0, 20, 1).tolist() print(num_words_range) parameters_list = [] parameters_dict = dict() for wf in words_first_range: for kc in order_range: for nw in num_words_range: parameters_dict["order"] = kc parameters_dict["words_first"] = wf parameters_dict["num_words"] = nw parameters_list += [parameters_dict.copy()] print(len(parameters_list)) num_jobs = len(parameters_list) job_indicies = np.array_split(np.arange(1, num_jobs+1), num_tasks)[my_task_id-1] print(job_indicies) for job_index in job_indicies: parameters = parameters_list[job_index-1] user_num = int((job_index*0.999)/num_jobs) print(user_num) sim = SimulatedUser(parentdir, job_num=user_num) sim.parameter_metrics(parameters, num_clicks=500, trials=30)
from simulated_user import SimulatedUser, normal_hist from matplotlib import pyplot as plt try: my_task_id = int(sys.argv[1]) num_tasks = int(sys.argv[2]) except IndexError: my_task_id = 1 num_tasks = 10 jobs = np.arange(1, 21) first_half, second_half = np.array_split(jobs, 2) weaved_jobs = np.empty((first_half.size + second_half.size, ), dtype=first_half.dtype) weaved_jobs[0::2] = first_half weaved_jobs[1::2] = second_half[::-1] job_indicies = np.array_split(weaved_jobs, num_tasks)[my_task_id - 1] parameters_list = [{ "click_dist": (normal_hist(0, 2) + normal_hist(0 + i * 2, 2)) / 2 } for i in job_indicies] attributes = [i * 2 for i in job_indicies] for parameters, attribute in zip(parameters_list, attributes): sim = SimulatedUser(currentdir) sim.parameter_metrics(parameters, num_clicks=500, trials=20, attribute=attribute)
parameters_dict = dict() for dist in click_dists: delta = dist[1] scan_delays = list({0.5, max(0.5, delta + 6 * 0.05)}) print(scan_delays) for scan_delay in scan_delays: parameters_dict["order"] = "default" parameters_dict["words_first"] = True parameters_dict["num_words"] = 0 parameters_dict["click_dist"] = dist[0] parameters_dict["attribute"] = dist[1] parameters_dict["scan_delay"] = scan_delay parameters_list += [parameters_dict.copy()] print(len(parameters_list)) num_jobs = len(parameters_list) job_indicies = np.array_split(np.arange(1, num_jobs + 1), num_tasks)[my_task_id - 1] print(job_indicies) for job_index in job_indicies: parameters = parameters_list[job_index - 1] user_num = int((job_index * 0.999) / num_jobs) print(user_num) sim = SimulatedUser(parentdir, job_num=user_num) sim.parameter_metrics(parameters, num_clicks=500, trials=1, attribute=parameters["attribute"])