Strumenti tecnologici e piattaforme, linguaggi di programmazione e tools di vario genere utili dal data mining fino alla data visualization (o meglio, per ciascuna delle fasi del processo tipico di Data Science), i tools rappresentano elementi importanti nel campo della Data Science.

All’interno di un team di Data Scientist se ne usano diversi, ciascuno per le proprie “caratteristica funzionali” e utilità rispetto a progetti, esigenze ed obiettivi.

La comunità Open Source contribuisce ormai da anni al Data Science Toolkit (la cassetta degli attrezzi della Data Science), percorso che ha portato importanti progressi nel campo, stimolando anche l’industria IT dedicata a questo specifico settore (industria che per altro, molto spesso, contribuisce all’ecosistema open source in maniera attiva mettendo a disposizione risorse e competenze)

Oggi il mercato dell’offerta mette sul piatto un’ampissima varietà di strumenti, dai linguaggi di programmazione ai sistemi di visualizzazione dei dati, passando per quelli dedicati alla data preparation, alla data exploration, al data mining

Diamo un’occhiata ad alcuni dei linguaggi di programmazione e dei tools che, solitamente, non mancano all’interno di un team di Data Scientist.

 

Linguaggi di programmazione

 

Un linguaggio di programmazione è un “codice formale” che comprende un insieme di istruzioni che producono vari tipi di output. Nella Data Science questi linguaggi sono indispensabili per poter implementare algoritmi e consentire alle “macchine” (ai computer) di svolgere determinate operazioni.

Ecco quali sono i linguaggi di programmazione oggi più utilizzati dai Data Scientist:

 

  • – Python: è uno dei linguaggi più popolari della Data Science, uno dei più utilizzati a livello mondiale. È un linguaggio open source e di facile utilizzo che esiste dal 1991, dinamico, generico e orientato a oggetti. Supporta anche più paradigmi, dalla programmazione funzionale a quella strutturata e procedurale.

 

  • – R: è un linguaggio di programmazione di alto livello tipicamente utilizzato in ambito statistico (il linguaggio ed i software all’interno dei quali è utilizzato vengono generalmente sfruttati per l’elaborazione statistica e la visualizzazione dei dati in forma grafica). R può però essere utile per esplorare set di dati e condurre analisi ad hoc, dato che “gode” di moltissime librerie utili per la scienza dei dati.

 

  • – Scala: è un linguaggio giovane, nato nel 2003. Scala supporta la programmazione funzionale staticamente tipata, nonché l’elaborazione simultanea e sincronizzata. Le sue applicazioni spaziano dalla programmazione web all’apprendimento automatico (machine learning), ma è anche un linguaggio scalabile ed efficace per la gestione dei Big Data.

 

  • – Java: linguaggio di programmazione orientato agli oggetti. Oggi per i Data Scientist sono disponibili centinaia di librerie Java che coprono ogni tipo di problema che un programmatore può incontrare. Si tratta di un linguaggio versatile con il quale si è in grado di gestire anche più attività contemporaneamente (infatti è utilizzato in modo elastico per diversi ambiti, dall’elettronica alle applicazioni desktop e web). I framework di elaborazione più diffusi come Hadoop vengono eseguiti su Java che rappresenta uno di quei linguaggi per la Data Science che può rapidamente e facilmente scalare per applicazioni di grandi dimensioni.

 

  • – JavaScript: linguaggio di scripting che nasce per la gestione del contenuto dinamico delle pagine web, e questo rimane tutt’oggi uno dei suoi principali utilizzi. Con la nascita di ambienti di sviluppo server-side (come NodeJs e Deno) la sua diffusione in ambito Data Science è andata crescendo, ne è sintomo (e causa) la proliferazione di librerie sia computazionali, sia grafiche, che ad oggi permettono le più svariate operazioni in ambito analytics. Esistono anche alcune “varianti” per la creazione di dashboard e la visualizzazione dei dati.

 

  • – C e C++: sono linguaggi di programmazione meno recenti ma stanno dando un ottimo contributo ad alcune fasi della Data Science, soprattutto per la velocità di esecuzione molto rapida. Quando si tratta di sviluppare applicazioni per Big Data, la velocità di esecuzione è una delle caratteristiche più importanti: con funzionalità scritte in C/C++, è possibile elaborare set di dati di grandi dimensioni in tempi molto stretti. Non solo, sia C, sia C++ sono anche molto efficienti per lo sviluppo di nuove librerie, che possono essere utilizzate anche con diversi linguaggi (e poiché le applicazioni di Data Science dipendono molto dalle nuove librerie di programmazione, questi possono svolgere un ruolo importante).

 

  • – Julia: Julia è un linguaggio di programmazione sviluppato appositamente per il calcolo numerico ad alte prestazioni (può per esempio implementare rapidamente concetti matematici come l’algebra lineare). Essendo un linguaggio ad alto livello si presta all’implementazione rapida di concetti matematici anche molto complessi riuscendo comunque a mantenere alte prestazioni computazionali. Inoltre può essere utilizzato anche per la programmazione di funzionalità di back-end e di front-end.

 

  • – MATLAB: è un linguaggio definito “di alto livello” abbinato a un ambiente interattivo per il calcolo numerico, la programmazione e la visualizzazione (un ambiente per il calcolo numerico e l’analisi statistica scritto in C). Si tratta di un linguaggio utilizzato nell’elaborazione tecnica ideale per la grafica, la matematica e la programmazione. L’ambiente interattivo consente di analizzare i dati, creare modelli e sviluppare algoritmi.

 

  • – SQL: è il famoso acronimo di Structured Query Language, il popolare linguaggio per la gestione dei dati. Sebbene non venga utilizzata esclusivamente per le operazioni di Data Science, la conoscenza delle tabelle e delle query SQL è fondamentale per i Data Scientist in tutte le fasi, soprattutto quando è necessario occuparsi dei sistemi di gestione dei database (è infatti un linguaggio molto valido e specifico per archiviare, manipolare e recuperare i dati nei database relazionali). Sebbene l’SQL tradizionale possa essere efficacemente utilizzato per gestire una grande quantità di dati strutturati, i Data Scientisti hanno bisogno anche di strumenti come database NoSQL (Not Only SQL) per gestire i dati non strutturati (i database NoSQL memorizzano dati non strutturati senza uno schema “rigido” come nel caso SQL e diventano quindi una risorsa preziosa per l’archiviazione e l’analisi dei Big Data).

 

