Le portefeuille Killer Data Science qui vous permet d'être embauché
Si vous postulez à des emplois en science des données sans portefeuille de projets pour mettre en valeur vos compétences, vous vous sous-estimez. Dans cet article, je vais expliquer pourquoi un portefeuille est indispensable pour tout analyste de données ou scientifique de données et comment créer un portefeuille de science des données époustouflant.
Ai-je besoin d'un portefeuille de projets de science des données ?
Imaginez embaucher un groupe pour votre mariage sans savoir quel genre de musique ils jouent ! C'est une stratégie « j'ai de la chance » qui pourrait mener à un début difficile.
Maintenant, l'imagerie a trois bandes parmi lesquelles choisir. L'un d'eux a inclus un portefeuille SoundCloud où ils ont des aperçus de leurs chansons soigneusement organisés en genres sous forme de listes de lecture. Cela ne vous amènerait-il pas immédiatement à écouter leur musique, à partager avec votre partenaire et à prendre collectivement la décision de les embaucher ainsi que de suggérer des personnalisations ?
Il en va de même pour les recruteurs et les responsables du recrutement qui examinent votre CV. Ils sont plus susceptibles de cliquer sur votre portfolio, d'explorer vos projets, de lire les commentaires publics, de voir l'historique de vos activités, etc.
En incluant un portefeuille, vous augmentez considérablement les chances de votre client (le HM ou le recruteur) d'en savoir plus sur vous , vos compétences en matière de données, votre capacité à appliquer ces compétences et, espérons-le, votre véritable passion pour l'analyse des données. Donc, OUI , vous avez absolument besoin d'un portefeuille.
Comment créer un portfolio de science des données impressionnant
Explorons comment les scientifiques des données, les analystes de données et d'autres passionnés de données peuvent créer un portefeuille incroyable qui ne manquera pas de susciter l'enthousiasme et l'intérêt des employeurs potentiels. Au-delà de l'emploi, les portfolios sont un excellent moyen de rester motivé pour apprendre et se présenter - créez votre propre marque, c'est-à-dire !
Un portefeuille ultime de science des données comporte 4 composants qui doivent être extrêmement solides :
- Où héberger le portfolio : Il est essentiel de vous assurer que vous hébergez votre portfolio sur une plate-forme conçue pour présenter publiquement votre travail tout en mettant l'accent sur la profondeur et la qualité de votre code. GitHub est de loin le choix le plus populaire de ces deux points de vue. C'est également une pratique normale pour un responsable du recrutement de demander ou d'explorer de manière proactive le profil GitHub d'un candidat afin de comprendre le niveau de compétence du candidat.
- Organisez les projets en collections significatives : un portefeuille bien organisé indique au monde que vous avez ce qu'il faut pour fournir des informations complexes et interconnectées dans un format facile à saisir.
- Sélectionnez des projets percutants qui transmettent le message que vous aimeriez que le responsable du recrutement ou le recruteur retiennent - à savoir : "vous êtes doué pour partir de l' ambiguïté " → "vous êtes doué pour explorer de manière guidée et planifiée" → "vous êtes doué pour techniques de base de ML » → « vous êtes doué pour estimer l' impact » → et « vous pouvez faire tout cela avec une qualité de code exceptionnelle »
Utilisez GitHub pour votre portefeuille de science des données
Il existe de nombreuses raisons pour lesquelles GitHub est la plate-forme préférée pour héberger du code, des projets et des données. GitHub est gratuit et propose des options payantes avec des fonctionnalités avancées telles que CI/CD. Pour un usage personnel, comme l'hébergement de votre portefeuille de science des données, des projets d'apprentissage automatique et similaires, la version gratuite est un excellent choix.
En plus d'être gratuit, il y a trois raisons (parmi les nombreuses) pour lesquelles GitHub est parfait pour notre cas d'utilisation :
- Lisez-moi : Les fichiers Lisez-moi sont des joyaux absolus s'ils sont utilisés efficacement. Pensez si le fichier Lisez-moi est un document d'introduction, d'explication et de conclusion, similaire à un rapport de laboratoire. C'est là que vous parlez au public du projet, du problème à résoudre, de l'approche que vous adoptez et pourquoi, des hypothèses que vous avez faites, des idées que vous avez recueillies, de l'application de ces idées dans le monde réel et des améliorations futures. vous aimeriez faire. Trop de détails ici vous feront paraître immature. Trop peu de détails vous feront paraître incompétents. Donc, fournissez la bonne quantité de détails qui sont essentiels pour qu'un lecteur puisse avoir une vue d'ensemble. Ceci est important car c'est ce que font les data scientists lorsqu'ils ne modélisent pas : expliquer les problèmes métier et décrire leurs solutions .
- Découvrabilité : les portfolios sont destinés à être publics, c'est-à-dire que n'importe qui sur le Web peut trouver votre portfolio et voir les projets sur lesquels vous travaillez. GitHub a une visibilité exceptionnelle sur les moteurs de recherche, ce qui signifie que toute personne à la recherche de projets similaires pourra atterrir sur le vôtre !
- Profil : Votre profil GitHub est ce que vous partageriez idéalement avec les autres. Au sein de votre profil, il y aura des référentiels ainsi que votre graphique de contribution. Le graphique de contribution est un moyen rapide pour les gestionnaires d'embauche et les recruteurs d'évaluer si vos compétences sont actives ou passives.
- Aperçu du bloc-notes Jupyter : la plupart des spécialistes des données utilisent les blocs-notes Jupyter pour travailler sur des projets de données et les partager publiquement. GitHub rend les notebooks Jupyter de manière native, permettant aux lecteurs de voir votre code, votre texte et vos graphiques affichés exactement comme vous les enregistrez. Cela garantit une grande lisibilité.
Use a modern notebook platform
Rather than using Jupyter Notebooks locally, I would recommend using a modern notebook platform like Noteable. The interactive data explorer and visualizations will help speed up your projects and allow you to focus on your the strength of your models, insights, discussions and conclusions.
You can then export the project as a Jupyter Notebook and upload to GitHub. Needless to say, you should also make your Noteable project public.
Une fois que vous avez un compte GitHub, la question suivante est de savoir quels projets présenter. Selon votre domaine choisi, et éventuellement votre spécialité, ces projets peuvent varier considérablement.
Quels sujets couvrir dans un portfolio pour Data Scientists
Les scientifiques des données doivent montrer qu'ils maîtrisent les trois domaines suivants :
- Identification des problèmes métier : votre capacité à prendre un ensemble de données public, à le lire, puis à formuler quelques hypothèses ou quelques problèmes métier inventés va démontrer votre capacité à appliquer vos connaissances à des applications réelles. Par exemple, dans cet ensemble de données public sur le commerce électronique , vous pourriez proposer un problème commercial : " Rechercher les produits les plus vendus et déterminer s'il faut ou non en faire la publicité sur les réseaux sociaux".
- Extraction de données
Interrogation, nettoyage, agrégation d'ensembles de données désordonnés à l'aide de SQL, de Pandas (et de toutes les autres bibliothèques que vous préférez). Je ne saurais trop insister sur l'importance de mettre en valeur les compétences SQL . En tant que responsable du recrutement, il est très peu probable que j'embauche un data scientist qui maîtrise parfaitement Python mais ne connaît pas SQL.
- Écrire directement du SQL sur des fichiers Excel et CSV : Écrire du SQL dans les notebooks Jupyter est une corvée. Vous devez généralement utiliser une bibliothèque, puis écrire le SQL entre guillemets. Je recommande d'utiliser un cahier moderne comme noteable.io qui vous permet d' exécuter des requêtes directement sur un fichier Excel ou CSV sans avoir besoin d'une base de données. Après tout, puisque vous ne postulez pas pour un rôle d'architecte de base de données, il n'y a vraiment que peu ou pas de valeur à lutter pour créer une base de données locale.
- Se connecter à la base de données : bien sûr, vous pouvez vous connecter aux bases de données dans Noteable, mais il n'est peut-être pas si facile (ou gratuit) pour vous d'accéder à une base de données publique. Si vous avez accès (Google : "ensembles de données publics BigQuery") à une base de données, vous pourrez alors écrire du SQL natif dans Noteable. Pas besoin de forfaits, de devis et de toutes ces bêtises.
- Créer une base de données locale : vous pouvez également créer une base de données locale sur votre ordinateur, mais cela prend du temps et vous oblige à trouver des données que vous devez saisir dans les tables. Après tout, votre objectif est de mettre en valeur vos compétences SQL, et non vos compétences en administration de bases de données SQL.Du coup, je considère cet itinéraire comme une assez grosse perte de temps . - Exploration de données, visualisation
Il est essentiel pour tout spécialiste des données d'être capable d'écrire un code de bonne qualité pour segmenter, filtrer, explorer et visualiser rapidement les données. La plupart utiliseront Python ou R. Ainsi, alors que les plates-formes de notebook modernes comme Noteable vous permettront de créer des graphiques de manière interactive, je recommande toujours d'ajouter quelques visualisations vraiment sympas (voir r/dataisbeautiful pour l'inspiration) qui montrent votre capacité à utiliser Pandas, lambda fonctions (facultatives mais géniales), et matplotlib/seaborn etc. - Apprentissage automatique
Cependant, la plupart des scientifiques des données, des analystes de données, des ingénieurs de données, des ingénieurs en intelligence d'affaires et des ingénieurs en apprentissage automatique trouveront avantageux d'inclure certaines des méthodes suivantes dans leurs projets :
● Arbres de décision
● Clustering K-means
● K-plus proches voisins ( KNN)
● Régression linéaire
● Régression logistique
● Naive Bayes
● Analyse en composantes principales (ACP)
● Forêts aléatoires
● Machine à vecteurs de support
Cette liste comprend certaines des méthodes les plus populaires et les plus utilisées dans le monde professionnel, et est donc une grande source d'inspiration pour vos futurs projets. En ayant une connaissance intime de ne serait-ce que quelques-unes de ces méthodes, vous augmentez considérablement vos chances d'impressionner le responsable du recrutement lors de votre prochain entretien d'embauche. Je vous recommande de considérer le type d'emploi que vous aimeriez obtenir, puis de travailler avec certains des algorithmes ci-dessus qui sont couramment implémentés dans le domaine que vous avez choisi.
Lorsqu'il s'agit de choisir votre prochain projet, le meilleur conseil que j'aie jamais rencontré est de se concentrer sur un problème réel et d'essayer de le résoudre. Bien sûr, la plupart des problèmes dans le monde réel sont remplis de variables inconnues et de grandes quantités de données.
Essayez donc de choisir un problème quelque peu limité, soit par sa portée, soit par sa complexité, ou peut-être même les deux ! Gardez également à l'esprit que vous devez être passionné, au moins un peu, par le projet que vous choisissez .
Si vous n'êtes pas du tout engagé dans le processus ou les résultats, la qualité de votre travail sera probablement médiocre et vous risquez davantage de vous épuiser et d'abandonner avant de le terminer. Trouvez donc quelque chose qui vous passionne, même si cela a déjà été fait auparavant . Vous apprendrez toujours de précieuses leçons et aurez un projet complet à utiliser dans votre portfolio !
Inspiration pour vos prochains projets
Ce sont mes sources personnelles préférées pour trouver des idées de projets ou pour apprendre un nouveau sujet. Les deux ont une richesse de ressources - alors assurez-vous de ne pas vous perdre dans la largeur du contenu. Choisissez plutôt un sujet et concentrez-vous sur la profondeur à laquelle vous pouvez descendre.
- https://goodboychan.github.io/categories/: Ceci est mon repo/blog préféré à suivre. Il contient une quantité époustouflante de didacticiels et d'exemples soigneusement organisés sous des sujets.
- Kaggle : Cela reste une mine d'or d'ensembles de données ainsi que de cahiers publics qui peuvent vous aider à apprendre et à améliorer la qualité de votre code.
Exemple de projet
Par exemple, une méthode populaire est le clustering K-means, qui est un algorithme extrêmement simple pour l'apprentissage automatique, où vous n'avez besoin de connaître que quelques variables et points de données différents pour obtenir des résultats intéressants.
Imaginons que vous travaillez pour une grande entreprise de commerce électronique en ligne et que cette entreprise a recueilli des informations clés auprès de ses clients. Ces données incluent l'âge des clients, le montant qu'ils dépensent et les types de produits qu'ils ont achetés.
Le clustering K-means vous permet ensuite de segmenter chaque achat et chaque utilisateur en clusters, afin d'avoir une vue d'ensemble des différents buyer personas. Tout cela, avec seulement 3 variables différentes.
Comment aborder les projets
Si votre objectif principal pour créer un portefeuille en ligne de vos projets de science des données est d'attirer des employeurs potentiels, vous devez aborder chaque projet avec un ensemble de règles strictes que vous établissez . Cela vous évite une dérive de la portée et une perte de temps.
Si vous êtes nouveau dans le monde de la science des données, le simple fait d'acquérir plus d'expérience sera la plus grande récompense que vous puissiez obtenir. Après tout, vous êtes en concurrence avec des milliers d'autres développeurs, ingénieurs et scientifiques des données, vous devez donc vous donner le meilleur de vous-même. Et la pratique rend parfait.
Continuez à travailler sur différents projets lorsque vous en aurez le temps, et tôt ou tard vous vous rendrez compte que vous êtes maintenant à plusieurs niveaux au-dessus de ce que vous étiez il y a quelques mois à peine.
Il est également important de se rappeler que très peu d'intervieweurs examineront tout votre code sur GitHub, et encore moins téléchargeront et compileront vos scripts. Ce qui est important, c'est que vous montriez que vous avez la connaissance des algorithmes courants, la capacité de résolution de problèmes pour aborder des défis ambigus et les compétences en programmation nécessaires pour y arriver .
Bien sûr, vous ne devez pas non plus simplement télécharger des projets cassés. Il est important que vous écriviez le code vous-même, même si vous suivez un tutoriel ou un guide en ligne. De cette façon, vous deviendrez plus intime avec chaque ligne de code et votre compréhension sera bien meilleure. En revanche, si vous vous contentez de copier/coller un autre projet et de renommer quelques variables, je peux vous garantir que vous bombarderez l'interview.
Générer de l'intérêt pour votre profil
Si vous avez travaillé dur sur un projet de science des données dont vous êtes fier, vous pourriez envisager de générer une certaine visibilité pour vous et votre projet. Vous ne devriez pas vous attendre à ce que des tonnes de personnes découvrent votre projet en téléchargeant simplement votre code source sur GitHub.
Mais cela ne signifie pas que votre projet doit passer inaperçu. Je vous recommande d'écrire un article de blog approfondi sur Medium.com ou sur votre propre site Web, qui détaille les spécificités de votre projet, et que vous l'écriviez de manière à ce que vous soyez perçu comme un expert sur le sujet.
Et n'oubliez pas d'inclure des liens vers votre profil GitHub et vos projets dans ce blog bien sûr.
Dernières pensées
Voilà. J'ai couvert certaines des choses les plus importantes à garder à l'esprit lors de la construction d'un portefeuille incroyable en tant que data scientist. En vous en tenant aux sujets qui vous intéressent et en utilisant certaines des principales méthodes et algorithmes du secteur, vous pouvez vous préparer au succès lors de futurs entretiens d'embauche. C'est aussi simple que ça!
— Écrit avec ❤️ sous le minuit ️
PS : Je ne suis qu'un humble blogueur. Je fais des erreurs et j'ai des angles morts. Si vous remarquez des choses que je peux améliorer ou si vous voulez juste discuter, n'hésitez pas à me DM :)