This Master Thesis aims to discuss the comparison of new alternative Data Science platforms. Ordinary Analytics tools do not natively support analysis of large data and innovative solutions have been identified to meet these modern requirements. The three following kinds of approach have been used: 1) a conventional approach through the use of the statistical language R and its RStudio environment; 2) Revolution R (now Microsoft R), an evolution of the R Analytics engine to support Big Data; 3) framework Big Data Apache Spark, which through its MLlib (Machine Learning Library) offers several Analytics algorithms. Through actual data provided by Gruppo PAM S.p.A. and thanks to the collaboration with PricewaterhouseCoopers Advisory S.p.A., statistical models and several analyzes have been defined to perform a functional and efficacy comparison of the technologies evaluated. The work is carried out in three phases: 1) installation and configuration of a big data environment; 2) construction of the dataset to provide to the statistical models; 3) installation of the three Analytics technologies; 4) definition of statistical models and their implementation in the different approaches; 5) execution of the analyzes. The obtained results proved that there is no a single technology that dominates the others, but everyone of them has strengths and weaknesses that characterize the choice of use. The standard R engine has shown its limits with large datasets, while it remains the most stable and compatible of all. Revolution R is able to remove the constraints of R and it supports analysis of large amounts of data, also adding some functionality not present in the standard version, consequently causing the loss of compatibility with it. The MLlib Spark has shown to be the most efficient in terms of performance, in addition to being an open source tools (unlike Revolution R) and in constant development. However, the API provided by the libraries can be used with Java, Python or Scala programming languages, thus losing the features offered by R language. An innovative tool (still under develompent) that removes this limit has been tested, SparkR, which, like Revolution R, replaces the standard engine to implement its statistical algorithms through the use of the MLlib. The last one is still a very recent tool but certainly with great potential.
Questo lavoro di Tesi Magistrale si prefigge il compito di confrontare nuove piattaforme alternative di Data Science. Gli ordinari strumenti non supportano nativamente analisi su dati di grandi dimensioni e sono state quindi ricercate soluzioni innovative per far fronte a queste esigenze moderne. Gli approcci seguiti sono di tre tipologie: 1) il primo è di tipo tradizionale, attraverso l’utilizzo del linguaggio statistico R e del suo ambiente RStudio; 2) il secondo è rappresentato da Revolution R (ora Microsoft R), un’evoluzione del motore di Analytics di R verso il supporto ai Big Data; 3) il terzo ed ultimo sfrutta invece il framework Big Data Apache Spark, il quale attraverso le sue MLlib (Machine Learning Library) offre numerosi algoritmi di Analytics. Attraverso dei dati reali forniti dal Gruppo PAM S.p.A. e grazie alla collaborazione con PricewaterhouseCoopers Advisory S.p.A. si sono definiti modelli statistici e numerose analisi per effettuare una comparazione funzionale e di performance delle tecnologie prese in esame. Il lavoro è realizzato in tre fasi: 1) installazione di un ambiente di mantenimento ed elaborazione Big Data in un cluster di server; 2) costruzione dei dataset da fornire in input ai modelli statistici; 3) installazione delle tre tecnologie di Analytics; 4) definizione dei modelli statistici ed implementazione degli stessi nei diversi approcci; 5) esecuzione delle analisi. Dai risultati ottenuti si è dimostrato che non è presente un’unica tecnologia che sovrasta le altre, ma ognuna di esse ha punti di forza e di debolezza che ne caratterizzano la scelta di utilizzo. Il linguaggio standard di R ha dimostrato i propri limiti quando la dimensione dei dataset si facevano importanti, mentre rimane comunque il più stabile e compatibile rispetto agli altri. Revolution R riesce a rimuovere i vincoli di R e si è dimostrato supportare correttamente analisi su grandi quantità di dati, aggiungendo anche alcune funzionalità non presenti nella versione standard, causando però di conseguenza anche la perdita di compatibilità con essa. Le MLlib di Spark si sono dimostrate le più efficienti in termini di performance, oltre ad essere degli strumenti open source (a differenza di Revolution R) ed in continuo sviluppo. D’altro canto, le API fornite dalle librerie sono utilizzabili con i linguaggi di programmazione Java, Python o Scala, facendo così perdere le funzionalità offerte da R. È stato utilizzato un tool (SparkR, ancora in fase di sviluppo) che rimuove questo limite. Come Revolution R, si sostituisce al motore standard per implementare i suoi algoritmi statistici attraverso l’utilizzo delle MLlib. Quest’ultimo è risultato uno strumento ancora molto acerbo, ma sicuramente con grandi potenzialità.
Confronto funzionale e non funzionale tra strumenti di data science : R, revolution R e Spark Mllib
MALERBA, RICCARDO
2015/2016
Abstract
This Master Thesis aims to discuss the comparison of new alternative Data Science platforms. Ordinary Analytics tools do not natively support analysis of large data and innovative solutions have been identified to meet these modern requirements. The three following kinds of approach have been used: 1) a conventional approach through the use of the statistical language R and its RStudio environment; 2) Revolution R (now Microsoft R), an evolution of the R Analytics engine to support Big Data; 3) framework Big Data Apache Spark, which through its MLlib (Machine Learning Library) offers several Analytics algorithms. Through actual data provided by Gruppo PAM S.p.A. and thanks to the collaboration with PricewaterhouseCoopers Advisory S.p.A., statistical models and several analyzes have been defined to perform a functional and efficacy comparison of the technologies evaluated. The work is carried out in three phases: 1) installation and configuration of a big data environment; 2) construction of the dataset to provide to the statistical models; 3) installation of the three Analytics technologies; 4) definition of statistical models and their implementation in the different approaches; 5) execution of the analyzes. The obtained results proved that there is no a single technology that dominates the others, but everyone of them has strengths and weaknesses that characterize the choice of use. The standard R engine has shown its limits with large datasets, while it remains the most stable and compatible of all. Revolution R is able to remove the constraints of R and it supports analysis of large amounts of data, also adding some functionality not present in the standard version, consequently causing the loss of compatibility with it. The MLlib Spark has shown to be the most efficient in terms of performance, in addition to being an open source tools (unlike Revolution R) and in constant development. However, the API provided by the libraries can be used with Java, Python or Scala programming languages, thus losing the features offered by R language. An innovative tool (still under develompent) that removes this limit has been tested, SparkR, which, like Revolution R, replaces the standard engine to implement its statistical algorithms through the use of the MLlib. The last one is still a very recent tool but certainly with great potential.File | Dimensione | Formato | |
---|---|---|---|
2016_09_Malerba.pdf
non accessibile
Descrizione: Testo della tesi
Dimensione
10.37 MB
Formato
Adobe PDF
|
10.37 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/126761