La leggenda di Davide e Golia è una storia molto nota: il piccolo pastore ebreo, con l’aiuto di una frombola riesce ad uccidere il gigante Golia (campione dei filistei) con un solo colpo ben assestato.
Questo racconto è diventato nel tempo la metafora dell’ “outsider”, la vittoria del piccolo contro il potente di turno. Tuttavia nel libro: “Outliers di Malcolm Gladwell” la storia del successo di Davide viene raccontata sotto una nuova luce, mettendo l’accento sulle capacità del giovane di usare un’arma: la frombola (una stringa di corda e tessuto con una tasca che si apre al momento del lancio) il cui impatto in termini di energia, se unita ad una buona abilità nella mira è devastante.
Il piccolo pastore che nel corpo a corpo con Golia, non avrebbe avuto alcuna chance nell’usare questa semplice arma, dimostra una intelligenza strategica che si rivela vincente. Sotto questa luce il vero “gigante” della storia biblica è Davide, che diventerà Re di Israele succedendo a Saul.
Il mondo del software open source è stato spesso paragonato a Davide, procede con strumenti semplici, talvolta elementari ma lo fa con estrema precisione: ha promosso linguaggi come R e Python, a protagonisti assoluti della Data Science.
In campo server, il sistema Linux è nato come un progetto amatoriale che equipaggia la maggior parte dei server del pianeta e gira su tutti i cellulari con sistema operativo Android. Una vittoria schiacciante e certamente non prevedibile fin dall’inizio.
In questo breve articolo faremo la conoscenza di Orange3, un tool open source per il data mining e, lo confronteremo con quello che è stato il principe dei sistemi analytics, il sistema SAS ed in particolare la sua incarnazione: SAS Enterprise Miner, ripercorrendo attraverso un semplice esame delle features disponibili, i punti di forza/debolezza di queste soluzioni.
Il software Orange3 è un tool visuale per il data mining con particolare attenzione alla Machine Learning, al processamento del linguaggio naturale NLP, alle reti e alla data visualization. Orange3 lavora connettendo su un foglio di lavoro decine di widget, pensati per avere uno (o più) ingressi dati e una uscita, che a sua volta può diventare ingresso per altri widget. L’unione dei widget crea un workflow (o pipeline) il cui compito è visualizzare graficamente ed operativamente una serie di passaggi logici e matematici che avvengono uno dopo l’altro a partire dai dati iniziali.
La modalità di costruzione degli algoritmi è semplicissima, drag&drop da un menù a tendina, trascinando i connettori da un widget all’altro. Con una lavorazione del genere, il tempo necessario alla creazione di un flusso di analisi è davvero basso. Inoltre la lavorazione di nuovi widget richiede relativamente poco tempo per un programmatore di media esperienza.
Release dopo release, il numero di widget disponibili sta diventando elevato, le performance soddisfacenti ed i connettori già disponibili verso i database (ma si possono creare connessioni via codice anche con molti altri sistemi) che lo rendono un tool potenzialmente utile anche in ambito enterprise.
Il tool SAS Enterprise Miner nasce invece come aggiunta orientata alla Data Science per il sistema SAS: un gigante dei sistemi di gestione dati aziendali, un software che ha fatto la sua fortuna certificando semplici procedure “error free” sull’analisi dati con metodologie statistiche.
Ad esempio nel settore farmaceutico spesso è necessario dopo i test clinici, estrarre delle statistiche non necessariamente molto sofisticate. Ebbene il gruppo SAS si è preso la briga di fare in modo che i risultati delle procedure fossero estremamente coerenti e stabili, dando quindi la possibilità di “certificare” i dati e gli esperimenti.
Per esempio, sebbene una media aritmetica sia disponibile in tantissimi linguaggi e nessuno si interroga della sua veridicità essendo un metodo molto semplice, in SAS le procedure sono “verificate”. Al lato pratico si tratta solo di una trovata eccellente per il business, una “dipendenza” dal modello imposto e dalle procedure “certificate”.
Nel campo dell Open Source un software come Orange3 ha seguito un pattern differente, libero di innovare, che ha implementato decine di algoritmi e rappresenta, rispetto a SAS, un software che ha pur nella sua semplicità, una completezza davvero notevole. Il confronto in particolare si svolge sugli algoritmi di Machine Learning che non sono disponibili in SAS, se non attraverso chiamate esterne verso sistemi come R, che è pure un software open source.
In ambienti quindi dove è disponibile il solo SAS e la connessione ad R non è possibile (in gran parte del mondo enterprise) il tools SAS Enterprise Miner si mostra particolarmente limitato, costringendo i suoi programmatori ad implementare manualmente molte delle procedure algoritmiche.
In conclusione i due tool SAS Enterprise Miner e Orange3 rappresentano il prodotto di due differenti filosofie sullo sviluppo del codice: da un lato il gigante SAS con la sua politica di rigore e di closed source, dall’altro Orange3 che nella sua libertà di sperimentare è forse meno pronto per il mondo enterprise ma fornisce uno strumento più completo e più innovativo: un piccolo Davide che facilmente può vincere molte battaglie a nostro parere anche in campo enterprise. Ma questo è una sfida che non tutte le aziende vogliono tentare.