11/02/2024Come‍ Diventa‍re Data Scientist nel 2024?

In questo blog post, scopriremo che cosa significa essere un Data Scientist, quali competenze e strumenti sono necessari per diventarlo, e come puoi avviare il tuo percorso per imparare una professione sempre più richiesta dalle aziende. Dalla matematica e statistica alla programmazione, dalla manipolazione dei dati alla loro visualizzazione, fino al machine learning e al deep learning, questa guida completa offre una panoramica dettagliata su come diventare un esperto in data science. Perfetto sia per principianti sia per chi desidera approfondire le proprie conoscenze, questo blog post ti fornirà risorse utili e consigli pratici per intraprendere con successo questa carriera.

Indice:

👩🏻‍💻 Cos’è la Data Science

🛠️ Gli strumenti di un data scientist

📈 Fondamenti di Matematica e Statistica

💻 Competenze di Programmazione

⚙ Gestione e manipolazione dei dati

💡 Visualizzazione dei dati e dei risultati

🧠 Addestramento di modelli di Machine Learning e Deep Learning

👩🏻‍🔧 Progetti pratici

👣 Gli step successivi

👩🏻‍💻 Cos’è la Data Science

Lo scopo della Data Science è quello di estrarre conoscenza e valore dai dati. Ciò permette alle aziende di prendere decisioni data-driven, di ottenere vantaggi competitivi e di ottimizzare i propri processi.

Qualche esempio pratico?

  • Nel settore sanitario, la data science può essere sfruttata per analizzare grandi quantità di dati dei pazienti per pronosticare potenziali malattie, migliorare le diagnosi e prevedere future epidemie
  • I commercianti possono analizzare i comportamenti dei propri clienti per ottimizzare le scorte, personalizzare le offerte, e migliorare l'esperienza del cliente
  • Nel settore finanziario, è possibile effettuare previsioni di mercato e prevenire frodi

Negli ultimi anni, la richiesta di Data Scientist è cresciuta moltissimo per le enormi quantità di dati come testi, audio, video ed immagini che vengono generati quotidianamente da persone ed aziende. Tutto ciò rende la carriera da Data Scientist non solo attraente - nel 2012 è stato definito “il lavoro più sexy del XXI secolo” dall’Harvard Business Review - ma anche ricca di opportunità lavorative.

🛠️ Gli strumenti di un Data Scientist

Per poter estrarre informazioni dai dati in maniera efficace, è necessario conoscere diversi strumenti:

  • Fondamenti di Matematica e Statistica
  • Competenze di Programmazione
  • Gestione e manipolazione dei Dati
  • Visualizzazione dei Dati e dei risultati
  • Addestramento di modelli di Machine Learning e Deep Learning
  • Progetti pratici!

📈 Fondamenti di Matematica e Statistica

Matematica e statistica sono fondamentali nella Data Science per diverse ragioni.

La statistica aiuta ad interpretare correttamente i dati che si hanno a disposizione, ad esempio attraverso concetti come media, mediana e deviazione standard. Inoltre, è essenziale per progettare accuratamente gli esperimenti e i test che valuteranno l'efficacia delle soluzioni che si andranno ad implementare.

La matematica, ad esempio, fornisce una solida base teorica per comprendere ed implementare al meglio i diversi modelli predittivi esistenti.

Risorse utili per statistica e probabilità:

Risorse utili per matematica:

💻 Competenze di Programmazione

Come vedremo, saper programmare è cruciale per poter manipolare, analizzare e visualizzare i dati che si hanno a disposizione per poi usarli per costruire modelli statistici di Machine Learning.

Per iniziare, noi consigliamo di imparare Python, il linguaggio di programmazione più utilizzato per progetti di data science e machine learning. La sua popolarità è dovuta alla sua semplicità, alla sua versatilità e alla vasta gamma di librerie gratuite che sono a disposizione dei data scientist.

In alternativa a Python, alcuni lavori potrebbero richiedere la conoscenza di altri linguaggi di programmazione:

  • R: linguaggio di programmazione specificamente progettato per l’analisi statistica e la visualizzazione dei dati
  • In contesti in cui si lavora con enormi quantità di dati (Big Data), spesso è richiesto di saper utilizzare appositi framework come Apache Spark; Mentre Spark supporta anche Python, è spesso utilizzato in azienda con linguaggi come Java e Scala
  • Julia: un linguaggio emergente che probabilmente diventerà sempre più utilizzato per la data science grazie alla sua semplicità ed efficienza

Risorse utili:

⚙ Gestione e manipolazione dei dati

Recupero dei dati da database e file

I dati sono le fondamenta per costruire modelli di machine learning e deep learning. La programmazione è quindi essenziale per poter recuperare e manipolare i dati che poi verranno utilizzati per addestrare questi modelli predittivi.

Tali dati potrebbero essere memorizzati in database SQL, dove sono organizzati in tabelle, o database NoSQL (come MongoDB), il cui scopo è quello di memorizzare i dati con una struttura flessibile e meno rigida delle tabelle. In entrambi i casi, è necessario saper recuperare i dati dal database utilizzando appositi linguaggi di interrogazione. Una volta studiati questi linguaggi, si possono facilmente utilizzare diverse librerie di Python (es: psycopg2 e pymongo) per recuperare i dati dal database che abbiamo a disposizione.

Talvolta, i dati di cui abbiamo bisogno sono salvati su file (ad esempio, su un file Excel). In tal caso, è sufficiente saper utilizzare pandas, la libreria Python più utilizzata per la manipolazione di dati tabellari.

Risorse utili per i linguaggi di interrogazione:

Manipolazione dei dati

In generale, in base al progetto a cui si lavora, diventa fondamentale saper lavorare con diversi tipi di dato:

  • Dati strutturati: dati spesso organizzati in tabelle (tipici dei database SQL e dei file Excel). Potresti lavorare con dati strutturati per analizzare i dati di vendita di un'azienda tramite le librerie pandas e numpy.
  • Testi: potresti lavorare con dati testuali per riconoscere il sentiment delle recensioni dei clienti su un sito di e-commerce. Tra le librerie Python più utilizzate per lavorare con dati testuali abbiamo nltk e spaCy
  • Immagini e video: come data scientist potresti dover analizzare immagini aziendali per riconoscere particolari oggetti o lavorare con video per l’analisi del traffico in tempo reale. In questi casi, potrebbe esserti utile conoscere librerie come OpenCV, Pillow e moviepy
  • Audio: in alcune aziende potresti sfruttare librerie come librosa per l’elaborazione di file audio (ad esempio per poi costruire assistenti virtuali)
  • Serie temporali: in alcuni ambiti, bisogna analizzare serie temporali di dati, come ad esempio quelli generati da sensori IoT, o quelli relativi ai prezzi delle azioni in borsa. Pandas e numpy possono essere sfruttati per manipolare anche questo tipo di dati
  • Dati geospaziali: potresti utilizzare geopandas per lavorare con dati che includono informazioni geografiche e di localizzazione, come quelli che potrebbe raccogliere un’app di fitness

💡 Visualizzazione dei dati e dei risultati

La visualizzazione dei dati è un aspetto fondamentale della data science. Innanzitutto, è necessaria per effettuare l’Exploratory Data Analysis (EDA), ovvero un’analisi preliminare dei dati che si hanno a disposizione per comprenderli meglio e scoprire eventuali pattern e anomalie.

La visualizzazione dati è altrettanto importante per poi spiegare i risultati ottenuti valutando i modelli di machine learning che sono stati addestrati.

Tra le librerie Python più utilizzate per la visualizzazione dei dati citiamo matplotlib, seaborn e plotly. Per la visualizzazione di mappe e dati geografici, può tornare anche utile la libreria folium.

Risorse utili:

🧠 Addestramento di modelli di Machine Learning e Deep Learning

Eccoci finalmente al compito più affascinante di un data scientist: la padronanza e conoscenza di diversi modelli di machine learning e deep learning. Tali modelli, se addestrati adeguatamente, sono infatti in grado di analizzare enormi dataset per trovare pattern che sarebbero difficili, se non impossibili, da scoprire manualmente. Tutto ciò permette a questi modelli di effettuare predizioni e prendere decisioni data-driven.

Per diventare data scientist, conviene iniziare studiando come funzionano modelli di machine learning tradizionale che possono essere addestrati tramite la libreria Python scikit-learn. Tendenzialmente, il machine learning tradizionale può essere sufficiente quando dobbiamo affrontare problemi relativamente semplici sulla base di dati non eccessivamente complessi (come ad esempio dati tabulari con un numero limitato di feature).

Risorse utili per il machine learning:

In alcuni casi, il machine learning non è sufficiente. Bisogna quindi essere pronti a costruire modelli di deep learning, una sottocategoria del machine learning particolarmente efficace nell’elaborare grandi quantità di dati spesso complessi, come immagini, video, audio e testi.

Per costruire modelli di deep learning, consigliamo di iniziare dalla libreria keras, più semplice ed intuitiva da utilizzare rispetto a framework di più basso livello come tensorflow e pytorch.

Risorse utili per il deep learning:

👩🏻‍🔧 Metti in pratica la teoria!

Nel mondo della Data Science, la teoria è fondamentale, ma è attraverso i progetti pratici che acquisirai competenze più in fretta. Inizia sin da subito ad applicare le conoscenze teoriche con progetti pratici.

Creati un portfolio con i progetti che completi durante tutto il percorso. In futuro, questi progetti saranno fondamentali anche per dimostrare le tue competenze ai potenziali datori di lavoro.

Sfrutta le tantissime risorse che hai a disposizione:

  • Kaggle: una piattaforma dove puoi trovare dataset, partecipare a competizioni di data science e vedere i progetti degli altri membri della community da cui puoi imparare moltissimo
  • GitHub: un’altra fonte di progetti da cui puoi prendere ispirazione
  • ChatGPT e simili: come ben saprai, stanno nascendo modelli di AI generativa sempre più potenti in grado di scrivere codice di qualità. Non aver paura di questi strumenti. Sfruttali non solo per imparare più velocemente, ma anche per ottimizzare il tuo codice e scrivere funzioni complesse in minor tempo. Potrai così concentrarti su sfide più complesse.

👣 E poi?

Il lavoro del Data Scientist è in continua evoluzione e aziende diverse potrebbero chiederti di svolgere compiti diversi e aggiuntivi rispetto alla sola costruzione di modelli predittivi.

In alcuni casi, potresti dover gestire enormi quantità di dati (Big Data) che non sarebbero gestibili tramite soluzioni tradizionali. Strumenti come Hadoop e Spark sono essenziali archiviare ed elaborare in maniera distribuita queste enormi moli di dati.

Una volta addestrato un modello predittivo, potresti aver la necessità di metterlo in produzione in un ambiente dove può essere utilizzato per fare previsioni in tempo reale. Per scopi dimostrativi, potresti concentrarti su tool come streamlit per creare interfacce utente tramite cui interagire con i tuoi modelli di machine learning. Per progetti che devono essere più scalabili, si tende a lavorare con piattaforme cloud come AWS, Azure, or Google Cloud Platform.

Visto il recente hype portato dalla rivoluzione della Generative AI, le aziende potrebbero chiederti di integrare nei loro processi dei tool che si basano su queste tecnologie (magari facendo delle semplici chiamate a tool di terze parti, come quelli di OpenAI). Per questo, ti consigliamo di seguire i brevi corsi gratuiti rilasciati da DeepLearning.AI

Scritto da Luca Arrotta