Big Data Analytics - Strumenti di analisi dei dati
Esistono numerosi strumenti che consentono a un data scientist di analizzare i dati in modo efficace. Normalmente l'aspetto ingegneristico dell'analisi dei dati si concentra sui database, mentre il data scientist si concentra su strumenti in grado di implementare prodotti di dati. La sezione seguente discute i vantaggi di diversi strumenti con particolare attenzione ai pacchetti statistici che i data scientist utilizzano nella pratica più spesso.
Linguaggio di programmazione R.
R è un linguaggio di programmazione open source con un focus sull'analisi statistica. È competitivo con strumenti commerciali come SAS, SPSS in termini di capacità statistiche. Si pensa che sia un'interfaccia per altri linguaggi di programmazione come C, C ++ o Fortran.
Un altro vantaggio di R è il gran numero di librerie open source disponibili. In CRAN ci sono più di 6000 pacchetti che possono essere scaricati gratuitamente e in formatoGithub è disponibile un'ampia varietà di pacchetti R.
In termini di prestazioni, R è lento per operazioni intensive, data la grande quantità di librerie disponibili, le sezioni lente del codice sono scritte in linguaggi compilati. Ma se intendi eseguire operazioni che richiedono la scrittura di deep for loop, R non sarebbe la tua migliore alternativa. Ai fini dell'analisi dei dati, ci sono belle librerie comedata.table, glmnet, ranger, xgboost, ggplot2, caret che consentono di utilizzare R come interfaccia per linguaggi di programmazione più veloci.
Python per l'analisi dei dati
Python è un linguaggio di programmazione generico e contiene un numero significativo di librerie dedicate all'analisi dei dati come pandas, scikit-learn, theano, numpy e scipy.
La maggior parte di ciò che è disponibile in R può essere fatto anche in Python, ma abbiamo scoperto che R è più semplice da usare. Nel caso in cui si lavori con set di dati di grandi dimensioni, normalmente Python è una scelta migliore di R. Python può essere utilizzato in modo abbastanza efficace per pulire ed elaborare i dati riga per riga. Questo è possibile da R ma non è efficiente come Python per le attività di scripting.
Per l'apprendimento automatico, scikit-learnè un bell'ambiente che ha a disposizione una grande quantità di algoritmi in grado di gestire set di dati di medie dimensioni senza problemi. Rispetto alla libreria equivalente di R (accento circonflesso),scikit-learn ha un'API più pulita e più coerente.
Julia
Julia è un linguaggio di programmazione dinamico di alto livello e ad alte prestazioni per il calcolo tecnico. La sua sintassi è abbastanza simile a R o Python, quindi se stai già lavorando con R o Python dovrebbe essere abbastanza semplice scrivere lo stesso codice in Julia. La lingua è abbastanza nuova ed è cresciuta in modo significativo negli ultimi anni, quindi è sicuramente un'opzione al momento.
Consigliamo Julia per la prototipazione di algoritmi ad alta intensità di calcolo come le reti neurali. È un ottimo strumento per la ricerca. In termini di implementazione di un modello in produzione, probabilmente Python ha alternative migliori. Tuttavia, questo sta diventando sempre meno un problema poiché ci sono servizi web che fanno l'ingegneria di implementazione di modelli in R, Python e Julia.
SAS
SAS è un linguaggio commerciale che viene ancora utilizzato per la business intelligence. Ha una lingua di base che consente all'utente di programmare un'ampia varietà di applicazioni. Contiene alcuni prodotti commerciali che offrono agli utenti non esperti la possibilità di utilizzare strumenti complessi come una libreria di rete neurale senza la necessità di programmazione.
Al di là dell'ovvio svantaggio degli strumenti commerciali, SAS non si adatta bene a set di dati di grandi dimensioni. Anche i dataset di medie dimensioni avranno problemi con SAS e causeranno il crash del server. Solo se si lavora con piccoli set di dati e gli utenti non sono esperti di dati scientifici, SAS è consigliato. Per gli utenti avanzati, R e Python forniscono un ambiente più produttivo.
SPSS
SPSS, è attualmente un prodotto di IBM per l'analisi statistica. Viene utilizzato principalmente per analizzare i dati dei sondaggi e per gli utenti che non sono in grado di programmare, è un'alternativa decente. Probabilmente è semplice da usare come SAS, ma in termini di implementazione di un modello è più semplice in quanto fornisce un codice SQL per assegnare un punteggio a un modello. Questo codice normalmente non è efficiente, ma è un inizio mentre SAS vende il prodotto che assegna un punteggio ai modelli per ogni database separatamente. Per piccoli dati e un team inesperto, SPSS è un'opzione valida quanto SAS.
Il software è tuttavia piuttosto limitato e gli utenti esperti saranno più produttivi di ordini di grandezza utilizzando R o Python.
Matlab, Octave
Sono disponibili altri strumenti come Matlab o la sua versione open source (Octave). Questi strumenti sono utilizzati principalmente per la ricerca. In termini di capacità, R o Python possono fare tutto ciò che è disponibile in Matlab o Octave. Ha senso acquistare una licenza del prodotto solo se sei interessato al supporto che forniscono.