I 10 migliori progetti di data science su Github che dovresti mettere in pratica [2022]

Pubblicato: 2021-01-09

Con la scienza dei dati che sta conquistando il settore, c'è un'enorme richiesta di esperti di scienza dei dati qualificati e qualificati. Naturalmente, la concorrenza nel mercato attuale è feroce. In un tale scenario, i datori di lavoro non solo cercano istruzione formale e certificazioni professionali, ma richiedono anche esperienza pratica. E cosa c'è di meglio dei progetti di Data Science per dimostrare il tuo valore e mostrare le tue abilità di Data Science nel mondo reale a potenziali datori di lavoro!

Se aspiri ad entrare nel dominio di Data Science, il modo migliore per costruire il tuo portfolio da zero è lavorare su progetti di Data Science. Abbiamo creato questo post per ispirarti a sviluppare i tuoi progetti di Data Science.

Poiché GitHub è un eccellente repository di idee per progetti di Data Science, ecco un elenco di progetti di Data Science su GitHub che dovresti controllare! Per acquisire maggiori conoscenze e applicazioni pratiche, dai un'occhiata ai nostri corsi di scienza dei dati delle migliori università.

Sommario

10 migliori progetti di scienza dei dati su GitHub

1. Riconoscimento facciale

Il progetto di riconoscimento facciale si avvale del Deep Learning e dell'algoritmo HOG ( Histogram of Oriented Gradients ). Questo sistema di riconoscimento facciale è progettato per trovare i volti in un'immagine (algoritmo HOG), trasformazioni affini (allineare i volti utilizzando un insieme di alberi di regressione), codificare i volti (FaceNet) e fare previsioni (SVM lineare).

Usando l'algoritmo HOG, calcolerai i gradienti di orientamento del voto ponderato di 16 × 16 pixel quadrati, invece di calcolare i gradienti per ogni pixel di una particolare immagine. Questo genererà un'immagine HOG che rappresenta la struttura fondamentale di una faccia. Nel passaggio successivo, devi usare la libreria Python dlib per creare e visualizzare rappresentazioni HOG per trovare quale parte dell'immagine ha la somiglianza più vicina con il pattern HOG addestrato.

2. Condivisione bici Kaggle

I sistemi di bike sharing ti permettono di prenotare e noleggiare biciclette/moto e anche di riconsegnarle, il tutto attraverso un sistema automatizzato. Questo progetto è più simile a una competizione Kaggle in cui dovrai combinare i modelli di utilizzo storici con i dati meteorologici per prevedere la domanda di servizi di noleggio biciclette per il programma Capital Bikeshare a Washington, DC

L'obiettivo principale di questa competizione Kaggle è creare un modello ML (basato esplicitamente su funzionalità contestuali) in grado di prevedere il numero di biciclette noleggiate. La sfida ha due parti. Mentre nella prima parte ti concentrerai sulla comprensione, l'analisi e l'elaborazione dei set di dati, la seconda parte riguarda la progettazione del modello utilizzando una libreria ML.

3. Analisi del testo del rapporto del governo messicano

Questo progetto è un'eccellente applicazione della PNL. Il 1 settembre 2019, il governo messicano ha pubblicato un rapporto annuale sotto forma di PDF. Quindi, il tuo obiettivo in questo progetto sarà estrarre testo dal PDF, pulirlo, eseguirlo tramite una pipeline NLP e visualizzare i risultati utilizzando rappresentazioni grafiche.

Per questo progetto, dovrai utilizzare più librerie Python, tra cui:

  • PyPDF2 per estrarre testo da file PDF.
  • SpaCy per passare il testo estratto in una pipeline NLP.
  • Panda per estrarre e analizzare approfondimenti dai set di dati.
  • NumPy per operazioni veloci sulle matrici.
  • Matplotlib per la progettazione di trame e grafici.
  • Seaborn per migliorare lo stile di trame/grafici.
  • Geopanda per tracciare mappe.

4. ALBERTO

ALBERT si basa su BERT, un progetto di Google che ha portato un cambiamento radicale nel campo della PNL. Si tratta di un'implementazione avanzata di BERT, progettata per l'apprendimento autonomo delle rappresentazioni linguistiche utilizzando TensorFlow.

In BERT, i modelli pre-addestrati sono enormi e, quindi, diventa difficile disimballarli, collegarli a un modello ed eseguirli su macchine locali. Questo è il motivo per cui la necessità di ALBERT ti aiuta a raggiungere prestazioni all'avanguardia sui principali benchmark con il 30% di parametri in meno. Sebbene albert_base_zh abbia solo il 10% di parametri rispetto a BERT, mantiene comunque l'accuratezza originale di BERT.

5. Setacciatore di corde

Se la sicurezza informatica ti interessa, ti piacerà lavorare a questo progetto! Lanciato da FireEye, StringSifter è uno strumento ML in grado di classificare automaticamente le stringhe in base alla pertinenza dell'analisi del malware.

Di solito, i programmi malware standard includono stringhe per l'esecuzione di operazioni specifiche come la creazione della chiave di registro, la copia di file da una posizione a un'altra e così via. StringSifter è una soluzione fantastica per mitigare le minacce informatiche. Tuttavia, è necessario disporre di Python versione 3.6 o successiva per eseguire e installare StringSifter.

6. Piastrellista

Dato che oggi il Web e le piattaforme online sono inondati di immagini, nell'industria moderna c'è una vasta possibilità di lavorare con i dati delle immagini. Quindi, immagina che se riesci a creare un progetto orientato all'immagine, sarà una risorsa molto apprezzata per molti.

Tiler è uno strumento di immagine di questo tipo che ti consente di creare immagini uniche combinando molti diversi tipi di immagini più piccole o "riquadri". Secondo la descrizione di GitHub di Tiler, puoi creare un'immagine "linee, onde, fuori cerchi, punti croce, blocchi Minecraft, lego, lettere, graffette" e molto altro. Con Tiler, avrai infinite possibilità di creare creazioni di immagini innovative.

7. DeepCTR

DeepCTR è un "pacchetto di modelli CTR basati su Deep Learning facile da usare, modulare ed estensibile". Include anche numerosi altri elementi vitali e livelli che possono essere molto utili per la costruzione di modelli personalizzati.

Originariamente, il progetto DeepCTR è stato progettato su TensorFlow. Sebbene TensorFlow sia uno strumento lodevole, non è la tazza di tè di tutti. Quindi, è stato creato il repository DeepCTR-Torch. La nuova versione include il codice DeepCTR completo in PyTorch. Puoi installare DeepCTR tramite pip usando la seguente istruzione:

pip install -U deepctr-torcia

Con DeepCTR, diventa facile utilizzare qualsiasi modello complesso con le funzioni model.fit() e model.predict().

8. TubeMQ

Ti sei mai chiesto come i giganti della tecnologia e i leader del settore archiviano, estraggono e gestiscono i propri dati? È con l'aiuto di strumenti come TubeMQ, il sistema open source di code di messaggistica distribuita (MQ) di Tencent.

TubeMQ è operativo dal 2013 e offre archiviazione e trasmissione ad alte prestazioni di grandi volumi di big data. Dal momento che ha accumulato oltre sette anni di archiviazione e trasmissione di dati, TubeMQ ha il sopravvento su altri strumenti MQ. Promette prestazioni e stabilità eccellenti nella pratica di produzione. Inoltre, ha un costo relativamente basso. La guida per l'utente di TubeMQ fornisce una documentazione dettagliata su tutto ciò che è necessario sapere sullo strumento.

9. Privacy profonda

Mentre ognuno di noi ama dedicarsi di tanto in tanto al mondo digitale e dei social media, una cosa (su cui siamo tutti d'accordo) manca al mondo digitale è la privacy. Una volta caricato un selfie o un video online, verrai guardato, analizzato e persino criticato. Negli scenari peggiori, i tuoi video e le tue immagini potrebbero finire per essere manipolati.

Questo è il motivo per cui abbiamo bisogno di strumenti come DeepPrivacy. È una tecnica di anonimizzazione completamente automatica per le immagini che sfrutta GAN (generative adversarial network) . Il modello GAN di DeepPrivacy non visualizza alcuna informazione privata o sensibile. Tuttavia, può generare un'immagine completamente anonima. Può farlo studiando e analizzando la posa originale degli individui e l'immagine di sfondo. DeepPrivacy utilizza l'annotazione del riquadro di delimitazione per identificare l'area sensibile alla privacy di un'immagine. Utilizza inoltre Mask R-CNN per spargere le informazioni sulla posa dei volti e DSFD per rilevare i volti nell'immagine.

10. Sistema di previsione della valutazione dei film IMDb

Questo progetto di Data Science mira a valutare un film anche prima della sua uscita. Il progetto è diviso in tre parti. La prima parte cerca di analizzare i dati accumulati dal sito web di IMDb. Questi dati includeranno informazioni come registi, produttori, produzione del casting, descrizione del film, premi, generi, budget, lordo e imdb_rating. Puoi creare il file movie_contents.json scrivendo la seguente riga:

python3 parser.py nb_elements

Nella seconda parte del progetto, l'obiettivo è analizzare i frame di dati e osservare le correlazioni tra le variabili. Ad esempio, se il punteggio IMDb è correlato o meno al numero di premi e al lordo mondiale. La parte finale riguarderà l'utilizzo del Machine Learning (Random Forest) per prevedere il rating IMDb in base alle variabili più rilevanti.

Avvolgendo

Questi sono alcuni dei progetti di Data Science più utili su GitHub che puoi ricreare per affinare le tue abilità di Data Science nel mondo reale. Più tempo e sforzi investi nella creazione di progetti di Data Science, migliore sarà la creazione di modelli.

Se sei curioso di conoscere la scienza dei dati, dai un'occhiata al programma Executive PG in Data Science di IIIT-B e upGrad, creato per i professionisti che lavorano e offre oltre 10 casi di studio e progetti, workshop pratici pratici, tutoraggio con esperti del settore, 1 -on-1 con mentori del settore, oltre 400 ore di apprendimento e assistenza al lavoro con le migliori aziende.

In che modo contribuire a progetti open source ci avvantaggia?

I progetti open source sono quei progetti il ​​cui codice sorgente è aperto a tutti e chiunque può accedervi per apportare modifiche. Contribuire a progetti open source è estremamente vantaggioso in quanto non solo affina le tue capacità, ma ti dà anche alcuni grandi progetti da inserire nel tuo curriculum. Poiché molte grandi aziende stanno passando al software open source, sarà redditizio per te se inizi a contribuire in anticipo. Alcuni dei grandi nomi come Microsoft, Google, IBM e Cisco hanno abbracciato l'open source in un modo o nell'altro. Esiste una vasta comunità di abili sviluppatori open source là fuori che contribuiscono costantemente a rendere il software migliore e aggiornato. La community è molto adatta ai principianti e sempre pronta a farsi avanti e ad accogliere nuovi contributori. C'è una buona documentazione che può guidarti per contribuire all'open source.

Qual è l'algoritmo HOG?

L'istogramma dei gradienti orientati o HOG è un rilevatore di oggetti utilizzato nelle visioni computerizzate. Se hai familiarità con gli istogrammi di orientamento dei bordi, puoi fare riferimento a HOG. Questo metodo viene utilizzato per misurare le occorrenze degli orientamenti del gradiente in una determinata parte di un'immagine. L'algoritmo HOG viene utilizzato anche per calcolare i gradienti di orientamento del voto ponderato di 16 × 16 pixel quadrati, invece di calcolare i gradienti per ogni pixel di una particolare immagine. L'implementazione di questo algoritmo è suddivisa in 5 fasi che sono: calcolo del gradiente, binning dell'orientamento, blocchi del descrittore, normalizzazione dei blocchi e riconoscimento degli oggetti.

Quali sono i passaggi necessari per creare un modello ML?

È necessario seguire i seguenti passaggi per sviluppare un modello ML: Il primo passaggio consiste nel raccogliere il set di dati per il modello. L'80% di questi dati verrà utilizzato nella formazione e il resto del 20% verrà utilizzato nei test e nella convalida del modello. Quindi, devi selezionare un algoritmo adatto per il tuo modello. La selezione dell'algoritmo dipende totalmente dal tipo di problema e dal set di dati. Poi viene la formazione del modello. Include l'esecuzione del modello rispetto a vari input e la riregolazione in base ai risultati. Questo processo viene ripetuto fino al raggiungimento dei risultati più accurati.