Découvrez les offres de stages de Quantmetry !

Bienvenue au sein de la contrée des opportunités de la Data !
Vous pourrez y trouver toutes nos offres de stages pour intégrer notre palpitante et folle aventure !
Vous ne trouvez pas d’opportunités à votre dimension ?
N’hésitez pas à nous envoyer votre candidature spontanée, nous faisons aussi du sur-mesure.

Qui sommes-nous ?

 

Nous pourrions commencer en nous présentant comme l’un des leaders sur le marché international du conseil en data, avec un chiffre d’affaires défiant ceux des G.A.F.A. Mais non. Nous préférons mettre en avant notre cadre de travail, nos réussites et surtout nos consultants. Allez venez, c’est par là…

Quantmetry c’est une centaine de personnes qui travaille de concert pour accompagner nos clients dans leurs réflexions, P.O.C., industrialisation autour de la Data, l’Intelligence Artificielle, le Machine Learning et la Big Data. Nous sommes ce qu’on peut appeler communément un cabinet de conseil pure player en Data.

N’étant pas sectorisés, nous intervenons sur différents sujets (voici une petite liste non-exhaustive) :

– La maintenance prédictive,

– La segmentation clients, le scoring,

– La détection de fraude, de corruption, de blanchiment d’argent,

– Le développement des architectures de plateformes Data,

– L’analyse de textes et d’images dans le cadre de la lutte contre le cancer du sein.

Dans le cadre de notre incessante croissance, nous recherchons des personnes motivées pour nous accompagner et ainsi travailler sur des projets de recherche.

 

Préalable

 

Quantmetry propose ci-dessous le volet R&D d’une offre de stage. Tout stagiaire entrant chez Quantmetry, outre le travail de R&D qui lui est proposé et pour lequel il sera encadré, aura aussi pour objectif de participer à certaines missions de conseil chez des clients variés, lui permettant d’aborder le monde du consulting.

Les offres

Offre pour les Data Scientists
(H/F)

Active learning

L’active learning est un domaine à part entière du machine learning. En effet, l’apprentissage supervisé nécessite un carburant : les labels. Par exemple, les transactions frauduleuses, les défauts sur les rails de train ou les spams doivent être labellisés (fraude/pas fraude, spam/pas spam) par un opérateur humain avant d’entraîner un modèle d’intelligence artificielle. La qualité des modèles de machine learning est grandement impactée par la quantité de données labellisées disponibles. Or, labelliser des données coûte cher pour plusieurs raisons :

  • Il nécessite des opérateurs humains effectuant un travail long, répétitif, et souvent délocalisé dans des pays à faible coût de main d’œuvre.
  • Pour certains cas d’usage, la labellisation nécessite une expertise rare (par exemple en santé) et peu de temps peut être alloué à cette tâche.

L’active learning est la science qui permet de minimiser le nombre de labels requis pour optimiser la performance d’un algorithme, dans une démarche à la fois éthique et pragmatique [1,2]. C’est aussi un outil d’adaptation à la dérive des modèles, qui permet d’affiner la frontière de décision en fonction des évolutions du signal. Plusieurs outils sont disponibles en accès libre, en particulier :

  • modAL [3,4], développé par l’académie hongroise des sciences
  • libact [5, 6], développé par l’université de Taiwan
  • AliPy [7, 8], développé par l’université de Nanjing (Chine)

La promesse de ces outils est de fournir des outils simples d’utilisation qui permettent d’implémenter des algorithmes d’active leaerning facilement.

Les objectifs de ce stage sont :

  • Prendre en main les 3 outils et les appliquer à des jeux de données simples en accès libre
  • Comparer leurs fonctionnalités, évaluer leur complétude vis-à-vis de l’état de l’art et lister leurs avantages/inconvénients
  • Construire un guide méthodologique et un tutoriel d’active learning avec les outils jugés les plus pertinents
  • Animer une formation en interne sur l’active learning

[1] http://www.charuaggarwal.net/active-survey.pdf

[2] https://towardsdatascience.com/active-learning-tutorial-57c3398e34d

[3] https://github.com/ntucllab/libact