Alcuni strumenti utili

 

Entrando un po’ più in dettaglio sugli strumenti, software e piattaforme in particolare, ecco che cosa può servire ad un team di Data Scientist (anche se l’elenco può davvero essere lunghissimo, sono moltissimi gli strumenti oggi a disposizione della Data Science).

 

  • – Apache Hadoop: è un software open source (basato su Java) che sfrutta l’elaborazione parallela tra cluster di nodi, facilitando così la risoluzione di problemi computazionali complessi e attività ad alta intensità di dati. Da un punto di vista tecnico, Hadoop segue il “map/reduce”: lo fa suddividendo file di grandi dimensioni in blocchi e inviandoli ai nodi con le istruzioni. Detto in parole più semplici, è un framework open source che crea modelli di programmazione semplici e distribuisce un’ampia elaborazione di set di dati su migliaia di cluster di computer.

 

  • – Apache Spark: è un potente motore di analisi ed è uno degli strumenti di Data Science più utilizzati. È noto per offrire un cluster computing velocissimo. Spark accede a varie origini dati come Cassandra, HDFS, HBase e S3. Può anche gestire facilmente set di dati di grandi dimensioni. L’architettura “in-memory” multilivello di Spark consente di interrogare i dati ripetutamente (la capacità di Spark di lavorare in memoria lo rende estremamente veloce per l’elaborazione dei dati e la scrittura su disco) ed è quindi ideale per algoritmi di apprendimento automatico. Spark offre anche funzionalità ad hoc per la pulizia dei dati, la Data Transformation, nonché per la creazione di modelli e la loro valutazione.

 

  • – MySQL: il nome è ormai familiare. MySQL gode di una straordinaria popolarità ed è uno dei database open source più utilizzati, ideale per accedere ai dati dai database (è un sistema di gestione di database relazionali open source, ossia un è un RDBMS – Relational Database Management System). Con MySQL gli utenti possono facilmente archiviare e accedere ai dati in modo strutturato.

 

  • – TensorFlow: è un framework offerto da Google e si presenta come una libreria sfruttabile per “fare tutto”, anche se per la maggior parte dei casi viene sfruttata per costruire e addestrare modelli, distribuendoli su diverse piattaforme come computer, smartphone e server. Si possono creare modelli statistici, visualizzazioni di dati e accedere ad alcune delle funzionalità più utilizzate per Machine Learning e Deep Learning.

 

  • – Dataiku: è una piattaforma di Data Science Collaborativa che copre tutta la filiera dalla creazione di un processo di data exploration alla Data Preparation, allo studio e all’applicazione di modelli di mining descrittivi e predittivi, fino alla Data Visualization mediante la creazione di dashboard. È pensata per team di Data Scientist, data analyst e ingegneri per esplorare, prototipare e costruire modelli e analisi ed alimenta sia l’analisi self-service, sia l’operatività dei modelli di Machine Learning. In parole semplici, è una piattaforma software che aggrega tutti i passaggi e gli strumenti di Big Data necessari per passare dai dati grezzi alle applicazioni pronte per la produzione riducendo i cicli di caricamento, preparazione, test e distribuzione necessari per creare applicazioni basate sui dati. BNova ha scelto Dataiku perché consente di creare e far crescere la cultura Data Driven all’interno delle aziende.

 

  • – Tableau: è una piattaforma di analisi end-to-end ed un ottimo strumento di Data Visualization; fornisce una rappresentazione chiara dei dati e può aiutare a prendere decisioni più rapide (ed oggettive, basate sui dati). Lo fa utilizzando cubi di elaborazione analitica online, database cloud, fogli di calcolo e database relazionali. Con Tableau si possono utilizzare i dati senza limiti legati al dispositivo, tramite un browser, un computer fisso o un dispositivo mobile, oppure integrandoli in qualsiasi applicazione. BNova ha scelto Tableau per la Visual Analytics a beneficio di tutte le figure aziendali. È infatti una piattaforma che non richiede competenze di programmazione, permette a tutti di esplorare e analizzare grandi volumi di dati in modo semplice ed intuitivo.

 

  • – Vertica: il database NoSQL analitico colonnare progettato per gestire grandi volumi di dati in rapida crescita e fornire alte prestazioni, notevolmente migliori rispetto ai tradizionali sistemi relazionali. Inoltre è in grado di offrire alta disponibilità e scalabilità, e supporta distribuzioni su più piattaforme cloud ( AWS , Google Cloud , Azure), in locale e in modo nativo su Hadoop. BNova ha scelto Vertica sia per le suddette caratteristiche, sia perché è in continua evoluzione. Recentemente, infatti, Vertica si è affacciato al mondo della Data Science e delle Advanced Analytics grazie a VerticaPy, una libreria Python che espone funzionalità scikit-like per la conduzione di progetti di Data Science direttamente all’interno del database Vertica.

 

 

