Sulla data science si è detto di tutto, perché è tema che viene dibattuto con insistenza ormai da oltre un decennio, ossia da quando è stata adottata su larga scala da imprese e organizzazioni. Proponiamo qui un approccio diverso da quello canonico, perché non basta un’analisi superficiale per comprendere come sfruttarne appieno le potenzialità. In questa sorta di guida proponiamo 5 soluzioni software di Data science fra le quali scegliere.
Non basta la scienza dei dati a smarcarsi dalla concorrenza e, in ogni caso, imboccare per primi una strada dettata dall’analisi dei dati non è sinonimo di successo duraturo. La Data science in sé non è sufficiente e non è un concetto nuovo. Ancora prima della sua diffusione all’interno delle imprese, laddove aziende dello stesso comparto sceglievano soluzioni software identiche, investivano denaro e risorse per personalizzarle proprio al fine di non appiattire la competitività.
Alla luce di ciò, oltre a definire la Data science, ci sforziamo di consigliare soluzioni software diverse perché – soprattutto all’interno dei medesimi settori – delineare strategie e direzioni di business usando i medesimi strumenti, rischia di assottigliare quel margine competitivo che l’analisi dei dati può procurare.
La Data science è un ambiente caotico che tende a creare ulteriore caos, occorre avere strumenti, risorse e conoscenze utili per trarre vantaggio dai dati. Un esempio banale può essere quello nel quale, un gruppo di data scientist sviluppa un modello in un linguaggio di programmazione che viene poi utilizzato in un’applicazione scritta in un altro linguaggio. Questa considerazione, come vedremo, obbliga le organizzazioni a fare scelte accorte e a disegnare strategie infrastrutturali precise prima di cimentarsi nella Data science.
Cos’è la Data science
La definizione ripresa da diverse risorse online vuole che la Data science sia un approccio multidisciplinare utile a trovare ed estrarre modelli in set di dati, ossia a estrarre valore dai dati.
Occorre definire cosa si intende per multidisciplinarietà e cosa, invece, è l’estrazione di valore. Partiamo dall’insieme di discipline che danno forma alla Data science, ossia un costrutto che appoggia principalmente sul data mining, sui metodi di analisi di dati, sulla statistica, sul machine learning e sull’analisi predittiva. Discipline che vengono in genere esercitate da un gruppo di persone, ognuna con un ruolo specifico, il cui compito è quello di capire cosa è successo, perché è successo, cosa succederà e cosa invece occorre fare per raggiungere i risultati voluti e questo significa estrarre valore dai dati.
Per restituire un quadro, usiamo un esempio proveniente dal mondo del calcio: il Chelsea, squadra che milita nella Premier League, raccoglie dati dai giocatori e, con processi di analisi complessi, simula degli scenari del tipo “cosa sarebbe successo se in una particolare azione di gioco Gallagher avesse passato il pallone a Havertz invece che a Kovacic”. La capacità di raccolta e di analisi dei dati è solo una parte della Data science il cui potenziale può essere esercitato al meglio partendo da questi presupposti:
- capire il problema a cui si vuole trovare soluzione (o definire nel dettaglio l’obiettivo da perseguire)
- raccogliere i dati
- pulire, preparare e trasformare i dati
- creare modelli basati sui dati
- testare i modelli e laddove necessario perfezionarli
- distribuire i modelli e mantenerli aggiornati
I profili professionali richiesti sono molteplici, non per forza un esperto di statistica è un buon programmatore e viceversa. A rendere più complesso il processo – perché quello della Data science è un processo aziendale in tutto e per tutto – occorre una figura capace di parlare “aziendalese”, che conosca l’azienda, che sappia dialogare con i vertici e che riesca a rendere di facile comprensione concetti che possono essere indecifrabili agli occhi di chi non è esperto.
Appare chiaro che non basta una definizione a contenere il concetto di Data science, perché non è un comparto aziendale ma un processo a cui partecipano persone di diversa estrazione e capacità. Inoltre, lungo tutti gli elementi di questo processo, i problemi dipendono quasi esclusivamente dalla qualità dei dati e soltanto di sponda dalle tecnologie adottate.
Confronto tra i principali software per la Data science
Il software perfetto non esiste, la sempiterna ratio tra vantaggi e svantaggi sì. Prendendo in esame gli ambienti e i software più diffusi negli ambiti della Data science, si evince che ogni soluzione ha dei pro e dei contro operativi.
R
È indubbiamente tra i migliori linguaggi di programmazione per la statistica e si presta a ogni fase dell’analisi dei dati, a partire dalla raccolta fino al reporting, passando per la pulizia e la loro preparazione.
Di fatto, R è un linguaggio per la statistica creato da statistici e questo rappresenta già una garanzia insieme al fatto che, con il passare del tempo, la comunità che ne fa uso ha creato una vasta gamma di librerie mettendo a disposizione dei programmatori tutto ciò di cui possono avere bisogno senza arrovellarsi nello scrivere codice supplementare. Ci sono molte librerie anche per la rappresentazione grafica dei dati.
Supporta diversi data type, tra i quali vettori, matrici e array. Si presta anche al data cleansing, ossia all’identificazione, alla correzione o alla rimozione di record di scarsa qualità oppure definitivamente corrotti.
Tra i vantaggi si possono annoverare anche il fatto che è cross-platform e Open source, quindi utilizzabile su qualsiasi piattaforma e senza costi di licenza. Non necessita di compilazione e vanta un’ottima compatibilità con altri linguaggi tra i quali, solo a titolo di esempio, citiamo C, C++, Java e Python.
Altra peculiarità di R è la capacità di elaborare grandi set di dati usando il parallel e il distributed computing, facendo leva su librerie quali ddR oppure multiDplyr.
Ci sono anche dei punti deboli che meritano una riflessione nel momento in cui occorre decidere se adottare R. Il primo limite da citare è la lentezza causata dal fatto che programmi e funzioni sono distribuite in diversi package i quali, in alcuni casi, sono ridondanti e comunque perfettibili. La sicurezza non è argomento su cui R si concentra molto, anche se la comunità ha cercato di sanare questo gap, seppure per lo più in ambienti specifici.
Chi sta cercando informazioni per capire quanto R faccia al caso suo può imbattersi in due temi sempiterni: la curva di apprendimento e l’assenza di un team di supporto specializzato. Sono due aspetti che hanno una certa rilevanza ma che vanno contestualizzati perché la sintassi atipica di R può risultare indigesta ai neofiti e, ragionevolmente, ci si attende che nell’ambito della Data science i programmatori in erba siano merce rara. Sul fronte dell’assistenza, limitatamente alla programmazione in sé, è molto probabile che la comunità di utenti abbia già affrontato e risolto molti dei problemi con cui uno sviluppatore può doversi confrontare.
Python
I vantaggi principali sono due: esistono librerie per ogni necessità e richiede meno righe di codice rispetto ad altri linguaggi di programmazione.
Inoltre, Python può contare su una nutrita comunità di sviluppatori ed è supportato da qualsiasi broker di dati.
Il fatto che sia facile da apprendere lo citiamo solo per chiarezza, fermo restando che un in un gruppo di lavoro dedito alla Data science ci siano programmatori che lo conoscano in modo approfondito.
Global Interpreter Lock (Gil) permette l’esecuzione di un thread alla volta, ciò significa che i programmi multi-threaded risultano più lenti. Ciò obbliga a sviluppare programmi multiprocesso, proprio perché il multi-threaded si configura come unico processo. Inoltre, altra spina nel fianco, se confrontato con un grande set di dati, il Python necessita di molta memoria.
SAS
Il discorso relativo a SAS merita un’articolazione maggiore. SAS è uno strumento per le operazioni statistiche della Data science. Prevede un linguaggio di programmazione orientato alla modellazione statistica ed è un software proprietario votato all’elaborazione di grandi moli di dati, tant’è che è in auge in grandi imprese. Anche l’aspetto della sicurezza rappresenta un vantaggio: si può sostenere che in assenza di una licenza d’uso i dati non possono essere estratti o manipolati e – benché sia anche e soprattutto una tattica commerciale – ha ricadute di rilievo anche sulla data security.
In sé, in linguaggio SAS è facile da imparare, così come gli strumenti di debug risultano efficaci e sono in grado di semplificare la vita agli sviluppatori.
Sull’altro piatto della bilancia, oltre al costo delle licenze, va considerato che le librerie e i package supplementari sono da acquistare separatamente. Le imprese e le organizzazioni più piccole possono non avere risorse sufficienti per le soluzioni SAS e guardare al mercato Open source, densamente popolato di alternative.
Matlab
Un ambiente di calcolo scritto in C dedicato all’analisi e alla modellazione statistica dei dati. È usato anche per la simulazione delle reti neurali e per le restituzioni di visualizzazioni grafiche. La moltitudine di librerie disponibili copre ogni esigenza di sviluppo e di gestione di dati. Un esempio riguarda la pulizia dei record, attività centrale nella Data science al cui proposito Matlab offre strumenti di facile utilizzo.
È un software chiuso per il quale è necessaria una licenza il cui costo – 860 euro l’anno – vale ogni singolo euro e può essere affrontato anche da aziende di medie dimensioni. Essendo un linguaggio interpretato tende a essere più lento nell’esecuzione rispetto a quelli compilati.
Tableau
I data scientist devono riuscire a mostrare al management aziendale il risultato dei loro sfori. Parlare di numeri e di tendenze in modo astratto non aiuta la chiarezza ed è per questo che riuscire a dare loro un corpo visualizzabile è un vantaggio impagabile.
Facile da usare, Tableau lavora con diversi tipi di origini dati – tra cui i database SQL – ed è possibile importare package e librerie R, oltre a ciò, con TabPy si può eseguire codice Python.
Lo svantaggio più evidente di Tableau è il costo che può essere proibitivo per le organizzazioni più piccole.
Quali software di Data science migliorano le decisioni aziendali
È una domanda che attanaglia imprese e specialisti dei dati e questo non è sufficiente a conferirle peso e ragionevolezza. Andrebbe riformulata invertendo soggetto e complemento fino a chiedersi quali decisioni aziendali possono essere migliorate grazie a quali software di Data science. Come detto sopra, la Data science non è un dipartimento aziendale, non si tratta di scegliere un software per la contabilità o per la gestione degli ordini, si tratta di alimentare un processo che coinvolge tutta l’azienda intesa come sistema aperto che guarda tanto al suo interno quanto all’esterno.
Per questa ragione, prima di valutare una piattaforma o un ambiente di Data science, le imprese devono identificare le priorità e creare i requisiti utili a stabilire qual è l’accezione di valore che più interessa. Oltre a ciò, per quanto sia banale dirlo, la scelta del software dipende anche dalle risorse disponibili, dal tipo di business e dalla disponibilità di dati. Prima di valutare le soluzioni software è opportuno che le imprese rispondano a queste domande:
- Chi è l’utente? Gli sviluppatori di applicazioni, un team di Data science propriamente detto, un team dedito alla business intelligence?
- Di quanti specialisti (data scientist) dispone l’azienda? Quanta esperienza hanno?
- Quale linguaggio di programmazione è nelle corde dei data scientist?
La scelta del software pende nella direzione delle risorse disponibili. Se queste, per esempio, utilizzano Python, sarà necessaria una piattaforma che tende alla personalizzazione. I data scientist navigati creano, testano e modificano modelli e, in questo caso, più che orientata al linguaggio di programmazione, la piattaforma dovrà rispondere alle necessità di esplorazione di modelli.
Un limitato numero di programmatori può spingere verso una soluzione no-code, che vive soprattutto grazie a funzionalità di customizzazione di funzionalità già presenti sulla piattaforma.
Come integrare il software di Data science con i sistemi aziendali esistenti
Altro tema ricorrente e ancora una volta poco centrato. L’integrazione di software è necessaria laddove occorre unire o unificare diversi sottosistemi, cosa tipica delle imprese che stanno valutando di usare applicazioni cloud partendo da sistemi legacy e che usano più applicativi o diversi database.
Non è strettamente necessario che un software di Data science si integri nei sistemi esistenti, è certamente indispensabile che i diversi sistemi riescano a fare confluire dati nei software di Data science. A questo proposito le soluzioni sono diverse, partendo dalle Api fino a connettori specifici e passando attraverso la capacità dei software di Data science di attingere dati dai database esistenti. Ciò che andrebbe evitata è la replica dei dati: aziendalmente è fuori luogo replicare ciò che c’è già e avere i medesimi dati in due o più luoghi diversi crea dispersione, eccezione fatta per i backup.
Parimenti indispensabile è la cultura dei dati, imprescindibile per sviluppare delle strategie di Data science proficue. E questo porta a una domanda più pertinente, ovvero il comprendere come integrare un team di Data science nell’azienda.
Le possibilità, in questo caso, sono diverse:
- Integrazione centralizzata: un solo team di data scientist a disposizione di tutta l’azienda per lo sviluppo di un numero variabile di progetti
- Integrazione decentralizzata: i data scientist entrano in ogni dipartimento aziendale
- Integrazione funzionale: i data scientist lavorano a stretto contatto con questi settori in cui le attività di analisi sono focalizzate, per esempio l’ufficio vendite o l’ufficio marketing
- Integrazione zero: i dipartimenti aziendali sfruttano le analisi svolte dal team di data scientist i quali, tuttavia, continuano a rappresentare un’unità di lavoro specifica dell’azienda senza allocare risorse uomo a uno o all’altro comparto aziendale.
Anche in questo caso, la disponibilità di risorse e di dati dell’azienda fanno la differenza.
I software di Data science e la sicurezza dei dati
In un’azienda di norma sono gli amministratori IT oppure i CSO a dare ai data scientist l’accesso ai dati i quali, al pari di ogni informazione aziendale, dovrebbero sottostare a politiche di accesso ristrette.
La sicurezza da applicare ai dati utilizzati per la Data science non varia rispetto al contesto generale di sicurezza dei dati propriamente detto e che riguarda qualsiasi comparto o processo aziendale.
Anche in questo caso appare più opportuno girare la questione e non chiedersi cosa può fare la sicurezza dei dati per la Data science ma cosa può fare quest’ultima per la sicurezza dei dati. Essendo un processo, la Data science può essere impiegata anche al servizio della data security e metterla al servizio della difesa predittiva, della ricerca e del monitoraggio in tempo reale di data breach.