[4] Danka and Horvath 2018, modAL : a modular active learning framework for python

[5] https://github.com/ntucllab/libact

[6] Yang et al. 2017, libact: pool-based active learning in python

[7] https://github.com/NUAA-AL/ALiPy

[8] ALIipy : active learning in python

Evaluation d’incertitudes en machine learning

Les modèles prédictifs n’ont pas seulement vocation à fournir des prédictions, mais également à évaluer leurs incertitudes. En effet, par nature, une mesure, et a fortiori une prédiction, est incertaine et possède une variance propre. Cet aspect est peu étudié dans la communauté machine learning car l’attention est rivée sur la performance. Toutefois, lorsqu’il s’agit d’automatiser un processus via un modèle, la notion de risque devient primordiale pour l’adoption de l’intelligence artificielle dans les entreprises. L’absence d’incertitude ou d’estimation de risque est en réalité un frein avéré à l’industrialisation des modèles de machine learning. Pour répondre à cette demande du marché, il est nécessaire de développer et déployer des méthodes intégrant ces notions. Il existe plusieurs méthodes, qui se basent notamment sur des librairies en accès libre. Parmi ces méthodes, on trouve :

  • Statsmodel [1] qui une librairie standard de modèles statistiques, et recoupe à bien des égards les fonctionnalités de scikit-learn
  • Forest-confidence-interval [2, 3], développé par l’université de Washington
  • Les régressions quantiles sur gradient boosting [4, 5, 6]
  • La perturbation de données par bootstrap [7] ou de modèles par dropout [8] ou modification de la graine aléatoire

Ces méthodes ne sont pas unifiées, et sont parfois spécifiques à certains algorithme. Il est donc primordial de bien comprendre les champs d’application de chacune et d’identifier les points méthodologiques communs.

Les objectifs de ce stage sont :

  • Prendre en main les 2 outils statsmodels et forest-confidence-interval
  • Comparer leurs fonctionnalités, évaluer leur complétude vis-à-vis de l’état de l’art et lister leurs avantages/inconvénients
  • Construire un guide méthodologique et un tutoriel d’évaluation des incertitudes avec les outils jugés les plus pertinents
  • Animer une formation en interne sur l’évaluation d’incertitudes

[1] https://github.com/statsmodels/statsmodels

[2] https://github.com/scikit-learn-contrib/forest-confidence-interval

[3] Wager et al. 2014, Confidence Intervals for Random Forests: The Jackknife and the Infinitesimal Jackknife

[4] https://github.com/dmlc/xgboost

[5] https://github.com/microsoft/LightGBM

[6] https://towardsdatascience.com/regression-prediction-intervals-with-xgboost-428e0a018b

[7] https://machinelearningmastery.com/confidence-intervals-for-machine-learning/

[8] https://www.datagenius.fr/post/bayesian-deep-learning-soyez-sur-de-vos-incertitudes

Adaptation de domaine et transport optimal

Le machine learning est bâti sur une hypothèse rarement remise en cause, à savoir : les données sont indépendantes et identiquement distribuées. C’est l’hypothèse implicite et sous-jacente à toutes les techniques de séparation train/test et de validation croisée. Toutefois en pratique, cette hypothèse est rarement vérifiée. En effet, les données sont des signaux envoyés par un monde en constante évolution. A ce titre, les données n’échappent pas à la règle : elles évoluent dans le temps également, plus ou moins rapidement. C’est un vrai problème pour la mise en production de modèles prédictifs, car le jeu d’entraînement est souvent éloigné dans le passé, rendant le modèle obsolète pour prédire aujourd’hui. L’adaptation de domaine est la science qui cherche à résoudre ce problème [1,2] (voir [3] pour une vulgarisation en français) : sachant un jeu de données labellisées (X, Y) et un jeu de prédiction non-labellisé Z, comment transformer X pour qu’il ressemble le plus possible à Z et corriger l’obsolescence du modèle ?

