Introduzione
In questi ultimi anni stiamo vedendo nascere molte figure professionali di cui poco sappiamo, ma che giocheranno un ruolo importante negli anni a venire. Una di queste figure è proprio quella del Data Scientist. In questo articolo vedremo più in dettaglio in cosa consiste il lavoro di Data Scientisti, quali sono le sue competenze e quali attività deve svolgere.
Il Data Scientist
Per prima cosa dobbiamo precisare che il nome di Data Scientist viene assegnato a molte attività lavorative spesso anche molto differenti tra di loro. Questo è dovuto soprattutto al fatto che è un campo di attività molto recente e che raccogliendo moltissime attività interdisciplinari, deve ancora prendere una forma netta e precisa.
In genere si definisce un Data Scientist la persona che lavora per estrarre conoscenza ed informazioni da grandi volumi di dati, indipendentemente dalla loro forma.
Il campo dei Big Data è uno di questi. Infatti la gestione di enormi moli di dati, il loro immagazzinamento e la loro successiva analisi stanno diventando via via attività sempre più laboriose e complesse, arricchendosi di nuove tecnologie e strumenti atti a tale proposito. Questo sta portando ad una richiesta di competenze via via maggiori e sempre più specializzate.
Quindi il Data Scientist dovrà acquisire buone conoscenze in ambito di computer science: utilizzare i linguaggi di programmazione per implementare gli strumenti applicativi necessari per svolgere al meglio le sue attività (Software engineer), poter utilizzare le librerie e le applicazioni per effettuare Machine Learning. Inoltre il Data Scientist deve anche comprendere i concetti matematici che sta utilizzando ed avere dimestichezza e familiarità con la statistica se vuole essere in grado di poter estrarre informazioni da dati grezzi (Data Engineer).
Che cosa rende diverso l’attivita’ del data scientist da altre attivita’ simili (data analyst o data engineer)?
Per prima cosa, le altre attività professionali che svolgevano mansioni sui dati, si focalizzavano sull’interpretazione dei dati ottenuti da osservazioni già avvenute e registrate nel passato. Mentre l’attività di un Data Scientist si dovrebbe concentrare soprattutto su fornire schemi o pattern che si otterranno dai dati che verranno prodotti nell’immediato futuro, utilizzando i dati correnti e del passato.
Se analizziamo il termine stesso data scientist, per ‘scientist’ si intende un professionista che applica uno studio sistematico, mentre ‘data’ sta nel fatto che l’oggetto di studio sono sia variabili quantitative che qualitative che contengono informazioni. Quindi data scientist dovrebbe essere letteralmente la persona che studia sistematicamente l’organizzazione e le proprietà dell’informazione.
Se vuoi approfondire l’argomento e scoprire di più sul mondo della Data Science con Python, ti consiglio di leggere il mio libro:
Fabio Nelli
Le competenze richieste
Abbiamo visto che svolgendo attività in ambito multidisciplinare, il Data Scientist deve essere in grado di comprendere molti concetti provenienti da ambiti anche molto diversi tra di loro.
Inoltre il successo di questa attività sta nel grado di conoscenza sulle tecniche di estrazione, gestione e manipolazione dei dati. Tecniche che richiedono una combinazione di competenze che coprono molto aspetti sia computazionali che statistici.
Vediamo una figura in cui vengono riportati gli skill necessari e la loro rilevanza in rapporto alla grandezza dei cerchi.
Quindi in generale possiamo riassumere la figura rappresentata sopra nel seguente modo.
Il Data Scientist deve avere competenze che gli permettano di vedere i dati con una mente ed un occhio impostati matematicamente. Infatti dovrà essere in grado di interpretare e rappresentare i dati in modo matematico. Dovrà quindi acquisire esperienza nei seguenti ambiti:
- machine learning
- data mining
- data analysis
- statistica
Il Data Scientist deve essere in grado di utilizzare un qualsiasi linguaggio di programmazione che gli consenta di accedere, esplorare e modellare i dati. Quindi la conoscenza di almeno uno di questi linguaggi è fondamentale per poter lavorare fisicamente con i dati:
- R
- Python
- MATLAB
- SQL
Il Data Scientist inoltre dovrà aver maturato esperienze precedenti dal mondo dell’informatica, soprattutto in ambito di sviluppo software come Java e C++, aver familiarità con molti aspetti del calcolo computazionale e del software engineering. Inoltre è fondamentale la conoscenza di Hadoop.
- Hadoop
- Java o C++
- Software engineering
Gli strumenti del data scientist
Viste le competenze necessarie ad un perfetto Data Scientist, analizziamo adesso alcuni strumenti necessari per svolgere al meglio questa attività.
Per quanto riguarda l’analisi dei dati, i migliori ferri del mestiere sono proprio i linguaggi di programmazione. Come detto nella sezione precendente tipicamente si fa uso di Python, R per la programmazione e SQL per l’estrazione dei dati dai database.
Per quanto riguarda il data warehousing, un data scientist ha sempre a che fare con i dati e quindi deve avere una buona dimestichezza nel lavorare con i database. MySQL e PostgreSQL sono due ottimi database. Invece per quanto riguarda il mondo dei BigData, programmi come Hive e Redshift si potranno rivelare le soluzioni vincenti.
Inoltre un Data Scientist deve essere in grado di visualizzare i dati in maniera professionale, utilizzando le tecnologie più avanzate in modo che rendano il più facile possibile la realizzazione di grafici accattivanti e interattivi. D3.js e Tableau sono strumenti ottimi per la data visualization.
Infine un Data Scientist deve poter attuare tutte gli algoritmi e le tecniche più moderne di Machine Learning e lo può fare utilizzando librerie come Scikit-learn di Python. Oppure anche Spark MLlib che è la libreria machine learning di Apache per Hadoop e Spark.
Conclusioni
In questo articolo abbiamo visto in che cosa consiste la figura professionale del Data Scientist, quali competenze deve avere e quali strumenti deve essere in grado di utilizzare. In altri articoli approfondiremo molti di questi strumenti con descrizioni più o meno dettagliate e vari tutorial su come installarli ed utilizzarli.