X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/predictops.git/blobdiff_plain/f04d85cc8028a2721d7d5e8ec866ff8022797bb5..a2faba3f0797b7be72d0c8fa9cb9db67456136d6:/predictops/engine.py?ds=inline diff --git a/predictops/engine.py b/predictops/engine.py index dedd265..e7bbf1c 100644 --- a/predictops/engine.py +++ b/predictops/engine.py @@ -6,7 +6,10 @@ from pathlib import Path from shutil import rmtree from .source.ephemeris import Ephemeris +from .source.holidays import Holidays from .source.meteofrance import MeteoFrance +from .learn.learning import Learning +from .learn.preprocessing import Preprocessing from .target.target import Target fileConfig((Path.cwd() / 'config') / 'logging.cfg') @@ -64,6 +67,17 @@ class Engine: for date in dated_features: self._X.setdefault(date,{}).update(dated_features[date]) + if self._config['FEATURES'].getboolean('holidays'): + holidays = Holidays(config_file = + eval(self._config['FEATURE_CONFIG']['holidays'])) + + holidays.start = self._start + holidays.end = self._end + + dated_features = holidays.dated_features + for date in dated_features: + self._X.setdefault(date,{}).update(dated_features[date]) + def add_target(self): self._target = Target(config_file = eval(self._config['TARGET']['config']), @@ -71,6 +85,18 @@ class Engine: timestep = self._timestep) + def add_preprocessing(self): + self._preproc = Preprocessing(config_file = self._config, + dict_features = self.X, + dict_target = self.y) + + + def learn(self): + history = self._config['HISTORY_KNOWLEDGE'].getint('nb_lines') + self._learner = Learning(config_file = eval(self._config['LEARNER']['config']), + X = self._preproc.dataframe, y = list(self.y.values())[history:]) + + @property def X(self): return self._X