Plusieurs outils implémentent des solutions d’adaptation de domaine, et plus largement de transport optimal. Certaines sont disponibles en accès libre, en particulier :

  • libTLDA [4], développé par l’université de Delft (Pays-Bas)
  • salad [5, 6], développé par l’université de Tubingen (Allemagne)
  • POT [7], développé par l’université Nice Sophia-Antipolis et l’Université Bretagne-Sud

La promesse de ces outils est de fournir une interface type sckit-learn et de démocratiser l’usage de l’adaptation de domaine.

Les objectifs de ce stage sont :

  • Prendre en main les 3 outils et les appliquer à des jeux de données simples en accès libre
  • Comparer leurs fonctionnalités, évaluer leur complétude vis-à-vis de l’état de l’art et lister leurs avantages/inconvénients
  • Construire un guide méthodologique et un tutoriel d’adaptation de domaine avec les outils jugés les plus pertinents
  • Animer une formation en interne sur l’adaptation de domaine

[1] Koow and Loog 2018, an introduction to domain adaptation and transfer learning

[2] Courty et al. 2015, optimal transport for domain adaptation

[3] P. Lemberger 2019, le transport optimal, couteau suisse de la data science

[4] https://github.com/wmkouw/libTLDA

[5] https://github.com/domainadaptation/salad

[6] Schneider et al. 2018, SALAD: A Toolbox for Semi-supervised Adaptive Learning Across Domains

[7] https://github.com/rflamary/POT

Contrôle de processus stochastiques

La surveillance de modèles prédictifs en production nécessite de tracer des indicateurs Data Science, que ce soit sur les données d’entrée du modèle ou sur les prédictions en sortie. Idéalement, il s’agit également de mesurer les performances du modèle, dans les limites imposées par le processus de labellisation. Ces indicateurs prennent la forme de séries temporelles régulièrement mises à jour. Une question fondamentale est alors : comment détecter, sur la base de ces indicateurs, une dérive dans les propriétés des données ou du modèle ? En effet, le modèle est une modélisation statique d’un monde dynamique, et est donc amené à devenir obsolète ou à réagir différemment en cas de changement dans le signal [1]. Le contrôle de processus stochastiques est la science qui permet justement de prévenir les dérives d’un signal temporel et d’émettre des alarmes rapidement. Elle est intimement liée à la détection de ruptures dans les séries temporelles [2].

Plusieurs outils implémentent des solutions de contrôle de processus stochastiques et sont disponibles en accès libre, en particulier :

  • Scikit-mutliflow [3, 4], développé par Telecom ParisTech et l’université de Waikato (Nouvelle-Zélande)
  • Pyspc [5], développé par un ingénieur indépendant,
  • Ruptures [6, 7], développé par l’ENS Cachan et l’université Paris Descartes

Les deux premiers outils se focalisent sur la détection de dérive en temps réel (online) sur des séries temporelles, tandis que le troisième fait appel à des techniques plus coûteuses d’optimisation, et permet la détection de dérive a posteriori, ou en mode offline.

Les objectifs de ce stage sont :

  • Prendre en main les 3 outils et les appliquer à des jeux de données simples en accès libre
  • Comparer leurs fonctionnalités, évaluer leur complétude vis-à-vis de l’état de l’art et lister leurs avantages/inconvénients
  • Construire un guide méthodologique et un tutoriel de contrôle de processus stochastiques avec les outils jugés les plus pertinents
  • Animer une formation en interne sur le contrôle de processus stochastiques

[1] Gama et al. 2013, A Survey on Concept Drift Adaptation

[2] Truong et al. 2019, Selective review of offline change point detection methods

[3] https://github.com/scikit-multiflow/scikit-multiflow

[4] Scikit-Multiflow: A Multi-output Streaming Framework

[5] https://github.com/carlosqsilva/pyspc

[6] https://github.com/deepcharles/ruptures

[7] Truong et al. 2018, ruptures: change point detection in Python

Sélection de variables

La mise en production de modèles de machine learning dans les entreprises se heurte aujourd’hui à plusieurs barrières. Tout d’abord, les modèles sont dits boîtes noires et suscitent la défiance des utilisateurs. Enfin, les modèles sont complexes à mettre à jour car le nombre de variables explicatives est trop élevé et décuple les coûts de maintenance. L’intelligibilité des modèles et leur maintenance en conditions opérationnelles défendent donc la simplicité et le nombre réduit de variables. Les modèles de machine learning sont plus facilement appréhendables par des utilisateurs non-experts, et sont plus faciles à maintenir et mettre à jour, s’ils reposent sur peu de variables. A ce titre, la sélection de variables (feature selection) est un ingrédient primordial de modélisation en machine learning. Il existe beaucoup de méthodes de sélection de variables, mais trop peu sont encore implémentées dans les librairies standard type scikit-learn. D’autres implémentations développées en recherche fondamentale et appliquée existent et sont parfois méconnues de la communauté. Parmi ces implémentations, on trouve en accès libre :

  • Stability-selection [1,2], développé par QuantumBlack, un cabinet de conseil londonien en Data Science
  • MLXtend [3], développé par l’université du Wisconsin-Madison
  • Scikit-feature [4, 5], développé par l’université d’Arizona

La promesse de ces outils est de fournir une interface type scikit-learn pour diffuser et démocratiser les méthodes de sélection de variables.

Les objectifs de ce stage sont :

  • Prendre en main les 3 outils et les appliquer à des jeux de données simples en accès libre
  • Comparer leurs fonctionnalités, évaluer leur complétude vis-à-vis de l’état de l’art et lister leurs avantages/inconvénients
  • Construire un guide méthodologique et un tutoriel de sélection de variables avec les outils jugés les plus pertinents
  • Animer une formation en interne sur la sélection de variables

[1] https://github.com/scikit-learn-contrib/stability-selection

[2] https://thuijskens.github.io/2018/07/25/stability-selection/

[3] https://github.com/rasbt/mlxtend

[4] https://github.com/jundongl/scikit-feature

[5] Li et al. 2018, Feature Selection: A Data Perspective

Speech2Text

Quantmetry se positionne depuis plusieurs années comme pionnier sur des sujets d’Intelligence Artificielle nécessitant une forte composante R&D. Afin de satisfaire au mieux les besoins de ses clients, Quantmetry se structure autour de pôles d’expertises, et en particulier le pôle NLP (Natural Language Processing).

Le Natural Language Processing (NLP) est une branche de l’informatique et de l’intelligence artificielle qui cherche à comprendre et à modéliser le langage. Plus précisément, cette discipline cherche à rendre le langage compréhensible par un ordinateur, de sorte à ce que ledit ordinateur puisse mimer la compréhension et le raisonnement d’un humain, de façon autonome, et plus rapidement.

Le langage oral étant le vecteur privilégié de communication depuis quelques (milliers d’) années, c’est naturellement que sa transcription en texte écrit (ou Speech2Text) occupe aujourd’hui une place de choix au sein des grandes problématiques adressées par le NLP.

Après avoir réalisé avec succès missions et concours R&D sur le sujet, Quantmetry souhaite continuer d’accroître sa connaissance du Speech2Text avec l’ambition de réaliser des sujets aussi divers que le sous-titrage, la transcription de conversations cockpit, la transcription de rapports-terrains, du speech2text offline and on device, … La popularité de cette tâche a largement cru au cours de ces 2 dernières années, notamment avec l’essor d’architectures telles que DeepSpeech ou bien SMLTA. Le stage se propose donc d’internaliser ce type de technologies.

 

Tâches proposées

La ou le stagiaire aura à produire un état de l’art sur les sujets de Speech2Text. La ou le stagiaire aura à entraîner et/ou fine-tuner des architectures à l’état de l’art, sur des données en anglais et en français.

 

Résultats attendus

Les résultats attendus sont le code source documenté accompagné d’une documentation scientifique et technique, comprenant une revue de l’état de l’art sur les sujets Speech2Text. Une ou plusieurs restitutions sous forme de présentation orale à des publics experts ou novices sont également à prévoir.

 

Compétences souhaitées

Nous recherchons quelqu’un.e de dynamique et curieux.se, qui saura s’intégrer et faire progresser notre ambitieuse expertise NLP !

 

Savoir-être

  • Autonome
  • Travail en équipe
  • Proactif

 

Data Science

  • Machine Learning
  • Expérience en Deep Learning (stage, projet et/ou cours)

 

Engineering

  • Python
  • Bonnes pratiques de développement logiciel

Génération de texte : réponse automatique

Quantmetry se positionne depuis plusieurs années comme pionnier sur des sujets d’Intelligence Artificielle nécessitant une forte composante R&D. Afin de satisfaire au mieux les besoins de ses clients, Quantmetry se structure autour de pôles d’expertises, et en particulier le pôle NLP (Natural Language Processing).

Le Natural Language Processing (NLP) est une branche de l’informatique et de l’intelligence artificielle qui cherche à comprendre et à modéliser le langage. Plus précisément, cette discipline cherche à rendre le langage compréhensible par un ordinateur, de sorte à ce que ledit ordinateur puisse mimer la compréhension et le raisonnement d’un humain, de façon autonome, et plus rapidement. Comprendre l’idée générale d’un texte, l’ironie, les éléments déterminants d’un paragraphe, saisir la bienveillance et la malveillance, ou encore être capable de générer un contenu textuel cohérent, sont autant d’exemples de branches et tâches du NLP qui connaissent un engouement exceptionnel ces dernières années.

Quantmetry souhaite s’intéresser à l’une de ces branches en particulier : la génération de texte. Ses applications sont nombreuses, parmi lesquelles la traduction automatique, ou encore l’auto-complétion. C’est ce dernier cas d’usage qui sera l’objet du stage. La popularité de cette tâche a très largement cru en 2019, notamment avec l’essor d’architectures à l’état de l’art telles que GPT 2, et son utilisation dans l’industrie comme par exemple l’auto-complétion de code, ou encore l’auto-complétion réalisée par Gmail. Le stage propose d’internaliser ce type de technologies, et ce plus précisément dans le cadre de la réponse à une demande client. Le traitement de demandes clients est une problématique largement rencontrée dans les missions réalisées par Quantmetry (demande d’information, de document, réclamations, …) ; personnaliser et/ou accélérer la réponse apportée à un client est un enjeu clé de la relation client. A ce titre, il mérite un intérêt tout particulier.

 

Tâches proposées

La ou le stagiaire aura à produire un état de l’art sur les sujets de génération de texte. La ou le stagiaire aura à entraîner et/ou fine-tuner des architectures à l’état de l’art, pour pouvoir générer la meilleure réponse à une demande client donnée.

 

Résultats attendus

Les résultats attendus sont le code source documenté accompagné d’une documentation scientifique et technique, comprenant une revue de l’état de l’art sur les sujets de génération de texte. Une ou plusieurs restitutions sous forme de présentation orale à des publics experts ou novices sont également à prévoir.

 

Compétences souhaitées 

Nous recherchons quelqu’un.e de dynamique et curieux.se, qui saura s’intégrer et faire progresser notre ambitieuse expertise NLP !

 

Savoir-être

  • Autonome
  • Travail en équipe
  • Proactif

 

Data Science

  • Machine Learning
  • Expérience en Deep Learning (stage, projet et/ou cours)
  • Expérience en NLP (stage, projet, et/ou cours)

 

Engineering

  • Python
  • Bonnes pratiques de développement logiciel

Adversarial Machine Learning - GANs

Quantmetry se positionne depuis plusieurs années comme pionnier sur des sujets d’Intelligence Artificielle nécessitant une forte composante R&D. Afin de satisfaire au mieux les besoins de ses clients, Quantmetry se structure autour de pôles d’expertises.

Au cours de cette R&D, les méthodologies de modèles génératifs basés sur le Deep Learning ont été investigués, et plus particulièrement les Generative Adversarial Networks (GANs).

Les GANs sont un cadre d’estimation de modèle génératif. Il s’agit d’une façon d’entraîner des réseaux de neurones à représenter implicitement la distribution qui a permis de générer un certain jeu de données. On peut alors générer de nouveaux échantillons, plus ou moins réalistes selon le niveau de qualité du modèle. Plus précisément, deux réseaux sont entraînés simultanément en concurrence : un générateur G  (responsable de la génération de données, par exemples des images) et un discriminateur D  (dans le cas général, il s’agit d’un classifieur estimant la probabilité qu’une donnée provienne des données d’origine).

