我有一个由安装类调用的模型类。安装类加载一些数据,设置数据将其指定为评估数据。
class model(object):
def __init__(self,br):
self.br = br
self.observations = self.getObs(self.br)
class setup(object):
def __init__(self):
br='n1'
self.model = model(project, br)
def simulation(self,vector):
self.model._run()
simulations = list(self.model.results)
return simulations
def evaluation(self):
observations = list(self.model.observations)
print('Type Evaluation:')
print(type(observations))
return observations
def likelihood(self,simulation,evaluation):
likelihood= -spotpy.likelihoods.rmse(evaluation, simulation)
return likelihood
当我尝试在似然函数中调用求值时,我确实得到了一个错误,即evulation是一个实例方法而不是数组。对于某些函数,有一些括号可以完成这项工作,但我希望将这些观察结果作为列表返回。有趣的是,模拟确实希望我想要它。
在函数评估中,观察是一个列表,但是当从另一个函数调用时,数据作为实例方法返回。有什么想法吗?