[DATETIME]
start = 01/01/2006 00:00:00
end = 12/31/2019 23:00:00
-hourStep = 3
+hourStep = 1
[FEATURES]
[HISTORY_KNOWLEDGE]
-nb_lines = 24//3*7*4
+nb_lines = 24*7*4
[TARGET]
config = (Path.cwd() / 'config') / 'targets' / 'sdis25.cfg'
cumulative = True
-horizon = 1
+horizon = 0
[LEARNER]
-config = (Path.cwd() / 'config') / 'learners' / 'xgboost.cfg'
\ No newline at end of file
+config = (Path.cwd() / 'config') / 'learners' / 'lightgbm.cfg'
\ No newline at end of file
import lightgbm as lgb
import matplotlib
import os
+import pandas as pd
import pylab as P
import xgboost
self._config.read(config_file)
self._file_name = file_name
logger.info("Dealing with the horizon of prediction")
- self._X = X[:-horizon]
- self._y = y[horizon:]
+ if horizon:
+ self._X = X[:-horizon]
+ self._y = y[horizon:]
+ else:
+ self._X = X
+ self._y = y
+ rep = (Path.cwd() / self._file_name)
+ rep.mkdir()
+ self._filename = str(self._file_name / os.path.basename(self._file_name))
+ self._X.to_csv(self._filename + '.csv')
self._learn()
self._evaluate()
txt += f"Percentage of errors lower than {k}: {[abs(int(u-v))<=k for u,v in zip(self._y_test.values, y_test_pred)].count(True)/len(self._y_test)*100}\n"
print(txt)
- rep = (Path.cwd() / self._file_name)
- rep.mkdir()
- filename = str(self._file_name / os.path.basename(self._file_name))
- with open(filename + ".result", 'w') as f:
+ with open(self._filename + ".result", 'w') as f:
f.write(txt)
y_true = self._df[self._df.year == self._df.year.max()].cible
P.xlabel('Hour in the year')
P.ylabel('Number of cumulated interventions')
P.legend()
- P.savefig(filename + ".png")
+ P.savefig(self._filename + ".png")
yy_test_pred = self._reg.predict(self._X_test)
P.figure(figsize=(36, 16))
P.xlabel('Hour in the year')
P.ylabel('Number of cumulated interventions')
P.legend()
- P.savefig(filename + "-test.png")
+ P.savefig(self._filename + "-test.png")
if self._config['MODEL']['method'] == 'xgboost':
xgboost.plot_importance(self._reg)
fig = matplotlib.pyplot.gcf()
fig.set_size_inches(15, 130)
- fig.savefig(filename + '-feat_importance.pdf')
+ fig.savefig(self._filename + '-feat_importance.pdf')