Software libero per data scientists

Qualche anno fa la Harvard Business Revue ha pubblicato un articolo dal titolo “Data Scientist: the Sexiest Job of the 21st Century”.
Per farci capire cosa ci sia di così seducente in questa professione, definita la più sexy del XXI secolo, l’articolo la definisce “di alto livello, con la formazione e la curiosità di fare scoperte nel mondo dei big data”, dice che i data scientists “fanno scoperte mentre nuotano nei dati. È il loro metodo preferito per navigare nel mondo che li circonda. A loro agio nel regno digitale, sono in grado di strutturare grandi quantità di dati senza forma e renderne possibile l’analisi.” e conclude invitando il lettore a pensare al data scientist come a “un ibrido di data hacker, analista, comunicatore e consulente di fiducia in una combinazione estremamente potente e rara.”
In maniera meno colorita diciamo che la scienza dei dati è la disciplina finalizzata ad estrarre conoscenza dai dati e che il professionista che vi si dedica deve sapere di informatica e di statistica, avendo anche la capacità di tradurre in linguaggio naturale i risultati delle sue analisi e le indicazioni che ne derivano.
A supporto di quest’ultima capacità di capire e comunicare non esiste software ma per l’informatica (strutturazione dei dati e algoritmi per elaborarli) e la statistica (analisi della correlazione tra dati e dell’inferenza) esiste moltissimo software, sviluppato o reso funzionale alle moderne esigenze soprattutto negli anni più recenti.
Software per analizzare ed elaborare dati ce n’è da quando c’è il computer. Ma fino a qualche tempo fa oggetto delle elaborazioni erano soprattutto piccole quantità di dati numerici: la statistica ha sempre lavorato per lo più su campioni di dati numerici. Le moderne esigenze sono innanzi tutto quella di lavorare sulle enormi moli di dati che vengono accumulati di minuto in minuto dalla digitalizzazione che ha invaso ogni nostra attività e quella di non rinunciare a trarre conoscenza anche dall’analisi di dati non numerici.
Per fare queste cose, nel mondo del software libero abbiamo gioielli come KNIME, Orange e WEKA. Ma la quintessenza, per completezza di strumenti, è una raccolta di programmi open source in linguaggio Python che, tanto per stare tra rettili, si chiama Anaconda, il cui primo rilascio, con licenza libera New BSD, è del 17 luglio 2012.
Esistono raccolte similari: ActivePython, Enthought Canopy e, solo per Windows, WinPython se stiamo a quelle legate al linguaggio Python, Apache Spark, legato al linguaggio Scala/Java, più adatto al calcolo distribuito e utilizzato nei progetti Apache Hadoop e IBM Watson, solo per Linux.
In tutto questo mondo, Anaconda è ampiamente utilizzata e spesso preferita dagli addetti ai lavori per come si presenta e per come è organizzata, per la numerosità dei pacchetti che contiene (anche se, alla fine, quelli che contano sono pochissimi e sono presenti in tutte le altre distribuzioni), per tutta una serie di utilità collaterali che offre in tema di apprendimento e documentazione e, non da ultimo, per la sua scalabilità, cioè per la possibilità che abbiamo di costruirla anche in dimensioni più ridotte di quella completa.
Ovviamente con disponibilità per tutti i sistemi operativi più diffusi (Linux, Mac OS X e Windows).
Dal momento che la documentazione in lingua italiana sull’argomento scarseggia ho ritenuto utile produrre l’allegato manualetto in formato PDF, dedicato a Anaconda.
Come sempre si tratta di documento liberamente scaricabile, stampabile e distribuibile.

python_anaconda