Conclusion
Dashboards
Créer des outils performants et innovants ne suffit pas pour qu’ils soient utilisés par le plus grand nombres. En effet la plupart des gens susceptibles d’utiliser nos travaux n’est pas spécialiste en informatiques/mathématiques.
J’ai pu voir dans la galerie de Dash de nombreux travaux très sophistiqués. Je ne pense pas avoir dédié assez de temps pour pouvoir produire des dashboards aussi poussés. Mais je pense pouvoir faire des choses fonctionelles et épurées.
Efficacité
Le travail de comparaison a été fait par un étudiant non spécialiste donc les conclusions sont à prendre avec du recul.
Cependant, on peut voir que julia et R ont des capacités similaires en tant que wrappeurs C++.
Python reste derrière en terme de performance mais ce n’est en général pas pour ces raisons qu’on l’utilise.
Languages
Chaque language a ses particularités. Et on peut utiliser un language différent par tâches que l’ont souhaite accomplir.
Je ne sais pas quelle est la philosophie dans les gros projets d’entreprise. C’est peut-être plus difficile de travaille avec une base de code diverse, mais en tout cas ici, j’ai trouvé que chaque language avait ses avantages.
Julia
Tout d’abords, la librairie MLJ de Julia a rendu tout le travail de manipulation des données pour les donner à xgboost a été très clair et intuitifs.
MLJ dispose de multiple type de données les scitypes. Chaque modèles contenus dasn MLJ est associé a des scitypes particuliers.
Par exemple d’es qu’on a chargé une base on peut lui demander quels modèles sont utilisables.
Python
Python a été utile pour la comparaison, mais je ne pense pas qu’il été indispensable. J’aurai pu générer le CSV avec n’importe quelle autre language ou bash.
Mais j’ai toujours utilisé Python, c’est un peu mon language de coeur. De plus, avec la mise à jour 3.11 il est censé gagner en performance grace à des optimisations de son interpréteur. Donc lorsque l’infrastructure aura mis à jour ses dépendances. On pourra peut-être gagner un peu en vitesse sur notre benchmark.
R
Enfin, l’objet principal de ce projet aurait du être R. Les graphiques de comparaison on été réalisé avec le tidyverse, qui est une partie que je voulais aussi approfondir. Cependant, nous utilisons R dans tous les autres cours, je voulais donc profiter de ces UEs pour apprendre et travailler d’autres outils qui sont tout aussi intéressants et au moins plus innovants.
Présentation
Enfin, la présentation du travail fournit est aussi évaluée. J’ai choisi d’utiliser Quarto, car c’est un nouvel outil qui permet de présenter du contenu utilisant du code des 3 languages utilisés au cours du projet.
J’ai beaucoup aimé Quarto. On est plus obligé de fournir des pdf austères générés en LaTeX. Sobre mais pas si efficace au regard de Quarto. On peu intégrer du code dépliable. Des images générées en direct ou non.
Le tout, en pouvant choisir le type d’output désiré. Ce site pourrait a quelque ajustements près être exporté en pdf.
Au final ce projet, bien qu’il ait necessité beaucoup d’heures et de nombreux d’échecs, a été tres divertissant et formateur. On a pu se confronter à toutes les dernières avancées de chaque outils.
- Le remplacement de Rmarkdown par Quarto dans le fameux R4DS d’Hadley Wickam (Pas le stable),
- la création de wrappers d’outils générique (Dash, XGBoost) qui les rendent utilisables quelque soit le language.
Je pense que les distinctions entre languages s’ammenuisent, on peut aujourd’hui appeller du python en R, du R en julia etc.. Cela permet de se concentrer sur le fond et moins sur la forme. Et je trouve ca plutot bien.
Merci beaucoup de nous avoir permis d’apprendre autant. J’ai hâte de pouvoir encore progresser dans de nouveaux outils durant ce master.
PS: Serveur Web
Ayant été exposé à la puissance de Quarto dans la réalisation de documents HTML, je n’ai pas pu m’empêcher de vouloir déployer l’HTML statique sur un serveur. j’ai donc utilisé le service always free de Oracle pour créer une VM sous Oracle Linux et héberger un serveur http Apache.
Ce rapport est donc accessible à l’addresse julienstats.xyz.