Appliqués à des données images, mais aussi tabulaires, de nombreux usages sont à portée de main, et la recherche académique est prolifique.

 

Tâches proposées

En suite de premiers travaux sur la génération de données tabulaires numériques continues, discrètes et catégorielles, ayant pour objectif de générer des données synthétiques suffisamment qualitatives pour remplacer des données réelles lors de l’entraînement de modèles de Machine Learning de type classification, le stage proposé

vise à capitaliser sur ces développements afin de les généraliser ces travaux, avec un objectif d’amélioration de la robustesse des modèles ML.

L’objectif sera donc d’investiguer l’adversarial machine learning, ou comment générer de nouvelles données améliorant la robustesse d’un modèle.

Les GANs utilisés pourront être par exemple WassersteinGAN avec Gradient Penalty, Cramer GAN, éventuellement MedGan ou encore couplés à un autoencodeur.

Les méthodes hors GAN doivent également être benchmarkées.

 

Résultats attendus

Les résultats attendus sont le code source générique documenté accompagné d’une documentation scientifique et technique.

Une ou plusieurs restitutions sous forme de présentation orale à des publics experts ou novices sont également à prévoir.

Compétences souhaitées

Savoir-être

  • Autonome
  • Travail en équipe
  • Proactif
  • Esprit critique

Data Science

  • Machine Learning
  • Deep Learning
  • Statistiques

Engineering

  • Python
  • TensorFlow, Keras
  • Bonnes pratiques de développement logiciel
Offre pour les Machine Learning Engineers
(H/F)

Développement d’un design pattern data science

Un design pattern est une solution pratique à un problème de conception logiciel. Il existe de nombreux design pattern classiques répondant à différentes problématiques logicielles (web, microservices …).

Actuellement nous n’avons pas de design pattern spécifiquement adaptés pour les projets data science. Pourtant certaines problématiques subsistent :

  • Comment garantir une évaluation des performances fiable ? (notamment garantir l’absence de leakage dans le processus d’évaluation des performances, c’est à dire l’utilisation d’informations qui ne seraient pas disponibles en production) ?
  • Comment être robuste au changement de l’infrastructure ou des sources de données en cours de développement ?
  • Comment l’architecture choisie facilite le versionnement des modèles et des données ?

L’objectif de ce stage est donc de construire cette méthodologie de développement en interaction avec nos data scientists, nos data engineer et nos architectes. Cette solution sera par la suite intégrée à nos bonnes pratiques de développement.

Plusieurs étapes seront nécessaires au cours du stage :

  • Une veille scientifique sur les designs pattern data science existants
  • Une veille interne pour recenser les problèmes techniques rencontrés par les data scientist et les data engineer en mission
  • La rédaction d’un guide méthodologique formalisant ces différents design pattern “data science”, leurs conditions d’applicabilité ainsi que des exemples d’implémentations.
  • Le test de ces design pattern, soit dans le cadre d’une mission soit dans la modification du template de code actuel.

Apprentissage adaptatif et stream mining

En présence de données fortement volatiles, les modèles standards de machine learning voient leurs performances décroître dans le temps, et devenir obsolètes. C’est le cas par exemple des algorithmes de détection de fraude, qui doivent se battre contre un adversaire aux stratégies changeantes, les algorithmes d’enchères publicitaires, qui doivent surfer sur les vagues de promotions et les changements de consommation, ou encore les algorithmes de prévision de consommation électrique, soumis aux aléas de la vie et situations familiales et professionnelles. La dérive des signaux contenus dans les données est appelée dérive conceptuelle (concept drift) [1]. Il existe une famille d’algorithmes spécialement dédié à l’apprentissage sur des données évolutives à forte volumétrie (stream mining), les algorithmes adaptatifs.

