Παραμετρική ανάλυση κατηγοριοποίησης (classification) και collaborative filtering σε κατανεμημένο περιβάλλον (Apache Spark)

dc.contributor.advisorΜακρής, Χρήστος
dc.contributor.authorΑλεξόπουλος, Αθανάσιος
dc.contributor.committeeΤσακαλίδης, Αθανάσιος
dc.contributor.committeeΠαυλίδης, Γεώργιος
dc.contributor.otherAlexopoulos, Athanasios
dc.date.accessioned2019-03-29T21:47:47Z
dc.date.available2019-03-29T21:47:47Z
dc.date.copyright2018-03-05
dc.degreeΜεταπτυχιακή Εργασίαel
dc.description.abstractΈνα από τα κύρια χαρακτηριστικά της εποχής μας είναι τα δεδομένα μεγάλου όγκου. Πλέον είναι εφικτό να συλλέγουμε πληροφορίες από πληθώρα πηγών: τα έξυπνα κινητά, και γενικότερα οι έξυπνες συσκευές, τα κοινωνικά δίκτυα και το σύστημα υγείας αποτελούν ένα μικρό τμήμα των δυνητικών πηγών δεδομένων. Με την αύξηση των δεδομένων προέκυψαν δύο σημαντικά προβλήματα: η αποθήκευση και η επεξεργασία τους. Προκειμένου να ξεπεραστεί το πρώτο πρόβλημα αναπτύχθηκαν τεχνικές οι οποίες επιτρέπουν τόσο την γρήγορη όσο και την αξιόπιστη αποθήκευση και αναζήτηση της πληροφορίας. Για το δεύτερο πρόβλημα αναπτύχθηκαν καινούρια προγραμματιστικά πλαίσια (frameworks) τα οποία επιτρέπουν την επεξεργασία των δεδομένων χρησιμοποιώντας συστάδες (clusters) υπολογιστών. Στην παρούσα διπλωματική εργασία, χρησιμοποιείται το προγραμματιστικό πλαίσιο Apache Spark το οποίο επιτρέπει την παράλληλη επεξεργασία δεδομένων. Για την υλοποίηση επιλέχθηκε η δωρεάν έκδοση του Databricks (Databricks community edition) η οποία παρέχει χώρο αποθήκευσης δεδομένων και διαθέσιμους πόρους για την επεξεργασία τους. Πραγματοποιήθηκαν δύο τύποι αναλύσεων: ανάλυση κατηγοριοποίησης (classification) και συνεργατικού φιλτραρίσματος (collaborative filtering). Στην ανάλυση κατηγοριοποίησης χρησιμοποιήθηκαν δύο σύνολα δεδομένων, ένα δυαδικό και ένα πολλαπλών κλάσεων εξόδου, στα οποία εφαρμόστηκε μία σειρά τεχνικών κατηγοριοποίησης, με σκοπό να συγκρίνουμε τις διάφορες τεχνικές κατηγοριοποίησης, να εξεταστεί η επεκτασιμότητα κάθε αλγορίθμου αλλά και να εξαχθούν συμπεράσματα ως προς την επίδραση των παραμέτρων της εκάστοτε τεχνικής. Για τις αναλύσεις χρησιμοποιήθηκε η βιβλιοθήκη Spark MlLib, η οποία παρέχεται από το framework Apache Spark και περιλαμβάνει υλοποιήσεις τεχνικών μηχανικής μάθησης βελτιστοποιημένες για κατανεμημένο περιβάλλον. Εκτός της τυπικής μεθοδολογίας κατηγοριοποίησης, πραγματοποιήθηκε μία σειρά αναλύσεων κατηγοριοποίησης δύο βημάτων, όπου στο πρώτο βήμα χρησιμοποιήθηκε μία αυτόματη μέθοδος για την εύρεση ενός υποσυνόλου των χαρακτηριστικών εισόδου και στη συνέχεια, χρησιμοποιώντας αυτό το υποσύνολο, επαναλήφθηκε η διαδικασία κατηγοριοποίησης. Σκοπός αυτής της διαδικασίας ήταν να μελετηθεί η επίδραση του αριθμού των χαρακτηριστικών τόσο στην ποιότητα των αποτελεσμάτων όσο και στον χρόνο εκτέλεσης. Στην ανάλυση collaborative filtering χρησιμοποιήθηκε ένα πραγματικό σύνολο δεδομένων που περιλαμβάνει βαθμολογήσεις ταινιών από χρήστες. Με βάση αυτό εξετάστηκε η επίδραση διαφόρων παραμέτρων του αλγορίθμου στην ποιότητα των τελικών αποτελεσμάτων αλλά και του χρόνου εκτέλεσής του. Για την υλοποίηση της διαδικασίας χρησιμοποιήθηκε και πάλι η βιβλιοθήκη Spark MlLib, ενώ επιπλέον εξήχθησαν προβλέψεις και για ένα νέο χρήστη.el
dc.description.translatedabstractOne of the main characteristics of our time is the growth of the data collections, both regarding their complexity and their volume. We can collect data literally from everywhere: smart phones, smart devices, social media and health care systems define a small portion of the possible sources of big data. Such big growth poses two main difficulties: storing and processing them. In order to overcome those difficulties several techniques have been developed. For the former, there are certain new technologies that enable us not only to store, but also to retrieve the information in a fast and reliable manner. For the latter, new application frameworks have been developed that enable us to process big data using computer clusters. In the present thesis we used the Apache Spark framework, a state of the art framework for distributed data processing. As development environment we chose Databricks community edition, which provides the user with not only data storage but also computational resources to perform analysis. We performed two different types of analyses, classification analysis and collaborative filtering. In the former, we used two datasets, a binary and a multiclass. We performed a series of typical classification analysis at each one of them using the Spark MlLib, a machine learning library which is provided by Apache Spark and is optimized for distributer computing. Our main purpose was to examine the scalability of each algorithm and also to extract information regarding the impact of each technique’s parameters values. Part from the typical classification, we performed a series of two step classification analyses, in which at the first step we extracted a subset of the dataset characteristics, and using this dataset, we re-performed the classification analysis. Our goal was to examine the impact of the number of the characteristics in the metric’s value and time needed to complete the analysis. In the collaborative filtering analysis, we performed a realistic dataset containing movies’ ratings provided by a number of users. Using this dataset we examined the impact of the algorithm’s parameters in the quality of the final results. Again, we used the Spark MlLib implementation of the algorithm. Finally, we used the model we created to provide prediction for a new user.el
dc.identifier.urihttp://hdl.handle.net/10889/12104
dc.language.isogrel
dc.rights12el
dc.subjectΜεγάλος όγκος δεδομένωνel
dc.subjectΑνάλυση κατηγοριοποίησηςel
dc.subject.alternativeBig datael
dc.subject.alternativeClassification analysisel
dc.subject.alternativeApache Sparkel
dc.subject.alternativeDatabricks community editionel
dc.subject.alternativeSpark MlLibel
dc.subject.alternativeCollaborative filteringel
dc.subject.ddc005.7el
dc.titleΠαραμετρική ανάλυση κατηγοριοποίησης (classification) και collaborative filtering σε κατανεμημένο περιβάλλον (Apache Spark)el
dc.title.alternativeParametric classification analysis and collaborative filtering in distributed computer systems (Apache Spark)el
dc.typeThesisel
Files
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Nemertes_Alexopoulos(com).pdf
Size:
5.19 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
5.05 KB
Format:
Item-specific license agreed upon to submission
Description: