Il portafoglio di scienza dei dati killer che ti fa assumere
Se stai facendo domanda per lavori di data science senza un portafoglio di progetti per mostrare le tue capacità, ti stai vendendo allo scoperto. In questo articolo parlerò del motivo per cui un portfolio è un must per qualsiasi analista di dati o data scientist e di come creare uno straordinario portfolio di data science.
Ho bisogno di un portfolio di progetti di data science?
Immagina di assumere una band per il tuo matrimonio senza sapere che tipo di musica suonano! Questa è una strategia del tipo "mi sento fortunato" che potrebbe portare a un inizio difficile.
Ora, l'imaging ha tre bande tra cui scegliere. Uno di loro ha incluso un portfolio SoundCloud in cui hanno anteprime delle loro canzoni ben organizzate in generi come playlist. Questo non ti porterebbe immediatamente ad ascoltare la loro musica, condividerla con il tuo partner e arrivare collettivamente alla decisione di assumerli e suggerire personalizzazioni?
Lo stesso accade ai reclutatori e ai responsabili delle assunzioni che esaminano il tuo curriculum. È più probabile che facciano clic sul tuo portfolio, esplorino i tuoi progetti, leggano i commenti pubblici, vedano la cronologia delle tue attività, ecc.
Includendo un portfolio, aumenti drasticamente le possibilità del tuo cliente (l'HM o il reclutatore) di saperne di più su di te , sulle tue capacità di dati, sulla tua capacità di applicare tali abilità e, si spera, sulla tua genuina passione per l'analisi dei dati. Quindi, SÌ , hai assolutamente bisogno di un portfolio.
Come costruire un fantastico portfolio di data science
Esploriamo come i data scientist, gli analisti di dati e altri appassionati di dati possono creare un portfolio straordinario che creerà sicuramente entusiasmo e interesse per i potenziali datori di lavoro. Al di là dell'occupazione, i portafogli sono un ottimo modo per mantenerti motivato a imparare e mostrare: costruisci il tuo marchio!
Un portfolio di data science definitivo ha 4 componenti che devono essere estremamente solidi:
- Dove ospitare il portfolio: è fondamentale assicurarsi di ospitare il proprio portfolio su una piattaforma creata per mostrare pubblicamente il proprio lavoro oltre a sottolineare la profondità e la qualità del codice. GitHub è di gran lunga la scelta più popolare da entrambe queste prospettive. È anche una pratica normale per un responsabile delle assunzioni chiedere o esplorare in modo proattivo il profilo GitHub di un candidato al lavoro per comprendere il livello di abilità del candidato.
- Organizza i progetti in raccolte significative: un portfolio ben organizzato dice al mondo che hai quello che serve per fornire informazioni complesse e interconnesse in un formato facile da comprendere.
- Seleziona progetti di grande impatto che trasmettano il messaggio che vorresti che il responsabile delle assunzioni o il selezionatore portasse via, ovvero: "sei bravo a partire dall'ambiguità " → "sei bravo a esplorare in modo pianificato e guidato" → "sei bravo a tecniche di base di ML " → "sei bravo a stimare l'impatto " → e "puoi fare tutto questo con una qualità del codice eccezionale "
Usa GitHub per il tuo portfolio di data science
Ci sono molte ragioni per cui GitHub è la piattaforma preferita per l'hosting di codice, progetti e dati. GitHub è gratuito e ha opzioni a pagamento con funzionalità avanzate come CI/CD. Per uso personale, come l'hosting del tuo portfolio di data science, progetti di machine learning e simili, la versione gratuita è un'ottima scelta.
Oltre ad essere gratuito, ci sono tre ragioni (tra le tante) per cui GitHub è perfetto per il nostro caso d'uso:
- Leggimi: i file readme sono gemme assolute se usati in modo efficace. Pensa ai file readme come a un documento di introduzione, spiegazione e conclusioni, simile a un rapporto di laboratorio. È qui che parli al pubblico del progetto, del problema in questione, dell'approccio che stai adottando e del motivo, delle ipotesi che hai formulato, delle intuizioni che hai raccolto, dell'applicazione di tali intuizioni nel mondo reale e dei miglioramenti futuri vorresti realizzare. Troppi dettagli qui ti faranno sembrare immaturo. Troppi dettagli ti faranno sembrare inesperto. Quindi, fornisci la giusta quantità di dettagli che è essenziale affinché un lettore possa avere una panoramica. Questo è importante perché questo è ciò che fanno i data scientist quando non stanno modellando: spiegare i problemi aziendali e descrivere le loro soluzioni .
- Rilevabilità: i portfolio devono essere pubblici, ovvero chiunque sul Web può trovare il tuo portfolio e vedere i progetti su cui stai lavorando. GitHub ha un'eccezionale visibilità sui motori di ricerca, il che significa che chiunque cerchi progetti simili sarà in grado di atterrare sul tuo!
- Profilo: il tuo profilo GitHub è ciò che idealmente condivideresti con gli altri. All'interno del tuo profilo, ci saranno repository e il tuo grafico di contributo. Il grafico dei contributi è un modo rapido per i responsabili delle assunzioni e i reclutatori per valutare se le tue competenze sono attive o passive.
- Anteprima di Jupyter Notebook: la maggior parte dei data scientist utilizza Jupyter Notebook per lavorare su progetti di dati e condividerli pubblicamente. GitHub rende i notebook Jupyter in modo nativo consentendo ai lettori di vedere il tuo codice, testo e grafici visualizzati esattamente come li salvi. Ciò garantisce un'elevata leggibilità.
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.
Una volta che hai un account GitHub, la domanda successiva diventa quali progetti mostrare. A seconda dell'area prescelta e possibilmente della tua specialità, questi progetti possono variare notevolmente.
Quali argomenti trattare in un portfolio per Data Scientist
I data scientist devono dimostrare di essere competenti nelle seguenti tre aree:
- Identificazione del problema aziendale: la tua capacità di prendere un set di dati pubblico, leggerlo e quindi formulare alcune ipotesi o alcuni problemi aziendali inventati dimostrerà la tua capacità di applicare le tue conoscenze alle applicazioni del mondo reale. Ad esempio, in questo set di dati di e-commerce pubblico , potresti trovare un problema aziendale di "Trova i prodotti più venduti e determina se pubblicizzarli o meno sui social media"
- Estrazione dati
Interrogazione, pulizia, aggregazione di set di dati disordinati utilizzando SQL, Panda (e qualsiasi altra libreria sia la tua preferita). Non posso sottolineare abbastanza quanto sia importante mostrare le competenze SQL . In qualità di responsabile delle assunzioni, è altamente improbabile che assuma un data scientist che sia bravo in Python ma non conosca SQL.
- Scrivi direttamente SQL su file Excel e CSV : scrivere SQL nei notebook Jupyter è una seccatura. In genere è necessario utilizzare una libreria e quindi scrivere l'SQL tra virgolette. Consiglio di utilizzare un taccuino moderno come noteable.io che ti consente di eseguire query direttamente su un file Excel o CSV senza bisogno di alcun database. Dopotutto, dal momento che non ci si candida per un ruolo di Architetto di database, c'è davvero poco o nessun valore nel lottare per creare un database locale.
- Connetti al database: ovviamente, puoi connetterti ai database in Noteable ma potrebbe non essere così facile (o gratuito) per te accedere a un database pubblico. Se hai accesso (Google: "Set di dati pubblici BigQuery") a un database, sarai in grado di scrivere SQL nativo in Noteable. Non c'è bisogno di pacchetti, preventivi e tutte quelle sciocchezze.
- Crea un database locale: in alternativa, puoi creare un database locale sul tuo computer, ma tutto ciò richiede tempo e ti costringe a trovare i dati che devi inserire nelle tabelle. Dopotutto, il tuo obiettivo è mostrare le tue abilità SQL, non le abilità di amministrazione del database SQL.Quindi, considero questo percorso una grande perdita di tempo . - Esplorazione e visualizzazione dei dati
È essenziale per qualsiasi professionista dei dati essere in grado di scrivere codice di buona qualità per segmentare, filtrare, esplorare e visualizzare rapidamente i dati. La maggior parte utilizzerà Python o R. Quindi, mentre le moderne piattaforme per notebook come Noteable ti consentono di creare grafici in modo interattivo, ti consiglio comunque di inserire un paio di visualizzazioni davvero interessanti (vedi r/dataisbeautiful per l'ispirazione) che mostrano la tua capacità di utilizzare Panda, lambda functions (facoltativo ma ottimo) e matplotlib/seaborn ecc. - Apprendimento automatico
Tuttavia, la maggior parte dei data scientist, analisti di dati, ingegneri dei dati, ingegneri di business intelligence e ingegneri dell'apprendimento automatico troveranno vantaggioso includere alcuni dei seguenti metodi nei loro progetti:
● Alberi decisionali
● K-means clustering
● K-nearest neighbors ( KNN)
● Regressione lineare
● Regressione logistica
● Naive Bayes
● Analisi delle componenti principali (PCA)
● Random Forests
● Support Vector Machine
Questo elenco include alcuni dei metodi più popolari e più utilizzati nel mondo professionale, ed è quindi una grande fonte di ispirazione per i tuoi progetti futuri. Avendo una conoscenza approfondita anche solo di alcuni di questi metodi, aumenti significativamente le tue possibilità di impressionare il responsabile delle assunzioni al tuo prossimo colloquio di lavoro. Ti consiglio di considerare il tipo di lavoro che vorresti ottenere e quindi lavorare con alcuni degli algoritmi di cui sopra che sono comunemente implementati nel campo prescelto.
Quando si tratta di scegliere il tuo prossimo progetto, il miglior consiglio che abbia mai ricevuto è di concentrarsi su un problema della vita reale e cercare di risolverlo. Naturalmente, la maggior parte dei problemi nel mondo reale sono pieni di variabili sconosciute e grandi quantità di dati.
Quindi prova a scegliere un problema in qualche modo limitato, per portata o complessità, o forse anche entrambi! Tieni anche presente che dovresti essere appassionato, almeno in parte, nel progetto che scegli .
Se non sei affatto coinvolto nel processo o nei risultati, è probabile che la qualità del tuo lavoro sarà scadente ed è più probabile che ti esaurisca e ti arrenda prima di completarlo. Quindi trova qualcosa che ti appassiona, anche se è già stato fatto prima . Imparerai comunque lezioni preziose e avrai un progetto completo da utilizzare nel tuo portfolio!
Ispirazione per i tuoi prossimi progetti
Queste sono le mie fonti preferite personali per trovare idee per progetti o per imparare un nuovo argomento. Entrambi hanno una ricchezza di risorse, quindi assicurati di non perderti nella larghezza del contenuto. Piuttosto, scegli un argomento e concentrati sulla profondità a cui puoi scendere.
- https://goodboychan.github.io/categories/: Questo è il mio repository/blog preferito da seguire. Ha una quantità strabiliante di tutorial ed esempi che sono ordinatamente organizzati per argomenti.
- Kaggle : rimane una miniera d'oro di set di dati e taccuini pubblici che possono aiutarti a imparare e migliorare la qualità del tuo codice.
Esempio di progetto
Ad esempio, un metodo popolare è il clustering K-means, che è un algoritmo estremamente semplice per l'apprendimento automatico, in cui è sufficiente conoscere alcune variabili e punti dati diversi per ottenere risultati interessanti.
Immaginiamo che tu stia lavorando per una grande azienda di e-commerce online e che questa azienda abbia raccolto alcune informazioni chiave dai propri clienti. Questi dati includono l'età del cliente, l'importo speso e i tipi di prodotti acquistati.
Il clustering K-means consente quindi di segmentare ogni acquisto e utente in cluster, al fine di ottenere una panoramica delle diverse buyer personas. Tutto questo, con solo 3 diverse variabili.
Come affrontare i progetti
Se il tuo scopo principale per la creazione di un portfolio online dei tuoi progetti di data science è attrarre potenziali datori di lavoro, allora dovresti affrontare ogni progetto con una serie di regole rigide che crei . Questo ti salva dallo scorrimento dell'ambito e dalla perdita di tempo.
Se sei nuovo nel mondo della scienza dei dati, acquisire semplicemente più esperienza sarà la più grande ricompensa che puoi ottenere. Dopotutto, stai gareggiando contro migliaia di altri sviluppatori, ingegneri e data scientist, quindi devi fare di te stesso il meglio che puoi essere. E la pratica rende perfetti.
Continua a lavorare su diversi progetti quando ne avrai il tempo, e prima o poi ti renderai conto che ora sei di molti livelli al di sopra di dove eri solo pochi mesi fa.
È anche importante ricordare che pochissimi intervistatori di lavoro esamineranno effettivamente tutto il tuo codice su GitHub e ancora meno scaricheranno e compileranno effettivamente i tuoi script. Ciò che è importante è dimostrare di avere la conoscenza di algoritmi comuni, la capacità di risolvere problemi per affrontare sfide ambigue e le capacità di programmazione necessarie per realizzarlo .
Ovviamente non dovresti nemmeno caricare solo progetti rotti. È importante scrivere tu stesso il codice, anche se segui un tutorial o una guida online. In questo modo diventerai più intimo con ogni riga di codice e la tua comprensione sarà molto migliore. D'altra parte, se ti limiti a copiare/incollare un altro progetto e rinominare alcune variabili, posso garantirti che bombarderai l'intervista.
Generare interesse per il tuo profilo
Se hai lavorato duramente a un progetto di data science di cui sei orgoglioso, potresti prendere in considerazione l'idea di generare visibilità per te stesso e il tuo progetto. Non dovresti aspettarti che tonnellate di persone vengano a conoscenza del tuo progetto semplicemente caricando il tuo codice sorgente su GitHub.
Ma questo non significa che il tuo progetto debba passare inosservato. Ti consiglio di scrivere un blogpost approfondito su Medium.com o sul tuo sito web, che entri nei dettagli con le specifiche del tuo progetto, e di scriverlo in modo tale da essere percepito come un esperto dell'argomento.
E ricordati di includere ovviamente i collegamenti al tuo profilo e ai tuoi progetti GitHub anche in questo post del blog.
Pensieri finali
Ecco qua. Ho trattato alcune delle cose più importanti da tenere a mente quando si crea un portfolio straordinario come data scientist. Attenendoti agli argomenti che ti interessano e che utilizza alcuni dei metodi e degli algoritmi leader del settore, puoi prepararti per il successo nei futuri colloqui di lavoro. E 'davvero così semplice!
— Scritto con ❤️ sotto la mezzanotte ️
PS: sono solo un umile blogger. Faccio errori e ho punti ciechi. Se noti cose che posso migliorare o se vuoi solo chattare, sentiti libero di scrivermi in DM :)