L’essentiel du savoir-faire et de la recherche en apprentissage adaptatif est centralisé sur trois outils :

  • Scikit-multiflow [2, 3], écrit en python, développé par Telecom ParisTech,
  • Massive Online Analysis (MOA) [4, 5], écrit en Java, développé par l’université de Waikato (Nouvelle-Zélande)
  • Apache Scalable Massive Online Analysis (SAMOA) [6, 7], écrit en Java et incubé par la fondation Apache, développé par Yahoo Labs (Barcelone).

SAMOA vise la scalabilité des algorithmes. MOA concentre l’état de l’art en la matière et est entièrement compatible avec SAMOA. Scikit-multiflow est une version allégée de MOA écrite en python et avec la même syntaxe que scikit-learn, dans une volonté de diffusion élargie.

Les objectifs de ce stage sont :

  • Prendre en main les 3 outils et les appliquer à des jeux de données simples en accès libre. On évaluera notamment la capacité de SAMOA à s’intégrer dans un environnement Big Data.
  • Comparer leurs fonctionnalités, évaluer leur complétude vis-à-vis de l’état de l’art et lister leurs avantages/inconvénients
  • Construire un guide méthodologique et un tutoriel d’apprentissage adaptatif avec les outils jugés les plus pertinents
  • Animer une formation en interne sur l’apprentissage adaptatif

[1] Gama et al. 2013, A Survey on Concept Drift Adaptation

[2] https://github.com/scikit-multiflow/scikit-multiflow

[3] Montiel et al. 2018, Scikit-Multiflow: A Multi-output Streaming Framework

[4] https://github.com/Waikato/moa

[5] Bifet et al. 2010, MOA: Massive Online Analysis

[6] https://github.com/apache/incubator-samoa

[7] De Francisci Morales and Bifet 2015, SAMOA: Scalable Advanced Massive Online Analysis

Candidature spontanée

Vous ne trouvez pas d’opportunités à votre dimension ?
N’hésitez pas à nous envoyer votre candidature spontanée, nous faisons aussi du sur-mesure.

Offre pour les Data Engineers
(H/F)

Validation automatique de la donnée

La première étape de tout traitement des données, en particulier du cycle de vie des données, et par extension du cycle de vie des modèles, est la validation de la donnée. En particulier, au même titre qu’un code, la donnée doit pouvoir faire l’objet de tests unitaires automatiques afin de rejeter la donnée de mauvaise qualité et de prévenir les risques y afférant. Une méthode émergente de validation automatique repose sur un schéma de contraintes, capable de sauvegarder toutes les hypothèses faites sur un jeu de données, et de logger toutes les non-conformités observées.  Plusieurs librairies en accès libre proposent ce genre de service :

  • TDDA (Test-Driven Data Analysis) [1, 2], développé par Stochastic Solutions et le département de mathématique de l’université d’Edimbourg,
  • TensorFlow Data Validation [3,4], développé par Google Research,
  • Delta Lake [5], développé par l’éditeur de solutions Databricks,
  • Deequ [6, 7], developpé par Amazon Research et l’université d’Augsbourg

Les schémas de contraintes sont un élément clef du cycle de vie des données, et la promesse de ces outils est d’automatiser la découverte et la maintenance des contraintes auxquelles doivent obéir les données.

Les objectifs de ce stage sont :

  • Prendre en main les 4 outils et les appliquer à des jeux de données simples en accès libre
  • Comparer leurs fonctionnalités et lister leurs avantages/inconvénients
  • Construire un guide méthodologique et un tutoriel de validation de donnée avec les outils jugés les plus pertinents

Animer une formation en interne sur la validation automatique de la donnée

 

[1] https://github.com/tdda/tdda

[2] https://www.youtube.com/watch?v=FIw_7aUuY50

[3] https://github.com/tensorflow/data-validation

[4] Breck et al. 2019, Data Validation for Machine Learning

[5] https://github.com/delta-io/delta

[6] https://github.com/awslabs/deequ

[7] Schelter et al. 2018, Automating Large-Scale Data Quality Verification

Candidature spontanée
(H/F)

Faire un candidature spontanée

Vous ne trouvez pas d’opportunités à votre dimension ?
N’hésitez pas à nous envoyer votre candidature spontanée, nous faisons aussi du sur-mesure.

Découvrez la vie d'une société tech, big data et IA