def test_optimization(): ema_logging.log_to_stderr(ema_logging.INFO) model = FluModel(r'..\data', "fluCase") ensemble = ModelEnsemble() ensemble.set_model_structure(model) ensemble.parallel=True # ensemble.processes = 12 stats, pop = ensemble.perform_outcome_optimization(obj_function = obj_function_multi, reporting_interval=10, weights=(MAXIMIZE, MAXIMIZE), pop_size=100, nr_of_generations=5, crossover_rate=0.5, mutation_rate=0.05) res = stats.hall_of_fame.keys x = [entry.values[0] for entry in res] y = [entry.values[1] for entry in res] print len(x), len(y) fig = plt.figure() ax = fig.add_subplot(111) ax.scatter(x,y) ax.set_ylabel("deceased population") ax.set_xlabel("infected fraction") plt.show()
def test_optimization(): ema_logging.log_to_stderr(ema_logging.INFO) model = FluModel(r'..\data', "fluCase") ensemble = ModelEnsemble() ensemble.set_model_structure(model) ensemble.parallel=True stats, pop = ensemble.perform_outcome_optimization(obj_function = obj_function_multi, reporting_interval=100, weights=(MAXIMIZE, MAXIMIZE), pop_size=100, nr_of_generations=20, crossover_rate=0.5, mutation_rate=0.05, caching=False) res = stats.hall_of_fame.keys print len(stats.tried_solutions.values())
def outcome_optimize(): ema_logging.log_to_stderr(ema_logging.INFO) model = TestModel("", 'simpleModel') #instantiate the model ensemble = ModelEnsemble() #instantiate an ensemble ensemble.set_model_structure(model) #set the model on the ensemble policy = {"name": "test", "L1": 1, "L2": 1} ensemble.add_policy(policy) def obj_func(results): return results['y'] results = ensemble.perform_outcome_optimization(obj_function=obj_func, minimax = 'minimize', nrOfGenerations = 1000, nrOfPopMembers = 10) graph_errorbars_raw(results['stats']) plt.show()
def test_optimization(): ema_logging.log_to_stderr(ema_logging.INFO) model = FluModel(r'../models', "fluCase") ensemble = ModelEnsemble() ensemble.set_model_structure(model) ensemble.parallel=True pop_size = 8 nr_of_generations = 10 eps = np.array([1e-3, 1e6]) stats, pop = ensemble.perform_outcome_optimization(obj_function = obj_function_multi, algorithm=epsNSGA2, reporting_interval=100, weights=(MAXIMIZE, MAXIMIZE), pop_size=pop_size, nr_of_generations=nr_of_generations, crossover_rate=0.8, mutation_rate=0.05, eps=eps) fn = '../data/test optimization save.bz2'