本文整理汇总了Python中ocw.evaluation.Evaluation.add_dataset方法的典型用法代码示例。如果您正苦于以下问题:Python Evaluation.add_dataset方法的具体用法?Python Evaluation.add_dataset怎么用?Python Evaluation.add_dataset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ocw.evaluation.Evaluation
的用法示例。
在下文中一共展示了Evaluation.add_dataset方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestEvaluation
# 需要导入模块: from ocw.evaluation import Evaluation [as 别名]
# 或者: from ocw.evaluation.Evaluation import add_dataset [as 别名]
class TestEvaluation(unittest.TestCase):
def setUp(self):
self.eval = Evaluation(None, [], [])
lat = np.array([10, 12, 14, 16, 18])
lon = np.array([100, 102, 104, 106, 108])
time = np.array([dt.datetime(2000, x, 1) for x in range(1, 13)])
flat_array = np.array(range(300))
value = flat_array.reshape(12, 5, 5)
self.variable = 'prec'
self.other_var = 'temp'
self.test_dataset = Dataset(lat, lon, time, value, self.variable)
self.another_test_dataset = Dataset(lat, lon, time, value,
self.other_var)
def test_init(self):
self.assertEquals(self.eval.ref_dataset, None)
self.assertEquals(self.eval.target_datasets, [])
self.assertEquals(self.eval.metrics, [])
self.assertEquals(self.eval.unary_metrics, [])
def test_full_init(self):
self.eval = Evaluation(
self.test_dataset,
[self.test_dataset, self.another_test_dataset],
[Bias(), Bias(), TemporalStdDev()])
ref_dataset = self.test_dataset
target_datasets = [self.test_dataset, self.another_test_dataset]
metrics = [Bias(), Bias()]
unary_metrics = [TemporalStdDev()]
self.eval = Evaluation(ref_dataset,
target_datasets,
metrics + unary_metrics)
self.assertEqual(self.eval.ref_dataset.variable, self.variable)
# Make sure the two target datasets were added properly
self.assertEqual(self.eval.target_datasets[0].variable, self.variable)
self.assertEqual(self.eval.target_datasets[1].variable, self.other_var)
# Make sure the three metrics were added properly
# The two Bias metrics are "binary" metrics
self.assertEqual(len(self.eval.metrics), 2)
# TemporalStdDev is a "unary" metric and should be stored as such
self.assertEqual(len(self.eval.unary_metrics), 1)
self.eval.run()
out_str = (
"<Evaluation - ref_dataset: {}, "
"target_dataset(s): {}, "
"binary_metric(s): {}, "
"unary_metric(s): {}, "
"subregion(s): {}>"
).format(
str(self.test_dataset),
[str(ds) for ds in target_datasets],
[str(m) for m in metrics],
[str(u) for u in unary_metrics],
None
)
self.assertEqual(str(self.eval), out_str)
def test_valid_ref_dataset_setter(self):
self.eval.ref_dataset = self.another_test_dataset
self.assertEqual(self.eval.ref_dataset.variable,
self.another_test_dataset.variable)
def test_invalid_ref_dataset(self):
with self.assertRaises(TypeError):
self.eval.ref_dataset = "This isn't a Dataset object"
def test_valid_subregion(self):
bound = Bounds(
lat_min=-10, lat_max=10,
lon_min=-20, lon_max=20,
start=dt.datetime(2000, 1, 1), end=dt.datetime(2001, 1, 1))
self.eval.subregions = [bound, bound]
self.assertEquals(len(self.eval.subregions), 2)
def test_invalid_subregion_bound(self):
bound = "This is not a bounds object"
with self.assertRaises(TypeError):
self.eval.subregions = [bound]
def test_add_ref_dataset(self):
self.eval = Evaluation(self.test_dataset, [], [])
self.assertEqual(self.eval.ref_dataset.variable, self.variable)
def test_add_valid_dataset(self):
self.eval.add_dataset(self.test_dataset)
self.assertEqual(self.eval.target_datasets[0].variable,
self.variable)
def test_add_invalid_dataset(self):
with self.assertRaises(TypeError):
#.........这里部分代码省略.........
示例2: TestEvaluation
# 需要导入模块: from ocw.evaluation import Evaluation [as 别名]
# 或者: from ocw.evaluation.Evaluation import add_dataset [as 别名]
class TestEvaluation(unittest.TestCase):
def setUp(self):
self.eval = Evaluation(None, [], [])
lat = np.array([10, 12, 14, 16, 18])
lon = np.array([100, 102, 104, 106, 108])
time = np.array([dt.datetime(2000, x, 1) for x in range(1, 13)])
flat_array = np.array(range(300))
value = flat_array.reshape(12, 5, 5)
self.variable = 'prec'
self.other_var = 'temp'
self.test_dataset = Dataset(lat, lon, time, value, self.variable)
self.another_test_dataset = Dataset(lat, lon, time, value,
self.other_var)
def test_init(self):
self.assertEquals(self.eval.ref_dataset, None)
self.assertEquals(self.eval.target_datasets, [])
self.assertEquals(self.eval.metrics, [])
self.assertEquals(self.eval.unary_metrics, [])
def test_full_init(self):
self.eval = Evaluation(
self.test_dataset,
[self.test_dataset, self.another_test_dataset],
[Bias(), Bias(), TemporalStdDev()])
self.assertEqual(self.eval.ref_dataset.variable, self.variable)
# Make sure the two target datasets were added properly
self.assertEqual(self.eval.target_datasets[0].variable, self.variable)
self.assertEqual(self.eval.target_datasets[1].variable, self.other_var)
# Make sure the three metrics were added properly
# The two Bias metrics are "binary" metrics
self.assertEqual(len(self.eval.metrics), 2)
# TemporalStdDev is a "unary" metric and should be stored as such
self.assertEqual(len(self.eval.unary_metrics), 1)
def test_invalid_ref_dataset(self):
with self.assertRaises(TypeError):
self.eval.ref_dataset = "This isn't a Dataset object"
def test_valid_subregion(self):
bound = Bounds(
-10, 10,
-20, 20,
dt.datetime(2000, 1, 1), dt.datetime(2001, 1, 1))
self.eval.subregions = [bound, bound]
self.assertEquals(len(self.eval.subregions), 2)
def test_invalid_subregion_bound(self):
bound = "This is not a bounds object"
with self.assertRaises(TypeError):
self.eval.subregions = [bound]
def test_add_ref_dataset(self):
self.eval = Evaluation(self.test_dataset, [], [])
self.assertEqual(self.eval.ref_dataset.variable, self.variable)
def test_add_dataset(self):
self.eval.add_dataset(self.test_dataset)
self.assertEqual(self.eval.target_datasets[0].variable,
self.variable)
def test_add_datasets(self):
self.eval.add_datasets([self.test_dataset, self.another_test_dataset])
self.assertEqual(len(self.eval.target_datasets), 2)
self.assertEqual(self.eval.target_datasets[0].variable,
self.variable)
self.assertEqual(self.eval.target_datasets[1].variable,
self.other_var)
def test_add_metric(self):
# Add a "binary" metric
self.assertEqual(len(self.eval.metrics), 0)
self.eval.add_metric(Bias())
self.assertEqual(len(self.eval.metrics), 1)
# Add a "unary" metric
self.assertEqual(len(self.eval.unary_metrics), 0)
self.eval.add_metric(TemporalStdDev())
self.assertEqual(len(self.eval.unary_metrics), 1)
def test_add_metrics(self):
self.assertEqual(len(self.eval.metrics), 0)
self.eval.add_metrics([Bias(), Bias()])
self.assertEqual(len(self.eval.metrics), 2)
def test_bias_output_shape(self):
bias_eval = Evaluation(self.test_dataset, [self.another_test_dataset], [Bias()])
bias_eval.run()
input_shape = tuple(self.test_dataset.values.shape)
bias_results_shape = tuple(bias_eval.results[0][0].shape)
self.assertEqual(input_shape, bias_results_shape)