Software, tool, linguaggi e risorse per Big Data e Data Science

Gli strumenti di lavoro del Data Scientist: rassegna delle piattaforme, delle applicazioni e delle soluzioni in un servizio in continuo aggiornamento

Pubblicato il 12 Gen 2018

shutterstock_614261018

Per svolgere la professione di Data Scientist è necessario disporre prima di tutto di una chiara visione degli strumenti di lavoro più diffusi o delle piattaforme più adeguate per ogni obiettivo.

Con questo servizio si avvia un percorso di conoscenza delle piattaforme e dei tools più adeguati da adottare in ogni possibile circostanza. Il servizio viene costantemente aggiornato con nuove informazioni e indicazioni sui servizi trattati e con l’inserimento di nuovi servizi.

Rassegna degli strumenti di lavoro

Per maggiori approfondimenti sulle opportunità della Data Science e sul lavoro del Data Scientist proponiamo la lettura di questo servizio: Al lavoro con i data scientist: una guida per cogliere le opportunità dei big data e delle altre risorse utili: white paper, survey, eventi e interviste

Linguaggi di programmazione e framework

Python

Python è un linguaggio di programmazione che nasce nel 1991 grazie al programmatore olandese Guido van Rossum, che lo battezza celebrando la commedia Monty Python’s Flying Circus dei Monty Python, uno dei programmi più seguiti negli anni 70 sulla BBC. Il linguaggio Python ha avuto un importante seguito e ha raccolto un ampio consenso presso la comunità degli sviluppatori e oggi il suo sviluppo è gestito dalla Python Software Foundation nella forma di organizzazione no-profit.

Python è un linguaggio di programmazione orientato agli oggetti e utilizzabile per molti tipi di sviluppo software. In particolare Python supporta diversi paradigmi di programmazione, a partire dall’object-oriented, dispone di una libreria built-in ricca, una gestione automatica della memoria e importanti “costrutti” per la gestione delle eccezioni che contribuiscono a fare di Python uno dei linguaggi più ricchi e comodi da usare.

Particolarmente adatto per implementare applicazioni distribuite, Python è utilizzato per scripting, computazione numerica e system testing. I campi di utilizzo di questo linguaggio sono negli ambiti del Web development, delle funzioni di accesso al database, delle GUI desktop, della formazione scolastica, della programmazione di rete.

Python gira su Windows, Linux/Unix, Mac OS X, OS/2, è stato portato sulle macchine virtuali Java e .NET ed è distribuito con licenza Open-Source approvata dalla OSI. Il suo utilizzo è gratuito ed è libero anche per prodotti commerciali.

Python è stato concepito per essere un linguaggio intuitivo, comodo, semplice da usare e imparare. E’ stato realizzato con una sintassi pulita e leggera così come i suoi costrutti. Python è anche un linguaggio di tipo “pseudocompilato”: un interprete si occupa di analizzare il codice sorgente (semplici file testuali con estensione .py) e, una volta verificata la sintassi, la può eseguire immediatamente. Infine, Python è un software open source: non solo a livello di download dell’interprete per la propria piattaforma, ma anche come utilizzo nelle applicazioni in forma completamente gratuita e può inoltre essere liberamente modificato e ridistribuito, nel rispetto delle regole definite dalla licenza open-source.

Negli ultimi anni Python ha guadagnato enormi consensi anche come linguaggio di programmazione per analisi di Data Science. Ci sono diverse librerie utilizzate nell’ambito della Data Science, le più famose sono NumPy, SciPy, Pandas, Matplotlib e Plotly.

Python è particolarmente usato anche per la creazione di modelli di Deep Learning, specialmente tramite l’utilizzo delle librerie Keras, Tensorflow e Theano.

Per maggiori informazioni su Python

R

