cpdbench.control.CPDFullResult
1from cpdbench.control.CPDDatasetResult import CPDDatasetResult 2import datetime 3 4from cpdbench.control.CPDResult import CPDResult 5 6 7class CPDFullResult(CPDResult): 8 """Container for a complete run result with all datasets""" 9 10 def __init__(self, datasets: list[str], algorithms: list[str], metrics: list[str]): 11 """Construct a CPDFullResult object with basic metadata 12 :param datasets: list of all dataset names as strings 13 :param algorithms: list of all used changepoint algorithms as strings 14 :param metrics: list of all metrics as strings 15 """ 16 self._result = {} 17 self._created = datetime.datetime.now() 18 self._last_updated = self._created 19 self._datasets = datasets 20 self._algorithms = algorithms 21 self._metrics = metrics 22 self._errors = [] 23 self._parameters = {} 24 self._runtimes = {} 25 26 def add_dataset_result(self, dataset_result: CPDDatasetResult) -> None: 27 """Adds a calculated dataset result to the FullResult 28 :param dataset_result: the dataset result to add 29 """ 30 self._result = self._result | dataset_result.get_result_as_dict() 31 self._errors += dataset_result.get_errors_as_list() 32 self._last_updated = datetime.datetime.now() 33 self._parameters = self._parameters | dataset_result.get_parameters() 34 self._runtimes = self._runtimes | dataset_result.get_runtimes() 35 36 def get_result_as_dict(self) -> dict: 37 """Returns the complete result with all dataset results and metadata as python dict 38 :return: the result as python dict 39 """ 40 return { 41 "datasets": self._datasets, 42 "algorithms": self._algorithms, 43 "metrics": self._metrics, 44 "created": self._created.strftime("%m/%d/%Y, %H:%M:%S"), 45 "last_updated": self._last_updated.strftime("%m/%d/%Y, %H:%M:%S"), 46 "parameters": self._parameters, 47 "results": self._result, 48 "runtimes": self._runtimes, 49 "errors": self._errors 50 }
8class CPDFullResult(CPDResult): 9 """Container for a complete run result with all datasets""" 10 11 def __init__(self, datasets: list[str], algorithms: list[str], metrics: list[str]): 12 """Construct a CPDFullResult object with basic metadata 13 :param datasets: list of all dataset names as strings 14 :param algorithms: list of all used changepoint algorithms as strings 15 :param metrics: list of all metrics as strings 16 """ 17 self._result = {} 18 self._created = datetime.datetime.now() 19 self._last_updated = self._created 20 self._datasets = datasets 21 self._algorithms = algorithms 22 self._metrics = metrics 23 self._errors = [] 24 self._parameters = {} 25 self._runtimes = {} 26 27 def add_dataset_result(self, dataset_result: CPDDatasetResult) -> None: 28 """Adds a calculated dataset result to the FullResult 29 :param dataset_result: the dataset result to add 30 """ 31 self._result = self._result | dataset_result.get_result_as_dict() 32 self._errors += dataset_result.get_errors_as_list() 33 self._last_updated = datetime.datetime.now() 34 self._parameters = self._parameters | dataset_result.get_parameters() 35 self._runtimes = self._runtimes | dataset_result.get_runtimes() 36 37 def get_result_as_dict(self) -> dict: 38 """Returns the complete result with all dataset results and metadata as python dict 39 :return: the result as python dict 40 """ 41 return { 42 "datasets": self._datasets, 43 "algorithms": self._algorithms, 44 "metrics": self._metrics, 45 "created": self._created.strftime("%m/%d/%Y, %H:%M:%S"), 46 "last_updated": self._last_updated.strftime("%m/%d/%Y, %H:%M:%S"), 47 "parameters": self._parameters, 48 "results": self._result, 49 "runtimes": self._runtimes, 50 "errors": self._errors 51 }
Container for a complete run result with all datasets
CPDFullResult(datasets: list, algorithms: list, metrics: list)
11 def __init__(self, datasets: list[str], algorithms: list[str], metrics: list[str]): 12 """Construct a CPDFullResult object with basic metadata 13 :param datasets: list of all dataset names as strings 14 :param algorithms: list of all used changepoint algorithms as strings 15 :param metrics: list of all metrics as strings 16 """ 17 self._result = {} 18 self._created = datetime.datetime.now() 19 self._last_updated = self._created 20 self._datasets = datasets 21 self._algorithms = algorithms 22 self._metrics = metrics 23 self._errors = [] 24 self._parameters = {} 25 self._runtimes = {}
Construct a CPDFullResult object with basic metadata
Parameters
- datasets: list of all dataset names as strings
- algorithms: list of all used changepoint algorithms as strings
- metrics: list of all metrics as strings
def
add_dataset_result( self, dataset_result: cpdbench.control.CPDDatasetResult.CPDDatasetResult) -> None:
27 def add_dataset_result(self, dataset_result: CPDDatasetResult) -> None: 28 """Adds a calculated dataset result to the FullResult 29 :param dataset_result: the dataset result to add 30 """ 31 self._result = self._result | dataset_result.get_result_as_dict() 32 self._errors += dataset_result.get_errors_as_list() 33 self._last_updated = datetime.datetime.now() 34 self._parameters = self._parameters | dataset_result.get_parameters() 35 self._runtimes = self._runtimes | dataset_result.get_runtimes()
Adds a calculated dataset result to the FullResult
Parameters
- dataset_result: the dataset result to add
def
get_result_as_dict(self) -> dict:
37 def get_result_as_dict(self) -> dict: 38 """Returns the complete result with all dataset results and metadata as python dict 39 :return: the result as python dict 40 """ 41 return { 42 "datasets": self._datasets, 43 "algorithms": self._algorithms, 44 "metrics": self._metrics, 45 "created": self._created.strftime("%m/%d/%Y, %H:%M:%S"), 46 "last_updated": self._last_updated.strftime("%m/%d/%Y, %H:%M:%S"), 47 "parameters": self._parameters, 48 "results": self._result, 49 "runtimes": self._runtimes, 50 "errors": self._errors 51 }
Returns the complete result with all dataset results and metadata as python dict
Returns
the result as python dict