Gli strumenti per gli sviluppatori disponibili in Rete sono diversi anche se tutti i developer prima o poi si ritrovano a domandarsi quale linguaggio di programmazione adottare in questi ambiti. Oggi illustreremo vantaggi e svantaggi di due linguaggi che si prestano a questi tipi di progetti ovvero Python ed R. Entrambi godono di un robusto ecosistema di tool e librerie open source, dunque i developer hanno solo l'imbarazzo della scelta.

La differenza tra machine learning e data analysis è semplice, il primo prediligie la predictive accuracy, mentre il secondo da più rilievo all'interpretability e alla statistical inference. Avendo chiaro questo si può dunque iniziare ad analizzare i diversi approcci che hanno i due linguaggi di programmazione che andremo ad analizzare. Python rappresenta uno strumento ottimale per migliorare l'accuratezza delle previsioni e infatti si è costruito un'ottima reputazione all'interno del mondo del machine learning.

R invece è un linguaggio indicato per l'inferenza statistica, cioè la metodologia con cui si rilevano le caratteristiche di un insieme dall'osservazione di una parte di esso detta "campione". Per questo motivo R si è fatto un nome all'interno del comparto data analysis. Ma queste feature non impongono una rigida separazione dei compiti, infatti i due linguaggi sono molto flessibili e possono essere scambiati e usati uno al posto dell'altro. Ci sono inoltre una moltitudine di pacchetti per entrambi che permettono di replicare le funzionalità di uno dei due.

Dunque lo scelta ricade alla fine sulle singole abilità dello sviluppatore e sulle esigenze di sviluppo del progetto su cui si sta lavorando. Se proprio si vuole essere pignoli il principale "problema" rilevabile in R riguarda la sua documentazione che in molti casi risulta incompleta, al contrario la community di Python offre una documentazione molto più estesa e approfondita, che permette anche a chi è nuovo in questo settore di apprendere concetti e skill molto velocemente.

Via Tom Radcliffe

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *