本文整理汇总了Python中expWorkbench.ModelEnsemble类的典型用法代码示例。如果您正苦于以下问题:Python ModelEnsemble类的具体用法?Python ModelEnsemble怎么用?Python ModelEnsemble使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ModelEnsemble类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: transition_test
def transition_test():
model = EnergyTrans(r"..\..\..\models\EnergyTrans", "fluCase")
ensemble = ModelEnsemble()
ensemble.set_model_structure(model)
ensemble.perform_experiments(cases=10, callback=HDF5Callback)
示例2: test_optimization
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()
示例3: flu_test
def flu_test():
model = FluModel(r"..\..\..\models\flu", "fluCase")
ensemble = ModelEnsemble()
ensemble.set_model_structure(model)
ensemble.perform_experiments(cases=10, callback=HDF5Callback)
示例4: test_inspect
def test_inspect():
import inspect_test
model = FluModel(r'..\..\..\models\flu', "fluCase")
ensemble = ModelEnsemble()
ensemble.set_model_structure(model)
ensemble.perform_experiments(cases = 10,
callback=inspect_test.InspectCallback)
示例5: perform_experiments
def perform_experiments():
ema_logging.log_to_stderr(level=ema_logging.INFO)
model = SalinizationModel(r"C:\workspace\EMA-workbench\models\salinization", "verzilting")
model.step = 4
ensemble = ModelEnsemble()
ensemble.set_model_structure(model)
ensemble.parallel = True
nr_of_experiments = 10000
results = ensemble.perform_experiments(nr_of_experiments)
return results
示例6: test_save_results
def test_save_results():
os.remove("test.h5")
nrOfExperiments = 10
fileName = "test.h5"
experimentName = "one_exp_test"
ensemble = ModelEnsemble()
ensemble.set_model_structure(FluModel(r"..\..\..\models\flu", "fluCase"))
ensemble.perform_experiments(
nrOfExperiments, callback=HDF5Callback, fileName=fileName, experimentName=experimentName
)
示例7: test_running_lookup_uncertainties
def test_running_lookup_uncertainties(self):
'''
This is the more comprehensive test, given that the lookup
uncertainty replaces itself with a bunch of other uncertainties, check
whether we can successfully run a set of experiments and get results
back. We assert that the uncertainties are correctly replaced by
analyzing the experiments array.
'''
model = LookupTestModel( r'../models/', 'lookupTestModel')
#model.step = 4 #reduce data to be stored
ensemble = ModelEnsemble()
ensemble.set_model_structure(model)
ensemble.perform_experiments(10)
示例8: test_vensim_model
def test_vensim_model(self):
#instantiate a model
wd = r'../models'
model = VensimExampleModel(wd, "simpleModel")
#instantiate an ensemble
ensemble = ModelEnsemble()
#set the model on the ensemble
ensemble.set_model_structure(model)
nr_runs = 10
experiments, outcomes = ensemble.perform_experiments(nr_runs)
self.assertEqual(experiments.shape[0], nr_runs)
self.assertIn('TIME', outcomes.keys())
self.assertIn(model.outcomes[0].name, outcomes.keys())
示例9: test_optimization
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())
示例10: maxmin_optimize
def maxmin_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
ensemble.parallel = True
ensemble.processes = 12
def obj_function1(outcomes):
return outcomes['y']
policy_levers = { "L1": (0,1),
"L2": (0,1)}
results = ensemble.perform_maximin_optimization(obj_function1 = obj_function1,
policy_levers = policy_levers,
minimax1='minimize',
nrOfGenerations1=50,
nrOfPopMembers1=200,
minimax2 = "maximize",
nrOfGenerations2 = 50,
nrOfPopMembers2 = 100,
)
graph_errorbars_raw(results['stats'])
plt.show()
示例11: robust_optimize
def robust_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_levers = { "L1": (0,1),
"L2": (0,1)}
def obj_func(results):
return np.average(results['y'])
results = ensemble.perform_robust_optimization(cases=1000,
obj_function=obj_func,
policy_levers=policy_levers,
minimax='minimize',
nrOfGenerations=50,
nrOfPopMembers=20 )
graph_errorbars_raw(results['stats'])
plt.show()
示例12: test_multiple_models
def test_multiple_models():
class Model1(ModelStructureInterface):
uncertainties = [ParameterUncertainty((0,1),"a"),
ParameterUncertainty((0,1),"b")]
outcomes = [Outcome("test")]
def model_init(self, policy, kwargs):
pass
def run_model(self, case):
self.output['test'] = 1
class Model2(ModelStructureInterface):
uncertainties = [ParameterUncertainty((0,1),"b"),
ParameterUncertainty((0,1),"c")]
outcomes = [Outcome("test")]
def model_init(self, policy, kwargs):
pass
def run_model(self, case):
self.output['test'] = 1
# os.remove('test.h5')
nrOfExperiments = 10
fileName = 'test.h5'
experimentName = "one_exp_test"
ensemble = ModelEnsemble()
ensemble.add_model_structure(Model1('', "test1"))
ensemble.add_model_structure(Model2('', "test2"))
ensemble.perform_experiments(nrOfExperiments,
callback=HDF5Callback,
fileName=fileName,
experimentName=experimentName)
示例13: test_optimization
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'
示例14: test_tree
def test_tree():
log_to_stderr(level= INFO)
model = FluModel(r'..\..\models\flu', "fluCase")
ensemble = ModelEnsemble()
ensemble.parallel = True
ensemble.set_model_structure(model)
policies = [{'name': 'no policy',
'file': r'\FLUvensimV1basecase.vpm'},
{'name': 'static policy',
'file': r'\FLUvensimV1static.vpm'},
{'name': 'adaptive policy',
'file': r'\FLUvensimV1dynamic.vpm'}
]
ensemble.add_policies(policies)
results = ensemble.perform_experiments(10)
a_tree = tree(results, classify)
示例15: test_feature_selection
def test_feature_selection():
log_to_stderr(level= INFO)
model = FluModel(r'..\..\models\flu', "fluCase")
ensemble = ModelEnsemble()
ensemble.parallel = True
ensemble.set_model_structure(model)
policies = [{'name': 'no policy',
'file': r'\FLUvensimV1basecase.vpm'},
{'name': 'static policy',
'file': r'\FLUvensimV1static.vpm'},
{'name': 'adaptive policy',
'file': r'\FLUvensimV1dynamic.vpm'}
]
ensemble.add_policies(policies)
results = ensemble.perform_experiments(5000)
results = feature_selection(results, classify)
for entry in results:
print entry[0] +"\t" + str(entry[1])