Top 10 des projets de science des données sur Github que vous devriez mettre en pratique [2022]

Publié: 2021-01-09

La science des données prenant d'assaut l'industrie, il existe une demande massive d'experts en science des données compétents et qualifiés. Naturellement, la concurrence sur le marché actuel est féroce. Dans un tel scénario, les employeurs recherchent non seulement une éducation formelle et des certifications professionnelles, mais ils exigent également une expérience pratique. Et quoi de mieux que des projets Data Science pour prouver votre valeur et présenter vos compétences réelles en Data Science à des employeurs potentiels !

Si vous aspirez à entrer dans le domaine de la science des données, la meilleure façon de construire votre portefeuille à partir de zéro est de travailler sur des projets de science des données. Nous avons créé cet article pour vous inspirer à développer vos propres projets de Data Science.

Puisque GitHub est un excellent référentiel d'idées de projets de Data Science, voici une liste de projets de Data Science sur GitHub que vous devriez consulter ! Pour acquérir plus de connaissances et d'applications pratiques, consultez nos cours de science des données des meilleures universités.

Table des matières

10 meilleurs projets de science des données sur GitHub

1. Reconnaissance faciale

Le projet de reconnaissance faciale utilise le Deep Learning et l'algorithme HOG ( Histogram of Oriented Gradients ). Ce système de reconnaissance faciale est conçu pour trouver des visages dans une image (algorithme HOG), des transformations affines (aligner les visages à l'aide d'un ensemble d'arbres de régression), l'encodage des visages (FaceNet) et faire des prédictions (Linear SVM).

À l'aide de l'algorithme HOG, vous calculerez les gradients d'orientation de vote pondérés de carrés de 16 × 16 pixels, au lieu de calculer les gradients pour chaque pixel d'une image particulière. Cela générera une image HOG qui représente la structure fondamentale d'un visage. Dans l'étape suivante, vous devez utiliser la bibliothèque dlib Python pour créer et afficher des représentations HOG afin de trouver quelle partie de l'image ressemble le plus au modèle HOG formé.

2. Kaggle Bike Sharing

Les systèmes de partage de vélos vous permettent de réserver et de louer des vélos/motos et de les restituer également, le tout via un système automatisé. Ce projet ressemble plus à un concours Kaggle dans lequel vous devrez combiner des modèles d'utilisation historiques avec des données météorologiques pour prédire la demande de services de location de vélos pour le programme Capital Bikeshare à Washington, DC

L'objectif principal de ce concours Kaggle est de créer un modèle ML (basé explicitement sur des caractéristiques contextuelles) capable de prédire le nombre de vélos loués. Le défi comporte deux volets. Alors que dans la première partie, vous vous concentrerez sur la compréhension, l'analyse et le traitement des ensembles de données, la deuxième partie concerne la conception du modèle à l'aide d'une bibliothèque ML.

3. Analyse textuelle du rapport du gouvernement mexicain

Ce projet est une excellente application de la PNL. Le 1er septembre 2019, le gouvernement mexicain a publié un rapport annuel sous forme de PDF. Ainsi, votre objectif dans ce projet sera d'extraire du texte du PDF, de le nettoyer, de l'exécuter via un pipeline NLP et de visualiser les résultats à l'aide de représentations graphiques.

Pour ce projet, vous devrez utiliser plusieurs bibliothèques Python, notamment :

  • PyPDF2 pour extraire le texte des fichiers PDF.
  • SpaCy pour transmettre le texte extrait dans un pipeline NLP.
  • Pandas pour extraire et analyser des informations à partir d'ensembles de données.
  • NumPy pour des opérations matricielles rapides.
  • Matplotlib pour la conception de tracés et de graphiques.
  • Seaborn pour améliorer le style des tracés/graphiques.
  • Geopandas pour tracer des cartes.

4. ALBERT

ALBERT est basé sur BERT, un projet de Google qui a provoqué un changement radical dans le domaine du TAL. Il s'agit d'une implémentation améliorée de BERT, conçue pour les représentations de langage d'apprentissage auto-supervisé à l'aide de TensorFlow.

Dans BERT, les modèles pré-formés sont énormes et il devient donc difficile de les décompresser, de les brancher dans un modèle et de les exécuter sur des machines locales. C'est pourquoi le besoin d'ALBERT vous aide à atteindre des performances de pointe sur les principaux benchmarks avec 30% de paramètres en moins. Bien que l'albert_base_zh n'ait que 10 % de paramètres par rapport au BERT, il conserve toujours la précision d'origine du BERT.

5. StringSifter

Si la cybersécurité vous intéresse, vous allez adorer travailler sur ce projet ! Lancé par FireEye, StringSifter est un outil ML qui peut classer automatiquement les chaînes en fonction de leur pertinence pour l'analyse des logiciels malveillants.

Généralement, les programmes malveillants standard incluent des chaînes pour effectuer des opérations spécifiques telles que la création de la clé de registre, la copie de fichiers d'un emplacement à un autre, etc. StringSifter est une solution fantastique pour atténuer les cybermenaces. Cependant, vous devez avoir Python version 3.6 ou supérieure pour exécuter et installer StringSifter.

6. Carreleur

Étant donné qu'aujourd'hui, le Web et les plates-formes en ligne sont inondés d'images, il existe un vaste champ d'application pour travailler avec des données d'image dans l'industrie moderne. Alors, imaginez si vous pouvez créer un projet axé sur l'image, ce sera un atout très apprécié pour beaucoup.

Tiler est un tel outil d'image qui vous permet de créer des images uniques en combinant de nombreux types différents d'images plus petites ou de "tuiles". Selon la description GitHub de Tiler, vous pouvez créer une image "lignes, vagues, hors cercles, points de croix, blocs Minecraft, legos, lettres, trombones", et bien plus encore. Avec Tiler, vous aurez des possibilités infinies pour réaliser des créations d'images innovantes.

7. DeepCTR

DeepCTR est un "package facile à utiliser, modulaire et extensible de modèles CTR basés sur le Deep Learning". Il comprend également de nombreux autres éléments et couches vitaux qui peuvent être très utiles pour créer des modèles personnalisés.

À l'origine, le projet DeepCTR a été conçu sur TensorFlow. Bien que TensorFlow soit un outil louable, ce n'est pas la tasse de thé de tout le monde. Par conséquent, le référentiel DeepCTR-Torch a été créé. La nouvelle version inclut le code DeepCTR complet dans PyTorch. Vous pouvez installer DeepCTR via pip en utilisant l'instruction suivante :

pip install -U deepctr-torche

Avec DeepCTR, il devient facile d'utiliser n'importe quel modèle complexe avec les fonctions model.fit() et model.predict().

8. TubeMQ

Vous êtes-vous déjà demandé comment les géants de la technologie et les leaders de l'industrie stockent, extraient et gèrent leurs données ? C'est à l'aide d'outils comme TubeMQ, le système de file d'attente de messagerie distribuée (MQ) open source de Tencent.

TubeMQ fonctionne depuis 2013 et offre un stockage et une transmission hautes performances de gros volumes de données volumineuses. Depuis qu'il a accumulé plus de sept ans de stockage et de transmission de données, TubeMQ a le dessus sur les autres outils MQ. Il promet d'excellentes performances et stabilité dans les pratiques de production. De plus, son coût est relativement bas. Le guide de l'utilisateur de TubeMQ fournit une documentation détaillée sur tout ce que vous devez savoir sur l'outil.

9. DeepPrivacy