R è un linguaggio di programmazione e un ambiente di sviluppo specifico per l’analisi statistica dei dati. Si tratta di un software libero che viene distribuito con la licenza GNU GPL, ed è disponibile per diversi sistemi operativi (ad esempio Unix, GNU/Linux, macOS, Microsoft Windows). R è un linguaggio che viene utilizzato da sviluppatori e da Data Scientist per il calcolo statistico. Grazie alla crescente quantità di dati raccolti da sistemi software e grazie alla necessità di analizzare grandi quantità di dati, R è oggi una delle tecnologie più rapida crescita nella data science.  Il linguaggio di R è parte di un progetto GNU ed è open source. R deriva più precisamente da un linguaggio denominato S (S inteso come “statistiche”) sviluppato nei Bell Laboratories negli anni settanta. Il linguaggio orientato agli oggetti è una suite integrata di funzioni software per la manipolazione dei dati, il calcolo e la visualizzazione grafica che includono un efficace sistema di gestione e storage dei dati, una suite di operatori per calcoli su array, in particolare matrici, una raccolta ampia, coerente e integrata di strumenti intermedi per la Data Analysis, oltre a strutture grafiche per l’analisi dei dati e la visualizzazione su schermo o hardcopy e un linguaggio di programmazione semplice ed efficace che include condizionali, cicli, funzioni ricorsive definite dall’utente e strumenti di input e output.

R, tramite l’enorme numero di librerie statistico-matematiche disponibili, è stato da subito uno dei linguaggi più apprezzati ed utilizzati in ambito Data Science. Ci sono tuttavia alcuni punti di attenzione, come la gestione della memoria e la mancanza della parallelizzazione automatica, che lo rendono più adatto allo sviluppo di prototipi che alla realizzazione di modelli da rilasciare in produzione.

Esiste anche una versione commerciale di R, Microsoft R Server, che supera i tradizionali limiti della versione open source di R.

Per maggiori informazioni su R 

IDE – Integrated Development Environment

R Studio

RStudio è l’Integrated Development Environment (IDE) gratuito e open source di R: un linguaggio di programmazione per il calcolo statistico e la grafica. RStudio è disponibile in edizioni commerciali e open source e viene eseguito sul desktop (Windows, macOS e Linux) o in un browser connesso a RStudio Server o RStudio Server Pro (Debian, Ubuntu, Red Hat Linux, CentOS, openSUSE e SLES).
RStudio è scritto nel linguaggio di programmazione C++ e utilizza il framework Qt per la sua interfaccia utente grafica.

Per maggiori informazioni su R Studio

Apache Spark

Apache Spark è un framework di tipo open source per la gestione del calcolo distribuito. Spark è stato sviluppato dall’AMPlab dell’Università della California e successivamente donato alla Apache Software Foundation. A differenza del paradigma MapReduce di Hadoop, l’ “in-memory” multilivello di Spark consente nuove possibilità prestazionali in determinati ambiti applicativi, come ad esempio nel cognitive. Spark è studiato appositamente per algoritmi di apprendimento automatico e richiede un gestore di cluster e un sistema di archiviazione distribuita. Per il primo supporta nativamente un cluster Spark ma anche Hadoop YARN, o Apache Mesos; per il secondo, Spark può interfacciarsi con Hadoop Distributed File System (HDFS), Apache Cassandra, OpenStack Swift, Amazon S3, Apache Kudu, ma anche soluzioni personalizzabili. Spark supporta anche soluzioni pseudo-distribuite in modalità locale, usate di solito per lo sviluppo od a scopo di test.

Per maggiori informazioni su Apache Spark

Scala

Scala è un linguaggio di programmazione a oggetti nato nel 2001 grazie all’iniziativa di Martin Odersky e della EPFL, l’Ecole Polytechnique Federale de Lausanne ed è poi arrivato “sul mercato” nel 2004 su piattaforma Java e .NET (quest’ultima oggi però non più supportata).

Scala sta per Scalable Language ed è un linguaggio di programmazione di tipo general-purpose multi-paradigma studiato per integrare le caratteristiche e le funzionalità dei linguaggi orientati agli oggetti e dei linguaggi funzionali. La compilazione di codice sorgente Scala produce Java bytecode per l’esecuzione su una JVM. Scala è stato studiato per interoperare con la piattaforma Java 2 Runtime Environment (JRE) rendendo agevole l’integrazione con le applicazioni e i componenti Java. Scala utilizza lo stesso modello di compilazione (compilazione separata, caricamento delle classi dinamiche) utilizzato da Java permettendo così l’accesso a molte librerie sviluppate in questo ambiente. Trattandosi di un linguaggio orientato agli oggetti, ogni elemento del linguaggio è trattato come un oggetto, inclusi numeri e funzioni.

