| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- from Model.Modele import *
- from Model.Portefeuille import *
- from Model.Parametre import *
- from Model.Donnee import *
- from Model.Evaluation import *
- from Model.profil import profile
- from Config.DEBUG import *
- from pathlib import Path
- import pickle
- import os
- @profile
- def Entrainement(StartDayEntrainement, NBJoursEntrainement, StartDayValidation, NBJoursValidation):
- listeModel = []
- Var_listeAction = listeAction()
- Parametre = CL_Param()
-
- DonneeEntrainement = CL_Donnee(StartDayEntrainement, NBJoursEntrainement, Parametre)
- DonneeValidation = CL_Donnee(StartDayValidation, NBJoursValidation, Parametre)
-
- Model = CL_Model(Parametre)
-
- DossierResultat = f"{Path_run}/"
- NumeroTest = fc_NumeroTest(DossierResultat)
- DossierResultatModel = f"{DossierResultat}Modele_{NumeroTest}"
-
- if DEBUGpickle == 1:
- EntreeEntrainement, targetEntrainement, resGlobalEntrainement, listeJoursEntrainement = DonneeEntrainement.DataPickelData(
- StartDayEntrainement, NBJoursEntrainement, Parametre, Var_listeAction)
- EntreeValidation, targetValidation, resGlobalValidation, listeJoursValidation = DonneeValidation.DataPickelData(
- StartDayValidation, NBJoursValidation, Parametre, Var_listeAction)
- else:
- EntreeEntrainement, targetEntrainement, resGlobalEntrainement, listeJoursEntrainement = DonneeEntrainement.PreparationJours(
- StartDayEntrainement,NBJoursEntrainement, Parametre, Var_listeAction)
- EntreeValidation, targetValidation, resGlobalValidation, listeJoursValidation = DonneeValidation.PreparationJours(
- StartDayValidation, NBJoursValidation, Parametre, Var_listeAction)
-
- epochs = Model.fit(EntreeEntrainement, targetEntrainement, Parametre, EntreeValidation, targetValidation)
-
- NomModel = xxx(Model, Parametre, EntreeEntrainement, targetEntrainement, listeJoursEntrainement, DonneeEntrainement,
- DossierResultatModel, StartDayEntrainement, NBJoursEntrainement, resGlobalEntrainement)
- xxx(Model, Parametre, EntreeValidation, targetValidation, listeJoursValidation, DonneeValidation,
- DossierResultatModel, StartDayValidation, NBJoursValidation, resGlobalValidation)
- return NomModel,epochs
-
- # TODO lui trouvé un vrai nom
- def xxx(Model, Parametre, Entree, target, listeJours, Donnee, DossierResultatModel, StartDay, NBJours, resGlobal):
- Portefeuille = CL_Achat(Parametre)
- resultat = Model.predict(Entree)
- AfficheStat(resultat, target)
-
- Portefeuille.MarquetGlobal(resultat, listeJours, Parametre, Donnee)
-
- valeur = Portefeuille.getValueTotal(listeJours[-1], Donnee)
-
- print(f"Debug valeur : {valeur}")
- if Path(DossierResultatModel).exists():
- nom_Model = next(Path(DossierResultatModel).iterdir()).stem
- nom_Model = f"{DossierResultatModel}/{nom_Model}"
- nom_res = f"{nom_Model}.res"
- else:
- nom = Model.EnregistreModel(Parametre, DossierResultatModel, valeur)
- nom_Model = f"{DossierResultatModel}/{nom}"
- nom_res = f"{DossierResultatModel}/{nom}.res"
-
- ajouter_res(nom_res, StartDay, NBJours, valeur, resGlobal, Portefeuille)
-
- return nom_Model
- @profile
- def Experimente(ListeDesJourDExperimentation, NBJours, NomModel):
- Var_listeAction = listeAction()
-
- PathModel = Path(NomModel).parent
-
- Parametre = CL_Param()
- Parametre.RestaureParam(NomModel)
-
- Model = CL_Model(Parametre)
- Model.RestaurationModel(NomModel)
-
- for StartDay in ListeDesJourDExperimentation:
- Donnee = CL_Donnee(StartDay, NBJours, Parametre)
- Entree, target, resGlobal, listeJours = Donnee.DataPickelData( StartDay, NBJours, Parametre, Var_listeAction)
-
- xxx(Model, Parametre, Entree, target, listeJours, Donnee, PathModel, StartDay, NBJours, resGlobal)
-
|