Détails techniques¶
Bibliothèques utilisées¶
Pandas
Scikit-Learn
Dask
mlinsights (Régression Quantile)
H2O
La raison principale de notre passage de Scikit-Learn à H2O fut l’impossibilité de pondérer la perte quadratique d’une régression Lasso ainsi que la plus grande richesse de l’écosystème H2O bien plus ergonomique pour réaliser un traitement bout à bout de la donnée.
L’unique raison qui a motivé l’utilisation de Dask fut la lenteur des écritures vers CSV avec Pandas.
Ressources liées au Challenge¶
Ces ressources sont toutes issues du forum Data Challenge CFM (http://datachallenge.cfm.fr/).
Top 10 final http://datachallenge.cfm.fr/t/end-of-year-ranking-2018-2-in-2-official-top-10/159
Quelques Solutions de Participants http://datachallenge.cfm.fr/t/resources-with-very-good-solutions-2018-challenge/129
Éclaircissement sur le Calcul des Volatilités et des causes des valeurs manquantes http://datachallenge.cfm.fr/t/volatility-computation/51
Reproductibilité et Mise en Place Informatique¶
Nous avons pris soin d’écrire un code source lisible et déterministe. Vous pouvez le consulter sur https://gitlab.com/v01dxyz/statml_project.
Ce code source est divisé en quatres parties
Pré-traitement du jeu de données originel
Définition, Entrainement, Sauvegarde des Modèles
Prédiction des modèles sur le jeu d’entrainement/validations/test
Soumission automatique des résultats
Rétrospective sur le déroulement du projet¶
La taille du jeu de donnée commençant à être conséquente pour un ordinateur grand public, nous avons essayé d’utiliser les ressources computationnelles que le laboratoire a gentillement mis à notre disposition.
Malgré cette accroissement en puissance de calculs, la génération de modèles conditionnellement à l’actif prenait une journée entière. Par ailleurs, de par notre inexpérience dans l’utilisation d’un cluster et pour éviter de le monopoliser, nous n’avons pas pu distribué aggressivement nos entrainements de modèles.
Nous avons donc abandonné la cross-validation au profit d’une approche hold out qui limitera par la suite la qualité de notre aggrégation de modèles.
La mise en place des algorithmes de pré-traitement a pris une part non négligeable de notre temps, en particulier à cause du passage à Dask qui est une bibliothèque qui offre moins de fonctionnalités que Pandas et dont le comportement est sensiblement différent mais apporte des gains de performance sur certaines opérations.
L’immaturité de certaines bibliothèques nous a poussé à regarder directement dans le code source de ces dernières pour trouver des solutions de remplacement à de nombreux problèmes innatendus et être sûr de la validité de ces solutions.
Du fait des échéances, nous avons sciemment décider d’accorder plus d’importance à la génération de modèle qu’à une analyse fine du jeu de données ainsi que de la conception de variables prédictrices. En présence de davantage de temps, nous aurions donné l’attention qui était dû à ces tâches crucialles et obtenu un score sans doute parmi les dix premiers.