Al di là della “cassetta degli attrezzi” è bene ricordare che la Data Science non è mai una attività fine a sé stessa ma deve essere inserita in una strategia di business di breve e medio periodo.

 

Vorrei sfruttare al meglio i tuoi dati, ma non sai da dove cominciare?

Scopri il nostro Big Data 4 Business Toolkit

 

New call-to-action

Approfondimenti da BNext:

Data Science Lifecycle, le 6 (+1) fasi del processo

La Data Science è un campo di studi interdisciplinare il cui obiettivo finale è estrarre informazione e conoscenza utili da dati strutturati o non strutturati. Non esiste un framework unico e universalmente condivido per definire i processi di Data Science, tuttavia, dal punto di vista tecnico lo standard KDD è quello a cui ci si ispira maggiormente, perché indica l’intero processo di ricerca di nuova conoscenza dai dati.

A cosa serve la Data Science?

L’analisi dei dati è in generale una materia molto ampia e con una storia che rimanda indietro di diversi anni da oggi. Si inizia a parlare di analisi dati già alla fine del 1700 con le prime visualizzazioni grafiche e l’evoluzione di questa materia non solo negli...

Churn Strategy: gli step per impostarla al meglio minimizzando il Churn Rate

Churn analysis e churn rate sono due concetti strettamente connessi: l’analisi degli abbandoni (churn analysis) è quella branca della Data Science attraverso cui si cerca di prevedere quali clienti hanno maggiori probabilità di abbandonare l’azienda, cosa che si...

I 6 comandamenti per un Data Storytelling di successo 

Letteralmente il Data Storytelling è l’arte del raccontare una storia attraverso i dati. Si tratta dell’evoluzione della Data Visualization, l’ultimo step di quel lungo processo analitico che ha lo scopo di trasformare i dati provenienti dalle diverse origini di...

Cosa sono i Big Data e come vengono utilizzati?

I Big Data sono ormai entrati a far parte del mercato tecnologico globale, ma spesso questa definizione viene utilizzata senza aver chiaro di cosa si tratta o di quali sono le accortezze e le tecnologie necessarie per poterli sfruttare al meglio nel loro valore...

Chi è e quanto guadagna un Data Engineer?

Fino a qualche tempo fa occuparsi dell’analisi dati in azienda voleva dire fare BI, e non era difficile trovare figure che si occupassero di questo. Nell’ultimo decennio, invece, l’analisi dati si è evoluta in modo esponenziale, si inizia a parlare di Data Science,...

Dataiku e Data Exploration: chi è il miglior detective della serie “Scooby-doo”?

Dataiku e la data exploration, il primo passo per impostare i progetti nel modo più adatto è esplorare i dati e imparare a conoscerli.

Denodo e la data virtualization a supporto di Machine Learning e Data Science

Il Machine Learning e la Data science sono strettamente legate alla data virtualization. denodo è il tool ideale individuato da BNova

Natural Language Processing (R)evolution

Reti neurali, AI. Tutte tecnologie che portano all’evoluzione del NLP verso modelli Transformers e Assistenti virtuali.

Data Science: dalla Business Intelligence agli Advanced Analytics

Attorno alla Data Science si sono sviluppate negli anni molte discipline affini e complementari ma che differiscono tra loro spesso in riferimento alla tipologia di analisi e di “lavoro” che viene condotto sui dati. Cerchiamo allora di capire come si è evoluta da Data...