Scala è anche un linguaggio funzionale: ogni funzione rappresenta un valore e fornisce un linguaggio molto diretto anche per definire funzioni anonime (dichiarate e usate senza essere legate ad un nome). Scala ha un supporto nativo per il pattern matching che permette di potenziare l’elaborazione di dati XML con il supporto di espressioni regolari. Questa caratteristica unita con la possibilità di definire delle list comprehension, rende questo linguaggio adatto allo sviluppo di applicazioni di tipo web service.

Per maggiori informazioni su Scala

Hadoop

Hadoop è prima di tutto un framework di strumenti per la archiviazione e la elaborazione di grandi quantità di dati. Hadoop serve per gestire applicazioni di Big Data e si presenta nella forma di un set di software Open Source distribuito sotto la licenza Apache Hadoop Open Source. Hadoop è da utilizzare e vedere come un software di infrastruttura per la gestione e l’elaborazione di grandi quantità di dati ed è un progetto che fa riferimento a due grandi temi: l’archiviazione e la elaborazione di grandi quantità di dati (con il presupposto legato all’analisi corretta della natura dei dati per poterli gestire al meglio).

A livello di archiviazione Hadoop è una infrastruttura di cluster per il file system nella forma di HDFS (Hadoop Distributed File System). Se ad esempio si deve gestire un file le cui dimensioni superano quelle della memoria che si ha a disposizione Hadoop permette di archiviarlo “distribuendolo” su più server o su più nodi. Hadoop permette poi di gestire le funzioni di processing su questi dati distribuiti attraverso la funzione MapReduce che cambia le logiche di elaborazione dei dati, spostando la capacità applicativa del software a livello di dati con importanti vantaggi in termini di miglioramento delle prestazioni. MapReduce permette cioè di distribuire la capacità elaborativa così come HDFS permette di distribuire la capacità di archiviazione su diversi nodi. Con HDFS e MapReduce si può passare dalla elaborazione di tipo seriale a una elaborazione di tipo parallelo. Hadoop può inoltre gestire sia file strutturati sia file destrutturati.

Con Hadoop le applicazioni possono lavorare con migliaia di nodi e petabyte di dati e a livello di capacità computazionale Hadoop è stato ispirato alla logica dell’algoritmo MapReduce di Google ed è diventato oggi un progetto Apache di alto livello costruito e usato da una comunità globale di contributori, che usano il linguaggio di programmazione Java. Hadoop offre una grande quantità di librerie di semplice utilizzo per Hadoop Map Reduce e per Hadoop Distributed File System (HDFS).

La versione 3.0 di Hadoop è stata rilasciata il 13/12/2017.

Per maggiori informazioni su Hadoop

Jupyter Notebook

Jupyter Notebook è un’applicazione web open source che permette di creare e condividere documenti che contengono live code, equazioni, visualizzazioni e testo narrativo. Si tratta di uno strumento utilizzato per una serie di attività come data cleaning e trasformazione dei dati, simulazione numerica, modellazione statistica, data visualization, machine learning, e altro ancora.  A livello di notebook lo strumento supporta oltre 40 linguaggi di programmazione, tra i quali citiamo Python, R, Julia e Scala.

Dal punto di vista operativo i notebook possono essere condivisi con altri utenti tramite e-mail, Dropbox, GitHub e Jupyter Notebook Viewer.  Inoltre il codice può produrre un output ricco e interattivo a livello di HTML, di immagini, ma anche di video, LaTeX e tipi MIME personalizzati. Jupyter Notebook permette di sfruttare strumenti di Big Data, come Apache Spark, Python, R e Scala ed esplorare questi stessi dati con panda, scikit-learn, ggplot2, TensorFlow.

Per maggiori informazioni su Jupiter Notebook

MySQL Workbench

