Exemplo n.º 1
0
    def append(self, datetime: LocalizedDatetime, sample: PathDict):
        # initialise...
        if not self.__initialised:
            for node in self.__nodes:
                try:
                    paths = sample.paths(node)

                except KeyError:
                    continue

                except IndexError as ex:
                    paths = None
                    print("sample_aggregate: %s: IndexError: %s" % (node, ex), file=sys.stderr)
                    sys.stderr.flush()
                    exit(1)

                for path in paths:
                    if path == 'rec':
                        continue

                    self.__precisions[path] = Precision()
                    self.__regressions[path] = LinearRegression() if Datum.is_numeric(sample.node(path)) else \
                        CategoricalRegression()

            self.__initialised = True

        # values...
        for path in self.__precisions.keys():
            try:
                value = sample.node(path)
            except KeyError:
                continue

            if value is None:
                continue

            try:
                self.__precisions[path].widen(value)
                self.__regressions[path].append(datetime, value)
            except InvalidOperation:
                continue
Exemplo n.º 2
0
#!/usr/bin/env python3
"""
Created on 29 Nov 2018

@author: Bruno Beloff ([email protected])
"""

from scs_core.data.datum import Datum

# --------------------------------------------------------------------------------------------------------------------

value = None
precision = Datum.precision(value)
print("value:%s precision:%s" % (value, precision))
print("is_numeric:%s is_int:%s is_float:%s" %
      (Datum.is_numeric(value), Datum.is_int(value), Datum.is_float(value)))
print("-")

value = "hello"
precision = Datum.precision(value)
print("value:%s precision:%s" % (value, precision))
print("is_numeric:%s is_int:%s is_float:%s" %
      (Datum.is_numeric(value), Datum.is_int(value), Datum.is_float(value)))
print("-")

value = 1
precision = Datum.precision(value)
print("value:%s precision:%s" % (value, precision))
print("is_numeric:%s is_int:%s is_float:%s" %
      (Datum.is_numeric(value), Datum.is_int(value), Datum.is_float(value)))