Alors que chacun de nous aime se livrer de temps en temps au monde numérique et aux médias sociaux, une chose (dont nous sommes tous d'accord) manque dans le monde numérique, c'est la confidentialité. Une fois que vous avez téléchargé un selfie ou une vidéo en ligne, vous serez surveillé, analysé et même critiqué. Dans le pire des cas, vos vidéos et images peuvent finir par être manipulées.

C'est pourquoi nous avons besoin d'outils comme DeepPrivacy. Il s'agit d'une technique d'anonymisation entièrement automatique des images qui exploite le GAN (réseau antagoniste génératif) . Le modèle GAN de DeepPrivacy ne visualise aucune information privée ou sensible. Cependant, il peut générer une image totalement anonyme. Il peut le faire en étudiant et en analysant la pose originale de l'individu ou des individus et l'image d'arrière-plan. DeepPrivacy utilise une annotation de cadre de délimitation pour identifier la zone sensible à la confidentialité d'une image. Il utilise en outre Mask R-CNN pour éparpiller les informations de pose des visages et DSFD pour détecter les visages dans l'image.

10. Système de prédiction de classement de films IMDb

Ce projet Data Science vise à noter un film avant même sa sortie. Le projet est divisé en trois parties. La première partie cherche à analyser les données accumulées à partir du site Web IMDb. Ces données comprendront des informations telles que les réalisateurs, les producteurs, la production de casting, la description du film, les récompenses, les genres, le budget, le brut et imdb_rating. Vous pouvez créer le fichier movie_contents.json en écrivant la ligne suivante :

python3 analyseur.py nb_elements

Dans la deuxième partie du projet, l'objectif est d'analyser les bases de données et d'observer les corrélations entre les variables. Par exemple, si oui ou non le score IMDb est corrélé au nombre de récompenses et au brut mondial. La dernière partie consistera à utiliser l'apprentissage automatique (forêt aléatoire) pour prédire la note IMDb en fonction des variables les plus pertinentes.

Emballer

Voici quelques-uns des projets de science des données les plus utiles sur GitHub que vous pouvez recréer pour affiner vos compétences en science des données dans le monde réel. Plus vous investissez de temps et d'efforts dans la construction de projets de science des données, mieux vous vous améliorerez dans la construction de modèles.

Si vous êtes curieux d'en savoir plus sur la science des données, consultez le programme Executive PG en science des données de IIIT-B & upGrad qui est créé pour les professionnels en activité et propose plus de 10 études de cas et projets, des ateliers pratiques, un mentorat avec des experts de l'industrie, 1 -on-1 avec des mentors de l'industrie, plus de 400 heures d'apprentissage et d'aide à l'emploi avec les meilleures entreprises.

En quoi la contribution à des projets open source nous profite-t-elle ?

Les projets open source sont les projets dont le code source est ouvert à tous et n'importe qui peut y accéder pour y apporter des modifications. Contribuer à des projets open-source est très bénéfique car non seulement cela aiguise vos compétences, mais vous donne également de grands projets à mettre sur votre CV. Comme de nombreuses grandes entreprises se tournent vers les logiciels open source, il sera avantageux pour vous si vous commencez à contribuer tôt. Certains grands noms comme Microsoft, Google, IBM et Cisco ont adopté l'open source d'une manière ou d'une autre. Il existe une grande communauté de développeurs open source compétents qui contribuent constamment à améliorer et à mettre à jour le logiciel. La communauté est très conviviale pour les débutants et toujours prête à intensifier et à accueillir de nouveaux contributeurs. Il existe une bonne documentation qui peut vous guider dans votre contribution à l'open source.

Qu'est-ce que l'algorithme HOG ?

Histogram of Oriented Gradients ou HOG est un détecteur d'objet utilisé dans les visions par ordinateur. Si vous êtes familier avec les histogrammes d'orientation des bords, vous pouvez vous rapporter à HOG. Cette méthode est utilisée pour mesurer les occurrences des orientations de gradient dans une certaine partie d'une image. L'algorithme HOG est également utilisé pour calculer les gradients d'orientation de vote pondérés des carrés de 16 × 16 pixels, au lieu de calculer les gradients pour chaque pixel d'une image particulière. L'implémentation de cet algorithme est divisée en 5 étapes qui sont le calcul du gradient, le binning d'orientation, les blocs descripteurs, la normalisation des blocs et la reconnaissance d'objets.

Quelles sont les étapes nécessaires pour créer un modèle de ML ?

Les étapes suivantes doivent être suivies afin de développer un modèle ML : La première étape consiste à rassembler l'ensemble de données pour votre modèle. 80 % de ces données seront utilisées dans la formation et le reste des 20 % sera utilisé dans les tests et la validation du modèle. Ensuite, vous devez sélectionner un algorithme adapté à votre modèle. La sélection de l'algorithme dépend totalement du type de problème et de l'ensemble de données. Vient ensuite la formation du modèle. Cela comprend l'exécution du modèle par rapport à diverses entrées et son réajustement en fonction des résultats. Ce processus est répété jusqu'à ce que les résultats les plus précis soient obtenus.