MySQL nasce grazie alla società svedese MySQL AB creatrice del codice sorgente oggi  disponibile tramite distribuzione con licenza GNU GPL e con licenza commerciale. La storia di MySQL cambia in modo significativo nel 2008 quando MySQL viene acquisita da Sun Microsystem per un miliardo di dollari. Una acquiszione che a sua volta cambia la prospettiva già nell’anno successivo quando la stessa Sun Microsystem viene acquisita da Oracle con una operazione che si chiude poi nel 2010. MySQL si appoggia a MySQL Workbench che si presenta come uno strumento visivo unificato per database destinati a database architect, sviluppatori e DBA. MySQL Workbench consente nello specifico la modellazione dei dati, lo sviluppo SQL e fornisce un set completo di strumenti amministrativi per la configurazione del server, l’amministrazione degli utenti e molto altro ancora. MySQL Workbench è disponibile per piattaforme Windows, Linux e Mac OSX. MySQL permette a un DBA, a uno sviluppatore o un architetto di dati di progettare visivamente, modellare, generare e gestire database. Lo strumento comprende tutto ciò di cui ha bisogno un modellatore di dati per la creazione di modelli ER (entity-relationship o entità-associazione) complessi, per la progettazione di inversioni oltre a funzionalità chiave per l’esecuzione di compiti difficili di gestione e documentazione delle modifiche che normalmente richiedono molto tempo e impegno.

MySQL Workbench offre strumenti visivi per la creazione, l’esecuzione e l’ottimizzazione delle query SQL. L’editor SQL fornisce l’evidenziazione della sintassi dei colori, il completamento automatico, il riutilizzo degli snippet SQL e la cronologia di esecuzione di SQL. Il Database Connections Panel consente agli sviluppatori di gestire facilmente connessioni di database standard, tra cui MySQL Fabric. Il Visualizzatore oggetti fornisce inoltre l’accesso istantaneo allo schema e agli oggetti del database. MySQL Workbench fornisce una console grafica per amministrare facilmente gli ambienti MySQL e ottenere una migliore visibilità nei database. Gli sviluppatori e gli amministratori di database possono utilizzare gli strumenti visivi per configurare server, amministrare gli utenti, eseguire backup e ripristino, ispezionare i dati di controllo e visualizzare lo stato del database.

Per maggiori informazioni su MySQL Workbench

SQL Server Management Studio SSMS

SQL Server Management Studio (SSMS) è un’applicazione software lanciata per la prima volta con Microsoft SQL Server 2005 che viene utilizzata per la configurazione, la gestione e l’amministrazione di tutti i componenti di Microsoft SQL Server. Lo strumento include sia editor di script che strumenti grafici che funzionano con oggetti e funzionalità del server.

SSMS si presenta come un ambiente integrato per la gestione di qualsiasi infrastruttura SQL, da SQL Server a database SQL. SSMS fornisce inoltre strumenti per configurare, monitorare e amministrare istanze di SQL, può essere utilizzato per distribuire, monitorare e aggiornare i componenti del livello dati utilizzati dalle applicazioni, nonché per creare query e script; eseguire query, progettare e gestire database e data warehouse, ovunque si trovino (sia a livello di computing locale sia a livello cloud).

Toad

Toad Software è un set di strumenti di gestione database di Quest che gli sviluppatori di database, gli amministratori di database e gli analisti di dati utilizzano per gestire database relazionali e non relazionali utilizzando SQL.

Toad funziona attraverso i database più diffusi (compresi RDBMS e NoSQL), supporta una ricca serie di ambienti e basi di dati tra cui Amazon Redshift, Amazon SimpleDB, Apache Hbase, Google Analytics, IBM DB2, IBM Informix Dynamic, Microsoft Excel, Microsoft SQL Server, Microsoft SQL Server Analysis Services, Microsoft Windows Azure SQL Database, MongoDB, MySQL, Oracle, PostgreSQL, salesforce, SAP Business Objects, SAP Sybase ASE

Per maggiori informazioni su Toad

PyCharm

PyCharm è un Integrated Development Environment (IDE) utilizzato nella programmazione di computer, in particolare per il linguaggio Python. È sviluppato dalla società JetBrains e fornisce l’analisi del codice, un debugger grafico, un tester unità integrato, l’integrazione con i sistemi di controllo versione (VCSes) con supporto allo sviluppo web su Django.

