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        }
class CPDFullResult(cpdbench.control.CPDResult.CPDResult):
 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