Réf : DBI-191020
Data Scientist
Docteur en Astrophysique – Responsable Innovation chez Kuipers Talent
Tarif
560€ / J HT
Lieu
Ile-de-France
Expérience
4 ans
Disponibilité
Immédiate
Compétences clés
Formation et Diplômes
2020
OpenClassrooms
2013-2016
Université Paul Sabatier III, IRAP
2010-2013
Université Paris-Sud XI
Langues
Soft Skills
Esprit critique
Transversalité
Apprentissage continu
SYNTHÈSE DE PARCOURS
David possède 4 ans d’expérience professionnelle dans le domaine digital et s’est orienté depuis 2019 vers la data science. Il a réalisé divers projets qui lui ont donné des compétences solides en analyse de données, modélisation, machine learning, création d’application et dashboard interactif.
De formation Astrophysicien et passionné par les nouvelles technologies, David a très vite eu un intérêt pour la manipulation de données. Durant sa thèse, il a analysé des données 3D provenant des premières galaxies de l’Univers pour approfondir et partager des connaissances sur la réionisation cosmique.
Son attirance pour les technologies numériques l’a amené à devenir associé de la start-up Kuipers Talent dans laquelle il a pris en charge le département « Innovation & digital ». À ce titre, il a assuré un rôle de Chef de projet junior pour diverses missions telles que : produire une veille technologique et culturelle de solutions innovantes du marché, créer et mettre en œuvre des plateformes d’intermédiation et sites internet, concevoir et animer des ateliers liés à l’innovation et apporter son aide dans la recherche de partenaires innovants. David a acquis des connaissances dans le domaine très vaste du digital : SI, Big Data, IA, IoT, VR et AR, marketplaces, business model…
EXPERTISES
Compétences fonctionnelles
- Nettoyer et préparer des données structurées et non structurées
- Réaliser une analyse exploratoire des données (EDA)
- Synthétiser les résultats sous forme de représentations graphiques claires (dataviz)
- Développer un modèle de machine learning supervisé ou non supervisé (classification, régression, segmentation, prédiction, prévision, train/test validation…)
- Prétraiter des données image ou texte pour en extraire un jeu de données exploitable (Computer Vision, NLP)
- Mettre en œuvre des techniques de réduction de dimension (feature engineering, feature selection, bag of words…)
- Représenter graphiquement des données à grandes dimensions (PCA, t-SNE, UMAP…)
- Déployer un modèle dans un environnement Big data (AWS, PySpark)
- Créer un dashboard interactif via une API dans le Web (Flask, PythonAnywhere)
- Rédiger une note méthodologique afin de communiquer sa démarche de modélisation (communication technique pour une équipe d’experts data : data scientist/analysts/engineers/architects etc.)
- Rédiger un rapport de synthèse compréhensible pour tous (communication vulgarisée pour une équipe interne non experte data, ou pour des clients, le grand public etc.)
- Présenter son travail de modélisation à l’oral (niveau technique ou vulgarisé, anglais/français)
Compétences techniques
- Machine learning : Pandas, numpy, sklearn, computer vision, NLP
- Deep learning : Keras, Tensorflow, PyTorch
- Programmation : Python, Jupyter, SAS, Git
- Base de données : SQLite, MySQL, PostgreSQL
- Environnement Big Data : AWS, PySpark, Hadoop
- Dataviz : Tableau, matplotlib, seaborn, plotly
- Reporting : Word, InDesign, Photoshop, Illustrator
Autres
- Gestion de projet
- Animation de conférence et atelier
- Veille innovation
- Création de sites internet
LES PROJETS RÉALISÉS
Data scientist
Objectif : analyser et nettoyer des données avant de procéder à une feature selection
Contexte : une école en ligne veut s’étendre à l’international. À l’aide des données mondiales sur l’éducation, nous devons faire une proposition de pays par où commencer l’expansion.
Analyse exploratoire des données (EDA) : données manquantes, indicateurs…
Élimination des variables en-dessous d’un seuil de complétude défini
Sélection de 17 indicateurs sur 3665 initiaux (feature selection)
Création de variables pour répondre à la problématique (feature engeneering)
Proposition de 3 pays à l’aide d’autres indicateurs (force de proposition)
Objectif : analyser et nettoyer des données, effectuer des tests statistiques
Contexte : Avec les données sur les aliments, nous devons donner une idée d’application ainsi que sa faisabilité au vu des tests statistiques réalisés.
EDA : histogramme, nuage de points, densité de points, boîtes à moustache…
Nettoyage des données : valeurs aberrantes, données manquantes, lignes dupliquées…
Idée d’application : déduire le nutriscore à partir de 2 nutriments seulement
Premiers tests statistiques effectuées : régression linéaire
Réponse à la problématique : application faisable
Objectif : déterminer si l’on peut prédire la consommation électrique et les émissions de CO2 des bâtiments de Seattle
Contexte : Avec les données de 2015 et 2016, l’enjeu est de savoir si on peut prédire la consommation électrique et l’émission de CO2 pour un nouveau bâtiment de Seattle.
EDA et nettoyage des données : valeurs aberrantes, géolocalisation, outliers…
Feature engineering (création de variables : log, distances, moyennes…)
6 modèles testés : régressions linéaire/ridge/lasso, k-nn, random forest, gradient boosting
Analyse des feature importances pour éliminer les variables inutiles
Métriques pour mesurer la performance des modèles : R², RMSE, MAE, MAPE, SMAPE
Réponse : on peut établir des prédictions mais avec des incertitudes assez importantes
Objectif : effectuer un clustering pour distinguer des comportements clients
Contexte : Avec des données de commandes anonymisées sur deux ans, notre tâche est de départager les clients selon des critères à définir (localisation, pouvoir d’achat, etc.)
EDA et nettoyage des données : valeurs aberrantes, données manquantes, outliers…
Feature engineering : création de variables et jointure en un seul tableau
3 modèles de clustering testés : Kmeans, DBSCAN, hiérarchique
2 types de projection en 2D testés : PCA et t-SNE
Métriques pour mesurer la performance : silhouette, Davies-Bouldin, Calinski-Harabasz
Comportements clients : montant de la commande, catégories similaires de produit
Objectif : étudier la faisabilité d’un moteur de classification de produits à partir des images et des textes
Contexte : Les utilisateurs d’une marketplace peuvent poster leurs propres produits avec des photos et une description. L’enjeu est de savoir s’il est possible de classer automatiquement ces produits grâce aux images et aux textes.
Analyse de texte
Prétraitement de texte (NLP) : tokenisation, lemmatisation, stop words
Réduction dimensionnelle : TF, TF-IDF, NMF, LDA (topic modelling)
Modèles de classification : SGD, SVC, MultinomialNB, k-nn, random forest, ridge, PassiveAgressive, BernoulliNB…
Analyse d’image
Prétraitement d’images : redimensionnement, contraste, exposition, filtrage (bruit, Laplacien, Sobel…)
Détection de features d’une image avec ORB
Création de bags of visual words via Kmeans
Modèles de classification : k-nn, régression logistique, SVC linéaire, SVC à noyau, CNN (transfer learning via ResNet152)
Précision des prédictions sur 1000 produits :
MultinomialNB : 93%
CNN (ResNet152) : 68%
Objectif : créer un modèle de scoring pour noter les clients, prédire leur probabilité de défaut de paiement et créer un dashboard interactif via une API
Contexte : Nous devons évaluer la probabilité qu’a un client à pouvoir rembourser le crédit qu’il demande. Le dashboard doit permettre à la fois au banquier et au client de comprendre la décision de la banque.
Jointure des tables et feature engineering (min, max, mean, count, sum)
Nettoyage des données : complétude, données manquantes, variables corrélées
Métriques : recall et F1-score plus adaptées à la détection de faux négatifs (clients non fiables)
Modèles de prédiction : k-nn, SVM, Gaussian Process, Decision Tree, Random forest, Neural Net, Adaboost, Naive Bayes, QDA, XGBoost, LGBM, CatBoost
Méthodes pour améliorer la performance des modèles :
Modification de la fonction coût
Ré-échantillonnage des deux classes (fiable/pas fiable)
Création du dasboard interactif avec Streamlit
Récupération des données via une API avec Flask et PythonAnywhere
Objectif : Développer dans un environnement Big Data une première chaîne de traitement des données (passage à l’échelle)
Utilisation de Spark pour exécuter des calculs parallélisés et des services AWS (environnement Big Data)
Prétraitement d’images (OpenCV) et réduction dimensionnelle (bag of visual words) avec PySpark
Sauvegarde des livrables dans un bucket S3 sous format .csv
Responsable innovation chez Kuipers
- Assurer la mise en œuvre de 2 plateformes et 3 sites internet Kuipers
- Assurer la réalisation complète des sites internets pour les clients
- Maintenir les sites internet techniquement et visuellement
- Mettre en œuvre et coordonner la cellule innovation avec les équipes d’experts et Avant-Vente
- Assurer la veille technologique et culturelle des tendances du marché
- Accompagner la recherche et la sélection de nouveaux partenaires innovation
- Conseiller et assurer la veille des prospects et clients pour accompagner la transformation de leur organisation (management de projets, analyse du contexte et des outils, animation d’ateliers…)
- Animer des ateliers et des conférences
- Contribuer à l’organisation des évènements (workshop, team building, atelier de travail)
- Assurer la qualité des livrables (plaquettes, PTC, présentations institutionnelles…)