PyCharm è una cross-platform con versioni Windows, macOS e Linux. La Community Edition è rilasciata con la licenza Apache; la Professional Edition, invece, è rilasciata sotto una licenza proprietaria. Oltre a Python, PyCharm fornisce supporto per vari framework di sviluppo web Python, linguaggi template specifici, JavaScript, CoffeeScript, TypeScript, HTML/CSS, AngularJS, Node.js e altro.

PyCharm si integra inoltre con IPython Notebook, ha una console Python interattiva e supporta Anaconda, oltre a molteplici pacchetti scientifici tra cui Matplotlib e NumPy.

Per maggiori informazioni su PyCharm

Spyder

Spyder (in precedenza Pydee) è un ambiente di sviluppo integrato (IDE) multipiattaforma open source per la programmazione scientifica in linguaggio Python. Spyder integra NumP, SciPy, Matplotlib e IPython, così come altri software open source. È rilasciato sotto la licenza MIT. Spyder è estensibile con una serie di plugin e include il supporto per strumenti interattivi, per l’ispezione dei dati e per l’integrazione di strumenti di sicurezza della qualità del codice specifici di Python e strumenti di introspezione, come Pyflakes, Pylint e Rope. Disponibile in modalità multipiattaforma tramite Anaconda, su Windows con WinPython e Python (x, y), su macOS tramite MacPorts e sulle principali distribuzioni Linux come Arch Linux, Debian, Fedora, Gentoo Linux, openSUSE e Ubuntu, Spyder fa uso di Qt attraverso il PyQt o PySide.

GIT

Git è un software di controllo gestito con interfaccia a riga di comando, creato nel 2005. Git supporta diramazione e fusione (branching and merging) e comprende strumenti specifici per visualizzare e navigare una cronologia di sviluppo non lineare. Git presenta due strutture dati, un indice modificabile che mantiene le informazioni sul contenuto della prossima revisione, e un database di oggetti che contiene quattro tipi di oggetti: un oggetto blob, un oggetto albero, un oggetto commit (revisione), un oggetto tag (etichetta). Ogni oggetto è identificato da un codice hash SHA-1 del suo contenuto.

Per ulteriori informazioni su GIT

Piattaforme Big Data

Hortonworks

Hortonworks è un’azienda statunitense di software fondata nel 2011 focalizzata sullo sviluppo e il supporto di Apache Hadoop, il framework che permette l’archiviazione e la elaborazione distribuita di grandi insiemi di dati su gruppi di computer (Big Data).

Hortonworks è specializzata nella creazione, nella distribuzione e nel supporto di piattaforme orientate a Apache Hadoop, NiFi e Spark. La società dispone di piattaforme dati collegate che permettono alle applicazioni basate sui dati di utilizzare la conoscenza di tutti i dati in tutte le condizioni. La piattaforma Hortonworks Data Platform HDP è realizzata per permettere la distribuzione a livello enterprise di soluzioni Apache Hadoop basate su archietetture centralizzate di tipo Yarn. Le basi di HPD Hortonworks sono rappresentate da YARN e da HDFS (Hadoop Distributed File System) per la gestione dei dati a riposo. HDFS permette la gestione dell’archiviazione scalabile, per i big data lake, YARN rappresenta l’architettura centralizzata capace di elaborare contemporaneamente più carichi di lavoro e di fornire sia la gestione delle risorse e dell’architettura modulare che l’attivazione di una vasta gamma di metodi di accesso ai dati.

Per maggiori informazioni su Hortonworks

Cloudera

Cloudera è una compagnia fondata nel 2008 da ingegneri con un background in grandi IT e digital company come Google, Yahoo!, Oracle e Facebook. Le basi della società sono legate alla convinzione del ruolo sempre più importante degli open standard e dell’open source. Nell’ambito dei Big Data Cloudera ha realizzato Cloudera Data Science Workbench, una soluzione di Machine learning che unisce analytics e team working. Cloudera Data Science Workbench permette di velocizzare la progettualità Data Science nelle imprese in modalità self-service. In particolare Cloudera Data Science Workbench permette di lavorare passando dalla fase di sperimentazione a quella di produzione utilizzando R, Python, Spark. Per i Data Scientist in particolare Cloudera fornisce accesso diretto ai dati con Hadoop clusters grazie a Apache Spark e Apache Impala. Nello stesso tempo Cloudera lavora a livello di collaboration e di strumenti di lavoro e di coinvolgimento dei team. Cloudera è attivabile sia in modalità on-premise sia in cloud.

Per maggiori informazioni su Big Data Cloudera

Data Wrangling, Data Mining e Machine Learning

Trifacta

Trifacta è una piattaforma per esplorare e preparare i dati per l’analisi. Trifacta funziona con cloud e piattaforme di dati locali, è progettato per consentire agli analisti di esplorare, trasformare e arricchire dati grezzi ed eterogenei in formati puliti e strutturati per l’analisi in ottica self-service. L’approccio di Trifacta si concentra sull’utilizzo delle più recenti tecniche di machine learning, di visualizzazione dei dati e di interazione uomo-computer.

Per maggiori informazioni su Trifacta

KNIME

KNIME o Konstanz Information Miner è una piattaforma open source con licenza GPLv3 di analisi dati, reportistica e integrazione. Ha al suo interno componenti di machine learning e data mining. La sua interfaccia grafica permette di assemblare i nodi per il pre-processing, per la modellazione, l’analisi e la visualizzazione dei dati. Fin dal 2006 viene usato in particolare in in ambito sanitario e Pharma.

Per maggiori informazioni su KNIME

H2O.ai

H2O è un software open-source per l’analisi Big Data. È prodotto dalla società H2O.ai e consente agli utenti di gestire migliaia di potenziali modelli per la individuazione di pattern. Il software H2O può essere utilizzato con R, Python e con altri ambienti. Viene utilizzato per esplorare e analizzare i set di dati contenuti nei sistemi di cloud computing e nel file system distribuito Apache Hadoop, nonché nei sistemi operativi convenzionali Linux, macOS e Microsoft Windows. Il software H2O è scritto in Java, Python e R. La sua interfaccia utente grafica è compatibile con quattro browser: Chrome, Safari, Firefox e Internet Explorer.

Sono inoltre disponibili librerie H2O per R e Python.

Per maggiori informazioni su H2O.ai 

Weka

Weka è un software open source rilasciato sotto GNU General Public License ed è costituito da una raccolta di algoritmi di apprendimento automatico per attività di data mining. Gli algoritmi possono essere applicati direttamente a un set di dati o richiamati dal proprio codice Java. Weka contiene strumenti per la preelaborazione dei dati, la classificazione, la regressione, il clustering, le regole di associazione e la visualizzazione.

Per maggiori informazioni su Weka

IBM Watson

Watson è un sistema di intelligenza artificiale che semplifica al massimo livello il rapporto uomo-macchina. Watson è infatti concepito anche per rispondere a domande (Question answering computing system) espresse in un linguaggio naturale, ed è sviluppato all’interno del progetto DeepQA di IBM. Watson si presenta come un’applicazione avanzata di elaborazione del linguaggio naturale, di information retrieval, e di rappresentazione della conoscenza unita a forme di cognitive learning e a tecnologie di apprendimento automatico nel campo dell’“open domain question answering”. Una delle basi si trova, come detto, nel DeepQA, la tecnologia IBM per la formulazione di ipotesi, la raccolta massiva di controprove, di analisi e di scoring (con la massima capacità di raggiungere un obiettivo in termini di sviluppo della conoscenza).

Watson utilizza il software della IBM DeepQA, e il framework Apache UIMA. Il sistema è stato programmato in diversi linguaggi, come Java, C++ e Prolog, e gira su un sistema SUSE Linux Enterprise Server 11 utilizzando Apache Hadoop come framework per il calcolo distribuito. Il sistema è ottimizzato per gestire il carico di lavoro richiesto per generare ipotesi, riconoscere la massima evidenza e analizzare i dati, integrando processori POWER7 estremamente parallelizzati. Watson è composto da una griglia di server IBM Power 750, ciascuno dei quali è equipaggiato con un processore POWER7 ad otto core da 3.5 GHz, con quattro threads per core. In totale, il sistema ha 2880 thread di processori POWER7, e 16 terabytes di RAM. Dall’assistenza sanitaria, all’istruzione, alla finanza, dai trasporti  all’energia, Watson è adatto a una serie di ambiti applicativi nella Data Driven Economy e attinge a una conoscenza approfondita del dominio per permettere agli operatori di assumere decisioni più sempre più informate sempre più velocemente.

Per maggiori informazioni su IBM Watson

Data Science Experience IBM

DSX (Data Science Experience) è un ambiente di data science interattivo e collaborativo, con strumenti per rilevare e condividere insight, quali ad esempio notebook Jupyter con Python, R e Scala. Si può utilizzare su IBM Cloud, su un cloud protetto (Locale) o sul proprio desktop. In grande sintesi le funzioni di DSX permettono di eseguire attività in un unico posto, senza mai uscire dal sito, con la possibilità di connettere ad oltre 30 tipi di archivi dati, con accesso alla Watson Data Platform, e con la possibilità di usufruire del vantaggio che deriva dalla condivisione di dataset, notebook, articoli e altre opzioni.

Per maggiori informazioni su Data Science Experience IBM e su IBM Analytics

Data visualization

D3

D3.js (o solo D3 per Data-Driven Documents) è una libreria JavaScript per creare visualizzazioni dinamiche ed interattive partendo da dati organizzati, visibili attraverso un comune browser. D3.js utilizza gli standard web: SVG, HTML5, e CSS. La libreria JavaScript D3, incorporata in una pagina web HTML, utilizza funzioni JavaScript predefinite per selezionare elementi del DOM, creare elementi SVG, aggiungere uno stile grafico, oppure transizioni, effetti di movimento e/o tooltip. Questi oggetti posso essere largamente personalizzati utilizzando lo standard web dei “fogli di stile a cascata” (CSS). In questo modo grandi collezioni di dati possono essere facilmente convertiti in oggetti SVG usando semplici funzioni di D3 e così generare ricche rappresentazioni grafiche di numeri, testi, mappe e diagrammi. I dati utilizzati possono essere in diversi formati, il più comune è il JSON, valori separati da virgola CSV o geoJSON, ma, se necessario, di possono scrivere funzioni JavaScript apposta per leggere dati in altri formati.

Per maggiori informazioni su D3 

QLIK

Qlik è una piattaforma di soluzioni dedicati alla Data Visualization in modalità self-service, di applicazioni per le analisi, per le analisi integrate e per la reportistica. Qlik permette di visualizzare ed esplorare le informazioni, per interpretare i fenomeni e per disporre di visioni che consentono di prendere decisioni più consapevoli e più velocemente. Qlik integra la Business Intelligence (BI) partendo dalla convinzione che per ottimizzare la Business Intelligence è prima di tutto necessario mettere a frutto l’intelligenza partendo dal concetto che i dati non sono altro che una fonte e che gli strumenti e le tecnologie di analisi sono efficaci in ragione dei soggetti che li utilizzano. Partono da questa convinzione le soluzioni per la Visual Analytics che comprendono tre soluzioni: Qlik Sense, la piattaforma di Visual Analytics di ultima generazione, QlikView, è la soluzione per analisi guidate e dashboard e Qlik Cloud è il portfolio di applicazioni SaaS.

Per maggiori informazioni su QLIK

Power BI

Power BI rappresenta una famiglia di strumenti di analisi di dati per il business in grado di produrre informazioni critiche. Power BI permette di connettere centinaia di tipologie di dati, semplificando la preparazione stessa dei dati e la capacità di dare vita ad analisi personalizzate. Power BI permette di creare dashboard personalizzate con la possibilità di dare vita a forme di visualizzazione personalizzate. Power BI permette di gestire i dati da qualsiasi origine (sia a livello locale sia dal Cloud) in un’unica posizione. La piattaforma visualizza dashboard live in tempo reale con report interattivi e permette di semplificare l’esplorazione dei dati e delle query in linguaggio naturale con la possibilità di sottoporre domande e ottenere le risposte sotto forma di visualizzazioni personalizzabili.

Per maggiori informazioni su Power BI

Tableau

Tableau è una piattaforma di soluzioni per la Data Visualization basata su tre principi:

  • la capacità di fondere computer graphics e database
  • lavorare sui principi del visual understanding
  • sviluppare cicli di visual analysis

La filosofia della società è racchiusa nella convinzione del ruolo fondamentale dei fatti e nella capacità di utilizzare i dati per fare la differenza. La piattaforma Tableau è costituita da una serie di strumenti come VizQL, Live Query Engine, In-Memory Data Engine, Tableau Public e Tableau Mobile.

VizQL è un visual query language che traduce azioni drag-and-drop in query e ne gestisce la visualizzazione.

Tableau conta su un Data Engine nella forma di un break-through analytics database progettato per superare le limitazioni dei database esistenti e i data silos e per fornire un vero supporto a livello di visual analysis. il Data Engine Tableau permette di superare la curva tra Big Data e la velocità di analysis.

Per maggiori informazioni su Tableau

Zeppelin

Apache Zeppelin è un notebook web-based che permette di attuare forme di data-driven analytics interattive e collaborative con SQL, Scala e altre piattaforme. Zeppelin è basato su un sistema di plugin e supporta Apache Spark, Python, JDBC, Markdown e Shell.

Zeppelin è una soluzione Notebook multi-purpose per la Data Ingestion, la Data Discovery, la Data Analytics e la Data Visualization & Collaboration.

Per maggiori informazioni su Zeppelin

Ploty

Plotly (Plot.ly) è uno strumento di analisi e visualizzazione dei dati. Plotly fornisce strumenti grafici, analitici e statistici online oltre a librerie grafiche scientifiche per Python, R, MATLAB , Perl, Julia, Arduino e REST. Plotly è stato realizzato utilizzando Python e il framework Django, con un front-end che utilizza JavaScript e la libreria di visualizzazione D3.js, HTML e CSS.  I server di collaborazione Ploty (disponibili in cloud o in locale) consentono ai data scientist di mostrare il proprio lavoro, creare grafici senza codifica e collaborare con analisti aziendali per progettisti, dirigenti e clienti.

Per maggiori informazioni su Ploty

Open Data

Con il termine “Open data” si indicano tutti quei dati che sono liberamente accessibili: che possono essere utilizzati da chiunque senza restrizioni di copyright, brevetti o altri meccanismi di controllo, a parte l’obbligo di citare la fonte o mantenere la banca dati aperta. (Open Data e Open Source: perché Open è meglio)

Gli obiettivi del movimento “Open Data” sono simili a quelli di altri movimenti “aperti” come Open Source, Open Hardware, Open Content, Open Government e Open Access. La crescita del movimento “Open Data” è accompagnata da un aumento dei diritti di proprietà intellettuale. La filosofia alla base dei dati aperti è ormai consolidata, mentre il termine “Open Data” è più recente e ha guadagnato popolarità con l’avvento di Internet e World Wide Web e, in particolare, con il lancio di iniziative governative Open Data, come Data.gov e Data.gov.uk.

Alcune fonti Open Data

DatiOpen.it

DatiPiemonte.it

I.Stat

DatiCamera.it

Dataverse

Dati.milano.comune.it

Open Data Ministero della Salute

*Luca Flecchia

E’ cresciuto professionalmente nelle principali aziende di consulenza (KPMG, Capgemini), dove si è occupato di progetti sia di management consulting che di implementazione di sistemi informativi. Le sue esperienze variano da analisi di performance di processi (es. supply chain) alla stesura di analisi funzionali per la realizzazione di applicazioni custom. Ha sviluppato competenze su progetti CRM, merchandise financial planning e analytics, sia in termini di analytics “tradizionali” (es. dashboard, reporting, data warehousing) sia di “advanced” analytics. Si occupa attualmente della gestione della unit di Data Driven Innovation in Partners4Innovation, dove, tra le altre cose, coniuga le proprie competenze di analytics con quelle di Business Process Management (BPM) nell’applicazione delle tecniche di Process Mining.

Immagine fornita da Shutterstock

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 2