Εφαρμογή τεχνικών Data Mining με τον SQL Server 2012 και την γλώσσα R

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Εφαρμογή τεχνικών Data Mining με τον SQL Server 2012 και την γλώσσα R"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΔΙΟΙΚΗΣΗ» ΤΜΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Εφαρμογή τεχνικών Data Mining με τον SQL Server 2012 και την γλώσσα R Διπλωματική Εργασία του Φοίβου Κολιόπουλου (ΑΕΜ: 324) Εξεταστική Επιτροπή Επιβλέπων: Συμεωνίδης Παναγιώτης Μέλη: Αγγελής Ελευθέριος Μπουτσούκη Χριστίνα ΘΕΣΣΑΛΟΝΙΚΗ ΣΕΠΤΕΜΒΡΙΟΣ 2012

2

3 ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή Βασικές έννοιες της εξόρυξης δεδομένων Data Mining Data Warehousing On-Line Analysis Processing (O.L.A.P.) Mining Tools Μέθοδοι Data Mining Χρησιμότητα και εφαρμογές Data Mining Το περιβάλλον του SQL Server 2012 και η γλώσσα R Συστήματα εξόρυξης γνώσης Ο SQL Server Τεχνικά Χαρακτηριστικά του SQL Server Υπηρεσίες που προσφέρει ο SQL Server Το γραφικό περιβάλλον του SQL Server Το γραφικό περιβάλλον του SQL Server 2012 Data Tools Η γλώσσα R Τεχνικά χαρακτηριστικά της γλώσσας R Τα πακέτα της γλώσσας R Το γραφικό περιβάλλον της γλώσσας R Το πακέτο Rattle Δένδρα Απόφασης Αλγόριθμοι ταξινόμησης Κανόνες απόφασης Δένδρα απόφασης στον SQL Server Ο τρόπος λειτουργίας του αλγορίθμου Οι προϋποθέσεις του αλγορίθμου Οι παράμετροι του αλγορίθμου Η προβολή του δένδρου Δένδρα απόφασης στη γλώσσα R Ο τρόπος λειτουργίας του αλγορίθμου Οι προυποθέσεις του αλγορίθμου Οι παράμετροι του αλγορίθμου Η προβολή του δένδρου I

4 4. Συσταδοποίηση Αλγόριθμοι συσταδοποίησης Συσταδοποίηση στον SQL Server Ο τρόπος λειτουργίας του αλγορίθμου Οι προϋποθέσεις του αλγορίθμου Οι παράμετροι του αλγορίθμου Η προβολή των συστάδων Συσταδοποίηση στο Rattle Ο τρόπος λειτουργίας του αλγορίθμου Οι προϋποθέσεις του αλγορίθμου Οι παράμετροι του αλγορίθμου Η προβολή των συστάδων Αξιολόγηση των μοντέλων Δείκτες αξιολόγησης Αξιολόγηση μοντέλων στον SQL Server Αξιολόγηση μοντέλων στο Rattle Τα σύνολα δεδομένων Η βάση δεδομένων Movie Click Οι πίνακες και το περιεχόμενό τους Η δομή και οι σχέσεις μεταξύ των πινάκων Η βάση δεδομένων MovieLens Οι πίνακες και το περιεχόμενό τους Η δομή και οι σχέσεις μεταξύ των πινάκων Εφαρμογή δένδρων απόφασης στις βάσεις δεδομένων Εφαρμογή του αλγορίθμου Microsoft Decision Trees στη βάση δεδομένων Movie Click Προβολή των δένδρων Αξιολόγηση των μοντέλων του SQL Server Συγκριτική αξιολόγηση των μοντέλων του SQL Server Εφαρμογή του αλγορίθμου δένδρων απόφασης του Rattle στη βάση δεδομένων Movie Click Προβολή των δένδρων Αξιολόγηση των μοντέλων του Rattle Συγκριτική αξιολόγηση των μοντέλων του Rattle Σύγκριση μοντέλων μεταξύ SQL Server και Rattle II-

5 7.4 Εφαρμογή του αλγορίθμου Microsoft Decision Trees στη βάση δεδομένων Movie Lens Προβολή των δένδρων Αξιολόγηση των μοντέλων του SQL Server Συγκριτική αξιολόγηση των μοντέλων του SQL Server Εφαρμογή του αλγορίθμου δένδρων απόφασης του Rattle στη βάση δεδομένων Movie Lens Προβολή των δένδρων Συγκριτική αξιολόγηση των μοντέλων του Rattle Σύγκριση μοντέλων μεταξύ SQL Server και Rattle Συσταδοποίηση στις βάσεις δεδομένων Εφαρμογή του αλγορίθμου Microsoft Clustering στη βάση δεδομένων Movie Click Προβολή των συστάδων Αξιολόγηση των μοντέλων του SQL Server Συγκριτική αξιολόγηση των μοντέλων του SQL Server Εφαρμογή του αλγορίθμου συσταδοποίησης του Rattle στη βάση δεδομένων Movie Clcik Προβολή των συστάδων Εφαρμογή του αλγορίθμου Microsoft Decision Trees στη βάση δεδο-μένων Movie Lens Προβολή των συστάδων Αξιολόγηση των μοντέλων του SQL Server Συγκριτική αξιολόγηση των μοντέλων του SQL Server Εφαρμογή του αλγορίθμου συσταδοποίησης του Rattle στη βάση δεδομένων Movie Lens Προβολή των συστάδων Συμπεράσματα Βιβλιογραφία III

6

7 Εισαγωγή Στην κοινωνία της πληροφορίας του 21 ου αιώνα, η μετατροπή των δεδομένων σε πληροφορία είναι αναγκαίο να οδηγεί και την μετατροπή της πληροφορίας σε γνώση. Ένα από τα μεγαλύτερα και ανερχόμενα σε σπουδαιότητα και δυσκολία πεδία είναι η ανακάλυψη προτύπων και μοντέλων σε τεράστια σύνολα δεδομένων. Η επιστήμη αυτή, η οποία συμπεριλαμβάνει μία πληθώρα άλλων επιστημονικών πεδίων, όπως της στατιστικής, της μηχανικής μάθησης και της θεωρίας της πληροφορίας, ονομάζεται «Εξόρυξη Πληροφορίας από Δεδομένα». Στα πλαίσια του Διατμηματικού Μεταπτυχιακού Προγράμματος Σπουδών «Πληροφορική & Διοίκηση», πραγματοποιήθηκε η εκπόνηση αυτής της εργασίας με σκοπό την εφαρμογή τεχνικών Data Mining σε σύνολα δεδομένων πού αφορούν κινηματογραφικές ταινίες, με εφαρμογή μεθόδων επεξεργασίας δεδομένων, κανόνων συσχέτισης και αλγορίθμων κατηγοριοποίησης στο περιβάλλον του SQL Server 2012 και της γλώσσας R. Κύριος κορμός αυτής της εργασίας είναι η εφαρμογή διαφόρων αλγορίθμων στα σύνολα δεδομένων, η παρουσίαση των αποτελεσμάτων τους στα παραπάνω περιβάλλοντα και η σύγκριση τους ως προς την ακρίβεια των αποτελεσμάτων. Συγκεκριμένα η παρούσα διπλωματική εργασία ακολουθεί την ακόλουθη δομή: Στο πρώτο κεφάλαιο πραγματοποιείται μια πρώτη εισαγωγή στις βασικές έννοιες της εξόρυξης δεδομένων όπως οι έννοιες Data Mining, Data Warehousing, OLAP καθώς και και στα εργαλεία και τις μεθόδους της εξόρυξης δεδομένων. Το πρώτο κεφάλαιο ολοκληρώνεται με την διερέυνηση της συνολικής χρησιμότητας και των πεδίων εφαρμογής της εξόρυξης δεδομένων. Στο δεύτερο κεφάλαιο παρουσιάζονται συνοπτικά κάποια βασικά συστήματα εξόρυξης δεδομένων και στη συνέχεια γίνεται εκτενής αναφορά στα περιβάλλοντα MS SQL Server 2012 και της γλώσσας R. Συγκεκριμένα παρουσιάζονται τα τεχνικά χαρακτηριστικά της κάθε πλατφόρμας, οι υπηρεσίες και οι δυνατότητες που προσφέρουν και το γραφικό τους περιβάλλον. -1

8 Στο τρίτο κεφάλαιο γίνεται μια εισαγωγή στους αλγόριθμους ταξινόμησης όπου παρουσιάζονται συνοπτικά οι σημαντικότεροι από αυτούς και ο τρόπος λειτουργίας τους ενώ στη συνέχεια γίνεται εκτενής αναφορά στα δένδρα απόφασης, στον τρόπο λειτρουργίας τους και στις διάφορες προσεγγίσεις τους. Τέλος παρουσιάζονται οι αλγόριθμοι που χρησιμοποιούνται αντίστοιχα από το περιβάλλον MS SQL Server και από τη γλώσσα R, ο τρόπος λειτουργίας τους, οι προϋποθέσεις και οι παράμετροί τους καθώς και η γραφική απεικόνισή τους. Στο τέταρτο κεφάλαιο γίνεται μια εισαγωγή στους αλγορίθμους συσταδοποίησης όπου παρουσιάζονται συνοπτικά οι σημαντικότεροι από αυτούς και ο τρόπος λειτουργίας τους ενώ στη συνέχεια γίνεται αναλυτική περιγραφή των αλγορίθμων που χρησιμοποιούνται αντίστοιχα από το περιβάλλον MS SQL Server και από τη γλώσσα R. Συγκεκριμένα παρουσιάζεται ο τρόπος λειτουργίας των αλγορίθμων, οι προϋποθέσεις και οι παράμετροί τους καθώς και η γραφική α- πεικόνιση των συστάδων. Στο πέμπτο κεφάλαιο αναφέρονται οι τρόποι και οι δείκτες που χρησιμοποιούνται γενικά στην αξιολόγηση των μοντέλων εξόρυξης δεδομένων και στη συνέχεια παρουσιάζονται εκτενώς οι μέθοδοι αξιλόγησης που χρησιμοποιούνται από το περιβάλλον MS SQL Server 2012 και από την γλώσσα R. Στο έκτο κεφάλαιο παρουσιάζονται τα σύνολα δεδομένων τα οποία χρησιμοποιήθηκαν για την ανάπτυξη των μοντέλων εξόρυξης δεδομένων. Συγκεκριμένα γίνεται αναλυτική περιγραφή της δομής τους, των πινάκων και των χαρακτηριστικών τους καθώς και των σχέσεων μεταξύ τους. Στο έβδομο κεφάλαιο πραγματοποιείται η εφαρμογή μοντέλων δένδρων απόφασης στα σύνολα δεδομένων τόσο στο περιβάλλον MS SQL Server 2012 όσο και στην γλώσσα R. Συγκεκριμένα, πραγματοποιείται η εφαρμογή του αλγορίθμου Microsoft Decision Trees και του αλγορίθμου της γλώσσας R σε κάθε ένα από τα δύο σύνολα δεδομένων, στη συνέχεια παρουσιάζονται τα αποτελέσματα και τέλος γίνεται η σύγκρισή τους ως προς την ακρίβεια πρόβλεψής. Στο όγδοο κεφάλαιο πραγματοποιείται η εφαρμογή μοντέλων συσταδοποίησης στα σύνολα δεδομένων τόσο στο περιβάλλον MS SQL Server 2012 όσο και στη γλώσσα R. Συγκεκριμένα, πραγματοποιείται η εφαρμογή του αλγορίθμου -2-

9 Microsoft Clustering και του αλγορίθμου της γλώσσας R σε κάθε ένα από τα σύνολα δεδομένων, στη συνέχεια παρουσιάζονται τα αποτελέσματα και τέλος γίνεται η σύγκρισή τους ως προς την ακρίβεια πρόβλεψης. Στο ένατο κεφάλαιο πραγματοποιείται η εξαγωγή συμπερασμάτων από την συνολική έρευνα και τα πειράματα που πραγματοποιήθηκαν σε όλη τη διάρκεια εκπόνησης της διπλωματικής εργασίας. Συγκεκριμένα σχολιάζονται τα εργαλεία και οι μέθοδοι εξόρυξης δεδομένων που χρησιμοποιήθηκαν καθώς και τα αποτελέσματα που προέκυψαν. Στη συνέχεια γίνεται εκτενής αναφορά και σύγκριση στην επίδοση του περιβάλλοντος MS SQL Server 2012 και της γλώσσας R ως προς την ταχύτητά και την ακρίβειά τους και σημειώνονται τα σημεία υπεροχής του καθενός. Τέλος αναφέρονται κάποια γενικά συμπεράσματα ως προς την σημασία, το όφελος και τις προοπτικές του επιστημονικού πεδίου της εξόρυξης δεδομένων. Φοίβος Κολιόπουλος Σεπτέμβριος

10 1 Βασικές έννοιες της εξόρυξης δεδομένων 1.1 Data Mining Η επιστήμη του Data Mining αποτελεί ένα πεδίο που δεν μετρά παραπάνω από δύο δεκαετίες ζωής και αναπτύχθηκε με κύριο σκοπό να αξιοποιήσει την εξέλιξη της τεχνολογίας και τη διαχείριση μεγάλου όγκου δεδομένων. Στον 21 ο αιώνα ο οποίος έχει χαρακτηριστεί ως ο αιώνας της πληροφορίας, η δυνατότητα συλλογής πληροφοριών και δεδομένων και εν συνεχεία η ανάλυση και η αξιοποίησή τους αναδεικνύεται σε σημαντικό ανταγωνιστικό πλεονέκτημα για τις σύγχρονες οικονομίες και κοινωνίες. Έτσι η χρήση των εργαλείων Data Mining επεκτείνεται σε όλο και περισσότερους επιστημονικούς τομείς, στις επιχειρήσεις αλλά και σε πολλές δραστηριότητες της καθημερινής ζωής, όπου δημιουργείται η ανάγκη εξαγωγής χρήσιμης και αξιοποιήσιμης γνώσης από εξαιρετικά μεγάλα σύνολα δεδομένων. Για την Εξόρυξη Δεδομένων έχουν δοθεί πολλοί ορισμοί στη διεθνή βιβλιογραφία. Οι Frawley et al. (1992) την ορίζουν ως τη «σύνθετη διαδικασία εξαγωγής συγκεκριμένης, προηγουμένως άγνωστης και δυνητικά ωφέλιμης γνώσης από δεδομένα» ενώ οι Hand et al. (2001) ως την «επιστήμη της εξόρυξης χρήσιμης πληρφορίας από σύνολα ή βάσεις δεδομένων μεγάλου μεγέθους». Συμπεριλαμβάνοντας όμως στον ορισμό του Data Mining και την επιστήμη των υπολογιστών, η οποία παίζει κυρίαρχο ρόλο στην ανάπτυξη των εφαρμογών του, θα μπορούσε να ειπωθεί ότι είναι «Το σύνολο των τεχνικών που βασίζονται σε συστήματα υπολογιστών, τα οποία είναι σχεδιασμένα έτσι ώστε να ανακαλύπτουν κρυμμένη γνώση και απρόσμενες σχέσεις μεταξύ των δεδομένων μετουσιώνοντας την όλη διαδικασία σε ανακάλυψη προτύπων από ένα μεγάλο σύνολο δεδομένων. Μελετώντας αυτούς τους ορισμούς, δημιουργούνται ερωτήματα σχετικά με τον ακριβή προσδιορισμό του τι είναι ένα μεγάλο σύνολο δεδομένων ή μια βάση δεδομένων μεγάλου μεγέθους και πόσο γενικό και υποκειμενικό είναι αυτό το μέγεθος. Στις επόμενες παραγράφους περιγράφεται λεπτομερώς τι αποτελεί ένα σύνολο δεδομένων, ή αλλιώς μια βάση δεδομένων, ή αλλιώς μια αποθήκη δεδομένων. -4-

11 1.2 Data Warehousing Προηγουμένως αναφερθήκαμε στην ύπαρξη μεγάλων σε μέγεθος και πολύπλοκων συνόλων δεδομένων και στο πως αυτά αποτελούν αναπόσπαστο στοιχείο της επιστήμης του Data Mining. Ποια είναι όμως η διαδικασία συλλογής αυτών των δεδομένων και πως αυτά αποθηκεύονται; Η αποθήκευση δεδομένων είναι η διαδικασία οργάνωσης μεγάλων, πολυμεταβλητών δεδομένων με τέτοιο τρόπο ώστε να διευκολύνεται και να επιτρέπεται η ανάκτηση πληροφορίας για αναλυτικούς σκοπούς. Η αποθήκευση δεδομένων πρέπει να είναι ικανή να ενσωματώνει όλα τα διαθέσιμα δεδομένα και να επιτρέπει στον χρήστη την οργάνωση και την επεξεργασία τους. Ένα σύνολο δεδομένων, ή αλλιώς μια βάση δεδομένων ή ακόμα καλύτερα μια αποθήκη δεδομένων, είναι μια συλλογή δεδομένων με σκοπό την χρήση τους για επιχειρησιακή έρευνα και την υποστήριξη λήψης αποφάσεων. Στην παρακάτω εικόνα αποτυπώνεται πως προκύπτει μια αποθήκη δεδομένων από ένα σύνολο βάσεων δεδομένων και πως αυτή γίνεται αντικείμενο επεξεργασίας με διάφορα εργαλεία. Εικόνα 1.1: Αποθήκη δεδομένων -5-

12 1.3 On-Line Analysis Processing (O.L.A.P.) Η αρχιτεκτονική των αποθηκών δεδομένων είναι άρρηκτα συνδεδεμένη με την On-Line ανάλυση δεδομένων (On-Line Analysis Processing - OLAP). Η λειτουργία OLAP είναι η δυναμική, πολυδιάστατη ανάλυση των δεδομένων με βασικό σκοπό να παρέχει τη δυνατότητα στον χρήστη να βλέπει τα δεδομένα που τον ενδιαφέρουν σε διαφορετικά επίπεδα ανάλυσης, από το πιο ειδικό στο πιο γενικό και αντίστροφα καθώς και από διαφορετικές οπτικές γωνίες (Βουτσινάς, 2003). Στη διεθνή βιβλιογραφία αλλά και στην αγορά υπολογιστικών προγραμμάτων υπάρχουν πληθώρα συστημάτων για την ανάπτυξη εφαρμογών OLAP. Οι βασικοί συντελεστές που καθορίζουν την επιτυχία τέτοιων εφαρμογών είναι η μεθοδολογία ανάπτυξης κα το μοντέλο που θα υιοθετηθεί. Γενικότερα τα εργαλεία OLAP καλύπτουν τις ανάγκες για υψηλού επιπέδου πληροφορίες και είναι σχεδιασμένα για να υποστηρίζουν τη διαδικασία υποστήριξης λήψης αποφάσεων, λαμβάνοντας υπ όψη δεδομένα από τυπικές διαδικασίες επιχειρήσεων και οργανισμών. Αυτό επιτυγχάνεται παρέχοντας στους χρήστες διάφορες OLAP συναρτήσεις. Στο επίκεντρο κάθε συστήματος OLAP βρίσκεται η έννοια του κύβου ή αλλιώς πολυδιάστατου κύβου ή υπερκύβου. Ο κύβος είναι μια δομή δεδομένων που επιτρέπει τη γρήγορη ανάλυσή τους. Αποτελείται από αριθμητικά δεδομένα που ονομάζονται μέτρα, τα οποία κατηγοριοποιούνται σε διαστάσεις, όπου κάθε διάσταση συνοψίζεται με μια ιεραρχία. Έτσι δίνεται η δυνατότητα πλοήγησης στις ιεραρχίες των διαστάσεων τους (Roiger, 2008). Εικόνα 1.2: Ένας υπερκύβος. -6-

13 Μια διαδικασία OLAP μπορεί να υλοποιηθεί με διαφορετικούς τρόπους. Η ROLAP (Relational On-Line Analysis Processing) αποθηκεύει τα αποτελέσματα της διαδικασίας με τη μορφή σχεσιακής βάσης στον υπολογιστή. Η MOLAP (Multidimensional On-Line Analysis Processing) χρησιμοποιεί πολυδιάστατους πίνακες για αποθήκευση ευρετηρίων και διενεργεί προϋπολογισμούς στα δεδομένα για ταχύτερη ευρετηριοποίηση. Η διαφορά των δύο τεχνικών είναι ότι η ROLAP υπερτερεί στον παράγοντα της απόδοσης δαπανώντας όμως πολύ αποθηκευτικό χώρο, ενώ η MOLAP υστερεί στον παράγοντα της απόδοσης μειώνοντας όμως τις απαιτήσεις αποθήκευσης. Ωστόσο, οι δυο τεχνικές μπορούν να συνδυαστούν επιτυγχάνοντας την καλύτερη λύση με την HybridOLAP. Αξίζει να σημειωθεί ότι η OLAP δεν αποτελεί τμήμα της εξόρυξης δεδομένων. Η εξόρυξη δεδομένων αποτελεί συνέχιση της προσπάθειας για στατιστική ανάλυση σε μεγάλες βάσεις δεδομένων η οποία αναπτύχθηκε στη συνέχεια από την OLAP. 1.4 Mining Tools Τα είδη των εργαλείων εξόρυξης που χρησιμοποιούνται στο πεδίο του Data Mining ποικίλουν με κυριότερα τα εξής: (Βαζιργιάννης Χαλκίδη, 2003). Δένδρα αποφάσεων: Τα δένδρα αποφάσεων (Decision Trees) αποτελούν μοντέλα λήψης αποφάσεων, τα οποία δημιουργούν κανόνες με σκοπό να ταξινομήσουν ένα σύνολο δεδομένων. Το κάθε δένδρο αναπαριστά ένα σύνολο από διαφορετικές αποφάσεις (decisions). (Χαραλάμπους, 2009) Εικόνα 1.3: Αναπαράσταση δένδρου απόφασης -7-

14 Τεχνητά Νευρωνικά Δίκτυα: Τα Τεχνητά Νευρωτικά Δίκτυα αποτελούν μη γραμμικά μοντέλα πρόβλεψης για λήψη αποφάσεων, τα οποία χρησιμοποιούν υπάρχοντα δεδομένα που θεωρούνται γνωστά αποτελέσματα με σκοπό να εκπαιδεύσουν ένα μοντέλο το οποίο μπορεί μετά να χρησιμοποιηθεί για να κάνει προβλέψεις. (Χαραλάμπους, 2009) Εικόνα1.4: Αναπαράσταση τεχνητού νευρωτικού δικτύου. Επαγωγή Κανόνων: Η επαγωγή κανόνων αποτελεί τη χρήση κανόνων if-then σε σύνολα δεδομένων τα οποία βασίζονται κυρίως σε στατιστικά μοντέλα. (Χαραλάμπους, 2009) Εικόνα 1.5: Αναπαράσταση κανόνων if-then -8-

15 1.5 Μέθοδοι Data Mining Υπάρχει πληθώρα μεθόδων εξόρυξης δεδομένων με κυριότερες αυτές που χρησιμοποιούν κανόνες μηχανικής μάθησης, αυτές της στατιστικής ανάλυσης, της αριθμητικής πρόβλεψης, της παλινδρόμησης και άλλες. Οι κυριότερες από άποψη εκτεταμένης χρήσης είναι αυτές της ταξινόμησης (classification), της συσταδοποίησης ή ομαδοποίησης (clustering) και της συσχέτισης (association). (Anand Bell, Hughes, 1996) Ταξινόμηση Η ταξινόμηση αποτελεί ίσως την πιο δημοφιλή μέθοδο εξόρυξης δεδομένων. Οι αλγόριθμοι ταξινόμησης εφαρμόζονται σε δεδομένα τα οποία είναι ήδη προταξινομημένα με στόχο την εξαγωγή κανόνων οι οποίοι μπορούν στη συνέχεια να χρησιμοποιηθούν για την ταξινόμηση νέων δεδομένων. Ταξινομητής καλείται το σύνολο των εξαγόμενων κανόνων. Υπάρχουν δύο βασικά είδη αλγορίθμων ταξινόμησης, αυτοί που παράγουν λίστες αποφάσεων και αυτοί που παράγουν δένδρα αποφάσεων. Ομαδοποίηση Η ομαδοποίηση σε αντίθεση με τη μέθοδο της ταξινόμησης εφαρμόζεται σε δεδομένα τα οποία δεν είναι προταξινομημένα. Η μέθοδος της ομαδοποίησης χωρίζει ένα σύνολο δεδομένων σε ομάδες έτσι ώστε τα δεδομένα που βρίσκονται στην ίδια ομάδα να έχουν περισσότερες ομοιότητες μεταξύ τους βάσει ορισμένων προκαθορισμένω κριτηρίων σε σχέση με τα δεδομένα άλλων ομάδων. Η μέθοδος της ομαδοποίησης διακρίνεται σε στατιστική, αριθμητική και εννοιολογική. Στην αριθμητική μέθοδο χρησιμοποιούνται διάφορα αριθμητικά κριτήρια ομοιότητας και οι ομάδες περιγράφονται από αριθμητικές τιμές ενώ στην εννοιολογική ο προσδιορισμός των ομάδων γίνεται με βάση το νόημα και τις έννοιες που τα αριθμητικά στοιχεία αντιπροσωπεύουν και οι τιμές που προκύπτουν είναι κατηγορικές και όχι αριθμητικές. Αξίζει να σημειωθεί ότι κάποιοι από τους αλγόριθμους ομαδοποίησης επιτρέπουν την εφαρμογή και της αριθμητικής και της εννοιολογικής μεθόδου ταυτόχρονα. Συσχέτιση -9-

16 Η μέθοδος της συσχέτισης έχει ως σκοπό την εύρεση των σημαντικών αλληλεξαρτήσεων μεταξύ των διαφόρων χαρακτηριστικών του συνόλου δεδομένων. Πιο διαδεδομένη εφαρμογή της μεθόδου αυτής είναι αυτή του καλαθιού αγοράς στην οποία αναγνωρίζονται τα αγαθά που αγοράζονται με στόχο την εξαγωγή κανόνων συσχέτισης μεταξύ των προϊόντων. Οι αλγόριθμοι που χρησιμοποιούνται στις διάφορες μεθόδους Data Mining αποτελούνται από τρία συστατικά στοιχεία: Αναπαράσταση Μοντέλου: Η αναπαράσταση του μοντέλου περιγράφει τις ανακαλυφθείσες μεθόδους. Αν η αναπαράσταση είναι μικρή και περιορισμένη αρκετά τότε κανένα από τα παραδείγματα ή από το χρόνο εκπαίδευσης δεν θα παράγει ένα μοντέλο για τα δεδομένα. Αξιολόγηση Μοντέλου: Η αξιολόγηση του μοντέλου υπολογίζει το κατά πόσο μια συγκεκριμένη μέθοδος πληροί τα κριτήρια της διαδικασίας ανεύρεσης γνώσης σε βάσεις δεδομένων. Αναζήτηση: Η μέθοδος της αναζήτησης αποτελείται από δύο στοιχεία. Το πρώτο είναι η παραμετροποιημένη αναζήτηση όπου ο αλγόριθμος αναζητά για τυχόν παραμέτρους που συνοψίζουν τα μοντέλα αποτίμησης που έλαβαν, ενώ το δεύτερο είναι η αναζήτηση μοντέλου όπου πραγματοποιείται μια διορθωτική έρευνα ολόκληρου του μοντέλου. Τέλος αξίζει να σημειωθεί ότι σημαντικό στοιχείο στη διαδικασία εξόρυξης δεδομένων είναι η εισαγωγή δεδομένων με ποιότητα και ορθότητα και όχι κατ ανάγκη μεγάλου όγκου. Αυτό τονίζεται ιδιαίτερα καθώς πολλές φορές επικρατεί λανθασμένα η άποψη ότι όσο μεγαλύτερα σε όγκο είναι τα δεδομένα τόσο περισσότερες πληροφορίες θα παραγάγουν. Για να παραγάγουν τα δεδομένα σωστές και χρήσιμες πληροφορίας θα πρέπει να είναι απαλλαγμένα από την παρουσία ασαφών στοιχείων καθώς όσο πιο έντονη είναι η παρουσία τους τόσο μικρότερη είναι η πιθανότητα εξαγωγής ουσιωδών συμπερασμάτων. -10-

17 1.6 Χρησιμότητα και εφαρμογές Data Mining Ολοκληρώνοντας την εισαγωγή στις έννοιες του Data Mining και των χαρακτηριστικών που το απαρτίζουν θα αναφερθούμε στη χρησιμότητα της εφαρμογής του καθώς και σε εξειδικευμένους τομείς στους οποίους εφαρμόζεται με επιτυχία. Η τεχνολογία του Data Mining χρησιμοποιείται από δημόσιους και ιδιωτικούς ερευνητικούς οργανισμούς, τμήματα επιχειρήσεων που ασχολούνται με την τεχνητή ευφυϊα, καθώς και από οικονομικούς αναλυτές ενώ η χρήση του επεκτείνεται συνεχώς και σε άλλους επιστημονικούς τομείς όπου διαπιστώνεται η ανάγκη εξόρυξης χρήσιμης γνώσης από τεράστια σύνολα δεδομένων. Η χρήση των εργαλείων και των μεθόδων Data Mining έρχεται να απαντήσει στην ανάγκη μετατροπής της κρυμμένης πληροφορίας σε επιχειρησιακή πληροφορία η οποία μπορεί να αποτελέσει σημαντικό ανταγωνιστικό πλεονέκτημα για την επιχείρηση ενώ η όλη διαδικασία δημιουργεί υπεραξία για τις επιχειρήσεις. Επίσης το Data Mining αποτελεί εξαιρετικά χρήσιμο εργαλείο στη διοίκηση των επιχειρήσεων καθώς τροφοδοτεί τις επιχειρήσεις με χρήσιμες πληροφορίες σε ανώτερο διοικητικό επίπεδο και βοηθά πολλές επιχειρήσεις να διεισδύσουν στο ηλεκτρονικό εμπόριο αξιοποιώντας την πληθώρα πληροφοριών που αυτές δέχονται. Μερικοί από τους τομείς της οικονομικής των επιχειρήσεων στους οποίους εφαρμόζεται το Data Mining είναι: Marketing Η αναγνώριση των κοινών χαρακτηριστικών των πελατών που αγοράζουν τα ίδια προϊόντα από μια εταιρία, η πρόβλεψη των πελατών που πιθανά θα εγκαταλείψουν μια εταιρία για μια ανταγωνιστική, ο εντοπισμός των σημείων που πρέπει να επισημανθούν στην αλληλογραφία με τον πελάτη ώστε να επιτευχθεί μέγιστη ανταπόκριση, η πρόβλεψη των ενδιαφερόντων ενός επισκέπτη στον ιστότοπο μιας επιχείρησης, ο εντοπισμός των προϊόντων που αγοράζονται συγχρόνως καθώς και η αποκάλυψη των διαφορών στη συμπεριφορά ενός πελάτη στην πάροδο του χρόνου είναι μερικά από τα πολλά παραδείγματα στα οποία τα εργαλεία εξόρυξης δεδομένων μπορούν να εξάγουν χρήσιμη γνώση. -11-

18 Fraud Detection Εκτός από τον τομέα το πεδίο της εξαγωγής πληροφοριών με στόχο την αύξηση της παραγωγικότητας, της ανταγωνιστικότητας και φυσικά της κερδοφορίας, τα εργαλεία εξόρυξης γνώσης εφαρμόζονται και με στόχο την ελαχιστοποίηση του κόστους. Χαρακτηριστικό παράδειγμα είναι η α- νίχνευση οικονομικής απάτης, όπου η ανάλυση για απότομες μεταβολές, μεγάλους λογαριασμούς και κάθε είδους κατάχρηση μπορεί να γλυτώσει μια επιχείρηση από μεγάλο κόστος καθώς και να προλάβει οικονομικά ε- γκλήματα. Risk Management Η πρόβλεψη του κινδύνου, οι οικονομικές αναλύσεις, οι αναλύσεις κόστους-οφέλους και οι προβλέψεις επενδύσεων αποτελούν ανταγωνιστικό πλεονέκτημα για πολλές επιχειρήσεις αλλά και μεμονωμένους επενδυτές. Human Resource Management Η αξιολόγηση των εργαζόμενων μιας επιχείρησης αποτελεί σημαντικό παράγοντα για την παραγωγικότητα και κατ επέκταση την αποδοτικότητα της. E-commerce Η ανάπτυξη του διαδικτύου σε συνδυασμό με τις περιπτώσεις επιχειρήσεων οι οποίες δεν στηρίζονται στην φυσική τους υπόσταση αλλά μόνο στην ηλεκτρονική, είναι μερικοί από τους παράγοντες που τοποθετούν το ηλεκτρονικό εμπόριο ως ξεχωριστό τομέα εφαρμογής των εργαλείων εξόρυξης γνώσης. -12-

19 2 Το περιβάλλον του SQL Server 2012 και η γλώσσα R Στις μέρες μας, οι οργανισμοί και οι επιχειρήσεις διαχειρίζονται μεγάλα σε όγκο και μέγεθος δεδομένα τα οποία ανανεώνονται και αυξάνονται συνεχώς. Τα μεγέθη αυτά είναι συνήθως σχεδόν αδύνατον να επεξεργαστούν από τον ανθρώπινο παράγοντα. την Με την αξιοποίηση της τεχνολογίας των υπολογιστών, δημιουργήθηκε πληθώρα λειτουργικών συστημάτων τα οποία έχουν τη δυνατότητα να ενσωματώσουν μεθόδους και τεχνικές αλγορίθμων για την αναζήτηση και εξόρυξη γνώσης απαντώντας έτσι στην ανάγκη για γνώση, πληροφόρηση, έλεγχο και επεξεργασία των τεράστιων συνόλων δεδομένων. Στη συνέχεια θα γίνει αναφορά στα κυριότερα και πιο δημοφιλή από αυτά τα λειτουργικά συστήματα και μια εκτενέστερη περιγραφή για τις δύο πλατφόρμες που χρησιμοποιήθηκαν για το εφαρμοσμένο τμήμα της παρούσας εργασίας, τον Microsoft SQL Server 2012 και την γλώσσα R. 2.1 Συστήματα εξόρυξης γνώσης Στη διεθνή βιβλιογραφία ο κατάλογος των συστημάτων εξόρυξης γνώσης αριθμεί εκατοντάδες πλατφόρμες η αναλυτική περιγραφή των οποίων υπερβαίνει τα όρια της παρούσας εργασίας. Για το λόγο αυτό, παρουσιάζονται στη συνέχεια τα κυριότερα συστήματα από άποψη εκτεταμένης χρήσης αλλά και αξιόπιστων αποτελεσμάτων. SAS Από την άποψη του μεριδίου αγοράς που κατέχει ένα σύστημα εξόρυξης γνώσης, η SAS είναι ίσως ο μεγαλύτερος κατασκευαστής τέτοιων συστημάτων. Η SAS δραστηριοποιείται στον κλάδο εφαρμογών της στατιστικής εδώ και πολλά χρόνια, προσφέροντας ένα σύνολο στατιστικών εργαλείων καθώς και μια ισχυρή γλώσσα επεξεργασίας. Η πλατφόρμα SAS Enterprise Miner, η οποία έγινε διαθέσιμη στο ευρύ κοινό το 1997, ήταν η πρώτη πλατφόρμα της εταιρίας με δεκάδες εκδόσεις και εξειδικευμένα εργαλεία που ακολούθησαν. Η τελευταία έκδοση της πλατφόρμας, SAS 9.3, -13-

20 εκδόθηκε τον Ιούλιο του 2011 και μερικές από τις δυνατότητες που παρέχει στον χρήστη είναι ένα μεγάλο σύνολο αλγορίθμων εξόρυξης δεδομένων, όπως αλγόριθμοι κατασκευής δένδρων απόφασης, εκπαίδευσης νευρωνικών δικτύων, παλινδρόμησης, εύρεσης κανόνων συσχέτισης καθώς και εξόρυξη γνώσης σε κείμενα. Εικόνα 2.1: Γραφική αναπαράσταση διεργασίας στον SAS Enterprise Miner IBM Η εταιρία IBM έχει δημιουργήσει μια πλατφόρμα εξόρυξης γνώσης, τον Intelligent Miner η οποία δημιουργήθηκε τον Φεβρουάριο του 1998 στην Γερμανία. Η τελευταία έκδοση της πλατφόρμας είναι η IBM DB2 Advanced-Enterprise Server Edition η οποία έγινε διαθέσιμη στις Η.Π.Α. στις 11 Νοεμβρίου 2011και προσφέρει ένα σύνολο αλγορίθμων και απεικόνισης της εξόρυξης γνώσης από δεδομένα και από κείμενο. Ο Intelligent Miner εξάγει τα παραγόμενα πρότυπα στην γλώσσα PMML, η οποία είναι μορφή της γλώσσας XML, και περιέχουν τις περιγραφές των προτύπων και τα στατιστικά του συνόλου δεδομένων εκπαίδευσης. Αυτά στη συνέχεια εφαρμόζονται στη βάση δεδομένων για να γίνουν διεργασίες πρόβλεψης και εξόρυξης γνώσης. -14-

21 Εικόνα 2.2: Το περιβάλλον της πλατφόρμας IBM Intelligent Miner SPSS Η Statistical Package for the Social Sciences (SPSS) είναι επίσης από τις σημαντικότερες και δημοφιλέστερες στατιστικές πλατφόρμες καθώς και εργαλεία εξόρυξης γνώσης όπως το SPSS Base και το Answer Tree. Η πλατφόρμα SPSS εκδόθηκε για πρώτη φορά το 1968 από τους Norman H. Nie, C. Hadlai Hull και Dale H. Bent Έκτοτε ακολούθησαν δεκάδες βελτιωμένες εκδόσεις με την SPSS 20.0 να γίνεται διαθέσιμη στο κοινό τον Αύγουστο του 2011, αφού όμως τον Ιούλιο του 2009 εξαγοράστηκε από την IBM έναντι 1,2 δις δολαρίων. Εικόνα 2.3: Το περιβάλλον της πλατφόρμας SPSS

22 Clementine Η πλατφόρμα Clementine της Βρετανικής εταιρίας ISL ήταν από τα πρώτα πακέτα εξόρυξης δεδομένων που επέτρεπε στους χρήστες να καθορίσουν και να μετασχηματίσουν τα δεδομένα στο περιβάλλον ροής της εργασίας, παρέχοντας επίσης και εργαλεία διαχείρισης του κύκλου του σχεδίου εξόρυξης δεδομένων. Η πλατφόρμα Clementine πέρασε στα χέρια της SPSS στα τέλη του 1998 η οποία στη συνέχεια κατασκεύασε την έκδοση Clementine 5.1 τον Ιανουάριο του 2000, την Clementine 12.0 τον Ιανουάριο του 2008 και τέλος την IBM SPSS Modeler το Εικόνα 2.4: Το περιβάλλον της πλατφόρμας IBM SPSS Modeler Oracle Η Oracle έκανε την εμφάνισή της στην αγορά των συστημάτων εξόρυξης γνώσης το 2000 όταν κυκλοφόρησε την πλατφόρμα Oracle 9i που περιείχε αλγορίθμους εξόρυξης δεδομένων οι οποίοι βασίζονταν στην συσχέτιση και την κατηγοριοποίηση Bayes. Το 2010 η Oracle κατέλαβε ακόμα μεγαλύτερο κομμάτι της αγοράς εξαγοράζοντας την Sun Microsystems η οποία είχε στην κατοχή της το δημοφιλές πακέτο MySQL. Η Oracle 11g που είναι η τελευταία έκδοση της εταιρίας έγινε διαθέσιμη τον Νοέμβριο του 2011 και πλέον περιλαμβάνει πολλούς περισσότερους αλγορίθμους και εργαλεία εξόρυξης δεδομένων καθώς επίσης και την εξόρυξη δεδομένων με μορφή API σε Java. -16-

23 Εικόνα 2.4: Το περιβάλλον της πλατφόρμας Oracle 11g. Angoss Η πλατφόρμα Agnoss Knowledge Studio παρέχει ένα σύνολο εργαλείων εξόρυξης δεδομένων καθώς και τη δυνατότητα μοντελοποίησης δένδρων απόφασης, την ομαδοποίηση και άλλα μοντέλα πρόβλεψης. Η πρώτη έκδοση της πλατφόρμας ήταν η 6.0 και κατασκευάστηκε τον Νοέμβριο του 2007 ενώ η νεότερη έκδοση είναι η 7.5 και έγινε διαθέσιμη τον Νοέμβριο του Εικόνα 2.5: Το περιβάλλον της πλατφόρμας Angoss -17-

24 KXEN Η KXEN είναι μια εταιρία κατασκευής λογισμικού εξόρυξης δεδομένων με πληθώρα αλγορίθμων όπως του SVM, της οπισθοδρόμησης, της κατάτμησης, των δένδρων απόφασης και άλλων. Η πλατφόρμα έχει το όνομα InfiniteInsight και χρησιμοποιείται κυρίως από διοικητικά στελέχη για την εξαγωγή πληροφορίας από δεδομένα. Το InfiniteInsight παρέχει τη δυνατότητα πρόβλεψης της συμπεριφοράς μιας μεταβλητής καθώς και την κατανόηση συνόλων δεδομένων με τα ίδια χαρακτηριστικά. Το σύστημα του InfiniteInsight παρέχει επίσης τη δυνατότητα εξαγωγής αποτελεσμάτων σε άλλα λειτουργικά συστήματα όπως το Microsoft Excel και άλλα. Εικόνα 2.6: Το περιβάλλον της πλατφόρμας InfiniteInsight WEKA Το WEKA (Waikato Environment for Knowledge Analysis) είναι ένα από τα λίγα λογισμικά ανοιχτού κώδικα που υπάρχουν όσον αφορά τον τομέα του Data Mining. Δημιουργήθηκε στο πανεπιστήμιο του Waikato στη Νέα Ζηλανδία και είναι γραμμένο σε γλώσσα Java. Παρέχει υλοποιημένες μεθόδους για προεπεξεργασία δεδομένων, ταξινόμηση, ομαδοποίηση και εύρεση κανόνων συσχέτισης. Η πρώτη έκδοση του WEKA δημοσιεύτηκε το 1993 ενώ στα χρόνια που ακολού- -18-

25 θησαν νέες εκδόσεις με περισσότερους αλγόριθμους και μοντέλα έγιναν διαθέσιμες. Το WEKA χρησιμοποιεί έναν δικό του τύπο αρχείων, τα αρχεία ARFF (Attribute Relationship File Format) ο οποίος στη συνέχεια αναγνωρίστηκε και ενσωματώθηκε σε πολλά λογισμικά συστήματα εξόρυξης γνώσης τόσο ανοιχτού όσο και κλειστού κώδικα. Εικόνα 2.7: Γραφική απεικόνιση δένδρου απόφασης στο περιβάλλον WEKA. Εκτενής αναφορά στα λογισμικά εξόρυξης γνώσης του SQL Server 2012 και της γλώσσας R ακολουθεί στη συνέχεια καθώς αποτελούν τα περιβάλλοντα στα οποία στηρίζεται όλο το πρακτικό κομμάτι της παρούσας εργασίας. -19-

26 2.2 Ο SQL Server 2012 Ο SQL Server αναπτύχθηκε από την εταιρία Microsoft. Η πρώτη έκδοση του SQL Server εκδόθηκε το 1989 σε συνεργασία με την εταιρία Sybase. Οι κύριες γλώσσες που χρησιμοποιεί είναι η T-SQL και η ANSI SQL ενώ κύρια μονάδα αποθήκευσης στοιχείων είναι μια βάση δεδομένων, η οποία αποτελείται από μια συλλογή πινάκων και κώδικα. Η τελευταία έκδοση του SQL Server είναι η 2012 η ο- ποία έγινε διαθέσιμη τον Απρίλιο του 2012 και αποτελεί μια πληρέστερη λύση για αποθήκευση και ανάλυση δεδομένων καθώς μειώνει σημαντικά το χρόνο που χρειάζεται για την υλοποίηση εφαρμογών και προσφέρει υψηλή κλιμάκωση και αξιοπιστία για τις πλέον απαιτητικές επιχειρηματικές εφαρμογές. Επίσης διακρίνεται για την ευκολία εγκατάστασης και διαχείρισής του και διαθέτει ολοκληρωμένο σύνολο εργαλείων για Data Warehousing και Buisness Intelligence. Στη συνέχεια γίνεται μια λεπτομερής αναφορά στα τεχνικά χαρακτηριστικά του SQL Server Τεχνικά Χαρακτηριστικά του SQL Server 2012 Αποθήκευση Η κεντρική βάση δεδομένων του SQL Server υποστηρίζει διαφορετικούς τύπους δεδομένων όπως ακέραιοι, δεκαδικοί, αριθμοί κινητής υποδιαστολής, αλφαριθμητικά δεδομένα, σειρές χαρακτήρων μεταβλητού μήκους, δυαδικούς αριθμούς και κείμενο. Επίσης επιτρέπει στον χρήστη να ορίσει ο ίδιος σύνθετους τύπους δεδομένων, δηλαδή τύπους που βασίζονται στους παραπάνω αλλά μπορούν να τροποποιηθούν. Τα δεδομένα αποθηκεύονται στη βάση δεδομένων σε ένα ή περισσότερα αρχεία με την κατάληξη.mdf ενώ ο χώρος που διατίθεται σε μια βάση δεδομένων διαιρείται σε διαδοχικά αριθμημένες σελίδες κάθε μια από τις οποίες έχει μέγεθος 8KB. -20-

27 Μνήμη Οι σελίδες της βάσης δεδομένων αποθηκεύονται στην μνήμη RAM για να ελαχιστοποιηθεί η μεταφορά δεδομένων από και προς τον σκληρό δίσκο. Ο αριθμός των σελίδων που μπορούν να αποθηκευτούν στη μνήμη RAM καθορίζεται από το ποσό της μνήμης που είναι διαθέσιμο στον κεντρικό διακομιστή του SQL Server. Αυτός εξασφαλίζει ότι οποιαδήποτε αλλαγή στα στοιχεία είτε ολοκληρώνεται συνολικά είτε αποτυγχάνει συνολικά αποτρέποντας έτσι το ενδεχόμενο να βρεθεί η βάση δεδομένων σε μια ενδιάμεση κατάσταση. Αυτό επιτυγχάνεται με τον εξής τρόπο, οι αλλαγές αποτελούν μια ακολουθία εντολών με την προϋπόθεση ότι αν δεν πετύχουν όλες οι εντολές τότε δεν θα πετύχει καμία. Αυτή η λειτουργία είναι πολύ χρήσιμη ειδικά και στις περιπτώσεις όπου παραπάνω από ένα άτομα προσπαθούν να μεταβάλουν ένα στοιχείο καθώς ο διακομιστής του SQL Server επιτρέπει σε πολλούς χρήστες ταυτόχρονα να χρησιμοποιούν την ίδια βάση δεδομένων. Ανάκτηση δεδομένων Ο κύριος τρόπος ανάκτησης στοιχείων από μια βάση δεδομένων είναι τα ερωτήματα. Ένα ερώτημα (query) διευκρινίζει επεξηγηματικά αυτό που πρόκειται να ανακτηθεί από την βάση δεδομένων. Το ερώτημα υποβάλλεται από τον επεξεργαστή ερώτησης ο οποίος υπολογίζει την σειρά των βημάτων που είναι απαραίτητα για να γίνει ανάκτηση των ζητούμενων στοιχείων. Η ακολουθία των ενεργειών που απαιτούνται για να εκτελέσουν μια ερώτηση ονομάζεαι σχέδιο της ερώτησης. Ο SQL Server έχει τη δυνατότητα να αποθηκεύει ερωτήσεις και διαδικασίες. Οι αποθηκευμένες ερωτήσεις είναι ερωτήματα με παραμέτρους T-SQL τα οποία αποθηκεύονται στον SQL Server. Ένα αποθηκευμένο ερώτημα δέχεται κάποιες τιμές που στέλνονται ως παράμετροι εισαγωγής από τον χρήστη και επιστρέφει τα αποτελέσματα ως παραμέτρους παραγωγής. Επίσης μπορούν να καλέσουν διαδικασίες καθώς και άλλα ερωτήματα. Το πλεονέκτημά τους είναι ότι απαιτείται λιγότερος χρόνος στην κατασκευή τους σε σχέση με απλές ακολουθίες SQL. -21-

28 2.2.2 Υπηρεσίες που προσφέρει ο SQL Server 2012 Υπηρεσίες συγχρονισμού Ο SQL Server χρησιμοποιεί τις υπηρεσίες συγχρονισμού για να συγχρονίσει βάσεις δεδομένων, είτε συνολικά είτε υποσύνολα αντικειμένων. Ο συγχρονισμός επιτυγχάνεται με πολλούς τρόπους όπως log shipping, mirroring, replication, back-ups, clustering κ.α.. Αυτή η δυνατότητα είναι πολύ χρήσιμη ειδικά στις περιπτώσεις ολοκληρωτικής καταστροφής της μητρικής βάσης δεδομένων, δίνοντας τη δυνατότητα ακόμη και για αυτόματη λειτουργία της δευτερεύουσας συγχρονισμένης βάσης δεδομένων. Υπηρεσίες ανάλυσης Ο SQL Server χρησιμοποιεί υπηρεσίες ανάλυσης οι οποίες προσθέτουν τις ικανότητες OLAP και την περίπλοκη ανάκτηση δεδομένων για τις βάσεις δεδομένων SQL χωρίς δύσκολα ερωτήματα SQL. Η πλατφόρμα που συγκεντρώνει όλες τις υπηρεσίες ανάλυσης ονομάζεται SQL Server Data Tools, ενώ στις προηγούμενες εκδόσεις είχε το όνομα SQL Server Buisness Intelligence, η οποία θα παρουσιαστεί εκτενέστερα στη συνέχεα. Υπηρεσίες αναφοράς Ο SQL Server διαθέτει επίσης υπηρεσίες αναφοράς για τα στοιχεία που συγκεντρώνονται από τις βάσεις δεδομένων. Με αυτόν τον τρόπο είναι δυνατό να παραχθεί μια έκθεση σχεδόν αυτόματα μέσα από το περιβάλλον του Visual Studio. Υπηρεσίες ανακοίνωσης Ο SQL Server ενσωματώνει κάποιες υπηρεσίες ανακοίνωσης οι οποίες δίνουν στο χρήστη τη δυνατότητα να παράγει μηνύματα ηλεκτρονικού ταχυδρομείου χωρίς καθόλου κόπο. Υπηρεσίες ολοκλήρωσης -22-

29 Ο SQL Server χρησιμοποιεί τις υπηρεσίες ολοκλήρωσης για να ενσωματώνει στοιχεία από διαφορετικές πηγές δεδομένων. Αυτές οι υπηρεσίες περιλαμβάνουν εργαλεία GUI για να χτίσουν διάφορες λειτουργίες ροών δεδομένων όπως η εξαγωγή στοιχείων από διάφορες πηγές και ο μετασχηματισμός των στοιχείων συμπεριλαμβανομένης της συνάθροισης, του διπλασιασμού και της συγχώνευσης. Υπηρεσίες αναζήτησης Ο SQL Server παρέχει τη δυνατότητα αναζήτησης μέσα σε κείμενα. Η λειτουργία αυτή δημιουργεί έναν δείκτη αναζήτησης σε οποιαδήποτε στήλη και πραγματοποιείται άμεσα σε κείμενα word, pdf κ.α Το γραφικό περιβάλλον του SQL Server 2012 Management Studio Ο SQL Server 2012 παρέχει πολλά εργαλεία τα οποία εξυπηρετούν διάφορους σκοπούς, όπως η εγκατάσταση, η δημιουργία ερωτημάτων σε βάσεις δεδομένων και η δημιουργία αντιγράφων ασφαλείας. Το κύριο εργαλείο αλληλεπίδρασης του SQL Server 2012 με το σύστημα SQL είναι το περιβάλλον του SQL Server Management Studio. Σε αυτό ο χρήστης έχει τη δυνατότητα να διαχειριστεί πολλαπλούς διακομιστές, να αναπτύξει βάσεις δεδομένων, να δημιουργήσει αντίγραφα δεδομένων, να μετασχηματίσει το περιεχόμενο ή ακόμα και τον τύπο των μεταβλητών, να προσθέσει καινούριες ή να αφαιρέσει από αυτές και πολλές άλλες εργασίες. -23-

30 Εικόνα 2.8: Το βασικό περιβάλλον του SQL Server Management Studio Ο SQL Server Management Studio επιτελεί δύο κύριους ρόλους, την διαχείριση διακομιστών βάσεων δεδομένων και την διαχείριση αντικειμένων βάσεων δεδομένων. Είναι δηλαδή το περιβάλλον στο οποίο εισάγουμε και διαχειριζόμαστε τις βάσεις δεδομένων. Ο SQL Server Management Studio μπορεί να εισάγει και να εξάγει δεδομένα με διάφορους τρόπους και με διαφορετικούς τύπους με τον μηχανισμό εισαγωγής και εξαγωγής δεδομένων (Import and Export Wizard). Συγκεκριμένα, μπορεί να εισάγει και να εξάγει δεδομένα σε μορφή MySQL, Oracle, Flat file (txt κ.α.), CSV, Microsoft Excel, Microsoft Access καθώς και μέσω σύνδεσης ODBC με πληθώρα άλλων διακομιστών. Το περιβάλλον του SQL Server 2012 Management Studio είναι αυτό στο οποίο εισήχθησαν και παραμετροποιήθηκαν τα σύνολα δεδομένων που χρησιμοποιήθηκαν για την παρούσα εργασία. Αναλυτική περιγραφή των συνόλων δεδομένων καθώς και των διεργασιών που έγιναν ώστε να αποκτήσουν την τελική τους μορφή για την χρήση τους θα γίνει στην τρίτη ε- νότητα της εργασίας. -24-

31 2.2.4 Το γραφικό περιβάλλον του SQL Server 2012 Data Tools Η πλατφόρμα που χρησιμοποιεί ο SQL Server 2012 για την εξόρυξη γνώσης ονομάζεται Data Tools και είναι απόγονος της πλατφόρμας επιχειρηματικής ευφυΐας (Buisness Intelligence) των προηγούμενων εκδόσεων του SQL Server. Η Data Tools παρέχει τη δυνατότητα ανάλυσης και αποθήκευσης δεδομένων, τη δημιουργία αναφορών και βοηθάει τις επιχειρήσεις να συλλέξουν χρήσιμες πληροφορίες από μεγάλα σε όγκο δεδομένα. Τα δεδομένα αυτά ενοποιούνται σε έναν χώρο αποθήκευσης και διανέμονται όπου χρειάζονται να αναλυθούν, και να λάβουν τακτικές αναφορές. Η Data Tools είναι από τα πρώτα ενοποιημένα περιβάλλοντα ανάπτυξης που έχουν σχεδιαστεί και είναι ενσωματωμένο στο Visual Studio 2010 γεγονός που καθιστά τις λειτουργίες του εντοπισμού σφαλμάτων, ελέγχου προέλευσης και ανάπτυξης δεσμών ενεργειών διαθέσιμες για όλα τα στοιχεία της εφαρμογής. Εικόνα 2.9: Το παράθυρο έναρξης του SQL Server Data Tools. -25-

32 Η πλατφόρμα Data Tools παρέχει τρεις κύριες υπηρεσίες, την υπηρεσία ανάλυσης (Analysis Services), την υπηρεσία ολοκλήρωσης (Intergration Services) και την υπηρεσία αναφορών. Υπηρεσίες Ανάλυσης Οι υπηρεσίες ανάλυσης είναι ένα σύνολο υπηρεσιών που χρησιμοποιούνται για την διαχείριση δεδομένων που είναι αποθηκευμένα σε μια αποθήκη δεδομένων. Συγκεκριμένα οργανώνει δεδομένα από μια αποθήκη δεδομένων σε πολυδιάστατους πίνακες με αθροίσεις για να επιτρέπει την ε- κτέλεση έξυπνων εκθέσεων και περίπλοκων ερωτημάτων. Επίσης υποστηρίζει ειδικές δομές για την ανάλυση αποθηκών δεδομένων με χρήση ηλεκτρονικής αναλυτικής επεξεργασίας. Οι υπηρεσίες αυτές επεκτείνουν τις αρχικές υπηρεσίες OLAP του SQL Server. Εκτός από την υποστήριξη κύβων και εφαρμογών OLAP, παρέχει επίσης τη δυνατότητα δημιουργίας εφαρμογών «εξόρυξης» δεδομένων βοηθώντας έτσι τους χρήστες να εντοπίζουν κρυφές συσχετίσεις και πρότυπα σε δεδομένα. Εικόνα 2.10: Οι υπηρεσίες ανάλυσης της πλατφόρμας Data Tools. Υπηρεσίες Ολοκλήρωσης Οι υπηρεσίες ολοκλήρωσης υποστηρίζουν διαδικασίες ενοποίησης εξαγωγής, μετατροπής και φόρτωσης δεδομένων. Οι υπηρεσίες ολοκλήρωσης μπορούν να εξάγουν δεδομένα από διάφορες πηγές δεδομένων, όπως βάσεις δεδομένων Oracle και άλλες που δεν ανήκουν στη Microsoft. Οι υπηρεσίες αυτές μπορούν να εκτελούν σύνθετες διαδικασίες ενοποίησης δεδομένων, μετατροπής και σύνθεσης με υψηλές ταχύτητες για πολύ μεγάλους όγκους δεδομένων συνοψίζοντας τα δεδομένα και στη συνέχεια ενημερώνοντας την αποθήκη δεδομένων με αυτά. -26-

33 Εικόνα 2.11: Οι υπηρεσίες Ολοκήρωσης της πλατφόρμας Data Tools. Υπηρεσίες αναφοράς Οι υπηρεσίες αναφοράς επεκτείνουν την πλατφόρμα επιχειρηματικής ευφυΐας της Microsoft και χρησιμοποιούνται για τον προσδιορισμό, τη δημιουργία, την αποθήκευση και τη διαχείριση αναφορών. Οι χρήστες δημιουργούν και συντάσσουν αναφορές που αποθηκεύονται σε μια βάση δεδομένων του SQL Server. Οι χρήστες μπορούν να δημιουργήσουν αναφορές με δεδομένα από κύβους OLAP και άλλες πηγές, να προβάλουν αναφορές με διάφορα προγράμματα όπως Internet Browsers κ.α. και να στείλουν αναφορές σε διάφορες μορφές μέσω ηλεκτρονικού ταχυδρομείου καθώς και να περιλαμβάνουν διάφορες επιλογές αλληλεπίδρασης και ε- κτύπωσης. Έτσι, οι πολύπλοκες αναλύσεις μπορούν να σταλούν στο ευρύ κοινό μέσω συστήματος διανομής αναφορών με τη μορφή προέλευσης δεδομένων. Εικόνα 2.12: Οι υπηρεσίες αναφοράς της πλατφόρμας SQL Server Data Tools. Ο βασικός στόχος της πλατφόρμας SQL Server Data Tools είναι η ανάπτυξη και η χρήση της επιχειρηματικής ευφυΐας μέσω της εξόρυξης γνώσης από μεγάλα σύνολα δεδομένων από επιχειρήσεις όλων των μεγεθών. Είναι μια πλήρης και εύκολη στη χρήση πλατφόρμα η οποία σημειώνει υψηλές επιδόσεις και χρησιμοποιείται για την ανάπτυξη πρωτοποριακών εφαρμογών ανάλυσης δεδομένων. Η πλατφόρμα Data Tools θα χρησιμοποιηθεί στις επόμενες ενότητες της εργασίας όπου με την χρήση της θα εφαρμοστεί ένα σύνολο τεχνικών data mining σε σύνολα δεδομένων. -27-

34 2.3 Η γλώσσα R Η γλώσσα R είναι μία γλώσσα προγραμματισμού ανοιχτού κώδικα και χρησιμοποιείται στην στατιστική υπολογιστική. Τη χρησιμοποιούν σε μεγάλο βαθμό στατιστικοί αναλυτές για την ανάπτυξη στατιστικού λογισμικού και την εξόρυξη γνώσης από δεδομένα. Η R είναι μια εφαρμογή της γλώσσας προγραμματισμού S η οποία αναπτύχθηκε από τον John Chambers. Η γλώσσα R αναπτύχθηκε από τον Ross Ihaka και τον Robert Gentleman στο πανεπιστήμιο του Όκλαντ στη Νέα Ζηλανδία τον Απρίλιο του 1997 και τώρα η R αναπτύσσεται από τον «Πυρήνα ανάπτυξης της R». Το όνομά της προέρχεται από τα αρχικά γράμματα των ονομάτων των δύο δημιουργών της αλλά μερικοί υποστηρίζουν ότι είναι λογοπαίγνιο αναφορικά με το όνομα της γλώσσας S! Η R υπάγεται στην άδεια GNU, δηλαδή είναι ελεύθερα διαθέσιμη. Ο πηγαίος κώδικας του περιβάλλοντός της είναι γραμμένος κυρίως σε C και Fortran. Η R αποτελεί ένα ολοκληρωμένο περιβάλλον εργασίας το οποίο παρέχει λειτουργίες για τον αποτελεσματικό χειρισμό και την αποθήκευση δεδομένων, τον χειρισμό πινάκων με πολλές διαστάσεις, διεπαφή με άλλες γλώσσες καθώς και εργαλεία ανάλυσης δεδομένων και δημιουργίας γραφημάτων. Σύμφωνα με την ετήσια έκθεση του Rexer Data Miner Survey το 2010,η γλώσσα R αποτελεί το εργαλείο εξόρυξης γνώσης που χρησιμοποιούν περισσότεροι από 43% των αναλυτών σε σχέση με οποιοδήποτε άλλο εργαλείο εξόρυξης γνώσης. Η βασική διαφορά της R σε σχέση με τα υπόλοιπα στατιστικά πακέτα είναι ότι λειτουργεί με τη μορφή σειράς βημάτων. Σε κάθε βήμα που γίνεται αποθηκεύει τα αποτελέσματα σε αντικείμενα για περαιτέρω ανάλυση σε αντίθεση με τα υπόλοιπα τα οποία δίνουν ένα συνολικό αποτέλεσμα στην έξοδο. Το βασικό της περιβάλλον λειτουργεί με εντολές κώδικα αλλά υπάρχει πληθώρα πακέτων που παρέχουν γραφικά περιβάλλοντα τα οποία μετατρέπουν τις εντολές κάνοντας τη χρήση της γλώσσας ακόμα πιο εύκολη. -28-

35 Τεχνικά χαρακτηριστικά της γλώσσας R Η γλώσσα R χρησιμοποιεί διερμηνευτή και όχι μεταφραστή. Η διαφορά είναι ότι η διερμηνευτής διαβάζει μία προς μία τις εντολές του αρχικού προγράμματος και για κάθε μία εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών σε αντίθεση με τον μεταγλωττιστή ο οποίος διαβάζει το σύνολο των εντολών μαζί. Επίσης η R κάνει διαχωρισμό μεταξύ μικρών και κεφαλαίων χαρακτήρων και κατατάσσεται στις γλώσσες case sensitive. Η σύνταξή της έχει μια επιφανειακή σχέση με την γλώσσα C αλλά η σημασιολογία της είναι της Συναρτησιακής Γλώσσας Προγραμματισμού με μεγάλη συγγένεια με τις γλώσσες LISP (γλώσσα τεχνητής νοημοσύνης) και APL. Η R παρέχει μια μεγάλη ποικιλία στατιστικών μοντέλων συμπεριλαμβανομένων των γραμμικών και μη γραμμικών μοντέλων, κλασικούς στατιστικούς ελέγχους, αναλύσεις χρονολογικών σειρών, ταξινόμηση, ομαδοποίηση κ.α. καθώς και γραφικές απεικονίσεις για όλα αυτά. Είναι εύκολα επεκτάσιμη μέσω εφαρμογών και επεκτάσεων καθώς η κοινότητα της είναι φημισμένη για την ενεργή της συνεισφορά με τη μορφή καινούριων πακέτων. Αν και έχει κάποιες σημαντικές διαφορές, κάποιες εντολές της γλώσσας S μπορούν να τρέξουν αμετάβλητες. Πολλές από τις διαδικασίες της είναι γραμμένες στην ίδια τη γλώσσα R γεγονός που καθιστά στους χρήστες εύκολη την παρακολούθηση των αλγοριθμικών επιλογών που γίνονται. Οι προχωρημένοι χρήστες μπορούν να γράψουν κώδικα σε γλώσσα C ή Java και να χειριστούν άμεσα αντικείμενα στη R. Η R διαθέτει εξαιρετικές δυνατότητες επέκτασης μέσω της χρήσης πακέτων από τους ίδιους τους χρήστες για ειδικές διαδικασίες και συγκεκριμένες περιοχές μελέτης. Λόγω της προέλευσής της, η R διαθέτει ισχυρές αντικειμενοστραφείς λειτουργίες σε σύγκριση με τις περισσότερες στατιστικές γλώσσες. Όπως και πολλές άλλες γλώσσες, η R υποστηρίζει τους υπολογισμούς με μήτρες και οι δομές δεδομένων της περιλαμβάνουν βαθμωτές μεταβλητές, διανύσματα, πίνακες, πλαίσια δεδομένων (παρόμοια μορφή με μια σχεσιακή βάση δεδομένων) και λίστες. Επίσης υποστηρίζει τον διαδικαστικό προγραμματισμό με διάφορες διαδικασίες και σε κάποιες περιπτώσεις αντικειμενοστραφή προγραμματισμό με γενικές διαδικασίες. Μια γενική διαδικασία διαφέρει ανάλογα με το είδος των δηλώσεων που της μεταφέρονται. Ένα άλλο δυνατό σημείο της R είναι οι γραφικές απεικονίσεις οι οποίες μπορούν να παραγάγουν υψηλής ποιότητας γραφικά, μαζί με μαθηματικά σύμβολα. Δυναμικά και διαδραστικά γραφικά είναι επίσης διαθέσιμα μέσω των πρόσθετων πακέτων που κυ- -29-

36 κλοφορούν. Τέλος, η R διαθέτει τη δικιά της μορφή τεκμηρίωσης η οποία χρησιμοποιείται και σε on-line μορφές αλλά και σε έντυπη μορφή. Αν και η γλώσσα R χρησιμοποιείται ως επί το πλείστον από στατιστικούς και άλλους επαγγελματίες αναλυτές που απαιτούν ένα περιβάλλον για στατιστικούς υπολογισμούς και την ανάπτυξη λογισμικού, μπορεί επίσης να χρησιμοποιηθεί και ως εργαλειοθήκη υπολογιστικών πράξεων με αποδόσεις ανάλογες με των εργαλείων Octave, MATLAB κτλ Τα πακέτα της γλώσσας R Οι δυνατότητες της R επεκτείνονται με πακέτα τα οποία αναπτύσσονται από τους χρήστες και δίνουν τη δυνατότητα εξειδικευμένων στατιστικών τεχνικών, γραφικών απεικονίσεων, λειτουργίες εισαγωγής και εξαγωγής, εργαλείων αναφορών κ.α.. Αυτά τα πακέτα αναπτύσσονται κυρίως στην R καθώς και στην C, την Fortran και την Java. Ένα σύνολο από πακέτα περιλαμβάνονται με την αρχική εγκατάσταση της R, με περίπου 5300 επιπρόσθετα πακέτα να είναι διαθέσιμα στο δίκτυο της R (Comprehensive R Archive Network - C.R.A.N.). Στο δίκτυο αυτό υπάρχει ένα ευρύ φάσμα εφαρμογών με εξειδίκευση στα οικονομικά, τη γενετική, τη μηχανική μάθηση, την ιατρική, τις κοινωνικές επιστήμες και τη χωρική στατιστική. Άλλα πακέτα της R βρίσκονται στην κοινότητα Crantastic στην οποία γίνεται βαθμολόγηση και αξιολόγηση όλων των πακέτων του δικτύο CRAN και επίσης της πλατφόρμας R-Forge η οποία χρησιμοποιείται για την συνεργατική ανάπτυξη πακέτων, λογισμικού σχετικού με την R καθώς και projects. Η κοινότητα Crantastic φιλοξενεί επίσης πολλά αδημοσίευτα, δοκιμαστικά και υπό ανάπτυξη πακέτα του δικτύου CRAN. Άλλη μια κοινότητα που ασχολείται με τη γλώσσα R είναι το project Bioconductor το οποίο είναι ένα ανοιχτό, ανοιχτού κώδικα σχέδιο έργου για ανάπτυξη λογισμικού για την ανάλυση και κατανόηση γενετικών δεδομένων. Το έργο αυτό βασίζεται κυρίως στη γλώσσα R και ταυτόχρονα συνεισφέρει σε αυτήν καθώς μετατρέπει τις μεθόδους που χρησιμοποιεί σε πακέτα για την R ανανεώνοντάς τα και βελτιώνοντάς τα συνεχώς, Το πακέτο που χρησιμοποιήθηκε στην παρούσα Διπλωματική εργασία για την ανάλυση των δεδομένων είναι το πακέτο rattle το οποίο αποτελεί ένα εργαλείο εξόρυξης γνώσης που χρησιμοποιεί την γλώσσα και τις λειτουργίες της R και το οποίο θα παρουσιαστεί εκτενώς στη συνέχεια. -30-

37 Το γραφικό περιβάλλον της γλώσσας R. Η R μπορεί να τρέξει σε διαφορετικές πλατφόρμες συμπεριλαμβανομένων των Windows, Linux και Mac OS. Διαθέτει την ιδιότητα να επιτρέπει τον υπολογισμό στη γλώσσα δηλαδή τη δυνατότητα να γράφονται συναρτήσεις οι οποίες δέχονται εκφράσεις σαν είσοδο πράγμα πολύ χρήσιμο για τα στατιστικά μοντέλα. Η κονσόλα της R, όπως καλείται το βασικό της περιβάλλον, μπορεί να εκκινηθεί είτε πληκτρολογώντας το γράμμα R σε μια γραμμή εντολών ή απλά ανοίγοντας το εικονίδιο από την επιφάνεια εργασίας. Στη συνέχεια εμφανίζεται η κονσόλα της R με τον κέρσορα υποδοχής εντολών (>). Η έκδοση της R για τα Windows περιλαμβάνει και τη δυνατότητα υποστήριξης scripts, τη διαχείριση πακέτων και τη χρήση βοηθημάτων. Η R λειτουργεί διαλογικά, δηλαδή εισάγεται μια εντολή και στη συνέχεια το πλήκτρο Enter. Στη συνέχεια ο κώδικας αποσφαλματώνεται, εκτελείται και εμφανίζεται το αποτέλεσμα. Υπάρχουν δύο τρόποι χρήσης της R, ο πρώτος είναι να εκτελούνται οι εκφράσεις από τη γραμμή εντολών και ο δεύτερος είναι μια μέθοδος κατά την οποία γράφονται συναρτήσεις από το χρήστη. Εικόνα 2.13: Η κονσόλα της γλώσσας R. -31-

38 Σε κάθε γλώσσα προγραμματισμού υπάρχουν μεταβλητές. Οι μεταβλητές είναι ένας τρόπος για να είναι προσπελάσιμα τα δεδομένα που έχουν αποθηκευτεί στη μνήμη. Οι οντότητες που δημιουργεί και χειρίζεται η R είναι γνωστές σαν «αντικείμενα». Τα αντικείμενα μπορούν αν πάρουν τη μορφή μεταβλητών, διανυσμάτων, πινάκων, συναρτήσεων, σειρών χαρακτήρων, αλφαριθμητικών και συμβόλων που παριστάνουν άλλα α- ντικείμενα ή άλλη δομή. Το λεξικό με το οποίο είναι εφοδιασμένη η R είναι όμοιο με αυτό της Pascal και παρέχει τη δυνατότητα στα σύμβολα να χρησιμοποιούνται με ανάλογο τρόπο. Οι βασικοί τύποι δεδομένων της R είναι: Διανύσματα Τα διανύσματα αποτελούν διατεταγμένα σύνολα δεδομένων τα οποία είναι υποχρεωτικά του ίδιου τύπου. Οι βασικοί τύποι διανυσμάτων που υ- ποστηρίζει η R είναι ο λογικός, ο ακέραιος, ο πραγματικός και η σειρά χαρακτήρων. Οι πράξεις μεταξύ διανυσμάτων είναι πράξεις που γίνονται στοιχείο προς στοιχείο και στην R οι περισσότερες πράξεις είναι διανυσματικές. Πίνακες Οι πίνακες είναι ορθογώνιες διατάξεις, δύο διαστάσεων, στοιχείων ίδιου τύπου. Λίστες Οι λίστες αποτελούν μια γενικευμένη δομή διανυσμάτων. Τα στοιχεία τους μπορεί να είναι διατεταγμένα στοιχεία οποιουδήποτε τύπου και ονομάζονται συνιστώσες της λίστας. Πλαίσια δεδομένων Τα πλαίσια δεδομένων είναι πίνακες δεδομένων που περιέχουν στήλες με διαφορετικούς τύπους δεδομένων. Είναι δηλαδή μια λίστα από διανύσματα ή άλλα πλαίσια με το ίδιο μήκος. Στα πλαίσια δεδομένων η θεώρηση γίνεται ανά στήλη. -32-

39 Το πακέτο Rattle. Το πακέτο Rattle, το οποίο χρησιμοποιήθηκε στο εφαρμοσμένο μέρος αυτής της εργασίας, αποτελεί ένα ελεύθερο και ανοιχτού κώδικα λογισμικό που παρέχει μια γραφική διεπαφή χρήστη. Πρόκειται για ένα εργαλείο εξόρυξης δεδομένων το οποίο χρησιμοποιεί τη γλώσσα R. Το Rattle χρησιμοποιείται σήμερα σε όλο τον κόσμο για πολλές περιπτώσεις. Χαρακτηριστικό παράδειγμα αποτελεούν οι 15 διαφορετικές κυβερνητικές υπηρεσίες ανά τον κόσμο που το χρησιμοποιούν ως εργαλείο εξόρυξης γνώσης και ως στατιστικό πακέτο. Το Rattle προσφέρει σημαντικές λειτουργίες εξόρυξης δεδομένων αξιοποιώντας την δύναμη του στατιστικού λογισμικού R ενώ χρησιμοποιείται και ως μέσο διδασκαλίας της γλώσσας R. Στην ουσία, το rattle αναπαράγει κάθε εντολή που δίνει ο χρήστης μέσω του γραφικού περιβάλλοντος του στην κονσόλα της R και στη συνέχεια λαμβάνει και επιστρέφει τα αποτελέσματα παρουσιάζοντάς τα. Το Rattle μπορεί να χρησιμοποιηθεί για στατιστική ανάλυση ή για τη δημιουργία μοντέλων ενώ επιτρέπει και τον διαχωρισμό των συνόλων δεδομένων σε υποσύνολα εκπαίδευσης, επαλήθευσης και δοκιμής. Επίσης τα δεδομένα μπορούν να προβληθούν καθώς και να επεξεργαστούν, να προστεθούν καινούρια ή να αφαιρεθούν. Οι βασικοί τύποι αρχείων που υποστηρίζει το Rattle είναι οι εξής: CSV (Comma Seperated Values) TXT XLS (Excel Files) XLSX (Excel 2007, 2010 Files) ARFF (Attribute Relation File Format) R Data Files Scripts Σύνδεση ODBC με άλλες πλατφόρμες. -33-

40 Οι βασικές στατιστικές υπηρεσίες που προσφέρει το Rattle είναι: Υπολογισμός ελαχίστου Υπολογισμός μέγιστου Τεταρτημόρια Υπολογισμός μέσου Υπολογισμός τυπικής απόκλισης Υπολογισμός τυπικής απόκλισης Υπολογισμός αθροίσματος Υπολογισμός διακύμανσης Υπολογισμός ασυμμετρίας Υπολογισμός κύρτωσης Υπολογισμός τετραγώνων Οι βασικοί στατιστικοί έλεγχοι που μπορεί να διενεργήσει το Rattle είναι: Συσχέτιση (Correlation) Wilcoxon-Smirnov Wilcoxon Rank Sum WilcoxonSigned Rank T-test F-test Οι αλγόριθμοι ομαδοποίησης (Clustering) που χρησιμοποιεί το Rattle είναι: KMeans Clara Hierarchical BiCluster -34-

41 Οι αλγόριθμοι ταξινόμησης που χρησιμοποιεί το Rattle είναι: Δένδρα απόφασης Random Forests ADA Boost Support Vector Machine Logistic Regression Νευρωνικά δίκτυα Οι μέθοδοι αξιολόγησης των μοντέλων που χρησιμοποιεί το Rattle είναι: Confusion Matrix Γραφήματα Ρίσκου Καμπύλη Κόστους Hand Lift ROC Precision Sensitivity Τα γραφήματα που παρέχει το Rattle είναι: Box Plot Ιστόγραμμα Correlations Δενδρογράμματα Cumulative Principle Components Benford Ραβδόγραμμα Dot Pot Mosaic -35-

42 To Rattle χρησιμοποιεί επίσης δύο εξωτερικά εργαλεία απεικόνισης, το Latticist και το GGobi, τα οποία είναι ανεξάρτητες εφαρμογές που παρέχουν δυναμικές και διαδραστικές απεικονίσεις δεδομένων ανάλυσης. Εικόνα 2.14: Το περιβάλλον του Rattle Στην παρούσα Διπλωματική εργασία χρησιμοποιήθηκαν κάποιες από της υπηρεσίες ομαδοποίησης και ταξινόμησης καθώς και υπηρεσίες αξιολόγησης για αυτά τα μοντέλα. Εκτενής αναφορά στη μεθοδολογία των αλγορίθμων που χρησιμοποιήθηκαν θα γίνει στις επόμενες ενότητες της εργασίας. -36-

43 3 Δένδρα Απόφασης Τα δένδρα απόφασης ή αλλιώς δένδρα ταξινόμησης ή δένδρα παλινδρόμησης αποτελούν μερικούς από τους πιο δημοφιλείς αλγόριθμους μάθησης και έχουν εφαρμοσθεί αποτελεσματικά σε διάφορους τομείς, όπως στη στατιστική, στην εξόρυξη δεδομένων, στη μηχανική μάθηση, στη διάγνωση ιατρικών περιστατικών, στην αξιολόγηση ρίσκου επενδύσεων κτλ. Είναι μέθοδοι προσέγγισης συναρτήσεων που έχουν ως έξοδο διακριτές τιμές. Το αποτέλεσμά τους είναι μια δενδροειδής δομή που με γραφικό τρόπο περιγράφει τα δεδομένα και μπορεί να αναπαρασταθεί ως ένα σύνολο κανόνων που ονομάζονται κανόνες ταξινόμησης. Πιο συγκεκριμένα είναι δομές που ταξινομούν τα αντικείμενα ενός συνόλου δεδομένων βάσει των τιμών των χαρακτηριστικών αυτών και κατασκευάζονται με βάση ένα σύνολο εκπαίδευσης το οποίοι περιλαμβάνει προταξινομημένα δεδομένα. Τα δένδρα απόφασης αποτελούνται από κόμβους, κλαδιά και φύλλα. Κάθε κόμβος στο δένδρο ορίζει μια συνθήκη ελέγχου της τιμής κάποιου χαρακτηριστικού των περιπτώσεων και κάθε κλαδί που ξεκινάει από έναν κόμβο αντιστοιχεί σε μια διαφορετική διακριτή τιμή του χαρακτηριστικού αυτού. Η διαδικασία της ταξινόμησης με ένα δένδρο απόφασης ξεκινάει από τον αρχικό κόμβο του δένδρου που ονομάζεται ρίζα. Στη συνέχει εξετάζονται τα χαρακτηριστικά που καθορίζονται από τον κόμβο αυτό και προσδιορίζονται διαδοχικά οι υπόλοιποι εσωτερικοί κόμβοι του δένδρου μέχρι το σημείο να υπάρχει μόνο μια διακριτή τιμή της κατηγορίας.. Σε κάθε εσωτερικό κόμβο εξετάζεται αν το προς ταξινόμηση αντικείμενο ικανοποιεί τον συγκεκριμένο κόμβο. Το αποτέλεσμα αυτής της εξέτασης καθορίζει και το κλαδί που θα ακολουθήσει στη συνέχεια. Τα φύλλα του δένδρου αποτελούν τους τελικούς κόμβους του και είναι οι κλάσεις στις οποίες ταξινομούνται τελικώς τα αντικείμενα. Η παραπάνω διαδικασία ονομάζεται διαδικασία οικοδόμησης του δένδρου και στη συνέχεια ακολουθεί η διαδικασία του κλαδέματος όπου οι αλγόριθμοι αφαιρούν όσους κόμβους θεωρούνται περιττοί και δεν βοηθούν στην αύξηση της ακρίβειας ταξινόμησης. -37-

44 Η αναπαράσταση που χρησιμοποιείται για τα δένδρα απόφασης είναι μια διάζευξη που αποτελείται από συζεύξεις περιορισμών στις τιμές των χαρακτηριστικών. Κάθε διαδρομή από την ρίζα σε ένα φύλλο αντιστοιχεί σε συζεύξεις περιορισμών στις τιμές των χαρακτηριστικών. Το δένδρο εκφράζει συνολικά την διάζευξη αυτών των συζεύξεων καθώς αποτελείται από όλες τις εναλλακτικές διαδρομές. Τα δένδρα ταξινόμησης χρησιμοποιούνται για να προβλέψουν με κάποιο επίπεδο ακρίβειας την τιμή της μεταβλητής που μοντελοποιούν με βάση τις τιμές των θεωρούμενων ανεξάρτητων χαρακτηριστικών. (Mitchell, 1997; Βαζιργιάννης-Χαλκίδη, 2003; Βλαχάβας-Κεφάλας-Βασιλειάδης-Κόκκορας-Σακελλαρίου, 2006). Εικόνα 3.1: Αναπαράσταση δένδρου απόφασης με τους κόμβους, τα κλαδιά και τα φύλλα του. -38-

45 3.1 Αλγόριθμοι ταξινόμησης Με την πάροδο των χρόνων έχουν αναπτυχθεί πολλοί και σημαντικοί αλγόριθμοι ταξινόμησης. Τα δένδρα ταξινόμησης βασίζονται στο ότι το αποτέλεσμα της πρόβλεψης είναι η κλάση στην οποία ανήκει το αντικείμενο ενώ τα δένδρα παλινδρόμησης στο ότι το αποτέλεσμα της πρόβλεψης μπορεί να θεωρηθεί πραγματικός αριθμός. Οι όροι Ταξινόμηση και Παλινδρόμηση (Classification And Regression Trees-C.A.R.T.) εισήχθη πρώτη φορά από τον Breiman το 1984 και χρησιμοποιείται για να περιγράψει και τους δύο τύπους. Οι αλγόριθμοι των δυο κατηγοριών έχουν κοινά αλλά και διαφορετικά σημεία. Κάποιοι διαφέρουν ως προς την διαδικασία ταξινόμησης και κάποιοι ως προς τις παραμέτρους που λαμβάνουν υπόψη τους. Τα Bagging δένδρα απόφασης αποτελούν μια πρώιμη μέθοδο και παράγουν πολλαπλά δένδρα απόφασης με την κατ επανάληψη δειγματοληψία από το σύνολο εκπαίδευσης. Τα Random Forest δένδρα απόφασης χρησιμοποιούν έναν αριθμό από δένδρα απόφασης με σκοπό να αυξήσουν το ποσοστό ταξινόμησης. Τα Boosted δένδρα απόφασης μπορούν να χρησιμοποιηθούν για προβλήματα τύπου ταξινόμησης και τύπου παλινδρόμησης. Οι σημαντικότεροι αλγόριθμοι δένδρων απόφασης είναι: C.A.R.T. Ο αλγόριθμος C.A.R.T. τμηματοποιεί περιοδικά το δείγμα δεδομένων στο σύνολο του εκπαιδευόμενου δείγματος σε υποσύνολα δεδομένων με παρόμοιες τιμές για την αντικείμενη μεταβλητή. Ο αλγόριθμος αναπτύσσει ένα δυαδικό δένδρο διαλέγοντας τη βέλτιστη διάσπαση σύμφωνα με το αν το μέτρο της διαίρεσης είναι το μέγιστο που μπορεί να υπάρξει μεταξύ των πιθανών διαιρέσεων για κάθε κόμβο. Σε ένα τυχαίο δείγμα εγγραφών ο αλγόριθμος επισκέπτεται επαναληπτικά κάθε κόμβο και εφαρμόζει την διαδικασία εντοπισμού βέλτιστης διαίρεσης για κάθε κόμβο ξεχωριστά. Όσο κάθε κόμβος του δένδρου μεγαλώνει, το σύνολο δεδομένων που περισσεύει γίνεται μικρότερο και κατά συνέπεια λιγότερο αντιπροσωπευτικό για το σύνολο του πληθυσμού. Στη συνέχεια ο αλγόριθμος προχωράει στο κλάδεμα του δένδρου το οποίο αυξάνει την σημαντικότητα του μοντέλου γενικεύοντας τα αποτελέσματα. -39-

46 ID3 Ο αλγόριθμος ID3 είναι ο πιο γνωστός αλγόριθμος μάθησης δένδρων ταξινόμησης. Ο συγκεκριμένος αλγόριθμος απαιτεί από την αρχή το σύνολο των δεδομένων εκπαίδευσης καθώς η λειτουργία του βασίζεται σε συγκεντρωτικά μεγέθη αυτού του συνόλου. Η διαδικασία του αλγορίθμου αποτελείται από τα εξής βήματα: Αρχικά βρίσκει την ανεξάρτητη μεταβλητή η οποία αν χρησιμοποιηθεί ως κριτήριο διαχωρισμού των δεδομένων εκπαίδευσης θα οδηγήσει σε διαφορετικούς κόμβους σε σχέση με την εξαρτημένη μεταβλητή. Στη συνέχεια κάνει τον διαχωρισμό και επαναλαμβάνει τη διαδικασία για κάθε έναν από τους κόμβους που προκύπτουν μέχρι να μην είναι δυνατός περαιτέρω διαχωρισμός. Το ιδιαίτερο χαρακτηριστικό του αλγόριθμου ID3 είναι ότι κατασκευάζει το δένδρο άπληστα, από πάνω προς τα κάτω, επιλέγοντας αρχικά το πιο κατάλληλο χαρακτηριστικό για έλεγχο στη ρίζα του δένδρου με βάση ένα στατιστικό μέτρο που υπολογίζεται από τα δεδομένα. Στη συνέχεια για κάθε δυνατή τιμή του χαρακτηριστικού δημιουργούνται οι αντίστοιχοι απόγονοι της ρίζας και τα δεδομένα μοιράζονται στους νέους κόμβους ανάλογα με την τιμή που έχουν για το χαρακτηριστικό που ελέγχεται στη ρίζα. Στη συνέχεια επαναλαμβάνεται η ίδια διαδικασία για κάθε νέο κόμβο λαμβάνοντας υπόψη μόνο τα δεδομένα που ανήκουν σε αυτόν τον κόμβο. Η διαδικασία τερματίζεται όταν όλα τα δεδομένα που ανήκουν σε έναν κόμβο ανήκουν στην ίδια κατηγορία και αυτό συμβαίνει για όλους τους κόμβους ή όταν τελειώσουν τα χαρακτηριστικά προς έλεγχο όπου τιμή του κόμβου είναι η κατηγορία στην οποία ανήκει η πλειοψηφία των δεδομένων του κόμβου αυτού. Ο ID3 αποτελεί έναν αλγόριθμο αναρρίχησης λόφων καθώς σε κάθε επανάληψη της διαδικασίας επεκτείνει το δένδρο με τον καλύτερο τρόπο και συνεχίζει χωρίς δυνατότητα επιστροφής καθιστώντας τον αρκετά αποδοτικό αλλά και εξαιρετικά εξαρτώμενο από το μηχανισμό διαχωρισμού που θα επιλεγεί στην αρχή. Ο ID3 δεν περιορίζει τον αριθμό των μεταβλητών που μπορούν να λάβουν οι μεταβλητές αλλά περιορίζεται σε διακριτές και όχι συνεχείς τιμές. -40-

47 Με την πάροδο των χρόνων έχουν προταθεί πολλές παραλλαγές του αλγόριθμου ID3 οι οποίες περιλαμβάνουν τεχνικές κλαδέματος πριν την ολοκλήρωση της κατασκευής του δένδρου, την διαχείριση πεδίων χωρίς τιμή, τη χρήση κριτηρίων διαχωρισμού και την αυτόματη διαχείριση συνεχόμενων αριθμητικών τιμών (Βλαχάβας-Κεφάλας- Βασιλειάδης-Κόκκορας-Σακελλαρίου, 2006). C4.5 Ο αλγόριθμος C4.5 χτίζει δένδρα απόφασης από ένα σύνολο δεδομένων εκπαίδευσης με τον ίδιο τρόπο όπως ο αλγόριθμος ID3 χρησιμοποιώντας την έννοια της εντροπίας της πληροφορίας. Ο μηχανισμός της εντροπίας της πληροφορίας είναι από τους πιο διαδεδομένους μηχανισμούς διαχωρισμού και χαρακτηριστικό του είναι ότι επιλέγει την ανεξάρτητη μεταβλητή που οδηγεί σε περισσότερο συμπαγές δένδρο. Σε κάθε κόμβο του δένδρου, ο αλγόριθμος επιλέγει ένα χαρακτηριστικό των δεδομένων που χωρίζει αποτελεσματικά το σύνολο δεδομένων σε υποσύνολα ε- μπλουτισμένα σε μια ή άλλη κλάση. Κριτήριό του είναι το χαρακτηριστικό που παρουσιάζει την μεγαλύτερη τιμή εντροπίας πληροφορίας. Στη συνέχεια ο αλγόριθμος προχωράει στους επόμενους κόμβους. Ο αλγόριθμος C4.5 έκανε κάποιες βελτιώσεις στον ID3. Μια από αυτές είναι η δυνατότητα διαχείρισης συνεχών και διακριτών τιμών. Για να μπορέσει ο C4.5 να χειριστεί συνεχείς τιμές δημιουργεί ένα όριο και χωρίζει το σύνολο δεδομένων σε δύο υποσύνολα με βάση αυτό το όριο. Επίσης μπορεί να χειριστεί δεδομένα εκπαίδευσης με ελλιπείς τιμές μη συμπεριλαμβάνοντάς τες στον υπολογισμό της τιμής της εντροπίας της πληροφορίας. Τέλος ο C4.5 μετά την οικοδόμηση του δένδρου πηγαίνει ανάποδα στο δένδρο και επιχειρεί να άρει τα κλαδιά τα οποία δεν προσφέρουν κάτι στο δένδρο. Αυτή είναι η μέθοδος κλαδέματος. SLIQ -41-

48 Ο αλγόριθμος SLIQ είναι παρόμοιος με τον αλγόριθμο SPRINT και διαφέρει με τους προηγούμενους ως προς τον τρόπο επιλογής του χαρακτηριστικού που εξετάζουν. Ενώ ο C4.5 επιλέγει το χαρακτηριστικό που εξετάζει με βάση την τιμή εντροπίας της πληροφορίας, ο SLIQ το επιλέγει με βάση το δείκτη Gini. Ο δείκτης Gini είναι ένα στατιστικό μέτρο που αναπτύχθηκε από τον Ιταλό Στατιστικολόγο και Κοινωνιολόγο Corrado Gini ο οποίος του έδωσε και το όνομά του. Ο δείκτης Gini μετράει την ανομοιότητα μεταξύ τιμών με βάση την συχνότητα κατανομής τους. Αν ο δείκτης Gini είναι ίσος με το μηδέν τότε αυτό σημαίνει ότι οι τιμές χαρακτηρίζονται από τέλεια ομοιότητα (δηλαδή όλες οι τιμές είναι ίδιες). Αν ο δείκτης Gini είναι ίσος με 1 τότε αυτό σημαίνει ότι οι τιμές χαρακτηρίζονται από τέλεια ανομοιότητα (δηλαδή όλες οι τιμές είναι διαφορετικές). Ο αλγόριθμος SLIQ χρησιμοποιεί τεχνικές οι οποίες βελτιώνουν τον χρόνο εκπαίδευσης χωρίς όμως αυτό να έχει αντίκτυπο στην ακρίβεια πρόβλεψης. Συγχρόνως αυτές οι τεχνικές επιτρέπουν την διαχείριση μεγάλου συνόλου εκπαίδευσης. Έτσι, σε ένα σύνολο εκπαίδευσης που μπορούν να διαχειριστούν άλλοι αλγόριθμοι, ο αλγόριθμος SLIQ επιτυγχάνει πιο γρήγορα αποτελέσματα και παράγει μικρότερα δένδρα. CHAID Ο αλγόριθμος CHAID (Chi-Sqared Automatic Interaction Detection) βασίζεται στην δοκιμή προσαρμοσμένης σημαντικότητας και έγινε αρχικά γνωστός με το όνομα XAID. Μπορεί να χρησιμοποιηθεί για πρόβλεψη με παρόμοιο τρόπο με αυτόν της ανάλυσης παλινδρόμησης καθώς και για ταξινόμηση για την ανίχνευση αλληλεπίδρασης μεταξύ μεταβλητών. Το χαρακτηριστικό του CHAID είναι ότι διενεργεί διαχωρισμούς με πολλά κλαδιά και χρειάζεται μεγάλα σύνολα εκπαίδευσης για να αποδώσει καθώς με μικρά σύνολα τα δημιουργούμενα υποσύνολα καθίστανται γρήγορα πολύ μικρά για αξιόπιστη ανάλυση. -42-

49 3.2 Κανόνες απόφασης Σημαντικό χαρακτηριστικό των δένδρων απόφασης είναι η ικανότητά μετατροπής τους σε ένα σύνολο κανόνων απόφασης. Συγκεκριμένα για κάθε μονοπάτι που ξεκινά από την κορυφή του δένδρου και καταλήγει σε ένα φύλλο δημιουργείται ένας κανόνας που αναπαριστά μια κλάση. Οι κανόνες απόφασης μπορούν να εξαχθούν απευθείας από το σύνολο εκπαίδευσης μιας βάσης δεδομένων, μέσω μιας σειράς αλγορίθμων ταξινόμησης οι οποίοι βασίζονται στους κανόνες απόφασης. Οι αλγόριθμοι αυτοί έχουν ως στόχο την εξαγωγή του μικρότερου δυνατού συνόλου κανόνων απόφασης που είναι συνεπές με τα υπό εκπαίδευση δεδομένα. (Furnkranz, 1999) Οι κανόνες απόφασης έχουν την γενική κορφή «If Then» και χωρίζονται σε δύο κύριες κατηγορίες τους προτασιακούς κανόνες και τους κατηγορηματικούς κανόνες. Οι προτασιακοί δεν περιέχουν μεταβλητές και μπορούν να προκύψουν διάφορες μορφές αναπαράστασης. Σε αυτούς, κάθε γεγονός χαρακτηρίζεται είτε ως αληθές είτε ως ψευδές. Οι κατηγορηματικοί κανόνες περιέχουν μεταβλητές, έχουν μεγάλη εκφραστική ι- κανότητα και προκύπτουν μέσω αλγορίθμων μάθησης κανόνων. Οι κανόνες απόφασης μπορούν να χρησιμοποιηθούν σε προβλήματα στα οποία οι υποθέσεις που πρέπει να αναπαρασταθούν αφορούν συσχετισμούς που μπορούν εύκολα να εκφραστούν με αναπαραστάσεις πρώτης τάξης. Υπάρχουν πολλοί αλγόριθμοι οι οποίοι βασίζονται στους κανόνες απόφασης. Ένας από τους σημαντικότερους είναι ο RIPPER ο οποίος διαμορφώνει κανόνες μέσα από μια συνεχή διαδικασία ανάπτυξης και κλαδέματος. Σε πρώτη φάση οι κανόνες είναι πιο συνεπτυγμένοι ώστε να προσαρμόζονται καλύτερα στο σύνολο εκπαίδευσης ενώ στη δεύτερη φάση συμβαίνει το ακριβώς αντίθετο ώστε να αποδίδουν καλύτερα σε νέα δεδομένα. Άλλος ένας σημαντικός αλγόριθμος που βασίζεται στους κανόνες απόφασης είναι ο CN2 ο οποίος χρησιμοποιεί μια ευριστική συνάρτηση για τον τερματισμό της κατασκευής τους. Το αποτέλεσμα του αλγόριθμου είναι ένα σύνολο κανόνων που ονομάζεται λίστα απόφασης. (Rivest, 1987) Τέλος αναφέρεται και ο αλγόριθμος CL 2 ο οποίος εξάγει κανόνες απόφασης χρησιμοποιώντας διαδικασίες ομαδοποίησης δεδομένων. -43-

50 3.3 Δένδρα απόφασης στον SQL Server Ο αλγόριθμος δένδρων απόφασης που χρησιμοποιεί ο SQL Server ονομάζεται Microsoft Decision Trees και είναι αλγόριθμος ταξινόμησης και παλινδρόμησης που παρέχεται από τις υπηρεσίες ανάλυσης της πλατφόρμας Data Tools για χρήση σε μοντέλα πρόβλεψης διακριτών και συνεχών μεταβλητών. Για τις διακριτές μεταβλητές, ο αλγόριθμος κάνει προβλέψεις με βάση τις σχέσεις μεταξύ των μεταβλητών από το σύνολο δεδομένων που έχουν επιλεγεί ως είσοδος στο μοντέλο. Χρησιμοποιεί τις τιμές αυτών των δεδομένων για να προβλέψει τις τιμές της μεταβλητής που έχει ορισθεί ως έξοδος (δηλαδή ως το αντικείμενο πρόβλεψης). Συγκεκριμένα ο αλγόριθμος εντοπίζει τα πεδία που σχετίζονται με το υπό πρόβλεψη πεδίο. Για παράδειγμα, σε ένα σενάριο πρόβλεψης για το ποιοι πελάτες είναι πιθανό να αγοράσουν ένα ποδήλατο, αν εννιά στους δέκα νεαρούς πελάτες αγοράσουν ένα ποδήλατο και μόνο δύο στους δέκα από τους μεγαλύτερους σε ηλικία πελάτες αγοράσουν ένα ποδήλατο ο αλγόριθμος συνάγει ότι η ηλικία είναι μία καλή ένδειξη πρόβλεψης για την αγορά ποδηλάτου. Ο αλγόριθμος κάνει προβλέψεις με βάση αυτήν την τάση προς ένα συγκεκριμένο αποτέλεσμα. Για συνεχείς μεταβλητές ο αλγόριθμος χρησιμοποιεί την γραμμική παλινδρόμηση για να καθορίσει το σημείο που θα διαχωριστεί το δένδρο (δηλαδή σε ποια σημεία θα υπάρχουν κόμβοι). Αν οριστούν παραπάνω από μια μεταβλητές προς πρόβλεψη ή αν κάποια από τις μεταβλητές εισόδου οριστεί ταυτόχρονα και προς πρόβλεψη, ο αλγόριθμος χτίζει ξεχωριστά δένδρα απόφασης για κάθε μεταβλητή προς πρόβλεψη. -44-

51 3.3.1 Ο τρόπος λειτουργίας του αλγορίθμου Ο αλγόριθμος Microsoft Decision Trees χτίζει ένα μοντέλο εξόρυξης δεδομένων διενεργώντας μια σειρά από διαχωρισμούς σε ένα δένδρο. Αυτοί οι διαχωρισμοί αναπαρίστανται ως κόμβοι. Ο αλγόριθμος προσθέτει έναν κόμβο στο μοντέλο κάθε φορά που ένα πεδίο εισόδου θεωρείται ότι σχετίζεται σημαντικά με το προς πρόβλεψη πεδίο. Ο τρόπος με τον οποίον ο αλγόριθμος κρίνει έναν διαχωρισμό εξαρτάται από το αν η προς πρόβλεψη μεταβλητή είναι συνεχής ή διακριτή. Ο αλγόριθμος χρησιμοποιεί το χαρακτηριστικό της επιλογής για να επιλέξει τα πιο χρήσιμα χαρακτηριστικά. Το χαρακτηριστικό της επιλογής χρησιμοποιείται από όλους τους αλγόριθμους των υπηρεσιών ανάλυσης για την βελτίωση της απόδοσης και της ποιότητας της ανάλυσης. Το χαρακτηριστικό αυτό είναι σημαντικό για την εμπόδιση ανάλωσης χρόνου επεξεργασίας από λιγότερο σημαντικά χαρακτηριστικά. Εάν χρησιμοποιηθούν πάρα πολλά δεδομένα εισόδου ή πρόβλεψης στην σχεδίαση ενός μοντέλου πρόβλεψης, η ανάπτυξή του μπορεί να χρειασθεί πάρα πολύ χρόνο ή ακόμα και να μην είναι δυνατή λόγω έλλειψης μνήμης. Οι μέθοδοι που χρησιμοποιούνται για να καθοριστεί αν θα διαχωριστεί το δένδρο περιλαμβάνουν πρότυπα της εντροπίας και των δικτύων Bayes. Ένα κοινό πρόβλημα στα μοντέλα εξόρυξης δεδομένων είναι ότι το μοντέλο καθίσταται πολύ ευαίσθητο σε μικρές διαφορές στα δεδομένα εκπαίδευσης οπότε και θεωρείται υπερφορτωμένο. Ένα υπερφορτωμένο μοντέλο δεν μπορεί να γενικευτεί σε άλλα σύνολα δεδομένων. Προς αποφυγήν αυτού του φαινομένου ο αλγόριθμος Microsoft Decision Trees χρησιμοποιεί τεχνικές για την διαχείριση του μεγέθους του δένδρου. Ανάπτυξη δένδρου με διακριτές τιμές Ο τρόπος με τον οποίον ο αλγόριθμος Microsoft Decision Trees χτίζει ένα δένδρο για μια μεταβλητή προς πρόβλεψη με διακριτές τιμές μπορεί να αναπαρασταθεί με την χρήση ενός ιστογράμματος. -45-

52 Εικόνα 3.2: Ιστόγραμμα που αναπαριστά την σχέση ηλικίας και αγοράς ποδηλάτου. Ο αλγόριθμος θεωρεί ότι η ηλικία αποτελεί μία σημαντική μεταβλητή που χαρακτηρίζει το ενδεχόμενο ή μη αγοράς ποδηλάτου και την χρησιμοποιεί για τον πρώτο διαχωρισμό του δένδρου. Εικόνα 3.3: Δημιουργία κόμβου από τον αλγόριθμο. Ανάπτυξη δένδρου με συνεχείς τιμές Όταν αλγόριθμος Microsoft Decision Trees χτίζει ένα δένδρο για μια μεταβλητή προς πρόβλεψη με συνεχείς τιμές, κάθε κόμβος περιέχει έναν τύπο παλινδρόμησης. Ο διαχωρισμός πραγματοποιείται στο σημείο μη γραμμικότητας στον τύπο παλινδρόμησης. -46-

53 Εικόνα 3.4: Το σημείο μη γραμμικότητας στο εξεταζόμενο σύνολο εκπαίδευσης. Ο αλγόριθμος στη συνέχεια χρησιμοποιεί αυτό το σημείο ώστε να διαχωρίσει το σύνολο εκπαίδευσης σε δύο υποσύνολα χρησιμοποιώντας το ως όριο. Εικόνα 3.5: Η δημιουργία κόμβου με βάση το σημείο μη γραμμικότητας της παλινδρόμησης Οι προϋποθέσεις του αλγορίθμου Ο αλγόριθμος Microsoft Decision Trees έχει κάποιες προϋποθέσεις για την εύρυθμη λειτουργία του όπως ο όγκος των δεδομένων και ο τρόπος χρήσης τους. Συγκεκριμένα, για την ανάπτυξη κάθε δένδρου απόφασης, ο αλγόριθμος χρειάζεται: Ένα κλειδί Κάθε μοντέλο πρέπει να περιέχει ένα πεδίο με αριθμητικά δεδομένα ή χαρακτήρες που να ταυτοποιεί μοναδικά κάθε εγγραφή του συνόλου δεδομένων. Μια μεταβλητή πρόβλεψης Κάθε μοντέλο χρειάζεται μια μεταβλητή προς πρόβλεψη. Υπάρχει η δυνατότητα πολλαπλών μεταβλητών πρόβλεψης καθώς και διαφορετικού τύπου μεταβλητές σε αυτήν την περίπτωση όμως ο χρόνος επεξεργασίας αυξάνει σημαντικά. Μεταβλητές εισόδου Κάθε μοντέλο χρειάζεται μεταβλητές εισόδου οι οποίες μπορούν να έχουν διακριτές ή συνεχείς τιμές. Η αύξηση των μεταβλητών εισόδου αυξάνει ανάλογα και τον χρόνο επεξεργασίας του μοντέλου. -47-

54 3.3.3 Οι παράμετροι του αλγορίθμου Ο αλγόριθμος Microsoft Decision Trees δίνει τη δυνατότητα στο χρήστη να αλλάξει κάποιες από τις παραμέτρους του ώστε να κατευθύνει τα επιθυμητά αποτελέσματα σύμφωνα με τις ανάγκες του κάθε μοντέλου. Συγκεκριμένα οι παράμετροι του αλγορίθμου Microsoft Decision Trees είναι οι εξής: Complexity Penalty Αυτή η παράμετρος καθορίζει το μέγεθος του δένδρο. Η τιμή της εξαρτάται από το πλήθος των χαρακτηριστικών του μοντέλου και λαμβάνει τιμές [0,1]. Όσο η τιμή τείνει στο 1, τόσο μικρότερο είναι το δένδρο που προκύπτει. Αν τα χαρακτηριστικά είναι λιγότερα από 10 τότε η προεπιλεγμένη τιμή της παραμέτρου είναι 0,5, αν είναι περισσότερα από 100 η προεπιλεγμένη τιμή είναι 0,9 και αν τα χαρακτηριστικά είναι περισσότερα ή ίσα από 100 τότε η προεπιλεγμένη τιμή είναι 0,99. Force Regressor Αυτή η παράμετρος χρησιμοποιείται μόνο για δένδρα παλινδρόμησης και αναγκάζει τον αλγόριθμο να χρησιμοποιήσει τις στήλες σαν παλινδρομούσες μεταβλητές ανεξάρτητα από την σημασία τους. Maximum Input Attributes Αυτή η παράμετρος καθορίζει τον μέγιστο αριθμό των χαρακτηριστικών εισόδου που ο αλγόριθμος μπορεί να χειριστεί πριν ο αλγόριθμος αρχίσει να επιλέγει ευριστικά. Το διάστημα τιμών αυτής της παραμέτρου είναι [0,65535]. Η τιμή 0 απενεργοποιεί την δυνατότητα επιλογής των χαρακτηριστικών εισόδου. Η προεπιλεγμένη τιμή του αλγορίθμου είναι 255. Maximum Output Attributes Η συγκεκριμένη παράμετρος καθορίζει τον μέγιστο αριθμό των χαρακτηριστικών εξόδου που ο αλγόριθμος μπορεί να χειριστεί πριν ο αλγόριθμος αρχίσει να επιλέγει ευρηστικά. Το διάστημα τιμών αυτής της παραμέτρου είναι [0,65535]. Η τιμή 0 απενεργοποιεί την δυνατότητα επιλογής των χαρακτηριστικών εισόδου. Η προεπιλεγμένη τιμή του αλγορίθμου είναι

55 Minimum Support Αυτή η παράμετρος προσδιορίζει το ελάχιστο πλήθος των περιπτώσεων στα φύλλα του δένδρου, που απαιτείται για τη δημιουργία του. Όταν η τιμή αυτή είναι μικρότερη ή ίση με 1 τότε εκφράζει ποσοστό σε σχέση με το πλήθος όλων των περιπτώσεων, ενώ όταν η τιμή είναι μεγαλύτερη από 1, εκφράζει πλήθος. Με αυτήν την παράμετρο καθορίζουμε στο σύστημα πότε θα σταματήσει η ανάλυση του δένδρου, καθορίζουμε δηλαδή το μέγεθός του. Η προεπιλεγμένη τιμή του αλγορίθμου είναι 10. Score Method Αυτή η παράμετρος καθορίζει τη μέθοδο με την οποία δημιουργείται το δένδρο. Μπορεί να πάρει τις τιμές 1,3,4. Η τιμή 1 είναι για Εντροπία, η τιμή 3 για Bayesian with K2 Prior(BK2) και η 4 για Bayesian Dirichlet Equivalent (BDE). Προεπιλεγμένη τιμή του αλγορίθμου είναι η τιμή 4. Split Method Αυτή η παράμετρος καθορίζει τη μέθοδο με την οποία διαχωρίζονται οι κόμβοι του δένδρου. Μπορεί να πάρει τις τιμές [1,3] όπου 1 είναι η τιμή για Binary δένδρο, 2 η τιμή για Complete δένδρο και 3 η τιμή και για τα δύο μαζί. Εικόνα 3.6: Οι παράμετροι του αλγόριθμου Microsoft Decision Trees με τα διαστήματα τιμών και τις προεπιλεγμένες τιμές τους. -49-

56 3.3.4 Η προβολή του δένδρου Για την εξερεύνηση του δένδρου χρησιμοποιείται το περιβάλλον Microsoft Tree Viewer. Εάν το μοντέλο έχει πολλαπλά δένδρα μπορεί να επιλεγεί ένα από αυτά και ο Viewer παρουσιάζει το πώς οι περιπτώσεις έχουν κατηγοριοποιηθεί για κάθε μεταβλητη που είναι προς πρόβλεψη. Επίσης μπορεί να παρουσιαστεί η εξάρτηση μεταξύ των μεταβλητών με τη χρήση του Dependency Network Viewer. Για την εύρεση περισσότερων πληροφοριών για οποιοδήποτε κλαδί ή κόμβο του δένδρου χρησιμοποιείται το περιβάλλον Microsoft Generic Content Tree Viewer στο οποίο βρίσκονται οι κατανομές όλων των συνεχών μεταβλητών. Εικόνα 3.7: Δένδρο απόφασης στο περιβάλλον Microsoft Tree Viewer. Εικόνα 3.8: Απεικόνιση εξαρτήσεων μεταβλητών στο περιβάλλον Dependency Network. -50-

57 3.4 Δένδρα απόφασης στη γλώσσα R Για την ανάπτυξη δένδρων απόφασης στη γλώσσα R θα χρησιμοποιηθεί το πακέτο Rattle το οποίο παρουσιάστηκε στην δεύτερη ενότητα αυτής της εργασίας. Το Rattle όπως αναφέρθηκε χρησιμοποιεί την κονσόλα της γλώσσας R και μετατρέπει κάθε ε- ντολή που δίνει ο χρήστης μέσω του γραφικού περιβάλλοντος του σε εντολή της γλώσσας. Ο αλγόριθμος δένδρων απόφασης που χρησιμοποιεί το Rattle είναι αλγόριθμος ταξινόμησης και παλινδρόμησης και χρησιμοποιείται σε μοντέλα πρόβλεψης διακριτών και συνεχών μεταβλητών. Συγκεκριμένα το Rattle χωρίζει τις μεταβλητές σε δύο κατηγορίες. Τις Numeric οι οποιες περιέχουν αριθμητικά δεδομένα και τις Categoric οι οποίες περιέχουν χαρακτήρες. Όπως και οι περισσότεροι αλγόριθμοι δένδρων απόφασης έτσι και αυτός του Rattle κάνει προβλέψεις με βάση τις σχέσεις μεταξύ των μεταβλητών από το σύνολο δεδομένων που έχουν επιλεγεί ως είσοδος στο μοντέλο. Χρησιμοποιεί τις τιμές αυτών των δεδομένων για να προβλέψει τις τιμές της μεταβλητής που έχει ορισθεί ως έξοδος (δηλαδή ως το αντικείμενο πρόβλεψης). Συγκεκριμένα ο αλγόριθμος εντοπίζει τα πεδία που σχετίζονται με το υπό πρόβλεψη πεδίο. Οι μεταβλητές ενός συνόλου δεδομένων μπορούν να χρησιμοποιηθούν σε ένα μοντέλο πρόβλεψης του Rattle ως είσοδοι (Inputs), ως έξοδος (Target), ως κλειδί (Ident) και ως συντελεστές βαρύτητας (Weight). Προφανώς και σε ένα μοντέλο χρησιμοποιούνται μόνο οι μεταβλητές που θεωρούνται χρήσιμες για την ανάπτυξή του ενώ οι υπόλοιπες αγνοούνται (Ignore). Για παράδειγμα, σε ένα σύνολο δεδομένων μετεωρολογικών φαινομένων μιας τοποθεσίας, όπως το ποσοστό υγρασίας, η μέγιστη και η ελάχιστη θερμοκρασία της ημέρας, το ποσοστό ηλιοφάνειας ή βροχόπτωσης κτλ. ο αλγόριθμος μπορεί να προβλέψει την πιθανότητα βροχόπτωσης για μία συγκεκριμένη μέρα χρησιμοποιώντας διαφορετικούς συνδυασμούς από τις μεταβλητές για είσοδο στο μοντέλο. Εάν ο αναλυτής θεωρεί ότι μια μεταβλητή έχει ιδιαίτερη σημασία για το μοντέλο ανάπτυξης μπορεί να της ορίσει και αυξημένο συντελεστή βαρύτητας. Για παράδειγμα στο μοντέλο πρόβλεψης καιρού ένας μετεωρολόγος μπορεί να θεωρεί ότι η ατμοσφαιρική πίεση έχει μεγάλη σημασία στο ενδεχόμενο βροχόπτωσης. Αυτό βέβαια εναπόκειται στο κάθε επιστημονικό πεδίο στο οποίο εφαρμόζεται το μοντέλο και είναι ένα υποκειμενικό ζήτημα. -51-

58 3.4.1 Ο τρόπος λειτουργίας του αλγορίθμου Το Rattle χτίζει ένα μοντέλο εξόρυξης δεδομένων διενεργώντας μια σειρά από διαχωρισμούς σε ένα δένδρο. Αυτοί οι διαχωρισμοί αναπαρίστανται ως κόμβοι. Ο αλγόριθμος προσθέτει έναν κόμβο στο μοντέλο κάθε φορά που ένα πεδίο εισόδου θεωρείται ότι σχετίζεται σημαντικά με το προς πρόβλεψη πεδίο. Για να αποφασίσει ποιος διαχωρισμός είναι ο καταλληλότερος σε κάθε κόμβο, το Rattle χρησιμοποιεί τον δείκτη κέρδους της πληροφορίας. Ο δείκτης αυτός προέρχεται από την θεωρία παιγνίων και χρησιμοποιεί μια φόρμουλα από την θεωρία της εντροπίας από την επιστήμη της φυσικής (θεωρία της αταξίας σε ένα σύστημα). Στην περίπτωση του Rattle, η «αταξία του συστήματος» μεταφράζεται στο κατά πόσο «μπερδεμένο» είναι το σύνολο δεδομένων ως προς την μεταβλητή που αποτελεί την έξοδο του μοντέλου. Αν το σύνολο δεδομένων περιέχει περιπτώσεις όπου η μεταβλητή-έξοδος έχει την ίδια τιμή (π.χ. όλες οι τιμές να δηλώνουν βροχόπτωση) τότε δεν υπάρχει καθόλου αταξία στο σύνολο δεδομένων. Αν οι τιμές της μεταβλητής-εξόδου είναι ισομερώς κατανεμημένες τότε το σύνολο δεδομένων έχει την μέγιστη δυνατή αταξία. Η μέγιστη εντροπία χαρακτηρίζεται από την μονάδα και η ελάχιστη με το μηδέν. Ο τύπος που χρησιμοποιεί η R τον υπολογισμό της εντροπίας ενός συνόλου δεδομένων ώστε να το διαχωρίσει καταλλήλως είναι ο εξής: Info(D)= -plog 2 (p) nlog 2 (n) Εικόνα 3.9: Η κατανομή της σχέσης μεταξύ θετικών παρατηρήσεων και της εντροπίας. -52-

59 3.4.2 Οι προϋποθέσεις του αλγορίθμου Ο αλγόριθμος που χρησιμοποιεί το Rattle έχει κάποιες προϋποθέσεις για την εύρυθμη λειτουργία του όπως ο όγκος των δεδομένων και ο τρόπος χρήσης τους. Συγκεκριμένα, για την ανάπτυξη κάθε δένδρου απόφασης, ο αλγόριθμος χρειάζεται: Ένα κλειδί Κάθε μοντέλο πρέπει να περιέχει ένα πεδίο με αριθμητικά δεδομένα ή χαρακτήρες που να ταυτοποιεί μοναδικά κάθε εγγραφή του συνόλου δεδομένων. Μια μεταβλητή πρόβλεψης Κάθε μοντέλο χρειάζεται μια μεταβλητή προς πρόβλεψη. Σε αντίθεση με τον αλγόριθμο Microsoft Decision Trees που χρησιμοποιεί ο SQL Server, ο αλγόριθμος του Rattle μπορεί να λειτουργήσει έχοντας μόνο μία μεταβλητή ως έξοδο του μοντέλου. Μεταβλητές εισόδου Κάθε μοντέλο χρειάζεται μεταβλητές εισόδου οι οποίες μπορούν να έχουν διακριτές ή συνεχείς τιμές. Η αύξηση των μεταβλητών εισόδου αυξάνει ανάλογα και τον χρόνο επεξεργασίας του μοντέλου. Σε αντίθεση με Σε αντίθεση με τον αλγόριθμο Microsoft Decision Trees που χρησιμοποιεί ο SQL Server, ορίσει κατηγορικές μεταβλητές ως είσοδο μόνο εάν ο αριθμός διαφορετικών τιμών τους είναι μικρότερος ή ίσος του 10. Αν και αυτό δεν είναι γενική απαγόρευση του μοντέλου έχει παρατηρηθεί ότι κατηγορικές μεταβλητές με περισσότερες από 10 διαφορετικές τιμές προκαλούν την εξάλειψη της διαθέσιμης μνήμης και συνεπώς την αποτυχία του μοντέλου. Σημειώνεται ότι δεν είναι απαραίτητο για την ανάπτυξη ενός μοντέλου πρόβλεψης η ύπαρξη μεταβλητών Risk ή Weight καθώς αποτελεί προαιρετική επιλογή του αναλυτή. -53-

60 3.4.3 Οι παράμετροι του αλγορίθμου Το Rattle δίνει τη δυνατότητα στο χρήστη να αλλάξει κάποιες από τις παραμέτρους του αλγορίθμου ώστε να κατευθύνει τα επιθυμητά αποτελέσματα σύμφωνα με τις ανάγκες του κάθε μοντέλου. Συγκεκριμένα οι παράμετροι του αλγορίθμου είναι οι εξής: Complexity Η συγκεκριμένη παράμετρος καθορίζει το μέγεθος του δένδρου μέσω του κλαδέματος της διαδικασίας του κλαδέματος του δένδρου. Χωρίς αυτήν την διαδικασία το δένδρο μπορεί να υπερβεί τα δεδομένα εκπαίδευσης και μετά να μην αποδίδει σε καινούρια σύνολα δεδομένων. Σε γενικές γραμμές όσο πιο πολύπλοκο είναι ένα δένδρο τόσο πιο πιθανό είναι να προβλέπει με ακρίβεια τα δεδομένα εκπαίδευσης και όχι καινούρια δεδομένα. Η παράμετρος Complexity υπολογίζει το μέγιστο όφελος κάθε διαχωρισμού και πόσο αυτός προσφέρει στο συνολικό μοντέλο ώστε να αξίζει να πραγματοποιηθεί. Το διάστημα τιμών της είναι [0,1]. Θέτοντας την τιμή 0 στην παράμετρο ο αλγόριθμος θα έχτιζε ένα δένδρο με το μέγιστο αριθμό επιπέδων (ανάλογα και με τις τιμές των υπόλοιπων παραμέτρων). Η προεπιλεγμένη τιμή του αλγορίθμου είναι 0,01. Min Split Αυτή η παράμετρος καθορίζει τον ελάχιστο αριθμό παρατηρήσεων που πρέπει να περιέχει ένας κόμβος για να θεωρηθεί ικανός για διαχωρισμό. Εάν ο αριθμός των παρατηρήσεων που περιέχει ένας κόμβος είναι μικρότερος από τον αριθμό που έχει ορισθεί τότε ο κόμβος δεν θεωρείται ικανός για διαχωρισμό. Η προεπιλεγμένη τιμή του αλγορίθμου είναι 20. Min Bucket Αυτή η παράμετρος ορίζει τον ελάχιστο αριθμό παρατηρήσεων που πρέπει να έχει ένα φύλλο του δένδρου και συνήθως πρέπει να λαμβάνει το 1/3 της τιμής που έχει ορισθεί στην παράμετρο Min Split. -54-

61 Max Depth Αυτή η παράμετρος καθορίζει τον μέγιστο αριθμό των επιπέδων ενός δένδρου. Καθορίζει δηλαδή τον μέγιστο αριθμό που μπορεί να λάβει ένα φύλλο θεωρώντας ότι ο αρχικός κόμβος (ρίζα) του δένδρου έχει τον αριθμό 0. Η προεπιλεγμένη τιμή του αλγορίθμου είναι 30. Priors Ορισμένες φορές, οι αναλογίες των κλάσεων στα δεδομένα εκπαίδευσης δεν α- ντιστοιχούν με τις αναλογίες των κλάσεων στο σύνολο των δεδομένων. Η παράμετρος Priors χρησιμοποιείται για να ενημερώσει τον αλγόριθμο με τις αναλογίες του πληθυσμού ώστε το αποτέλεσμα του μοντέλου να τις αντανακλά. Έτσι όλες οι πιθανότητες θα τροποποιηθούν ώστε να αντανακλούν αυτές που ορίστηκαν στην παράμετρο και όχι αυτές των δεδομένων εκπαίδευσης. Οι τιμές που δέχεται η παράμετρος είναι μια σειρά αριθμών με άθροισμα την μονάδα. Loss Matrix Η συγκεκριμένη παράμετρος χρησιμοποιείται για τον υπολογισμό διαφορετικών ειδών λαθών. Είναι αυτό που συχνά αναφέρεται ως εσφαλμένα θετικά ή εσφαλμένα αρνητικά αποτελέσματα όταν πρόκειται για πρόβλεψη μεταβλητής με δύο κλάσεις. Συνήθως το ένα είδος λάθους είναι περισσότερο σημαντικό από το άλλο. Για παράδειγμα η πρόβλεψη βροχόπτωσης όπου στην πραγματικότητα έχει ηλιοφάνεια είναι λιγότερο σημαντικό λάθος από την πρόβλεψη ηλιοφάνειας ενώ στην πραγματικότητα βρέχει. Στην συγκεκριμένη παράμετρο λοιπόν ορίζεται μια σειρά από αναλογίες οι οποίες αντιστοιχούν στο κατά πόσο χειρότερη είναι μια συγκεκριμένη λάθος πρόβλεψη από μια γενικά λάθος πρόβλεψη έτσι ώστε ο αλγόριθμος να χτίσει το δένδρο προσπαθώντας να αποφύγει την συγκεκριμένη εκδοχή. Σημειώνεται ότι στον αλγόριθμο μπορεί να ορισθεί αν θα λάβει υπόψη του στην ανάπτυξη του μοντέλου εγγραφές που έχουν κενές τιμές σε κάποια από τα πεδία τους. -55-

62 3.4.4 Η προβολή του δένδρου Το Ratle προβάλει αρχικά την δομή του δένδρου με την μορφή κειμένου όπου παρουσιάζονται οι κόμβοι με τον αριθμό τους στη συνέχεια με το όνομα της μεταβλητής σύμφωνα με την οποία έγινε ο διαχωρισμός, μετά με το όριο το οποίο χρησιμοποιήθηκε για τον διαχωρισμό, στην συνέχεια αριθμός των τιμών που προβλέφθηκαν σωστά και αντίστοιχα λάθος και τέλος τα αντίστοιχα ποσοστά τους. Σημαντικό στοιχείο το οποίο αναφέρεται είναι και ο αριθμός των μεταβλητών που τελικά χρησιμοποιήθηκαν για τον διαχωρισμό του δένδρου καθώς πολλές φορές χρειάζονται λιγότερες από όσες ορίστηκαν ως είσοδοι του μοντέλου. Επίσης αναφέρεται και ο χρόνος που χρειάστηκε για την ανάπτυξη του μοντέλου. Εικόνα 3.10: Η αναπαράσταση της δομής του δένδρου με κείμενο. Σημειώνεται ότι υπάρχουν περιπτώσεις όπου λείπουν κάποιοι αριθμοί κόμβων ανάμεσα από τους υπόλοιπους (πχ δεν υπάρχει κόμβος με τον αριθμό 6 αλλά υπάρχουν κόμβοι με τους αριθμούς 5 και 7.) Αυτό συμβαίνει γιατί ο κόμβος αφαιρέθηκε κατά τη διαδικασία κλαδέματος του δένδρου από τον αλγόριθμο. Εκτός από την αναπαράσταση της δομής του δένδρου με κείμενο το Rattle μπορεί να αναπαραστήσει τη δομή του δένδρου και με γραφική απεικόνιση με απλά ή προχωρημένα γραφικά. -56-

63 Εικόνα 3.11: Γραφική αναπαράσταση του δένδρου με απλά γραφικά. Εικόνα 3.12: Γραφική αναπαράσταση του δένδρου με προχωρημένα γραφικά. Το Rattle μπορεί επίσης να μετατρέψει το δένδρο σε κανόνες απόφασης. Εικόνα 3.13: Μετατροπή του δένδρου σε κανόνες απόφασης. -57-

64 4 Συσταδοποίηση Η συσταδοποίηση (clustering) ή αλλιώς ομαδοποίηση είναι η διαδικασία καταμερισμού ενός ετερογενούς πληθυσμού σε λιγότερο ετερογενή υποσύνολα (clusters) ώστε τα δεδομένα που βρίσκονται στην ίδια ομάδα να μοιάζουν όσο το δυνατόν περισσότερο μεταξύ τους και τα δεδομένα που βρίσκονται σε διαφορετικές ομάδες να διαφέρουν όσο το δυνατόν περισσότερο.. Σε αντίθεση με την κατηγοριοποίηση, η ομαδοποίηση δεν βασίζεται σε προκαθορισμένες κλάσεις. Στην κατηγοριοποίηση ο πληθυσμός διαιρείται σε κλάσεις αναθέτοντας κάθε στοιχείο ή εγγραφή σε μια προκαθορισμένη κλάση με βάση ένα μοντέλο που αναπτύσσεται μέσω της εκπαίδευσης του με παραδείγματα που έχουν κατηγοριοποιηθεί εκ των προτέρων. Στην ομαδοποίηση οι εγγραφές ομαδοποιούνται με βάση την ομοιότητα που παρουσιάζουν μεταξύ τους. Η απόφαση για τον τρόπο με τον οποίο θα χρησιμοποιηθούν οι ομάδες που προκύπτουν επαφίεται στην κρίση του αναλυτή. Η συσταδοποίηση μπορεί να χρησιμοποιηθεί και σαν εισαγωγή σε κάποια άλλη μορφή Data Mining ή μοντελοποίησης. Για παράδειγμα, η ομαδοποίηση μπορεί να χρησιμοποιηθεί σαν πρώτο βήμα στην προσπάθεια μερισμού των πελατών ενός καταστήματος. Αντί δηλαδή να προσδιοριστεί τι είδους προϊόντα ταιριάζουν καλύτερα σε κάθε πελάτη μπορεί να γίνει αρχικά η κατηγοριοποίηση των πελατών σε ομάδες που παρουσιάζουν τις ίδιες αγοραστικές συνήθειες και στη συνέχεια να προσδιοριστεί ένα αγοραστικό προφίλ που ταιριάζει σε κάθε ομάδα. Εικόνα 4.1: Παράδειγμα συσταδοποίησης δεδομένων σε ομάδες. -58-

65 4.1 Αλγόριθμοι συσταδοποίησης Οι αλγόριθμοι συσταδοποίησης χωρίζονται σε τρεις κύριες κατηγορίες, τους αλγορίθμους που βασίζονται σε διαχωρισμούς, τους ιεραρχικούς αλγόριθμους και τους πιθανοκρατικούς αλγόριθμους. Οι αλγόριθμοι που βασίζονται στους διαχωρισμούς προσπαθούν να βρουν τον καλύτερο διαχωρισμό ενός συνόλου δεδομένων σε ένα συγκεκριμένο αριθμό ομάδων. Οι ιεραρχικοί αλγόριθμοι προσπαθούν να ανακαλύψουν τον αριθμό και τη δομή των ομάδων ιεραρχικά και ανάλογα με την κατεύθυνση της ανάπτυξης της ιεραρχίας που ακολουθούν χωρίζονται σε αλγόριθμους συγχώνευσης και αλγόριθμους διαίρεσης. Οι αλγόριθμοι συγχώνευσης οι πιο σημαντικοί και διαδεδομένοι από τους αλγόριθμους διαίρεσης. Οι συγκεκριμένοι αλγόριθμοι βρίσκουν και συγχωνεύουν σε μία τις δύο πιο κοντινές ομάδες δεδομένης μια αρχικής ομαδοποίησης κατά την οποία κάθε δεδομένο αποτελεί και μια ομάδα.. Τέλος οι πιθανοκρατικοί αλγόριθμοι βασίζονται σε μοντέλα πιθανοτήτων. Για οποιαδήποτε μέθοδο ομαδοποίησης και αν χρησιμοποιείται απαιτείται να υπάρχει κάποιο μέτρο ομοιότητας και διαφοράς μεταξύ των δεδομένων. Συνήθως αυτό είναι η απόσταση μεταξύ των δεδομένων που μετράται συνήθως με την απόσταση Manhattan και την Ευκλείδεια απόσταση. Αν κάποια δεδομένα είναι διακριτά τότε η απόσταση των τιμών τους θεωρείται μηδέν αν πρόκειται για την ίδια τιμή και ένα αν πρόκειται για διαφορετικές τιμές. Στα αριθμητικά δεδομένα θα πρέπει να γίνεται ομογενοποίηση ώ- στε η απόστασή τους να είναι εντός του διαστήματος [0,1]. Οι σημαντικότεροι αλγόριθμοι συσταδοποίησης είναι οι εξής: K-means Ο αλγόριθμος K-means αποτελεί έναν από τους πιο γνωστούς αλγορίθμους συσταδοποίησης. Πριν την εκτέλεση του αλγορίθμου καθορίζεται ο αριθμός των ομάδων. Ο αλγόριθμος ξεκινά διαλέγοντας έναν αριθμό τυχαίων δεδομένων ίσο με τον αριθμό των ομάδων που ορίστηκε και τα τοποθετεί ως κέντρα των ομάδων. Στη συνέχεια αναθέτει κάθε δεδομένο στην ομάδα της οποίας το κέντρο είναι πιο κοντά σε αυτό. Έπειτα υπολογίζει για κάθε ομάδα το μέσο όρο όλων των δεδομένων της και ορίζει αυτόν ως κέντρο τους. Αυτή η διαδικασία, χωρίς το -59-

66 πρώτο βήμα, επαναλαμβάνεται μέχρι να μην υπάρχει αλλαγή στις ομάδες και να μην μεταφέρονται δεδομένα από μια ομάδα στην άλλη. Ο αλγόριθμος K-Means είναι γρήγορος και αποτελεσματικός σε σχέση με άλλους αλγορίθμους του είδους του, αλλά παρουσιάζει ωστόσο ορισμένα μειονεκτήματα όπως η αδυναμία εφαρμογής του σε κατηγορικές μεταβλητές, η αδυναμία χειρισμού δεδομένων με ακραίες τιμές ή δεδομένων με πολλά ελλιπή στοιχεία και κυρίως το ότι ο αρχικός αριθμός των ομάδων ορίζεται από τον χρήστη. Μερικές παραλλαγές του αλγορίθμου K-means είναι ο αλγόριθμος K-Modes ο οποός εξειδικεύεται σε κατηγορικές μεταβλητές και ο αλγόριθμος K-Medoids ο οποίος επιλέγει ως κέντρο κάθε ομάδας την επικρατούσα τιμή της διαμέσου ώστε να εξαλειφθεί η επίδραση ακραίων τιμών. ΕΜ Ο αλγόριθμος ΕΜ (Expectation Maximazation) δημοσιοποιήθηκε το 1977 από τον Depster, τον Laird και τον Rubin και αρχικά ήρθε αντιμέτωπος με αρκετή κριτική. Πλέον χρησιμοποιείται σε πολλά επιστημονικά πεδία όπως η φαρμακευτική και η διοίκηση επιχειρήσεων. Ο αλγόριθμος ΕΜ αποτελεί μια επαναληπτική μέθοδο βελτιστοποίησης για τον υπολογισμό των άγνωστων παραμέτρων των μετρήσεων ενός συνόλου δεδομένων. Πρόκειται για μια μέθοδο που έχει τη δυνατότητα να υπολογίσει τη μέγιστη πιθανότητα ακόμα και σε δεδομένα με ελλιπείς τιμές. Δίνοντας μια αρχική τιμή στον μεγιστοποιητή αποκτάει αυτομάτως την ικανότητα να συμπληρώσει τα ελλιπή στοιχεία μέσω της υπό συνθήκη κατανομή πρόβλεψης.τα συμπληρωματικά αυτά στοιχεία ονομάζονται μη ενεργές ή κρυφές παράμετροι. Η διαδικασία μπορεί να επαναληφθεί μέχρι την εύρεση μιας μέγιστης τιμής για την εκ των υστέρων πυκνότητα. Ο αλγόριθμος EM χρησιμοποιείται συχνά για την ανάλυση της αξίας των πελατών των επιχειρήσεων και την ανάλυση δυνάμεων όπως για παράδειγμα ο υπολογισμός ομάδων πελατών με βάση τα δημογραφικά τους στοιχεία και τις αγοραστικές τους συνήθειες. Ένα μειονέκτημα του αλγορίθμου ΕΜ είναι ότι μπορεί το σημείο σύγκλισης να είναι τοπικό βέλτιστο και όχι γενικά. Παρόλα αυτά αποτελεί πιο αποτελεσματική μέθοδο σε σχέση με άλλες στατιστικές τεχνικές όπως η ανάλυση μέγιστης πιθανότητας που δεν μπορούν να εφαρμοστούν σε μεγάλο όγκο δεδομένων. -60-

67 CURE Ο αλγόριθμος CURE αποτελεί έναν από τους βασικότερους αλγόριθμους ιεραρχικής συσταδοποίησης. Μερικά από τα βασικά του χαρακτηριστικά είναι ότι μπορεί να αναγνωρίσει συστάδες αυθαίρετων σχημάτων και είναι εύρωστος στην παρουσία ακραίων τιμών. Μπορεί να εφαρμοστεί αποδοτικά και για συσταδοποίηση μεγάλων βάσεων δεοδμένων συνδυάζοντας τεχνικές τυχαίας δειγματοποίησης και τμηματοποίησης ενώ η είσοδός του μπορεί να είναι ένα δείγμα που επιλέχθηκε τυχαία από το αυθεντικό σύνολο δεδομένων ή ένα υποσύνολο αυτού του δείγματος. Η διαδικασία του αλγορίθμου αρχίζει λαμβάνοντας κάθε σημείο εισόδου ως ξεχωριστή συστάδα και σε κάθε βήμα που ακολουθεί συγχωνεύει τα πλησιέστερα ζευγάρια συστάδων. Για να υπολογιστεί η απόσταση μεταξύ των συστάδων αποθηκεύεται για κάθε συστάδα ένας αριθμός αντιπροσώπων. Οι αντιπρόσωποι αυτοί καθορίζονται επιλέγοντας αρχικά τα πιο διάσπαρτα σημεία μέσα σε μια συστάδα και στη συνέχεια μετακινώντας τα σημεία προς το μέσο της συστάδας κατά ένα πσοσοτό. Η απόσταση μεταξύ των συστάδων είναι η απόσταση μεταξύ των πιο κοντινών αντιπροσώπων τους. Έτσι μόνο τα σημεία-αντιπρόσωποι μιας συστάδας χρησιμοποιούνται για να υπολογιστεί η απόσταση της μιας από την άλλη. Chameleon Ο αλγόριθμος Chameleon βρίσκει τις συστάδες ενός συνόλου δεδομένων χρησιμοποιώντας σε δύο φάσεις. Στην πρώτη φάση χρησιμοποιεί μια μέθοδο συσταδοποίησης μασισμένη σε γράφους για να τμηματοποιήσει τα δεδομένα σε έναν μεγάλο αριθμό σχετικά μικρών υποσυστάδων. Στη συνέχεια προσπαθεί να ελαχιστοποιήσει το βάρος κάθε ομάδας. Στη δεύτερη φάση χρησιμοποιεί μια συσσωρευτική ιεραρχική μέθοδο για να βρει τις συστάδες από επαναληπτικούς συνδυασμούς των υποσυστάδων που προέκυψαν στην πρώτηφάση. Ηομοιότητα μεταξύ των συστάδων καθορίζεται με τον έλεγχο της σχετικής ενδοσυνδετικότητας και της σχετικής εγγύτητας αυτών. -61-

68 C 2 P Ο αλγόριθμος C 2 P εκμεταλλεύεται τις δομές ευρετηρίων και την επεξεργασία των ερωτήσεων του πιο κοντινού ζευγαριού στις χωρικές βάσεις δεδομένων. Αποτελείται από δύο φάσεις, στην πρώτη παράγει διάφορες υποσυστάδες που είναι μια αποτελεσματική αντιπροσώπευση των τελικών συστάδων. Η πρώτη φάση είναι μια επαναληπτική διαδικασία κατά την οποία διάφορες συστάδες συγχωνεύονται. Στη δεύτερη φάση πραγματοποιείται μια πιο εξειδικευμένη περίπτωση της πρώτης που χρησιμοποιεί μια διαφορετική ανπαράσταση συστάδας ώστε να παραχθεί το λεπτομερές τελικό σχήμα συσταδοποίησης. Επιπλέον συγχωνεύει δυο συστάδες σε κάθε βήμα με σκοπό ν ελεγχθεί η διαδικασία συσταδοποίησης. DENCLUE Ο αλγόριθμος DENCLUE προσπαθεί να μοντελοποιήσει την συνολική πυκνότητα των σημείων με αναλυτικό τρόπο ως το άθροισμα των συναρτήσεων επιρροής του υπό θεώρηση συνόλου δεδομένων. Μια συνάρτηση επιρροής μπορεί να θεωρηθεί σαν μια συνάρτηση η οποία περιγράφει την επίδραση ενός σημείου από το σύνολο των δεδομένων στην γειτονιά του, Οι συστάδες μπορούν να προσδιοριστούν καθορίζοντας τα τοπικά μέγιστα της συνολικής συνάρτησης πυκνότητας. Επιπρόσθετα οι συστάδες με αφηρημένο σχήμα μπορούν εύκολα να περιγραφούν από μια απλή εξίσωση. Ο αλγόριθμος DENCLUE βασίζεται σε δύο παραμέτρους οπότε όπως και στους περισσότερους αλγορίθμος η ποιότητα των αποτελεσμάτων βασίζεται στην κατάλληλη επιλογή αυτών των παραμέτρων. Οι παράμετροι αυτοί είναι η παράμετρος σ που καθορίζει την επίδραση ενός στοιχείου του συνόλου των δεδομένων στη γειτονιά του και η παράμετρος ξ που περιγράφει αν ένα τοπικό μέγιστο είναι σημαντικό. ROCK Ο αλγόριθμος ROCK (Robust Clustering Algorithm for Categorical Attribute) εισήγαγε δύο νέες έννοιες, την έννοια των γειτόνων και την έννοια των δεσμών. Οι γείτονες ενός σημείου είναι εκείνα τα σημεία τα οποία παρουσιάζουν σημαντική ομοιότητα με αυτό και ο δεσμός είναι ο αριθμός των κοινών γειτόνων μεταξύ των στοιχείων. -62-

69 CLIQUE Ο αλγόριθμος CLIQUE (Clustering In Quest) προχωρά από υποχώρους με χαμηλότερη ή υψηλότερη διάσταση και ανακαλύπτει τις πυκνές περιοχές σε κάθε υποχώρο. Για να προσεγγίσει την πυκνότητα των σημείων, το διάστημα εισόδου χωρίζεται στα κελιά με τη διαίρεση κάθε διάστασης στον ίδιο αριθμό διαστημάτων ίσου μήκους. Για ένα δεδομένο σύνολο διαστάσεων ο συνδυασμός των α- ντίστοιχων διαστημάτων καλείται μονάδα στον αντίστοιχο υποχώρο. Μια μονάδα είναι πυκνή αν ο αριθμός σημείων είναι πάνω από ένα δεδομένο όριο. Ο αλγόριθμος βρίσκει όλες τις πυκνές μονάδες σε κάθε υποχώρο n διαστάσεων με τη δημιουργία των πυκνών υποχώρων με διαστάσεις n-1 και στη συνέχεια τις συνδέει για να περιγράψουν συστάδες ως ένωση των μεγίστων ορθογωνίων. PROCLUS Ο αλγόριθμος PROCLUS αναζητά υποσύνολα διαστάσεων τέτοια ώστε τα σημεία δεδομένων να είναι πολύ πυκνά ομαδοποιημένα στους αντίστοιχους υποχώρους, Ο αριθμός των συστάδων καθ ς και ο μέσος αριθμός διαστάσεων ανά συστάδα είναι καθορισμένοι παράμετροι από τον χρήστη. Ο αλγόριθμος αρχίζει με την επιλογή ενός τυχαίου αριθμού υποσυνόλων και έπειτα σταδιακά βελτιώνει την ποιότητά τους από την εκτέλεση μια επαναληπτικής διαδικασίας ανάβασης σωρού (hill climbing) η οποία απορρίπτει τα υποσύνολα που δεν ταιριάζουν στα υπό ανάλυση δεοδομένα από το υπάρχον σύνολο αντιπροσώπων. Single Link Ο αλγόριθμος Single Link λειτουργεί ως εξής, αρχικά τοποθετεί κάθε pattern σε ένα cluster και στη συνέχεια δημιουργεί μια λίστα αποστάσεων για κάθε ζεύγος σημείων σε αύξουσα σειρά. Έπειτα μετακινείται στη λίστα και για κάθε απόσταση d δημιουργεί ένα γράφημα συνδέοντας ομάδες με απόσταση μικρότερη της d σταματώντας όταν σχηματιστεί ένα πλήρες γράφημα. Στη συνέχεια υπολογίζει τον πίνακα γειτνίασης με την απόσταση μεταξύ κάθε ζεύγους προτύπων και εντοπίζει το πιο κοντινό ζεύγος ομάδων με βάση τον πίνακα αυτόν. Τέλος συγχωνεύει τις δύο ομάδες σε μία και αν όλα τα patterns είναι σε μια ομάδα τερματίζει τη λειτουργία του αλλιώς συνεχίζει. -63-

70 4.2 Συσταδοποίηση στον SQL Server Ο αλγόριθμος συσταδοποίησης που χρησιμοποιεί ο SQL Server ονομάζεται Microsoft Clustering και παρέχεται από τις υπηρεσίες ανάλυσης της πλατφόρμας Data Tools. Ο αλγόριθμος χρησιμοποιεί επαναληπτικές τεχνικές για να ομαδοποιήσει τις περιπτώσεις ενός συνόλου δεδομένων σε συστάδες που περιέχουν παρόμοια χαρακτηριστικά. Οι ομάδες αυτές είναι χρήσιμες για την εξερεύνηση των δεδομένων, τον εντοπισμό ανωμαλιών στα δεδομένα και την δημιουργία προβλέψεων. Τα μοντέλα συσταδοποίησης προσδιορίζουν τις σχέσεις μεταξύ των δεδομένων ενός συνόλου οι οποίες δεν είναι εύκολο να εντοπιστούν με μια απλή παρατήρηση. Ο αλγόριθμος συσταδοποίησης διαφέρει από τους υπόλοιπους αλγορίθμους εξόρυξης δεδομένων όπως τον Microsoft Decision Trees καθώς δεν είναι απαραίτητο να ορισθεί μια μεταβλητή προς πρόβλεψη για να αναπτυχθεί ένα μοντέλο συσταδοποίησης. Ο αλγόριθμος εκπαιδεύει το μοντέλο αυστηρά από τις σχέσεις που υπάρχουν στα δεδομένα και από τις συστάδες που βρίσκει. Για παράδειγμα αν υποθέσουμε μια ομάδα ανθρώπων που έχουν παρόμοια δημογραφικά χαρακτηριστικά και αγοράζουν παρόμοια προϊόντα από ένα κατάστημα. Αυτή η ο- μάδα ανθρώπων αποτελεί μια συστάδα από το σύνολο δεδομένων. Τέτοιες παρόμοιες συστάδες μπορεί να υπάρχουν πολλές μέσα στο σύνολο δεδομένων. Παρατηρώντας τις στήλες που συνθέτουν μια συστάδα μπορεί να προσδιοριστεί πιο συγκεκριμένα πως σχετίζονται οι εγγραφές που περιέχονται σε αυτήν. Ο αλγόριθμος συσταδοποίησης της Microsoft διαπιστώνει αρχικά τις σχέσεις που υ- πάρχουν μεταξύ των δεδομένων ενός συνόλου και δημιουργεί μια σειρά από συστάδες που βασίζονται σε αυτές τις σχέσεις. Μετά τον πρώτο προσδιορισμό των συστάδων ο αλγόριθμος υπολογίζει τον βαθμό που οι συστάδες αντιπροσωπεύουν την ομαδοποίηση των δεδομένων και στη συνέχεια προσπαθεί να επαναπροσδιορίσει τα δεδομένα ώστε να δημιουργήσει ομάδες που αντιπροσωπεύουν καλύτερα τα δεδομένα. Ο αλγόριθμος επαναλαμβάνει αυτή τη διαδικασία μέχρις ότου τα αποτελέσματα της συσταδοποίησης να μην μπορούν να βελτιωθούν άλλο. Ο χρήστης μπορεί να καθορίσει τον τρόπο λειτουργίας του αλγορίθμου αλλάζοντας την τεχνική ομαδοποίησης, περιορίζοντας τον μέγιστο αριθμό συστάδων ή αλλάζοντας τον βαθμό υποστήριξης για τη δημιουργία μιας συστάδες. -64-

71 4.2.1 Ο τρόπος λειτουργίας του αλγορίθμου Ο αλγόριθμος Micrososft Clustering παρέχει δύο μεθόδους για την δημιουργία συστάδων και την τοποθέτηση δεδομένων σε αυτές. Η πρώτη είναι η μέθοδος του αλγορίθμου K-means η οποία αποτελεί μια σκληρή μέθοδο συσταδοποίησης. Αυτό σημαίνει ότι ένα σημείο μπορεί να ανήκει μόνο σε μία συστάδα και ότι η απλή πιθανότητα υπολογίζεται για κάθε εγγραφή της συγκεκριμένης συστάδας. Η δεύτερη μέθοδος είναι αυτή της Μεγιστοποίησης Προσδοκίας (EM) και αποτελεί μια πιο ήπια μέθοδο συσταδοποίησης. Αυτό σημαίνει ότι ένα σημείο ανήκει πάντα σε πολλές συστάδες και ότι η απλή πιθανότητα υπολογίζεται για κάθε συνδυασμό σημείων και συστάσων. Μέθοδος EM Η μέθοδος EM είναι η προεπιλεγμένη μέθοδος που χρησιμοποιεί ο αλγόριθμος Microsoft Clustering. Χρησιμοποιείται ως προεπιλογή επειδή προσφέρει πολλαπλά πλεονεκτήματα σε σύγκριση με την μέθοδο K-means όπως το γεγονός ότι απαιτείται μία το πολύ σάρωση της βάσης δεδομένων, λειτουργεί ακόμα και με πολύ περιορισμένη μνήμη RAM και υπερτερεί στις προσεγγίσεις δειγματοληψίας. Η πλατφόρμα Data Tools παρέχει δυο παραλλαγές της μεθόδου EM την Scalable-EM και Non-Scalable-EM. Στην Scalable-EM από προεπιλογή ο αλγόριθμος χρησιμοποιεί τις πρώτες εγγραφές ως σπόρους της πρώτης σάρωσης. Αν αυτό επιτύχει τότε το μοντέλο χρησιμοποιεί μόνο αυτά τα δεδομένα. Α το μοντέλο δεν μπορεί να ταιριάξει μόνο με τις πρώτες εγγραφές τότε σαρώνει άλλες Στην μέθοδο Non- Scalable-EM σαρώνεται ολόκληρο το σύνολο δεδομένων ανεξάρτητα από το μέγεθός του. Αυτή η μέθοδος μπορεί να δημιουργεί περισσότερο ακριβείς συστάδες αλλά οι α- παιτήσεις μνήμης που έχει είναι σημαντικές. Καθώς η μέθοδος Scalable-EM λειτουργεί σε τοπικό επίπεδο οι επαναληπτικές διαδικασίες είναι πολύ πιο γρήγορες και ο αλγόριθμος κάνει πολύ καλύτερη διαχείριση μνήμης σε σχέση με την μέθοδο Non-Scalable- EM. Επιπρόσθετα, η μέθοδος Scalable-EM είναι τρεις φορές πιο γρήγορη από την Non-Scalable-EM ακόμα και στις περιπτώσεις που τα δεδομένα χωράνε στην κύρια μνήμη. Στην πλειοψηφία των περιπτώσεων η βελτίωση της απόδοσης δεν συνεπάγεται και χαμηλότερη ποιότητα του συνολικού μοντέλου. Μέθοδος K-Means -65-

72 Η μέθοδος K-Means χρησιμοποιείται συνήθως για την δημιουργία συστάδων σε συνεχείς τιμές όπου ο υπολογισμός της απόστασης με ένα μέσο είναι απλός. Παρόλα αυτά ο αλγόριθμος Microsoft Clustering χρησιμοποιεί την μέθοδο K-Means για τη συσταδοποίηση διακριτών τιμών χρησιμοποιώντας πιθανότητες. Για τις διακριτές τιμές, η απόσταση ενός σημείου από μια συστάδα υπολογίζεται με τον εξής τρόπο: 1-P(Σημείο, Συστάδα). Σημειώνεται ότι ο αλγόριθμος Microsoft Clustering δεν εκθέτει τον τύπο υπολογισμού της απόστασης που χρησιμοποιείται στην συσταδοποίηση με τη μέθοδο K-Means και τα μέτρα των αποστάσεων δεν είναι διαθέσιμα στο τελικό μοντέλο. Ωστόσο μπορεί να χρησιμοποιηθεί μια λειτουργία πρόβλεψης για να επιστραφεί μια τιμή που αντιστοιχεί στην απόσταση όπου η απόσταση υπολογίζεται ως η πιθανότητα ενός σημείου να ανήκει σε μια συστάδα. Η πλατφόρμα Data Tools παρέχει δύο παραλλαγές της μεθόδου K-Means για την δειγματοληψία του συνόλου δεδομένων την Non-Scalable-K-Means και την Scalable-K- Means. Η Non-Scalable-K-Means φορτώνει ολόκληρο το σύνολο δεδομένων και πραγματοποιεί ένα μόνο πέρασμα για την συσταδοποίηση ενώ η Scalable-K-Means φορτώνει τις πρώτες εγγραφές και σαρώνει περισσότερες εγγραφές μόνον αν χρειάζεται περισσότερα δεδομένα για να επιτύχει μια καλή προσαρμογή του μοντέλου στα δεδομένα Οι προϋποθέσεις του αλγορίθμου Κατά την προετοιμασία των δεδομένων για την χρήση τους σε ένα μοντέλο συσταδοποίησης πρέπει να ληφθούν υπόψη κάποιες προϋποθέσεις όπως πόσα δεδομένα είναι απαραίτητα και πως πρέπει να χρησιμοποιηθούν. Συγκεκριμένα, οι προϋποθέσεις του αλγορίθμου Microsoft Clustering είναι: Ένα κλειδί Κάθε μοντέλο πρέπει να περιέχει ένα πεδίο με αριθμητικά δεδομένα ή χαρακτήρες που να ταυτοποιεί μοναδικά κάθε εγγραφή του συνόλου δεδομένων. Μεταβλητές εισόδου -66-

73 Κάθε μοντέλο χρειάζεται τουλάχιστον μία μεταβλητή εισόδου οι οποία περιέχει τις τιμές που θα χρησιμοποιηθούν για την δημιουργία των συστάδων. Είναι δυνατή η ύπαρξη όσων μεταβλητών εισόδου είναι επιθυμητές αλλά ο αριθμός των τιμών που περιέχει κάθε μεταβλητή μπορεί να αυξήσει σημαντικά τον χρόνο που χρειάζεται για την ανάπτυξη του μοντέλου. Προαιρετική μεταβλητή προς πρόβλεψη Ο αλγόριθμος δεν απαιτεί την ύπαρξη μιας μεταβλητής προς πρόβλεψη για να χτίσει ένα μοντέλο αλλά αυτή μπορεί να προστεθεί και μπορεί να είναι οποιουδήποτε τύπου. Οι τιμές της προβλεπόμενης μεταβλητής μπορούν να χρησιμοποιηθούν και ως τιμές εισόδου στο μοντέλο Οι παράμετροι του αλγορίθμου Ο αλγόριθμος Microsoft Clustering δίνει τη δυνατότητα στο χρήστη να αλλάξει κάποιες από τις παραμέτρους του ώστε να κατευθύνει τα επιθυμητά αποτελέσματα σύμφωνα με τις ανάγκες του κάθε μοντέλου. Συγκεκριμένα οι παράμετροι του αλγορίθμου Microsoft Clustering είναι οι εξής: Cluster Count Αυτή η παράμετρος καθορίζει κατά προσέγγιση τον αριθμό των συστάδων που θα κατασκευαστούν από τον αλγόριθμο. Αν ο αριθμός των συστάδων δεν μπορεί να καθοριστεί από τα δεδομένα, ο αλγόριθμος κατασκευάζει όσες συστάδες μπορεί. Δίνοντας την τιμή 0 ο αλγόριθμος προσδιορίζει ευρηστικά το πλήθος των συστάδων. Η προεπιλεγμένη τιμή της παραμέτρου είναι η τιμή 10. Cluster Seed Αυτή η παράμετρος καθορίζει τον αριθμό των σπόρων που χρησιμοποιούνται για την δημιουργία των συστάδων στο αρχικό στάδιο κατασκευής του μοντέλου. Η προεπιλεγμένη τιμή της παραμέτρου είναι η τιμή 0. Clustering Method -67-

74 Αυτή η παράμετρος καθορίζει τη μέθοδο που θα χρησιμοποιηθεί από τον αλγόριθμο. Οι διαθέσιμες επιλογές είναι: o Scalable EM (Τιμή 1) o Non-scalable EM (Τιμή 2) o Scalable K-means (Τιμή 3) o Non-scalable K-means (Τιμή 4) Η προεπιλεγμένη τιμή της παραμέτρου είναι η τιμή 1 δηλαδή η μέθοδος Scalable EM. Maximum Input Attributes Αυτή η παράμετρος καθορίζει τον μέγιστο αριθμό των χαρακτηριστικών εισόδου που ο αλγόριθμος μπορεί να χειριστεί πριν ο αλγόριθμος αρχίσει να επιλέγει ευρηστικά. Το διάστημα των τιμών που μπορεί να λάβει είναι [0, 65535]. Η τιμή 0 δηλώνει ότι δεν υπάρχει μέγιστος αριθμός χαρακτηριστικών και η προεπιλεγμένη τιμή της παραμέτρου είναι 255. Maximum States Αυτή η παράμετρος καθορίζει τον μέγιστο αριθμό των καταστάσεων των χαρακτηριστικών που ο αλγόριθμος μπορεί να υποστηρίξει. Αν ο αριθμός των καταστάσεων ενός χαρακτηριστικού είναι μεγαλύτερος από την μέγιστο αριθμό των καταστάσεων, ο αλγόριθμος χρησιμοποιεί τις καταστάσεις των χαρακτηριστικών που είναι πιο δημοφιλείς και θεωρεί τις υπόλοιπες ως ελλιπείς. Η προεπιλεγμένη τιμή της παραμέτρου είναι η τιμή 100. Minimum Support Αυτή η παράμετρος προσδιορίζει το ελάχιστο πλήθος των περιπτώσεων που θα περιέχει κάθε συστάδα. Η προεπιλεγμένη τιμή της παραμέτρου είναι η τιμή 1. Modelling Cardinality Αυτή η παράμετρος καθορίζει τα υποψήφια μοντέλα που θα δημιουργηθούν από τον αλγόριθμο που κάνει συσταδοποίηση. Ο αλγόριθμος δημιουργεί ένα σύνολο υποψήφιων μοντέλων με τυχαίες αρχικοποιήσεις και στη συνέχεια επιλέγει το καλύτερο μοντέλο από αυτά. Αυτή η παράμετρος δηλαδή καθορίζει το σύνολο των υποψήφιων μοντέλων που θα δημιουργηθούν. Το διάστημα των τιμών αυτής της παραμέτρου είναι [1, 50] και η προεπιλεγμένη τιμή είναι η τιμή 10. Sample Size -68-

75 Αυτή η παράμετρος καθορίζει τον αριθμό των υποθέσεων που χρησιμοποιεί ο αλγόριθμος σε κάθε πέρασμα εάν η παράμετρος Clustering Method έχει οριστεί σε μία από τις μεθόδους Scalable. Δίνοντας την τιμή 0, ο αλγόριθμος θα ομαδοποιήσει το σύνολο των δεδομένων σε ένα μόνο πέρασμα γεγονός που μπορεί να προκαλέσει προβλήματα στην μνήμη και την επίδοση. Η προεπιλεγμένη τιμή της παραμέτρου είναι η τιμή Stopping Tolerance Αυτή η παράμετρος καθορίζει τον αριθμό των περιπτώσεων που μετακινούνται μεταξύ των συστάδων σε κάθε πέρασμα του αλγορίθμου. Ο αλγόριθμος εφαρμόζεται επαναληπτικά στα δεδομένα και σχηματίζει τις συστάδες με την μορφή που εμείς τα βλέπουμε, ύστερα από ένα σύνολο επαναλήψεων. Επειδή σε κάθε επανάληψη προστίθενται διαρκώς και νέες περιπτώσεις, η τιμή της παραμέτρου μπορεί να θεωρηθεί ως ποσοστό και όχι ως αυστηρός αριθμός. Η προεπιλεγμένη τιμή της παραμέτρου είναι η τιμή 10. Εικόνα 4.2: Οι παράμετροι του αλγορίθμου Microsoft Clustering Η προβολή των συστάδων Για την εξερεύνηση του μοντέλου χρησιμοποιείται το περιβάλλον Microsoft Cluster Viewer. Όταν προβάλλεται ένα μοντέλο συσταδοποίησης οι υπηρεσίες ανάλυσης της πλατφόρμας Data Tools παρουσιάζουν τις συστάδες σε ένα διάγραμμα στο περιβάλλον Cluster Diagram ενώ παρέχει και λεπτομερές προφίλ για κάθε συστάδα στο περιβάλλον Cluster Profiles. Επιπρόσθετα παρέχει μια λίστα με τα χαρακτηριστικά που διακρίνουν κάθε συστάδα σε σχέση με τις υπόλοιπες στο περιβάλλον Cluster Characteristics ενώ παρέχει και το «αντίστροφο» προφίλ κάθε συστάδας στο περιβάλλον Cluster -69-

76 Discrimination. Για την εύρεση περισσότερων πληροφοριών για οποιοδήποτε συστάδα χρησιμοποιείται το περιβάλλον Microsoft Generic Content Tree Viewer στο οποίο βρίσκονται συγκεντρωμένες όλες οι κατανομές όλων των τιμών σε κάθε κόμβο, η πιθανότητα για κάθε συστάδα και άλλες πληροφορίες. Εικόνα 4.3: Συστάδες στο περιβάλλον Cluster Diagram. Εικόνα 4.4: Αναπαράσταση των προφίλ των συστάδων στο περιβάλλον Cluster Profiles 4.3 Συσταδοποίηση στο Rattle -70-

77 Το Rattle χρησιμοποιεί τέσσερεις διαφορετικούς αλγορίθμους για την συσταδοποίηση δεδομένων, τον αλγόριθμο K-Means, τον αλγόριθμο Entropy Weghted K-Means, τον αλγόριθμο Hierarcchical και τον αλγόριθμο BiCluster. Κάθε ένας από τους αλγορίθμους έχει διαφορετικό τρόπο λειτουργίας καθώς και διαφορετικές παραμέτρους. Το Rattle χρησιμοποιεί τον αλγόριθμο K-Means ως προεπιλογή καθώς αποτελεί έναν από τους πιο διαδεδομένους αλγορίθμους συσταδοποίησης. Ένα μοντέλο το οποίοι έχει αναπτυχθεί χρησιμοποιώντας τον αλγόριθμος K-Means στο Rattle αντιπροσωπεύει τις συστάδες ως ένα σύνολο από k μέσους. Οι παρατηρήσεις του συνόλου δεδομένων σχετίζονται με τον κοντινότερο μέσο και έτσι το σύνολο χωρίζεται σε k συστάδες. Ο μέσος μιας συνηθισμένης αριθμητικής μεταβλητής για ένα σύνολο παρατηρήσεων είναι η μέση τιμή αυτών των παρατηρήσεων αυτής της μεταβλητής. Οι μέσοι των παρατηρήσεων που σχηματίζουν τις k συστάδες είναι αντίστοιχα οι μέσες τιμές κάθε μεταβλητής εισόδου του μοντέλου. Αν για παράδειγμα το σύνολο δεδομένων χωριζόταν σε δέκα συστάδες θα προέκυπταν δέκα σύνολα μέσων για κάθε μεταβλητή εισόδου. Για παράδειγμα, αν θέλαμε να συσταδοποιήσουμε ένα σύνολο δεδομένων μετεωρολογικών μετρήσεων σε δέκα συστάδες και χρησιμοποιούσαμε μόνο τέσσερεις μεταβλητές εισόδου, την ελάχιστη και τη μέγιστη θερμοκρασία, το ποσοστό βροχόπτωσης και το ποσοστό εξάτμισης κάθε συστάδα που θα δημιουργείτο θα είχε διαφορετικούς μέσους για κάθε μεταβλητή. Μια συστάδα θα είχε ως μέσο της ελάχιστης θερμοκρασίας τους 4,74C ο, ως μέσο της μέγιστης θερμοκρασίας τους 15,86C ο, ως μέσο του ποσοστού βροχόπτωσης το 3,16% και ως μέσο του ποσοστού εξάτμισης το 3,56%. Σε μια άλλη συστάδα οι αντίστοιχοι μέσοι θα ήταν 6,64C ο, 19,75C ο, 0,8% και 4,4%. Συγκρίνοντας τις δυο συστάδες θα μπορούσε κανείς να πει ότι η δεύτερη συστάδα έχει θερμότερες μέρες με λιγότερη βροχόπτωση σε σχέση με την πρώτη. Η αποστάσεις των σημείων ώστε να υπολογιστούν οι συστάδες και οι μέσοι τους μπορούν να υπολογιστούν με διάφορες μεθόδους όπως για παράδειγμα η απόσταση Minkowski, η απόσταση Manhattan και η Ευκλείδεια απόσταση Ο τρόπος λειτουργίας του αλγορίθμου -71-

78 Για ένα σύνολο δεδομένων υπάρχει ένας μεγάλος αριθμός πιθανών μοντέλων K-Means που θα μπορούσαν να αναπτυχθούν. Θα μπορούσε κανείς μετρήσει κάθε πιθανότητα και στη συνέχεια χρησιμοποιώντας κάποιους δείκτες ποιότητας της συσταδοποίησης να διαλέξει αυτήν με το καλύτερο σκορ. Γενικά αυτή η διαδικασία της πλήρους μέτρησης όλων των πιθανοτήτων θα ήταν υπολογιστικά αδύνατη. Θα μπορούσε να διαρκέσει ώ- ρες, μέρες ή ακόμα και βδομάδες για να μπορέσει ένας υπολογιστής να δημιουργήσει και να μετρήσει κάθε πιθανό σύνολο συστάδων. Αντίθετα, ο αλγόριθμος K-Means χρησιμοποιεί μια ευρηστική μέθοδο αναζήτησης. Αρχικά ξεκινά με ένα τυχαίο σύνολο συστάδων. Κάθε συστάδα αντιπροσωπεύεται με ένα κέντρο που είναι οι μέσοι για κάθε μεταβλητή. Το επόμενο βήμα είναι η μέτρηση της απόστασης μιας παρατήρησης με κάθε κέντρο κάθε συστάδας. Στη συνέχεια κάθε παρατήρηση εντάσσεται στην πιο κοντινή συστάδα. Έπειτα υπολογίζει ξανά τις μέσες τιμές με βάση τις παρατηρήσεις που εντάσσονται πλέον σε κάθε συστάδα. Αυτό οδηγεί σε ένα καινούριο σύνολο κέντρων για κάθε συστάδα. Με βάση αυτά τα κέντρα πλέον, υπολογίζεται ξανά η απόσταση κάθε παρατήρησης με το κέντρο κάθε συστάδας. Αυτό έχει σαν αποτέλεσμα την μετακίνηση παρατηρήσεων από μια συστάδα σε μια άλλη αν υπολογιστεί ότι πλέον η απόστασή της με την δεύτερη είναι πιο κοντινή σε σχέση με αυτήν που ήταν πριν. Αυτή η διαδικασία επαναλαμβάνεται ξανά και ξανά έως ότου να μην υπάρχουν μετακινήσεις παρατηρήσεων από μια συστάδα σε μια άλλη. Μέχρις ότου δηλαδή τα κέντρα των συστάδων να παραμένουν τα ίδια και να μην αλλάζουν εφόσον δεν υπάρχει αφαίρεση ή προσθήκη καινούριων παρατηρήσεων σε αυτές. Θεωρώντας μια παρατήρηση α και μια άλλη β, η μέτρηση της απόστασης d μεταξύ των παρατηρήσεων πρέπει να ικανοποιεί τις εξής προϋποθέσεις: Η απόσταση δεν μπορεί να είναι αρνητική, δηλαδλη d(a,b) 0. Η απόσταση ενός σημείου με τον εαυτό του πρέπει να είναι μηδέν, δηλαδή d(α, α)=0. Η απόσταση ενός σημείου με το άλλο πρέπει να είναι συμμετρική, δηλαδή d(α, b) = d(b, a). -72-

79 Να υπάρχει τριγωνική ανισότητα με ένα τρίτο σημείο, δηλαδή d(α, b) d(α, c) + d(c, b). Η γλώσσα R υποστηρίζει μια μεγάλη ποικιλία από αλγόριθμους συσταδοποίσης εκτός από τον αλγόριθμο K-Means που περιγράφηκε παραπάνω. Χωρίζονται σε αλγορίθμους τύπου διαχωρισμού, τύπου modebased και ιεραρχικής συσταδοποίησης. Ο αλγόριθμος hclust που χρησιμοποιεί η γλώσσα R για την ιεραρχική συσταδοποίηση κατασκευάζει τις συστάδες επαναληπτικά και ιεραρχικά. Σε αυτήν την διαδικασία οι δύο πιο κοντινές παρατηρήσεις σχηματίζουν την πρώτη συστάδα. Στη συνέχεια οι δύο επόμενες πιο κοντινές παρατηρήσεις σχηματίζουν την δεύτερη συστάδα αλλά αυτή τη φορά θεωρώντας τον μέσο των δυο πρώτων παρατηρήσεων ως μια καινούρια παρατήρηση. Αυτή η διαδικασία συνεχίζεται μέχρι ν σχηματιστεί η τελική συστάδα. Η πορεία σχηματισμού των συστάδων μπορεί να αναπαρασταθεί με ένα δενδρόγραμμα. Το πλεονέκτημα αυτής της μεθόδου είναι ότι παρέχει και μια οπτική προσέγγιση για τον αριθμό των συστάδων. Ένα μειονέκτημα αυτής της μεθόδου είναι ότι είναι χρήσιμη μόνο για μικρά σύνολα δεδομένων. Πρόσφατες έρευνες έθιξαν το ζήτημα των δεδομένων με πολλές διαστάσεις. Για αυτά τα δεδομένα ο αλγόριθμος K-Means αποδίδει μάλλον φτωχά καθώς όλες οι παρατηρήσεις τελικώς έχουν ίσες αποστάσεις η μια απ την άλλη. Μια επιτυχημένη προσέγγιση αυτού του προβλήματος αναπτύχθηκε από τον Jing το 2007 η οποία χρησιμοποιεί κάποια βάρη για να υπολογίσει την απόσταση μεταξύ των σημείων. Ο αλγόριθμος ουσιαστικά διαλέγει μόνο υποσύνολα των μεταβλητών στις οποίες επικεντρώνεται για την συσταδοποίηση. Αυτή η μέθοδος αναφέρεται ως συσταδοποίηση υποχώρων. Για αυτή τη μέθοδο το Rattle χρησιμοποιεί τον αλγόριθμο ewkmeans (Entropy Weighted K- Means) Οι προϋποθέσεις του αλγορίθμου -73-

80 Κατά την προετοιμασία των δεδομένων για την χρήση τους σε ένα μοντέλο συσταδοποίησης πρέπει να ληφθούν υπόψη κάποιες προϋποθέσεις όπως πόσα δεδομένα είναι απαραίτητα και πως πρέπει να χρησιμοποιηθούν. Συγκεκριμένα, οι προϋποθέσεις του αλγορίθμου στο Rattle είναι: Ένα κλειδί Κάθε μοντέλο πρέπει να περιέχει ένα πεδίο με αριθμητικά δεδομένα ή χαρακτήρες που να ταυτοποιεί μοναδικά κάθε εγγραφή του συνόλου δεδομένων. Μεταβλητές εισόδου Κάθε μοντέλο χρειάζεται τουλάχιστον μία μεταβλητή εισόδου οι οποία περιέχει τις τιμές που θα χρησιμοποιηθούν για την δημιουργία των συστάδων. Είναι δυνατή η ύπαρξη όσων μεταβλητών εισόδου είναι επιθυμητές αλλά ο αριθμός των τιμών που περιέχει κάθε μεταβλητή μπορεί να αυξήσει σημαντικά τον χρόνο που χρειάζεται για την ανάπτυξη του μοντέλου. Τέλος αξίζει να σημειωθεί ότι καθώς το Rattle χωρίζει τις μεταβλητές σε Numeric (αριθμητικές) και Categoric (Χαρακτήρες) τα μοντέλα συσταδοποίσης μπορούν να λάβουν ως είσοδο μόνον μεταβλητές με τιμές Numeric. Προαιρετική μεταβλητή προς πρόβλεψη Ο αλγόριθμος δεν απαιτεί την ύπαρξη μιας μεταβλητής προς πρόβλεψη για να χτίσει ένα μοντέλο αλλά αυτή μπορεί να προστεθεί Οι παράμετροι του αλγορίθμου Το Rattle δίνει τη δυνατότητα στο χρήστη να αλλάξει κάποιες από τις παραμέτρους του ώστε να κατευθύνει τα επιθυμητά αποτελέσματα σύμφωνα με τις ανάγκες του κάθε μοντέλου. Συγκεκριμένα για κάθε αλγόριθμο οι παράμετροι είναι οι εξής: Αλγόριθμοι K-Means & EwKm Number of Clusters -74-

81 Αποτελεί την πιο σημαντική παράμετρο για την ανάπτυξη ενός μοντέλου συσταδοποίσης και καθορίζει τον αριθμό των συστάδων που θα δημιουργηθούν. Η προεπιλεγμένη τιμή της παραμέτρου είναι η τιμή 10 αλλά επιτρέπεται κάθε ακέραιος αριθμός μεγαλύτερος του μηδενός. Seed Είναι η παράμετρος που καθορίζει τους αρχικούς σπόρους για την συσταδοποίηση. Η προεπιλεγμένη τιμή της παραμέτρου είναι η τιμή 42 αλλά μπορεί να λάβει οποιονδήποτε ακέραιο αριθμό. Κάθε διαφορετική τιμή της παραμέτρου έχει ως αποτέλεσμα και διαφορετικές συστάδες. Runs Καθορίζει τον αριθμό που θα επαναληφθεί η διαδικασία του αλγορίθμου ώστε να επιλεγεί το καλύτερο μοντέλο. Η προεπιλεγμένη τιμή της παραμέτρου είναι η τιμή 1 αλλά μπορεί να λάβει οποιονδήποτε αριθμό. Σημειώνεται ότι όσο αυξάνει η τιμή της παραμέτρου τόσο αυξάνει και ο χρόνος που απαιτείται για την ολοκλήρωση της συσταδοποίησης. Iterate Clusters Είναι η παράμετρος που καθορίζει αν ο αλγόριθμος θα δημιουργήσει επαναληπτικά περισσότερες συστάδες και θα μετρήσει την ποιότητά για να το χρησιμοποιήσει ως οδηγό για τον αριθμό των συστάδων που θα δημιουργήσει τελικά. Αλγόριθμος Hierarchical Distance Είναι η παράμετρος που καθορίζει την μέθοδο υπολογισμού της απόστασης μεταξύ των σημείων. Οι τιμές που μπορεί να πάρει αντιπροσωπεύουν και την α- ντίστοιχη μέθοδο και είναι οι εξής, Euclidean (για την Ευκλείδεια απόσταση), Maximum (για τη μέγιστη απόσταση), Manhattan (για την απόσταση Manhaattan), Canberra (για την απόσταση Canberra), Binary (για την δυαδική απόσταση), Pearson (για την μέθοδο Pearson), Correlation (για την συσχέτιση), Spearman (για την μέθοδο Spearman). Agglomerate Είναι η παράμετρος που καθορίζει την μέθοδο υπολογισμού του μέσου κάθε συστάδας. Οι τιμές που μπορεί να πάρει αντιπροσωπεύουν και την αντίστοιχη -75-

82 μέθοδο υπολογισμού και είναι οι εξής: Complete, Ward, Single, Average, Mcquitty, Median, Centroid. Number of Processors Είναι η παράμετρος που καθορίζει τον αριθμό που θα επαναληφθεί η διαδικασία του αλγορίθμου ώστε να επιλεγεί το καλύτερο μοντέλο. Η προεπιλεγμένη τιμή της παραμέτρου είναι η τιμή 1 αλλά μπορεί να λάβει οποιονδήποτε αριθμό. Σημειώνεται ότι όσο αυξάνει η τιμή της παραμέτρου τόσο αυξάνει και ο χρόνος που απαιτείται για την ολοκλήρωση της συσταδοποίησης Η προβολή των συστάδων Το Ratle προβάλει αρχικά την δομή των συστάδων με την μορφή κειμένου όπου παρουσιάζονται οι συστάδες με το μέγεθός τους (δηλαδή τον αριθμό των παρατηρήσεων που περιέχουν), τις τιμές των κέντρων τους, και οι τιμές του αθροίσματος των τετραγώνων των διαφορών μεταξύ των παρατηρήσεων. Αυτές οι τιμές αποτελούν και τον δείκτη ποιότητας των συστάδων καθώς οι μεγαλύτερες τιμές σε μια συστάδα σημαίνουν και μεγαλύτερες διαφορές ανάμεσα στις παρατηρήσεις της. Τέλος δηλώνεται και ο χρόνος που χρειάστηκε για την ανάπτυξη του μοντέλου. Εικόνα 4.5: Παρουσίαση των συστάδων με τη μορφή κειμένου. Εκτός από την αναπαράσταση των συστάδων με κείμενο το Rattle μπορεί να αναπαραστήσει τις συστάδες και με διαγράμματα (Plots) για τις σχέσεις μεταξύ των μεταβλητών καθώς και με διαφράμματα που απεικονίζουν γραφικά τους σχηματισμούς των συστάδων. -76-

83 Εικόνα 4.6: Διαγράμματα (Plots) αναπαράστασης των σχέσεων μεταξύ των μεταβλητών. Εικόνα 4.7: Διάγραμμα αναπαράστασης των σχημάτων των συστάδων. -77-

84 5 Αξιολόγηση των μοντέλων Η επικύρωση των μοντέλων πρόβλεψης είναι η διαδικασία αξιολόγησης του κατά πόσο καλά αποδίδουν τα μοντέλα εξόρυξης σε πραγματικά δεδομένα. Η αξιολόγηση των μοντέλων είναι σημαντική καθώς βοηθάει στην κατανόηση της ποιότητάς τους και των χαρακτηριστικών τους πριν την εφαρμογή τους σε άλλα δεδομένα. Υπάρχουν πολλές προσεγγίσεις για την αξιολόγηση της ποιότητας και των χαρακτηριστικών ενός μοντέλου πρόβλεψης όπως η χρήση διαφόρων μέτρων στατιστικής επαλήθευσης για την εξακρίβωση προβλημάτων, ο διαχωρισμός του συνόλου δεδομένων σε δεδομένα εκπαίδευσης και δεδομένα επαλήθευσης καθώς και η κρίση ειδικών επιχειρηματικών συμβούλων οι οποίοι εξετάζουν τα αποτελέσματα του μοντέλου και διαπιστώνουν αν τα πρότυπα που ανακαλύπτονται έχουν νόημα στο σενάριο που έχει θέσει ως στόχο η επιχείρηση. Όλες αυτές οι μέθοδοι είναι χρήσιμες όσον αφορά την μεθοδολογία εξόρυξης δεδομένων και χρησιμοποιούνται κατ επανάληψη κατά την δημιουργία, τη δοκιμή και την τελειοποίηση ενός μοντέλου το οποίο προσπαθεί να απαντήσει σε ένα συγκεκριμένο πρόβλημα. Παρόλα αυτά καμία μέθοδος δεν είναι τόσο ολοκληρωμένη ώστε να σώσει μια σαφή απάντηση ως προς το αν το μοντέλο είναι αρκετά καλό ή αν τα δεδομένα είναι αρκετά. -78-

85 5.1 Δείκτες αξιολόγησης Οι δείκτες με τους οποίους αξιολογούνται τα μοντέλα πρόβλεψης είναι οι εξής: Ακρίβεια Η ακρίβεια είναι ένα μέτρο του κατά πόσο ένα μοντέλο συσχετίζει ένα αποτέλεσμα με τα χαρακτηριστικά των δεδομένων που έχουν παρασχεθεί. Υπάρχουν διάφορα μέτρα ακρίβειας αλλά όλα εξαρτώνται από τα δεδομένα τα οποία χρησιμοποιούνται. Για παράδειγμα, υπάρχει πιθανότητα να λείπουν τιμές ή να έ- χουν μεταλλαχθεί τα δεδομένα από τις πολλές διεργασίες. Συγκεκριμένα μπορεί να χρειαστεί η αποδοχή ενός ορισμένου ποσοστού σφαλμάτων στα δεδομένα ειδικά αν αυτά είναι αρκετά ομοιόμορφα όσον αφορά τα χαρακτηριστικά τους. Για παράδειγμα ένα μοντέλο το οποίο προβλέπει τις προβλέψεις ενός συγκεκριμένου καταστήματος βάσει δεδομένων παλαιότερων πωλήσεων μπορεί να είναι πολύ ακριβές ακόμα και αν το κατάστημα χρησιμοποιούσε λανθασμένες λογιστικές μεθόδους. Ως εκ τούτου οι δείκτες ακρίβειας πρέπει να εξισορροπούνται και με τους δείκτες αξιολόγησης. Αξιοπιστία Η αξιοπιστία αξιολογεί τον τρόπο που ένα μοντέλο εξόρυξης δεδομένων αποδίδει σε διαφορετικά σύνολα δεδομένων. Ένα μοντέλο πρόβλεψης είναι αξιόπιστο όταν παραγάγει ίδιου τύπου προβλέψεις ή βρίσκει τα ίδια γενικά πρότυπα ανεξαρτήτως του συνόλου δεδομένων στο οποίο εφαρμόζεται. Για παράδειγμα, το μοντέλο πρόβλεψης πωλήσεων για ένα κατάστημα που χρησιμοποιούσε λανθασμένες λογιστικές μεθόδους δεν θα μπορούσε να γενικευτεί και σε άλλα καταστήματα και ως εκ τούτου δεν θα ήταν αξιόπιστο. Χρησιμότητα Η χρησιμότητα περιλαμβάνει διάφορα εργαλεία τα οποία μαρτυρούν αν το μοντέλο παρέχει χρήσιμες πληροφορίες. Η χρησιμότητα είναι πολύ σημαντικός δείκτης καθώς ένα μοντέλο πρόβλεψης μπορεί να είναι ακριβές και αξιόπιστο αλλά παρόλα αυτά να μην παρέχει πληροφορίες οι οποίες να μπορούν να αξιο- -79-

86 ποιηθούν με κάποιο τρόπο. Για παράδειγμα, ένα μοντέλο πρόβλεψης που συσχετίζει την τοποθεσία του καταστήματος με τις πωλήσεις μπορεί να είναι και α- κριβές και αξιόπιστο αλλά κατά πάσα πιθανότητα όχι χρήσιμο καθώς δεν μπορεί να γενικευθεί με την προσθήκη περισσότερων καταστημάτων στην ίδια τοποθεσία. Επιπλέον δεν απαντά στο θεμελιώδες ερώτημα της επιχείρησης γιατί ορισμένες περιοχές έχουν περισσότερες πωλήσεις από άλλες. Τα εργαλεία που χρησιμοποιούνται συνήθως για την αξιολόγηση των μοντέλων πρόβλεψης είναι τα εξής: Διαχωρισμός του συνόλου δεδομένων Ο διαχωρισμός του συνόλου δεδομένων σε δεδομένα εκπαίδευσης και επαλήθευσης είναι ένα σημαντικό στάδιο της αξιολόγησης των μοντέλων πρόβλεψης. Συνήθως κατά τον διαχωρισμό των δεδομένων σε δεδομένα εκπαίδευσης και επαλήθευσης το μεγαλύτερο μέρος χρησιμοποιείται για την εκπαίδευση και ένα μικρό μέρος για επαλήθευση. Cross-Validation Η σταυροειδής επαλήθευση είναι ένα τυπικό εργαλείο ανάλυσης και ένα σημαντικό χαρακτηριστικό που βοηθάει στην ανάπτυξη και τελειοποίηση μοντέλων πρόβλεψης. Η σταυροειδής επαλήθευση παρέχει τις εφαρμογές της επικύρωσης της ευρωστίας ενός συγκεκριμένου μοντέλου εξόρυξης, την αξιολόγηση πολλαπλών μοντέλων από μία δήλωση και την εύρεση του καλύτερου μοντέλου ανάμεσα από άλλα. Lift Chart Το Lift Chart αναπαριστά γραφικά τη βελτίωση που παρέχει ένα μοντέλο πρόβλεψης αν συγκριθεί με ένα τυχαίο μοντέλο πρόβλεψης και μετρά την μεταβολή του σκορ μεταξύ τους. Συγκρίνοντας τα σκορ για διάφορα τμήματα του συνόλου δεδομένων καθώς και για διαφορετικά μοντέλα μπορεί να εξακριβωθεί πιο μοντέλο είναι καλύτερο και ποιο ποσοστό των περιπτώσεων του συνόλου δεδομένων θα επωφεληθεί αν εφαρμοστεί το μοντέλο. Με το Lift Chart Μπορεί επίσης να γίνει σύγκριση μεταξύ μοντέλων που έχουν το ίδιο χαρακτηριστικό προς πρόβλεψη καθώς και να αξιολογηθεί ένα μοντέλο ως προς την ακρίβεια πρόβλεψης για μια συγκεκριμένη τιμή της μεταβλητής πρόβλεψης. -80-

87 Profit Chart Το διάγραμμα κέρδους αναπαριστά την αύξηση κέρδους που σχετίζεται με την εφαρμογή ενός μοντέλου πρόβλεψης. Για παράδειγμα σε ένα μοντέλο το οποίο προβλέπει με ποιους πελάτες πρέπει να επικοινωνήσει μια εταιρία, το διάγραμμα κέρδους παρέχει πληροφορίες σχετικά με το κόστος διεξαγωγής της καμπάνιας αλληλογραφίας με έναν αριθμό πελατών και υπολογίζει το εκτιμώμενο κέρδος. Ένα διάγραμμα κέρδους παρουσιάζει μια αύξηση του κέρδους μέχρι ενός σημείου μετά το οποίο τα κέρδη μειώνονται όσο αυξάνεται ο πληθυσμός. Scatter Plots Το scatter plot απεικονίζει τις πραγματικές τιμές των δεδομένων σε σχέση με τις τιμές που προβλέφθηκαν από το μοντέλο. Η γραφική παράσταση παρουσιάζει τις πραγματικές τιμές κατά μήκος του άξονα Χ και τις προβλεπόμενες τιμές κατά μήκος του άξονα Υ. Επίσης παρουσιάζει και μία ευθεία γραμμή η οποία αναπαριστά την τέλεια πρόβλεψη όπου η προβλεπόμενη τιμή ταιριάζει ακριβώς με την πραγματική. Η απόσταση ενός σημείου από αυτήν την ευθεία με γωνία 45 ο αποτελεί τον βαθμό σωστής ή λάθος πρόβλεψής του μοντέλου. Classification Matrix Η μήτρα κατάταξης ταξινομεί όλες τις περιπτώσεις από το μοντέλο σε κατηγορίες προσδιορίζοντας αν η προβλεπόμενη τιμή αντιστοιχεί με την πραγματική. Στη συνέχεια όλες οι περιπτώσεις σε κάθε κατηγορία υπολογίζονται και τα σύνολα εμφανίζονται στην μήτρα. Οι σειρές του πίνακα αντιπροσωπεύουν τις προβλεπόμενες τιμές και οι στήλες τις πραγματικές. Οι κατηγορίες που χρησιμοποιούνται στην ανάλυση είναι οι ψευδώς θετικά, ψευδώς αρνητικά, αληθώς θετικά και αληθώς αρνητικά. Μια μήτρα κατάταξης είναι ένα σημαντικό εργαλείο για την αξιολόγηση των αποτελεσμάτων πρόβλεψης επειδή καθιστά εύκολη την κατανόηση και τον υπολογισμό των συνεπειών των λανθασμένων προβλέψεων. Κοιτάζοντας την ποσότητα και τα ποσοστά κάθε κελιού του πίνακα μπορεί κανείς να συμπεράνει πόσο συχνά προέβλεψε σωστά το μοντέλο. Η μήτρα ταξινόμησης είναι ένα σύνηθες εργαλείο για την αξιολόγηση των στατιστικών μοντέλων και μερικές φορές αναφέρεται και ως μήτρα «σύγχυσης» (Confusion Matrix). -81-

88 5.2 Αξιολόγηση μοντέλων στον SQL Server Οι υπηρεσίες ανάλυσης του SQL Server 2012 υποστηρίζουν πολλές προσεγγίσεις για την επικύρωση των αποτελεσμάτων των μοντέλων πρόβλεψης καθώς και όλες τις μεθόδους δοκιμών. Τα εργαλεία που παρέχει η πλατφόρμα Data Tools είναι τα εξής: Διαχωρισμός του συνόλου δεδομένων Στην πλατφόρμα Data Tools ο διαχωρισμός του συνόλου δεδομένων γίνεται στην αρχή της ανάπτυξης του μοντέλου πρόβλεψης. Οι πληροφορίες σχετικά με το μέγεθος των δεδομένων εκπαίδευσης και των δεδομένων επαλήθευσης καθώς και για το που περιέχεται κάθε εγγραφή αποθηκεύονται μέσα στην γενική δομή του μοντέλου. Ο διαχωρισμός μπορεί να πραγματοποιηθεί είτε χρησιμοποιώντας τον οδηγό εξόρυξης δεδομένων στην αρχή της μοντελοποίησης, είτε τροποποιώντας τις ιδιότητες ενός ήδη υπάρχοντος μοντέλου. Κατά την αρχή της μοντελοποίησης, ο οδηγός εξόρυξης δεδομένων έχει ως προεπιλογή τον διαχωρισμό του συνόλου δεδομένων σε δεδομένα εκπαίδευσης και επαλήθευσης με ποσοστά 70% και 30% αντίστοιχα. Οι αναλογίες αυτές μπορούν να αλλάξουν αν το κρίνει απαραίτητο ο αναλυτής. Επίσης είναι δυνατός ο καθορισμός ενός ανώτατου ορίου περιπτώσεων εκπαίδευσης ή ενός ποσοστού επί των περιπτώσεων εκπαίδευσης. Σε περίπτωση που οριστούν και τα δύο παραπάνω όρια, το μοντέλο θα θεωρήσει ως όριο τον μέγιστο αριθμό περιπτώσεων και όχι το ποσοστό επί του συνόλου έτσι ώστε το μέγεθος των δεδομένων επαλήθευσης να μην αλλάξει σε περίπτωση προσθήκης νέων δεδομένων στο μοντέλο. Εικόνα 5.1: Ο διαχωρισμός του συνόλου δεδομένων στον SQL Server. -82-

89 Lift Chart Στο Lift Chart που χρησιμοποιεί ο SQL Server ο άξονας Χ αντιπροσωπεύει το ποσοστό των δεδομένων επαλήθευσης που χρησιμοποιείται για τη σύγκριση των προβλέψεων και ο άξονας Υ το ποσοστό των προβλεπόμενων τιμών. Η διαγώνια ευθεία γραμμή με χρώμα μπλε εμφανίζεται σε κάθε διάγραμμα και αντιπροσωπεύει τα αποτελέσματα του τέλειου μοντέλου πρόβλεψης ενώ είναι η βάση για την αξιολόγηση των μοντέλων. Η δεύτερη και οι υπόλοιπες (αν υπάρχουν) γραμμές του γραφήματος αντιπροσωπεύουν τα αποτελέσματα του μοντέλου ή των μοντέλων αντίστοιχα που αξιολογούνται. Παράλληλα με το Lift Chart ο SQL Server παρέχει και τον οδηγό Mining Legend ο οποίος περιέχει τις πραγματικές σε οποιοδήποτε σημείο της καμπύλης. Αλλάζοντας την θέση στην γραμμή μέτρησης του Lift Chart παρουσιάζονται οι αντίστοιχες πραγματικές τιμές στον Mining Legend. Το πεδίο Population Correct στον Mining Legend α- ντιπροσωπεύει το ποσοστό του πληθυσμού που προβλέφθηκε σωστά σε σχέση με το ποσοστό του συνόλου δεδομένων που ορίσαμε ενώ το πεδίο Predict Probability (Πιθανότητα Πρόβλεψης) αντιπροσωπεύει την πιθανότητα με την οποία προβλέπεται το ποσοστό του Population Correct. Το πεδίο Score βοηθάει στην σύγκριση μεταξύ διαφορετικών μοντέλων με τη μέτρηση της αποτελεσματικότητας των μοντέλων στον γενικευμένο πληθυσμό. Ο δείκτης Score είναι και ο καλύτερος δείκτης σύγκρισης ανάμεσα σε μοντέλα ανεξάρτητα αν οι δείκτες Population Correct αι Predict Probability δεν συμβαδίζουν. Εικόνα 5.2: Παράδειγμα Lift Chart και Mining Legend στον SQL Server. Classification Matrix -83-

90 Στον πίνακα ταξινόμησης του SQL Server οι γραμμές αντιπροσωπεύουν τις τιμές που έχουν προβλεφθεί και οι στήλες τις πραγματικές τιμές. Έτσι σε έναν πίνακα διαστάσεων 2x2 το αριστερό επάνω κελί αντιπροσωπεύει τον αριθμό των αληθώς θετικών αποτελεσμάτων και το αριστερό κάτω κελί τον αριθμό των ψευδώς θετικών αποτελεσμάτων ενώ το δεξί επάνω και το δεξί κάτω κελί αντιπροσωπεύουν τον αριθμό των ψευδώς θετικών και αληθώς θετικών αποτελεσμάτων αντίστοιχα. Αθροίζοντας διαγωνίως τα κελιά μπορεί να υπολογιστεί η συνολική ακρίβεια της πρόβλεψης αφού η μία διαγώνιος περιέχει το συνολικό αριθμό των αληθώς θετικών αποτελεσμάτων και η άλλη το συνολικό αριθμό των ψευδώς θετικών αποτελεσμάτων. Ο πίνακας κατάταξης μπορεί να δώσει αποτελέσματα και για παραπάνω από δύο τιμές προσθέτοντας στήλες στον πίνακα. Ο μοναδικός περιορισμός που έχει ο πίνακας κατάταξης του SQL Server είναι ότι μπορεί να παρουσιάσει αποτελέσματα μόνο για διακριτές προβλεπόμενες μεταβλητές. Εικόνα 5.3: Παράδειγμα πίνακα ταξινόμησης στον SQL Server. Cross-Validation Η σταυροειδής επαλήθευση αποτελείται από δύο φάσεις, την φάση της εκπαίδευσης και την φάση της παραγωγής αποτελεσμάτων. Στην πρώτη φάση αρχικά επιλέγεται το μοντέλο ή τα μοντέλα προς επαλήθευση, στη συνέχεια ορίζονται οι παράμετροι για την επαλήθευση των μοντέλων εκπαίδευσης που είναι η προβλεπόμενη μεταβλητή, η τιμή της προβλεπόμενης μεταβλητής, ο δείκτης ακρίβειας και ο αριθμός των τμημάτων (folds) που θα χωριστούν τα δεδομένα. Στη δεύτερη φάση οι υπηρεσίες ανάλυσης δημιουργεί και εκπαιδεύει τόσα μοντέλα όσα και τα τμήματα που χωρίστηκαν τα δεδομένα και στη συνέχεια επιστρέφει ένα σύνολο μετρήσεων ακρίβεια για κάθε τμήμα ή για όλο το σύνολο δεδομένων. Οι δείκτες μέτρησης που περιλαμβάνονται στην σταυροειδή επαλήθευση είναι οι εξής: -84-

91 Partition Size: Το μέγεθος του κάθε τμήματος που έχουν χωριστεί τα δεδομένα. Test: Το είδος του μοντέλου με το οποίο έγινε η επαλήθευση. Measure: Είναι ο δείκτης με τον οποίον αξιολογείται κάθε τμήμα δεδομένων. Περιλαμβάνει τους δείκτες Pass/Fail, Log Score, Lift και Root Mean Sqauare Error. Οι δείκτες Pass/Fail δηλώνoυν αν έχουν επιτύχει ή αποτύχει οι τιμές να προβλεφθούν. Ο δείκτης Log Score είναι ο λογάριθμος της πραγματικής πιθανότητας για κάθε περίπτωση προστιθέμενης και μετά διαιρούμενης με τον αριθμό των εγγραφών του τμήματος δεδομένων εξαιρώντας τις κενές τιμές της προβλεπόμενης μεταβλητής. Καθώς η πιθανότητα αποτελεί δεκαδικό αριθμό οι τιμές του δείκτη Log Score είναι πάντοτε αρνητικοί αριθμοί με τους αριθμούς κοντά στο μηδέν να αποτελούν καλύτερες τιμές. Ο δείκτης Lift είναι η αναλογία της πραγματικής πιθανότητας πρόβλεψης και της οριακής πιθανότητας στα δεδομένα επαλήθευσης εξαιρώντας τις κενές τιμές της προβλεπόμενης μεταβλητής. Ο δείκτης Root Sqaure Error είναι ο λόγος του μέσου λάθους για όλες τις περιπτώσεις προς τον αριθμό των περιπτώσεων του κάθε τμήματος δεδομένων εξαιρώντας τις κενές τιμές της προβλεπόμενης μεταβλητής και αποτελεί έναν δημοφιλή δείκτη εκτίμησης για μοντέλα πρόβλεψης. Value: Δηλώνει τις τιμές του κάθε δείκτη του πεδίου Measure. Εικόνα 5.4: Πίνακας σταυροειδούς επαλήθευσης στον SQL Server. -85-

92 5.3 Αξιολόγηση μοντέλων στο Rattle Το Rattle υποστηρίζει πολλές προσεγγίσεις για την επικύρωση των αποτελεσμάτων των μοντέλων πρόβλεψης. Τα εργαλεία που παρέχει είναι τα εξής: Διαχωρισμός του συνόλου δεδομένων Στο Rattle ο διαχωρισμός του συνόλου δεδομένων γίνεται στην αρχή, όταν ορίζεται το σύνολο δεδομένων με το οποίο θα ασχοληθούμε και ο ρόλος των μεταβλητών του. Ο διαχωρισμός που πραγματοποιεί το Rattle χωρίζει το σύνολο δεδομένων σε τρία μέρη, τα δεδομένα εκπαίδευσης (Training Data), τα δεδομένα επαλήθευσης (Validaion Data) και τα δεοδμένα επικύρωσης (Testing Data). Το Rattle από προεπιλογή χωρίζει το σύνολο δεδομένων με αναλογία 70% δεδομένα εκπαίδευσης, 15% δεδομένα επαλήθευσης και 15% δεδομένα επικύρωσης. Το μοντέλο χρησιμοποιεί τα δεδομένα εκπαίδευσης για την ανάπτυξή του. Τα υπόλοιπα δύο μέρη είναι άγνωστα για αυτό. Η αξιολόγηση των μοντέλων πρόβλεψης μπορεί να γίνει σε καθένα από αυτά τα μέρη. Η πρώτη επιλογή, δηλαδή η αξιολόγηση ενός μοντέλου στα δεδομένα εκπαίδευσης δεν αποτελεί και την καλύτερη. Το πρόβλημα με την αξιολόγηση στα δεδομένα εκπαίδευσης είναι ότι συνήθως το μοντέλο θα παρουσιάσει πολύ καλή απόδοση. Αυτό όμως δεν προσδιορίζει και το πώς θα αποδώσει το μοντέλο σε νέα άγνωστα δεδομένα. Για να αποφανθούμε αν το μοντέλο αποδίδει καλά σε άγνωστα δεδομένα πρέπει να αξιολογηθεί στα δεδομένα επαλήθευσης. Η αξιολόγηση των μοντέλων σε αυτά τα δεδομένα γίνεται στο στάδιο δοκιμών τους όπου αλλάζουν διάφορες παράμετροι του αλγορίθμου για την αύξηση της απόδοσης του. Τα δεδομένα επικύρωσης είναι ένα μέρος των δεδομένων που δεν έχει χρησιμοποιηθεί ξανά από τα μοντέλα πρόβλεψης. Έτσι αποτελεί το κατάλληλο πεδίο για την αξιολόγηση του καλύτερου μοντέλου ανάμεσα σε αυτά που αναπτύχθηκαν στο στάδιο της μοντελοποίησης. Αξίζει να σημειωθεί ότι το Rattle παρέχει τη δυνατότητα της αξιολόγησης ενός μοντέλου και σε όλο το σύνολο δεδομένων ανεξάρτητα αν αυτό έχει διαχωριστεί ή όχι αλλά αυτή η επιλογή είναι χρήσιμη περισσότερο για λόγους περιέργειας παρά για λόγους ακρίβειας και απόδοσης του μοντέλου. Error Matrix -86-

93 Ο πίνακας λαθών (Error Matrix) ή αλλιώς Confusion Matrix είναι ο αντίστοιχος δείκτης αξιολόγησης με τον Classification Matrix που συναντάμε στον SQL Server Ο πίνακας λαθών είναι ο καταλληλότερς δείκτης αξιολόγησης για μοντέλα που προβλέπουν κατηγορικές μεταβλητές. Ο πίνακας λαθών απεικονίζει τις προβλεπόμενες τιμές σε σχέση με τις πραγματικές τιμές καθώς και τα ποσοστά που αντιστοιχούν σε αυτές τις τιμές. Απεικονίζει δηλαδή τον αριθμό των αληθώς θετικών προβλέψεων (True Positive), τον αριθμό των αληθώς αρνητικών προβλέψεων (True Negative), τον αριθμό των ψευδώς θετικών προβλέψεων (False Positive) και τον αριθμό των ψευδώς αρνητικών προβλέψεων (False Negative). Αξίζει να σημειωθεί ότι οι κατηγορίες των προβλέψεων διαφέρουν σημαντικά μεταξύ τους και έχουν μεγάλη σημασία για ένα μοντέλο πρόβλεψης. Για παράδειγμα αν ένα μοντέλο πρόβλεψης μιας βαριάς ασθένειας προβλέψει αληθώς θετικά την ύπαρξή της τότε δεν θα γίνει η χορήγηση φαρμάκων και ο ασθενής δεν θα κινδυνέψει καθώς όντως δεν νοσεί. Αν το μοντέλο προβλέψει αληθώς αρνητικά την ύπαρξη της ασθένειας τότε η χορήγηση των φαρμάκων θα γίνει με επιτυχία καθώς ο ασθενής όντως θα νοσεί. Αντίθετα, αν το μοντέλο προβλέψει ψευδώς θετικά την ύπαρξη της ασθένειας τότε δεν θα γίνει η χορήγηση των φαρμάκων θέτοντας έτσι σε κίνδυνο τη ζωή του ασθενή καθώς στην πραγματικότητα θα νοσεί. Αν τέλος το μοντέλο προβλέψει ψευδώς αρνητικά την ύπαρξη της ασθένειας τότε θα γίνει η χορήγηση των φαρμάκων αλλά χωρίς αντικείμενο, καθώς ο ασθενής στην πραγματικότητα δεν νοσεί, με κίνδυνο την εμφάνιση παρενεργειών. Έτσι σε κάθε μοντέλο πρέπει να αποφεύγονται τα λάθη που είναι και τα πιο ανεπιθύμητα. Από τον αριθμό των προβλέψεων κάθε κατηγορίας προκύπτουν διάφοροι χρήσιμοι δείκτες αξιολόγησης του μοντέλου. Ο δείκτης της ακρίβειας (Precision) είναι η αναλογία των αληθώς θετικών προβλέψεων σε σχέση με τις συνολικές θετικές προβλέψεις (δηλαδή το άθροισμα αληθώς θετικών και ψευδώς θετικών προβλέψεων) και δείχνει πόσο ακριβείς είναι οι θετικές προβλέψεις και πόσο ακριβές είναι το μοντέλο συνολικά. Άλλος ένας δείκτης είναι ο δείκτης της ευαισθησίας (Sensitivity) ο οποίος μετράει πόσες από τις πραγματικές θετικές τιμές μπορεί να προβλέψει το μοντέλο. Τέλος υπάρχει και ο δείκτης της ειδικότητας (Specificity) του μοντέλου ο οποίος είναι ο βαθμός των αληθώς αρνητικών προβλέψεων. -87-

94 Εικόνα 5.5: Παράδειγμα πίνακα λαθών στο Rattle. Risk Charts Τα διαγράμματα ρίσκου ή αλλιώς διάγραμμα συνολικού κέρδους (cumulative gain chart) παρέχουν άλλη μια οπτική γωνία για την επίδοση ενός μοντέλου που προβλέπει μια δυαδική μεταβλητή. Τα διαγράμματα ρίσκου χρησιμοποιούνται συνήθως για την αξιολόγηση μοντέλων πρόβλεψης απάτης. Εικόνα 5.6: Παράδειγμα διαγράμματος ρίσκου στο Rattle. Cost Curve -88-

95 Τα διαγράμματα κόστους αποτελούν διαγράμματα με μακρύ παρελθόν στην ι- στορία αλλά δεν έγιναν ποτέ δημοφιλή. Στην ουσία απεικονίζουν το ενδεχόμενο κόστος και την πιθανότητα του σε σχέση με την απόδοση του μοντέλου πρόβλεψης. Αυτό βέβαια προϋποθέτει να έχει ορισθεί από πριν μια τιμή κόστους ώστε να μπορεί να γίνει ο υπολογισμός. Εικόνα 5.7: Παράδειγμα διαγράμματος κόστους στο Rattle. Hand Chart Το Hand Chart απεικονίζει διάφορους δείκτες οι οποίοι έχουν προταθεί από τον David Hand, έναν στατιστικό με μεγάλη αξιοπιστία στην επιστημονική κοινότητα της εξόρυξης δεδομένων. Lift Chart Εικόνα 5.8: Παράδειγμα διαγράματος Hand στο Ratle. -89-

96 Το διάγραμμα Lift αναπαριστά την σχετική αύξηση της επίδοσης της πρόβλεψης του μοντέλου σε σχέση με την τον βαθμό των θετικών προβλέψεων. Εικόνα 5.9: Παράδειγμα διαγράμματος Lift στο Rattle. ROC Chart Τα διαγράμματα ROC έχουν παρόμοια μορφή και λογική με τα διαγράμματα ρίσκου αν και μετράνε άλλα μεγέθη στους άξονές τους. Αναπαριστούν την σχέση μεταξύ των αληθώς θετικών προβλέψεων με τις αληθώς αρνητικές προβλέψεις. Precision Chart Εικόνα 5.10: Παράδειγμα διαγράμματος ROC στο Rattle. -90-

97 Τα διαγράμματα ακρίβειας (Precision) αναπαριστούν την αναλογία μεταξύ της ακρίβειας (δηλαδή των αληθώς θετικών προβλέψεων σε σχέση με τις συνολικές θετικές προβλέψεις) και του βαθμού αληθώς θετικών προβλέψεων. Εικόνα 5.11: Παράδειγμα διαγράμματος ακρίβειας στο Rattle. Sensitivity Chart Τα διαγράμματα ευαισθησίας (Sensitivity) αναπαριστούν την αναλογία μεταξύ της ευαισθησίας του μοντέλου (δηλαδή τον βαθμό αληθώς θετικών προβλέψεων) με την ειδικότητα του μοντέλου (δηλαδή τον βαθμό των αληθώς αρνητικών προβλέψεων). Εικόνα 5.12: Παράδειγμα διαγράμματος ευαισθησίας στο Rattle. Pr v Ob Chart (Predicted versus Observed) -91-

98 Τα διαγράμματα Pr v Ob είναι κατάλληλα για την αξιολόγηση της επίδοσης μοντέλων παλινδρόμησης. Αυτά τα μοντέλα προβλέπουν μεταβλητές με συνεχείς τιμές. Ο άξονας Χ του διαγράμματος αναπαριστά τις πραγματικές τιμές των δεδομένων και ο άξονας Υ τις προβλεπόμενες τιμές. Μια διαγώνιος γραμμή αναπαριστά το τέλειο μοντέλο πρόβλεψης ενώ μια άλλη διακεκομμένη γραμμή α- ναπαριστά τις προβλεπόμενες τιμές που συμπίπτουν με τις πραγματικές. Εικόνα 5.13: Παράδειγμα διαγράμματος Pr v Ob στο Rattle. -92-

99 6 Τα σύνολα δεδομένων Αναμφισβήτητα το επίκεντρο των τεχνικών Data Mining είναι τα σύνολα δεδομένων καθώς αυτά αποτελούν το αντικείμενο εφαρμογής των αλγορίθμων για την εξόρυξη γνώσης. Η επιτυχία των μοντέλων που εφαρμόζονται δεν εξαρτάται απαραίτητα από το μέγεθος των δεδομένων. Υπάρχουν περιπτώσεις που μικρά σύνολα δεδομένων δίνουν πολύ καλύτερα αποτελέσματα σε σχέση με άλλα πολύ μεγαλύτερα σε όγκο. Η λεπτομέρεια που κάνει όμως οποιοδήποτε σύνολο δεδομένων γόνιμο πεδίο για την εφαρμογή μοντέλων είναι η ομοιογένειά τους και η ορθότητά τους. Όσο πιο ασαφή είναι τα δεδομένα τόσο υπάρχει πιθανότητα να παραγάγουν και εσφαλμένα αποτελέσματα ακόμα και αν ο όγκος τους είναι μεγάλος. Έτσι λοιπόν τα δεδομένα πρέπει να υποβάλλονται σε ελέγχους ομοιογένειας ώστε να απομακρύνονται εσφαλμένες περιπτώσεις. Στην παρούσα Διπλωματική εργασία χρησιμοποιήθηκαν δύο σύνολα δεδομένων από κινηματογραφικές ταινίες. Το πρώτο σύνολο ονομάζεται MovieClick και αποτελεί μία βάση δεδομένων από videoclub και το δεύτερο σύνολο MovieLens και αποτελεί μια βάση δεδομένων κινηματογραφικών ταινιών η οποία έχει χρησιμοποιηθεί σε πολλές έρευνες βελτιστοποίησης μοντέλων και τεχνικών data mining. Σε αυτά τα σύνολα εφαρμόστηκαν διάφοροι αλγόριθμοι ταξινόμησης και ομαδοποίησης. Πριν από αυτό το στάδιο όμως χρειάστηκε να ελεγχθούν και να απομακρυνθούν από αυτά εσφαλμένες τιμές ή και σε κάποιες περιπτώσεις να παραλλαχθούν ώστε να απομονώσουμε τα δεδομένα που θεωρήθηκαν περισσότερο χρήσιμα για τα μοντέλα που αναπτύχθηκαν. Η εισαγωγή αυτών των βάσεων δεδομένων έγινε αρχικά στον SQL Server 2012 Management Studio καθώς θεωρήθηκε πιο εύχρηστο περιβάλλον σε σχέση με αυτό της R για τη διενέργεια των ελέγχων και των παραμετροποιήσεων τους. Στη συνέχεια της ενότητας αυτής θα παρουσιαστούν αναλυτικά τα δύο αυτά σύνολα ως προς το είδος των δεδομένων που τα απαρτίζουν, τη σημασία τους καθώς και οι έλεγχοι και οι αλλαγές που έγιναν. -93-

100 6.1 Η βάση δεδομένων Movie Click Όπως αναφέρθηκε στην εισαγωγή αυτής της ενότητας, το πρώτο σύνολο δεδομένων που χρησιμοποιήθηκε στην ανάπτυξη των μοντέλων είναι η βάση δεδομένων MovieClick. Η βάση αυτή αποτελεί ένα σύνολο δεδομένων από videoclub και περιέχει 8 κύριους πίνακες καθώς και έναν ακόμα που προστέθηκε και περιέχει συνδυασμό δεδομένων από τους κύριους. Η αρχική της δομή αναπτύχθηκε στην πλατφόρμα Microsoft Access και εισήχθηκε στον SQL Server Management Studio με την χρήση του οδηγού Import and Export Wizard Οι πίνακες και το περιεχόμενο τους Οι πίνακες της βάσης Movie Click είναι οι εξής: Πίνακας Customers Ο πίνακας Customers αποτελεί τον βασικό πίνακα και πυρήνα της βάσης δεδομένων καθώς περιέχει τις περισσότερες πληροφορίες για τους πελάτες του videoclub. Περιέχει 3085 εγγραφές. Τα πεδία (στήλες) από τα οποία αποτελείται είναι τα εξής: Customer ID (Int): Αποτελεί το κλειδί του πίνακα Customers καθώς είναι αυτό που τακτοποιεί μοναδικά κάθε εγγραφή του πίνακα και έχει τη μορφή ακέραιου αριθμού. Το πεδίο αυτό δεν μπορεί να περιέχει κενές τιμές (NULL) καθώς αποτελεί το πρωτεύον κλειδί. Age (Int): Περιέχει τις τιμές της ηλικίας κάθε πελάτη και έχει τη μορφή ακέραιου αριθμού. Education Level (VarChar): Περιέχει τις τιμές του επιπέδου μόρφωσης κάθε πελάτη και έχει τη μορφή χαρακτήρων. Gender (VarChar): Περιέχει τις τιμές του φύλου των πελατών και έχει την μορφή χαρακτήρων. Το συγκεκριμένο πεδίο λαμβάνει 2 τιμές, την τιμή Male και την τιμή Female. Home Owenrship (VarChar): Περιέχει τιμές σχετικά με το αν οι πελάτες έχουν ιδιόκτητο σπίτι ή αν νοικιάζουν και έχει την μορφή χαρακτήρων. -94-

101 Marital Status (VarChar): Περιέχει τις τιμές σχετικά με την οικογενειακή κατάσταση των πελατών, αν είναι έγγαμοι, άγαμοι, διαζευγμένοι κτλ και έχει τη μορφή χαρακτήρων. Internet Connection (VarChar): Περιέχει τις τιμές σχετικά με τον τύπο σύνδεσης internet των πελατών (Dial-up, DSL κτλ) και έχει τη μορφή χαρακτήρων. Movie Selector (VarChar): Περιέχει τις τιμές για το αν οι πελάτες επιλέγουν ταινίες μόνοι τους ή κάποιοι άλλοι για αυτούς και έχει τη μορφή χαρακτήρων. Num Bathrooms (Int): Περιέχει τις τιμές για τον αριθμό των μπάνιων που διαθέτουν οι πελάτες στις οικίες τους και έχει τη μορφή ακέραιου αριθμού. Num Bedrooms (Int): Περιέχει τις τιμές για τον αριθμό των κρεβατοκάμαρων που διαθέτουν οι πελάτες στις οικίες τους. Num Cars (Int): Περιέχει τις τιμές για τον αριθμό των αυτοκινήτων που έχουν οι πελάτες στην κατοχή τους και έχει τη μορφή ακέραιου αριθμού. Num Children (Int): Περιέχει τις τιμές για τον αριθμό των παιδιών που έχουν οι πελάτες (παίρνοντας την τιμή 0 αν δεν έχουν) και έχει τη μορφή ακέραιου αριθμού. Num TVs (Int): Περιέχει τις τιμές για τον αριθμό των τηλεοράσεων που διαθέτουν οι πελάτες στις οικίες τους και έχει τη μορφή ακέραιου αριθμού. PPV Freq (VarChar): Περιέχει τις τιμές για το πόσο συχνά οι πελάτες πληρώνουν για να δουν κάποια ταινία στην τηλεόραση (Pay Per View) και έχει τη μορφή χαρακτήρων. Prerec Buying Freq (Int): Περιέχει τις τιμές για το κατά πόσο συχνά οι πελάτες αγοράζουν ταινίες και έχει την μορφή χαρακτήρων. Prerec Format (VarChar): Περιέχει τις τιμές για την τεχνική μορφή των ταινιών που βλέπουν οι πελάτες (δηλαδή DVD, VHS κτλ.) και έχει τη μορφή χαρακτήρων. Prerec Renting Freq (VarChar): Περιέχει τις τιμές για την συχνότητα με την ο- ποία νοικιάζουν ταινίες οι πελάτες και έχει την τιμή χαρακτήρων. Prerec Viewing Freq (Var Char): Περιέχει τις τιμές για την συχνότητα που οι πελάτες παρακολουθούν ταινίες και έχει την μορφή χαρακτήρων. -95-

102 Thater Freq (VarChar): Περιέχει τις τιμές για την συχνότητα με την οποία οι πελάτες παρακολουθούν θεατρικές παραστάσεις και έχει την μορφή χαρακτήρων. TV Movie Freq (VarChar): Περιέχει τις τιμές για την συχνότητα με την οποία οι πελάτες παρακολουθούν ταινίες στην τηλεόραση και έχει την μορφή χαρακτήρων. TV Signal (VarChar): Περιέχει τις τιμές για το είδος του τηλεοπτικού σήματος των πελατών (αναλογικό, ψηφιακό κτλ) και έχει την μορφή χαρακτήρων. Εικόνα 6.1: Απόσπασμα από τις εγγραφές του πίνακα Customers. Πίνακας Criteria Ο πίνακας Criteria αποτελεί επίσης έναν από τους βασικότερους πίνακες της βάσης δεδομένων. Περιέχει 8749 εγγραφές και αποτελείται από τα εξής πεδία (στήλες): CustomerID (Int): Αποτελεί το κλειδί του πελάτη και έχει τη μορφή ακέραιου αριθμού. Criteria (VarChar): Περιέχει τις τιμές για τα κριτήρια σύμφωνα με τα οποία οι πελάτες επιλέγουν ταινίες και έχει την μορφή χαρακτήρων. Κλειδί του πίνακα Criteria αποτελούν και τα δύο πεδία (CustomerID και Criteria) καθώς το πεδίο CustomerID δεν ταυτοποιεί μοναδικά όλες τις εγγραφές αφού για έναν πελάτη υπάρχουν παραπάνω από ένα κριτήρια. -96-

103 Εικόνα 6.2: Απόσπασμα από τις εγγραφές του πίνακα Criteria Πίνακας Hobbies Ο πίνακας Hobbies περιέχει εγγραφές και αποτελείται από τα εξής πεδία (στήλες): CustomerID (Int): Αποτελεί το κλειδί του πελάτη και έχει τη μορφή ακέραιου αριθμού. Hobby (VarChar): Περιέχει τις τιμές για τα Hobbies των πελατών και έχει την μορφή χαρακτήρων. Κλειδί του πίνακα Hobbies αποτελούν και τα δύο πεδία (CustomerID και Hobby) καθώς το πεδίο CustomerID δεν ταυτοποιεί μοναδικά όλες τις εγγραφές αφού για έναν πελάτη υπάρχουν παραπάνω από ένα hobbies. Εικόνα 6.3: Απόσπασμα από τις εγγραφές του πίνακα Hobbies. -97-

104 Πίνακας Technology Ο πίνακας Technology περιέχει εγγραφές και αποτελείται από τα εξής πεδία (στήλες): CustomerID (Int): Αποτελεί το κλειδί του πελάτη και έχει τη μορφή ακέραιου αριθμού. Technology (VarChar): Περιέχει τις τιμές για το είδος των συσκευών που έχουν οι πελάτες στην κατοχή τους (τηλεόραση, DVD player κτλ) και έχει την μορφή χαρακτήρων. Κλειδί του πίνακα Technology αποτελούν και τα δύο πεδία (CustomerID και Tecnology) καθώς το πεδίο CustomerID δεν ταυτοποιεί μοναδικά όλες τις εγγραφές αφού για έναν πελάτη υπάρχουν παραπάνω από μία συσκευές. Εικόνα 6.4: Απόσπασμα από τις εγγραφές του πίνακα Technology. Πίνακας Channel Ο πίνακας Channel περιέχει εγγραφές και αποτελείται από τα εξής πεδία (στήλες): CustomerID (Int): Αποτελεί το κλειδί του πελάτη και έχει τη μορφή ακέραιου αριθμού. Channel (VarChar): Περιέχει τις τιμές για τα τηλεοπτικά κανάλια που παρακολουθούν οι πελάτες και έχει την μορφή χαρακτήρων. Κλειδί του πίνακα Channel αποτελούν και τα δύο πεδία (CustomerID και Channel) καθώς το πεδίο CustomerID δεν ταυτοποιεί μοναδικά όλες τις εγγραφές αφού για έναν πελάτη υπάρχουν παραπάνω από ένα κανάλι. -98-

105 Πίνακας Movies Ο πίνακας Movies περιέχει εγγραφές και αποτελείται από τα εξής πεδία (στήλες): CustomerID (Int): Αποτελεί το κλειδί του πελάτη και έχει τη μορφή ακέραιου αριθμού. Movie (VarChar): Περιέχει τους τίτλους των ταινιών που έχουν ενοικιασθεί από τους πελάτες. Κλειδί του πίνακα Movies αποτελούν και τα δύο πεδία (CustomerID και Movie) καθώς το πεδίο CustomerID δεν ταυτοποιεί μοναδικά όλες τις εγγραφές αφού για έναν πελάτη υπάρχουν παραπάνω από μία ενοικιάσεις ταινιών. Εικόνα 6.5: Απόσπασμα από τις εγγραφές του πίνακα Movies. Πίνακας Directors Ο πίνακας Directors περιέχει εγγραφές και αποτελείται από τα εξής πεδία (στήλες): CustomerID (Int): Αποτελεί το κλειδί του πελάτη και έχει τη μορφή ακέραιου αριθμού. Director (VarChar): Περιέχει τις τιμές με τα ονόματα των σκηνοθετών των ο- ποίων οι πελάτες έχουν επιλέξει ταινίες και έχει την μορφή χαρακτήρων. Κλειδί του πίνακα Directors αποτελούν και τα δύο πεδία (CustomerID και Director) καθώς το πεδίο CustomerID δεν ταυτοποιεί μοναδικά όλες τις εγγραφές αφού για έναν πελάτη υπάρχουν παραπάνω από ένας σκηνοθέτης ταινιών. -99-

106 Εικόνα 6.6: Απόσπασμα τις εγγραφές του πίνακα Directors. Πίνακας Actors Ο πίνακας Actors περιέχει εγγραφές και αποτελείται από τα εξής πεδία (στήλες): CustomerID (Int): Αποτελεί το κλειδί του πελάτη και έχει τη μορφή ακέραιου αριθμού. Actor (VarChar): Περέχει τις τιμές με τα ονόματα των ηθοποιών ταινιών που έχουν νοικιάσει οι πελάτες και έχει την μορφή χαρακτήρων. Κλειδί του πίνακα Directors αποτελούν και τα δύο πεδία (CustomerID και Actor) καθώς το πεδίο CustomerID δεν ταυτοποιεί μοναδικά όλες τις εγγραφές αφού για έναν πελάτη υπάρχουν παραπάνω από ένας ηθοποιός ταινιών. Εικόνα 6.7: Απόσπασμα από τις εγγραφές του πίνακα Actors

107 Πίνακας MovieClickRattle Ο πίνακας MovieClickRattle δεν υπήρχε στην αρχική βάση δεδομένων και δημιουργήθηκε εκ των υστέρων για τις ανάγκες του προγράμματος Rattle καθώς η συγκεκριμένη πλατφόρμα δεν μπορεί να εφαρμόσει αλγορίθμους σε κύβο (δηλαδή συνδυασμό πινάκων) αλλά σε μεμονωμένους πίνακες με πολλά πεδία (στήλες). Έτσι χρησιμοποιήθηκαν οι κατάλληλες εντολές ώστε να αποδομηθεί ο κύβος και να δημιουργηθεί ένας πίνακας που να περιέχει όλες τις εγγραφές από τους πίνακες που θεωρήθηκε ότι αξίζει να συμπεριληφθούν στην ανάπτυξη των μοντέλων. Συγκεκριμένα στον καινούριο πίνακα συμπεριλήφθηκαν οι εγγραφές των πινάκων: Customers Channel Hobby Technology Η δημιουργία του πίνακα MovieClickRattle δημιουργήθηκε με τις εξής εντολές στον SQL Management Studio SELECT Customers.CustomerID, Age, CategorizedAge, [Education Level], Gender, [Home Ownership], [Internet Connection], [Marital Status], [Movie Selector], [Num Bathrooms], [Num Bedrooms], [Num Cars], [Num Children], [Num TVs], [PPV Freq], [Prerec Buying Freq], [Prerec Format], [Prerec Renting Freq], [Prerec Viewing Freq], [Theater Freq], [TV Movie Freq], [TV Signal], Hobby, Technology, Channel FROM Customers, Hobbies, Technology, Channels, Technology WHERE Customers.CustomerID = Hobbies.CustomerID AND Customers.CustomerID = Technology.CustomerID AND Customers.CustomerID = Channels.CustomerID Σημειώνεται ότι στον καινούριο πίνακα δημιουργήθηκε ένα καινούριο πεδίο με το όνομα ID το οποίο αποτελεί και το κλειδί του πίνακα MovieClickRattle καθώς το πεδίο CustomerID δεν ταυτοποιούσε πλέον μοναδικά κάθε εγγραφή του πίνακα αφού υπήρχαν παραπάνω εγγραφές για έναν πελάτη σε όλους τους συνιστώντες πίνακες

108 Η δομή και οι σχέσεις μεταξύ των πινάκων Καθώς πρόκειται για μια σχεσιακή βάση δεδομένων οι πίνακες πρέπει να συνδέονται μεταξύ τους ώστε να λαμβάνονται πληροφορίες από όλους. Η σύνδεση των πινάκων μεταξύ τους γίνεται με βάση τα κλειδιά τους. Ο πίνακας ο οποίος θεωρείται ο πυρήνας της βάσης δεδομένων τίθεται στο κέντρο και κατέχει το πρωτεύον κλειδί (primary key) με το οποίοι συνδέονται οι υπόλοιποι πίνακες. Οι υπόλοιποι πίνακες εκτός από το πρωτεύον κλειδί που κατέχουν για τους ίδιους λαμβάνουν ένα δευτερεύον κλειδί το οποίο είναι το πρωτεύον του πίνακα που αποτελεί τον πυρήνα της βάσης. Στην περίπτωση της βάσης δεδομένων MovieClick ο κεντρικός πίνακας είναι ο πίνακας Customers και το κλειδί με το οποίο γίνονται όλες οι συνδέσεις με τους υπόλοιπους πίνακες το πεδίο CustomerID. Έτσι σε κάθε πίνακα πρωτεύον κλειδί αποτελεί το πεδίο CustomerID του κάθε πίνακα και δευτερεύον το πεδίο CustomerID του πίνακα Customers. Εικόνα 6.8: Το διάγραμμα των σχέσεων μεταξύ των πινάκων

109 6.2 Η βάση δεδομένων MovieLens Όπως αναφέρθηκε και στην εισαγωγή αυτής της ενότητας το δεύτερο σύνολο δεδομένων που χρησιμοποιήθηκε στην ανάπτυξη των μοντέλων είναι η βάση δεδομένων MovieLens. Η βάση αυτή αποτελεί ένα σύνολο δεδομένων από κινηματογραφικές ταινίες και περιέχει 13 κύριους πίνακες καθώς και έναν ακόμα που προστέθηκε και περιέχει συνδυασμό δεδομένων από τους κύριους. Η αρχική της δομή αναπτύχθηκε στην πλατφόρμα MySQL και εισήχθηκε στον SQL Server Management Studio με την χρήση του οδηγού Import and Export Wizard Οι πίνακες και το περιεχόμενο τους. Οι πίνακες της βάσης Movie Click είναι οι εξής: Πίνακας Movies Ο πίνακας Movies αποτελεί τον βασικό πίνακα και πυρήνα της βάσης δεδομένων καθώς περιέχει τις περισσότερες πληροφορίες για τις ταινίες. Περιέχει 9967 εγγραφές. Τα πεδία (στήλες) από τα οποία αποτελείται είναι τα εξής: ID (Int): Αποτελεί το κλειδί του πίνακα Movies καθώς είναι το πεδίο που ταυτοποιεί μοναδικά κάθε εγγραφή του πίνακα και έχει τη μορφή ακέραιου αριθμού. Title (VarChar): Περιέχει τις τιμές με τους τίτλους των ταινιών και έχει τη μορφή χαρακτήρων. ImdbID (Int): Περιέχει τις τιμές του αναγνωριστικού κωδικού που έχουν οι ταινίες στο δίκτυο IMDB και έχει τη μορφή ακέραιου αριθμού. Spanish Title (VarChar): Περιέχει τις τιμές με τους λατινικούς τίτλους των ταινιών και έχει την μορφή χαρακτήρων. Year (Int): Περιέχει τις τιμές του έτους παραγωγής κάθε ταινίας και έχει τη μορφή ακεραίου αριθμού. RtID (Int): Περιέχει τις τιμές του αναγνωριστικού κωδικού που έχουν οι ταινίες στο δίκτυο Rotten Tomatoes και έχει τη μορφή ακέραιου αριθμού

110 rtallcriticsrating (Real): Περιέχει τις τιμές με τη βαθμολογία που έχει λάβει κάθε ταινία από όλους τους κριτικούς του δικτύου Rotten Tomatoes και έχει την μορφή πραγματικού αριθμού στο διάστημα [0,10]. rtallcriticsnumreviews (Int): Περιέχει τις τιμές με τον αριθμό των σχολιασμών που έχει λάβει κάθε ταινία από όλους τους κριτικούς του δικτύου Rotten Tomatoes και έχει την μορφή ακέραιου αριθμού. rtallcriticsnumfresh (Int): Περιέχει τον αριθμό των πρόσφατων σχολιασμών που έχει λάβει κάθε ταινία από όλους τους κριτικούς του δικτύου Rotten Tomatoes και έχει τη μορφή ακέραιου αριθμού. rtallcriticsnumrotten (Int): Περιέχει τον αριθμό των παλαιών σχολιασμών που έχει λάβει κάθε ταινία από όλους τους κριτικούς του δικτύου Rotten Tomatoes Και έχει τη μορφή ακέραιου αριθμού. Σημειώνεται ότι το πεδίο rtallcriticsnumreviews είναι το άθροισμα των πεδίων rtallcriticsnumfresh και rtallcriticsnumrotten. rtallcriticsscore (Int): Περιέχει τις τιμές με το συνολικό σκορ που έχει λάβει κάθε ταινία από όλους τους κριτικούς του δικτύου RottenTomatoes και έχει τη μορφή ακέραιου αριθμού στο διάστημα [0,100]. rttopcriticsrating (Real): Περιέχει τις τιμές με την βαθμολογία που έχει λάβει κάθε ταινία από τους κορυφαίους κριτικούς του δικτύου Rotten Tomatoes και έχει την μορφή πραγματικού αριθμού στο διάστημα [,10]. rttopcriticsnumreviews (Int): Περιέχει τις τιμές με τον αριθμό των σχολιασμών που έχει λάβει κάθε ταινία από τους κορυφαίους κριτικούς του δικτύου Rotten Tomatoes και έχει την μορφή ακέραιου αριθμού. rttopcriticsnumfresh (Int): Περιέχει τις τιμές με τον αριθμό των πρόσφατων σχολιασμών που έχει λάβει κάθε ταινία από τους κορυφαίους κριτικούς του δικτύου Rotten Tomatoes και έχει την μορφή ακέραιου αριθμού. rttopcriticsnumrotten (Int): Περιέχει τις τιμές με τον αριθμό των παλαιών σχολιασμών που έχει λάβει κάθε ταινία από τους κορυφαίους κριτικούς του δικτύου Rotten Tomatoes και έχει την μορφή ακέραιου αριθμού. Σημειώνεται ότι το πεδίο rttopcriticsnumreviews είναι το άθροισμα των πεδίων rttopcriticsnumfresh και rttopcriticsnumrotten

111 rttopcriticsscore (Int): Περιέχει τις τιμές με το σκορ που έχει λάβει κάθε ταινία από τους κορυφαίους κριτικούς του δικτύου Rotten Tomatoes και έχει την μορφή ακέραιου αριθμού στο διάστημα [0,100]. rtaudiencerating (Real): Περιέχει τις τιμές με τη βαθμολογία που έχει λάβει κάθε ταινία από το κοινό του δικτύου Rotten Tomatoes και έχει την μορφή πραγματικού αριθμού στο διάστημα [0,10]. rtaudiencenumratings (Int): Περιέχει τον αριθμό των ατόμων από το κοινό του δικτύου Rotten Tomatoes που έχουν βαθμολογήσει κάθε ταινία και έχει την μορφή ακέραιου αριθμού. rtaudiencescore (Int): Περιέχει τις τιμές με το σκορ που έχει λάβει κάθε ταινία από το κοινό του δικτύου Rotten Tomatoes και έχει την μορφή ακέραιου αριθμού στο διάστημα [0,100]. Στον πίνακα Movies προστέθηκαν τρία παραπάνω πεδία για να διευκολυνθεί η ανάπτυξη των μοντέλων πρόβλεψης στη συνέχεια. Αυτά τα πεδία αποτελούν στην ουσία κατηγοριοποίηση των βαθμολογιών που έχουν λάβει οι ταινίες και είναι οι εξής: rtallcriticsevaluation (VarChar): Περιέχει τις τιμές με την αξιολόγηση που έχει λάβει κάθε ταινία βάσει της βαθμολογίας όλων των κριτικών του δικτύου Rotten Tomatoes και έχει τη μορφή χαρακτήρων. rttopcriticsevaluation (VarChar): Περιέχει τις τιμές με την αξιολόγηση που έ- χει λάβει κάθε ταινία βάσει της βαθμολογίας των κορυφαίων κριτικών του δικτύου Rotten Tomatoes και έχει τη μορφή χαρακτήρων. rtaudienceevaluation (VarChar): Περιέχει τις τιμές με την αξιολόγηση που έχει λάβει κάθε ταινία βάσει της βαθμολογίας του κοινού του δικτύου Rotten Tomatoes και έχει τη μορφή χαρακτήρων. Η δημιουργία των επιπρόσθετων πεδίων έγινε με τη χρήση των παρακάτω εντολών στον SQL Management Studio

112 SELECT ID, UserID, Title, Year, rtallcriticsevaluation= CASE WHEN rtallcriticsrating >8.9 THEN 'VeryGood' WHEN rtallcriticsrating >6.9 THEN 'Good' WHEN rtallcriticsrating >4.9 THEN 'Average' WHEN rtallcriticsrating >2.9 THEN 'Bad' WHEN rtallcriticsrating <2.9 THEN 'VeryBad' END, rttopcriticsevaluation= CASE WHEN rttopcriticsrating >8.9 THEN 'VeryGood' WHEN rttopcriticsrating >6.9 THEN 'Good' WHEN rttopcriticsrating >4.9 THEN 'Average' WHEN rttopcriticsrating >2.9 THEN 'Bad' WHEN rttopcriticsrating <2.9 THEN 'VeryBad' END, rtaudienceevaluation= CASE WHEN rtaudiencerating >3.9 THEN 'VeryGood' WHEN rtaudiencerating >2.9 THEN 'Good' WHEN rtaudiencerating >1.9 THEN 'Average' WHEN rtaudiencerating >0.9 THEN 'Bad' WHEN rtaudiencerating <0.9 THEN 'VeryBad' END FROM Movies Εικόνα 6.9: Απόσπασμα από τις εγγραφές του πίνακα Movies

113 Πίνακας Genres Ο πίνακας Genres περιέχει εγγραφές και αποτελείται από τα εξής πεδία (στήλες): MovieID (Int): Είναι το κλειδί της ταινίας και έχει τη μορφή ακέραιου αριθμού. Genre (VarChar): Περιέχει τις τιμές με το είδος κάθε ταινίας και έχει τη μορφή χαρακτήρων. Κλειδί του πίνακα Genres αποτελούν και τα δύο πεδία (MovieID και Genre) καθώς το πεδίο MovieID δεν ταυτοποιεί μοναδικά όλες τις εγγραφές αφού για μία ταινία υπάρχουν παραπάνω από ένα είδος που την περιγράφουν. Εικόνα 6.10: Απόσπασμα από τις εγγραφές του πίνακα Genres. Πίνακας Countries Ο πίνακας Countries περιέχει 9967 εγγραφές και αποτελείται από τα εξής πεδία (στήλες): MovieID (Int): Αποτελεί το κλειδί του πίνακα Countries καθώς είναι το πεδίο που ταυτοποιεί μοναδικά κάθε εγγραφή του πίνακα και έχει τη μορφή ακέραιου αριθμού. Country (VarChar): Περιέχει τις τιμές των χωρών παραγωγής της κάθε ταινίας και έχει την μορφή χαρακτήρων

114 Εικόνα 6.11: Απόσπασμα από τις εγγραφές του πίνακα Countries. Πίνακας Locations Ο πίνακας Locations περιέχει εγγραφές και αποτελείται από τα εξής πεδία (στήλες): MovieID (Int): Αποτελεί το κλειδί της ταινίας και έχει την μορφή ακέραιου α- ριθμού. Location1 (VarChar): Περιέχει τις τιμές των περιοχών σε επίπεδο χώρας που έ- χει προβληθεί κάθε ταινία και έχει τη μορφή χαρακτήρων. Location2 (VarChar): Περιέχει τις τιμές των περιοχών σε επίπεδο πολιτείας ή γεωγραφικού διαμερίσματος ή περιφέρειας των χωρών όπου έχει προβληθεί κάθε ταινία και έχει τη μορφή χαρακτήρων. Location3 (VarChar): Περιέχει τις τιμές των περιοχών σε επίπεδο πόλης των χωρών όπου έχει προβληθεί κάθε ταινία και έχει τη μορφή χαρακτήρα. Location4 (VarChar): Περιέχει τις τιμές των περιοχών σε επίπεδο τμήματος της πόλης όπου έχει προβληθεί κάθε ταινία και έχει τη μορφή χαρακτήρων

115 Εικόνα 6.12: Απόσπασμα από τις εγγραφές του πίνακα Locations. Πίνακας Directors Ο πίνακας Directors περιέχει εγγραφές και αποτελείται από τα εξής πεδία (στήλες): ΜovieID (Int): Είναι το κλειδί του της ταινίας και έχει τη μορφή ακέραιου αριθμού. DirectorID (VarChar): Είναι το κλειδί του πίνακα Directors καθώς αποτελεί το πεδίο του ταυτοποιεί μοναδικά κάθε εγγραφή του πίνακα και έχει την μορφή χαρακτήρων. DirectorName (VarChar): Περιέχει τις τιμές με τα ονόματα των σκηνοθετών των ταινιών και έχει την μορφή χαρακτήρων. Εικόνα 6.13: Απόσπασμα από τις εγγραφές του πίνακα Directors

116 Πίνακας Actors Ο πίνακας Actors περιέχει εγγραφές και αποτελείται από τα εξής πεδία (στήλες): MovieID (Int): Είναι το κλειδί της ταινίας και έχει τη μορφή ακέραιου αριθμού. ActorID (VarChar): Είναι το κλειδί του κάθε ηθοποιού και έχει την μορφή χαρακτήρων. Κλειδί του πίνακα Actors αποτελούν τα δύο πεδία MovieID και ActorID καθώς το πεδίο MovieID δεν ταυτοποιεί μοναδικά όλες τις εγγραφές αφού ένας ηθοποιός εμφανίζεται σε παραπάνω από μία ταινίες. ActorName (VarChar): Περιέχει τις τιμές με τα ονόματα των ηθοποιών και έχει την μορφή χαρακτήρων. Ranking (Int): Περιέχει τις τιμές με την κατάταξη που έχει κάθε ηθοποιός στο δίκτυο Rotten Tomatoes και έχει την μορφή ακέραιου αριθμού. Εικόνα 6.14: Απόσπασμα από τις εγγραφές του πίνακα Actors. Πίνακας RatedMovies Ο πίνακας RatedMovies περιέχει εγγραφές και αποτελείται από τα εξής πεδία (στήλες): UserID (Int): Είναι το κλειδί του κάθε χρήστη του δικτύου Rotten Tomatoes και έχει την μορφή ακέραιου αριθμού. MovieID (Int): Είναι το κλειδί της ταινίας και έχει τη μορφή ακέραιου αριθμού. Κλειδί του πίνακα RatedMovies είναι τα δύο πεδία UserID και MovieId καθώς -110-

117 το πεδίο MovieID δεν ταυτοποιεί μοναδικά κάθε εγγραφή του πίνακα αφού κάθε ένας χρήστης έχει βαθμολογήσει πάνω από μια ταινίες και κάθε μια ταινία έχει βαθμολογηθεί από παραπάνω από έναν χρήστη. Rating (Real): Περιέχει τις τιμές με τη βαθμολογία κάθε χρήστη για μια ταινία και έχει τη μορφή πραγματικού αριθμού στο διάστημα [0,5]. DateYear (Int): Περιέχει τις τιμές με το έτος που καταχωρήθηκε η κάθε βαθμολογία και έχει τη μορφή ακέραιου αριθμού. DateMonth (Int): Περιέχει τις τιμές με τον μήνα που καταχωρήθηκε η κάθε βαθμολογία και έχει την μορφή ακέραιου αριθμού. DateDay (Int): Περιέχει τις τιμές με την ημέρα του μήνα που καταχωρήθηκε η κάθε βαθμολογία και έχει την μορφή ακέραιου αριθμού. DateHour (Int): Περιέχει τις τιμές με την ώρα που καταχωρήθηκε η κάθε βαθμολογία και έχει την μορφή ακέραιου αριθμού. DateMinute (Int): Περιέχει τις τιμές με το λεπτό που καταχωρήθηκε η κάθε βαθμολογία και έχει την μορφή ακέραιου αριθμού. DateSecond (Int): Περιέχει τις τιμές με το δευτερόλεπτο που καταχωρήθηκε η κάθε βαθμολογία και έχει την μορφή ακέραιου αριθμού. Εικόνα 6.15: Απόσπασμα από τις εγγραφές του πίνακα RatedMovies -111-

118 Πίνακας TaggedMovies Ο πίνακας TaggedMovies περιέχει εγγραφές και αποτελείται από τα εξής πεδία (στήλες): UserID (Int): Είναι το κλειδί του κάθε χρήστη του δικτύου Rotten Tomatoes και έχει την μορφή ακέραιου αριθμού. MovieID (Int): Είναι το κλειδί της ταινίας και έχει την μορφή ακέραιου αριθμού. TagID (Int): Είναι το κλειδί της κάθε ετικέτας που έχει ορισθεί για μια ταινία και έχει την μορφή ακέραιου αριθμού και αποτελεί το κλειδί του πίνακα TaggedMovies καθώς είναι το πεδίο που ταυτοποιεί μοναδικά κάθε εγγραφή του. DateYear (Int): Περιέχει τις τιμές με το έτος που καταχωρήθηκε η κάθε ετικέτα και έχει τη μορφή ακέραιου αριθμού. DateMonth (Int): Περιέχει τις τιμές με τον μήνα που καταχωρήθηκε η κάθε ετικέτα και έχει την μορφή ακέραιου αριθμού. DateDay (Int): Περιέχει τις τιμές με την ημέρα του μήνα που καταχωρήθηκε η κάθε ετικέτα και έχει την μορφή ακέραιου αριθμού. DateHour (Int): Περιέχει τις τιμές με την ώρα που καταχωρήθηκε η κάθε ετικέτα και έχει την μορφή ακέραιου αριθμού. DateMinute (Int): Περιέχει τις τιμές με το λεπτό που καταχωρήθηκε η κάθε ετικέτα και έχει την μορφή ακέραιου αριθμού. DateSecond (Int): Περιέχει τις τιμές με το δευτερόλεπτο που καταχωρήθηκε η κάθε ετικέτα και έχει την μορφή ακέραιου αριθμού

119 Εικόνα 6.16: Απόσπασμα από τις εγγραφές του πίνακα TaggedMovies. Πίνακας Tags Ο πίνακας Tags περιέχει εγγραφές και αποτελείται από τα εξής πεδία (στήλες): ID (Int): Είναι το κλειδί του πίνακα Tags καθώς είναι το πεδίο που ταυτοποιεί μοναδικά κάθε εγγραφή του. Value (VarChar): Περιέχει τις τιμές με την περιγραφή κάθε ετικέτας και έχει την μορφή χαρακτήρων. Εικόνα 6.17: Απόσπασμα από τις εγγραφές του πίνακα Tags

120 Πίνακας LocationsUni Ο πίνακας LocationsUni δεν υπήρχε στην αρχική βάση δεδομένων και δημιουργήθηκε για την διευκόλυνση τον μοντέλων πρόβλεψης. Αποτελεί στην ουσία κομμάτι του πίνακα Locations καθώς περιέχει μόνο το πεδίο Location1 δηλαδή την χώρα προβολής κάθε ταινίας. Πίνακας MovieLensRattle Ο πίνακας MoviLensRattle δεν υπήρχε στην αρχική βάση δεδομένων και δημιουργήθηκε εκ των υστέρων για τις ανάγκες του προγράμματος Rattle καθώς όπως αναφέρθηκε και στην περίπτωση του πίνακα MovieClickRattle η συγκεκριμένη πλατφόρμα δεν μπορεί να εφαρμόσει αλγορίθμους σε κύβο (δηλαδή συνδοιασμό πινάκων) αλλά σε μεμονωμένους πίνακες με πολλά πεδία (στήλες). Έτσι χρησιμοποιήθηκαν οι κατάλληλες εντολές ώστε να αποδομηθεί ο κύβος και να δημιουργηθεί ένας πίνακας που να περιέχει όλες τις εγγραφές από τους πίνακες που θεωρήθηκε ότι αξίζει να συμπεριληφθούν στην ανάπτυξη των μοντέλων. Συγκεκριμένα στον καινούριο πίνακα συμπεριλήφθηκαν πεδία από τους πίνακες: Movies Genres Countries Η δημιουργία του πίνακα MoviεLensRattle δημιουργήθηκε με τις εξής εντολές στον SQL Management Studio SELECT Movies.ID, Title, Year, rtallcriticsevaluation, rttopcriticsevaluation, rtaudienceevaluation, Country, Genre FROM Movies, Countries, Genres WHERE Movies.ID=Countries.MovieID AND Movies.ID=Genres.MovieID -114-

121 Σημειώνεται ότι στον καινούριο πίνακα δημιουργήθηκε ένα καινούριο πεδίο με το όνομα ID το οποίο αποτελεί και το κλειδί του πίνακα MovieLensRattle καθώς το πεδίο MovieID δεν ταυτοποιούσε πλέον μοναδικά κάθε εγγραφή του πίνακα αφού υπήρχαν παραπάνω εγγραφές για μία ταινία σε όλους τους συνιστώντες πίνακες Η δομή και οι σχέσεις μεταξύ των πινάκων Όπως αναφέρθηκε και στην περίπτωση της βάσης δεδομένων MovieClick, όταν πρόκειται για μια σχεσιακή βάση δεδομένων οι πίνακες πρέπει να συνδέονται μεταξύ τους ώστε να λαμβάνονται πληροφορίες από όλους. Στην περίπτωση της βάσης δεδομένων MovieLens ο κεντρικός πίνακας είναι ο πίνακας Movies και το κλειδί με το οποίο γίνονται όλες οι συνδέσεις με τους υπόλοιπους πίνακες το πεδίο MoviesID. Έτσι σε κάθε πίνακα το πεδίο MoviesID, ανεξάρτητα αν αυτό αποτελεί το πρωτεύον κλειδί του, συνδέεται με το πεδίο MoviesID του πίνακα Movies. Ξεχωριστή περίπτωση αποτελεί ο πίνακας Tags ο οποίος συνδέεται με τον πίνακα TaggedMovies με το πεδίο TagID. Εικόνα 6.18: Το διάγραμμα των σχέσεων μεταξύ των πινάκων

122 7 Εφαρμογή δένδρων απόφασης στις βάσεις δεδομένων Σε αυτήν την ενότητα της εργασίας θα γίνει η ανάπτυξη δένδρων απόφασης στα σύνολα δεδομένων που παρουσιάστηκαν στην προηγούμενη ενότητα και αποτελούν το αντικείμενο εφαρμογής των διαφόρων αλγορίθμων. Αρχικά θα γίνει η εφαρμογή του αλγόριθμου Microsoft Decision Trees στην βάση δεδομένων Movie Click και στη συνέχεια η εφαρμογή του αλγορίθμου δένδρων απόφασης του Rattle στην ίδια βάση. Εκτός από την προβολή των δένδρων θα γίνει και η αξιολόγησή τους με τα αντίστοιχα εργαλεία στο κάθε περιβάλλον και τέλος η σύγκριση μεταξύ των δύο καλύτερων μοντέλων πρόβλεψης που αναπτύχθηκαν στα δύο περιβάλλοντα. Έπειτα θα ακολουθήσει η εφαρμογή του αλγορίθμου Microsoft Decision Trees και του αλγορίθμου δένδρων απόφασης του Rattle στην βάση δεδομένων Movie Lens, η προβολή των δένδρων και η αξιολόγηση τους όπως και στην περίπτωση της βάσης δεδομένων Movie Click

123 7.1 Εφαρμογή του αλγορίθμου Microsoft Decision Trees στη βάση δεδομένων Movie Click Ξεκινώντας το εφαρμοσμένο κομμάτι της Διπλωματικής εργασίας θα εφαρμόσουμε στον αλγόριθμο Microsoft Decision Trees στην βάση δεδομένων Movie Click. Θα αναπτυχθούν διάφορα δένδρα απόφασης το καθένα με διαφορετικές παραμέτρους του αλγορίθμου και στη συνέχεια θα παρουσιαστούν τα αποτελέσματα στα περιβάλλοντα Microsoft Tree Viewer και Dependency Network. Αρχικά όμως πρέπει να οριστεί ποια ή ποιες μεταβλητές θα αποτελέσουν το στόχο πρόβλεψης του μοντέλου και ποιες την είσοδό του. Στο συγκεκριμένο σημείο πρέπει να διευκρινισθεί ότι το ποια μεταβλητή θα αποτελέσει την μεταβλητή προς πρόβλεψη αποτελεί ένα υποκειμενικό ζήτημα και εξαρτάται από το πώς θέλει να χρησιμοποιήσει το κάθε μοντέλο ο αναλυτής. Για παράδειγμα, στην βάση δεδομένων Movie Click υπάρχει πληθώρα μεταβλητών που μπορούν να χρησιμοποιηθούν ως μεταβλητές πρόβλεψης όπως η συχνότητα ενοικίασης ταινιών, το μορφωτικό επίπεδο των πελατών, το είδος της τεχνολογίας που έχουν στη διάθεσή τους, η συχνότητα παρακολούθησης θεατρικών παραστάσεων και πολλά άλλα. Κάθε μοντέλο μπορεί να χρησιμοποιηθεί για αντίστοιχες επιχειρηματικές αποφάσεις όπως για παράδειγμα ποιοι πελάτες είναι πιο συχνοί, ποιο μορφωτικό επίπεδο παρουσιάζει περισσότερη κίνηση, οι ποσότητες ταινιών σε DVD και VHS ανάλογα με την τεχνολογία που διαθέτουν οι πελάτες ή η προσφορά εισιτηρίων θεατρικών παραστάσεων. Αντίστοιχα μεγάλο εύρος επιλογών παρουσιάζουν και τα δεδομένα που θα λειτουργήσουν ως είσοδος στα μοντέλα. Για παράδειγμα μπορεί το video club να θέλει να προβλέψει την συχνότητα ενοικίασης ταινιών με την συχνότητα παρακολούθησης ταινιών στην τηλεόραση ή αντιστρόφως! Στην παρούσα εργασία θα προσπαθήσουμε να προβλέψουμε το φύλο των πελατών με βάση την ηλικία τους, το μορφωτικό τους επίπεδο, το καθεστώς ιδιοκτησίας της οικίας τους (ιδιόκτητο ή ενοικιαζόμενο), την σύνδεση Internet, το αν είναι έγγαμοι ή άγαμοι, τα κανάλια που παρακολουθούν στην τηλεόραση, τα χόμπι τους, την τεχνολογία που κατέχουν και το είδος τηλεοπτικού σήματος που λαμβάνουν

124 Δηλαδή ο πίνακας Customers θα αποτελέσει τον πίνακα πυρήνα στο μοντέλο πρόβλεψης και οι πίνακες Channels, Hobbies και Technology τους εμφωλευμένους. Εικόνα 7.1: Επιλογή των πινάκων που θα χρησιμοποιηθούν και των ρόλων τους. Αντίστοιχα, ως μεταβλητή προς πρόβλεψη θα επιλεγεί το πεδίο Gender του πίνακα Customer και ως μεταβλητές εισόδου τα πεδία CategorizedAge, Eduvation Level, Home Ownership. Internet Connection, Marital Status και TV Signal από τον πίνακα Customers, το πεδίο Channel από τον πίνακα Channels, το πεδίο Hobby από τον πίνακα Hobbies και το πεδίο Technology από τον πίνακα Technology. Εικόνα 7.2: Επιλογή των πεδίων των πινάκων και των ρόλων τους

125 7.1.1 Προβολή των δένδρων Δένδρο 1 Το πρώτο δένδρο θα κατασκευαστεί με βάση τις προεπιλεγμένες τιμές των παραμέτρων του αλγορίθμου. Έτσι λοιπόν το αποτέλεσμα που λαμβάνουμε μετά την εκτέλεση του μοντέλου στο περιβάλλον Microsoft Tree Viewer είναι το εξής: Εικόνα 7.3: Η γραφική αναπαράσταση του δένδρου 1 στο περιβάλλον Microsoft Tree Viewer Παρατηρούμε ότι το δένδρο αποτελείται από 5 επίπεδα, 9 κόμβους και 8 φύλλα. Ειδικότερα μπορούμε να πούμε ότι η διάκριση του φύλου γίνεται πρώτα με το χόμπι των πελατών, στη συνέχεια το κανάλι που παρακολουθούν συχνότερα στην τηλεόραση κτλ. Συνολικότερα το μοντέλο αποτελείται από 2160 περιπτώσεις όπου το 77,34% προβλέφθηκαν άντρες και το 22,66% γυναίκες. Ενώ για κάθε κόμβο του δένδρου το ιστόγραμμα μας δείχνει το ποσοστό πρόβλεψης για την συγκεκριμένη μεταβλητή. Για παράδειγμα στον πρώτο κόμβο του δένδρου η συντριπτική πλειοψηφία των πελατών που έχουν ως χόμπι τον υπολογιστή είναι άντρες. Η αντίστοιχη σχέση εξάρτησης μεταξύ των μεταβλητών φαίνεται και στο περιβάλλον Dependency Network

126 Εικόνα 7.4: Η σχέση εξάρτησης μεταξύ των μεταβλητών στο περιβάλλον Dependency Network. Παρατηρούμε ότι οι μεταβλητές από τις οποίες εξαρτάται η μεταβλητή Gender είναι αυτές οι οποίες χρησιμοποιήθηκαν για τον διαχωρισμό του δένδρου στους αντίστοιχους κόμβους. Συγκεκριμένα η μεταβλητή Gender εξαρτάται σημαντικά από την μεταβλητή Hobbies και τις διάφορες τιμές που αυτή παίρνει και στη συνέχεια από την μεταβλητή Channels. Αξίζει να σημειωθεί ότι από την πληθώρα μεταβλητών που ορίσθηκαν ως είσοδος στο μοντέλο ο αλγόριθμος επέλεξε μόνον αυτές για την ανάπτυξη του δένδρου καθώς θεώρησε ότι αυτές περιγράφουν καλύτερα την μεταβλητή προς πρόβλεψη. Αυτό βέβαια μπορεί να αλλάξει ριζικά αλλάζοντας τις παραμέτρους του αλγορίθμου όπως θα δούμε στα επόμενα δένδρα που θα αναπτυχθούν

127 Δένδρο 2 Στο δεύτερο δένδρο απόφασης που θα αναπτυχθεί θα ορίσουμε διαφορετική τιμή στην παράμετρο Complexity Penalty και συγκεκριμένα την τιμή 0,001 αναγκάζοντας τον αλγόριθμο να παραγάγει ένα μεγάλο και πολύπλοκο δένδρο. Το αποτέλεσμα που λαμβάνουμε με μετά την εκτέλεση του μοντέλου στο περιβάλλον Microsoft Tree Viewer είναι το εξής: Εικόνα 7.5: Η γραφική αναπαράσταση του δένδρου 2 στο περιβάλλον Microsoft Tree Viewer. Παρατηρούμε ότι το δένδρο αποτελείται από 10 επίπεδα, 29 κόμβους και 20 φύλλα. Ειδικότερα μπορούμε να πούμε ότι η διάκριση του φύλου γίνεται πρώτα με το χόμπι των πελατών, στη συνέχεια το κανάλι που παρακολουθούν συχνότερα στην τηλεόραση κτλ. Συνολικότερα το μοντέλο αποτελείται από 2160 περιπτώσεις όπου το 77,34% προβλέφθηκαν άντρες και το 22,66% γυναίκες. Ενώ για κάθε κόμβο του δένδρου το ιστόγραμμα μας δείχνει το ποσοστό πρόβλεψης για την συγκεκριμένη μεταβλητή. Για παράδειγμα στον πρώτο κόμβο του δένδρου η συντριπτική πλειοψηφία των πελατών που έχουν ως χόμπι τον υπολογιστή είναι άντρες. Τα πολλά επίπεδα, οι πολυάριθμοι κόμβοι και τα πολλά φύλλα που παρουσιάζει το δεύτερο δένδρο εξηγούνται από την τιμή που ορίσαμε στην παράμετρο Complexity Penalty του αλγορίθμου. Η αντίστοιχη σχέση εξάρτησης μεταξύ των μεταβλητών φαίνεται και στο περιβάλλον Dependency Network

128 Εικόνα 7.6: Η σχέση εξάρτησης μεταξύ των μεταβλητών στο περιβάλλον Dependency Network. Παρατηρούμε ότι οι μεταβλητές από τις οποίες εξαρτάται η μεταβλητή Gender είναι αυτές οι οποίες χρησιμοποιήθηκαν για τον διαχωρισμό του δένδρου στους αντίστοιχους κόμβους. Συγκεκριμένα η μεταβλητή Gender εξαρτάται σημαντικά από την μεταβλητή Hobbies και τις διάφορες τιμές που αυτή παίρνει, στη συνέχεια από την μεταβλητή Channels κτλ. Στο διάγραμμα φαίνεται επίσης και η σημασία της τιμής που ορίσαμε στην παράμετρο Complexity Penalty του αλγορίθμου η οποία αύξησε στο υπερδιπλάσιο τον αριθμό των μεταβλητών που περιγράφουν την μεταβλητή Gender και συγκεκριμένα στις 17. Αξίζει να σημειωθεί ότι η αύξηση των κόμβων του δένδρου και κατ επέκταση των φύλλων και των εξαρτημένων μεταβλητών δεν επηρέασε τα ποσοστά πρόβλεψης της μεταβλητής Gender. Απλώς έκανε το δένδρο πιο αναλυτικό και πιο περιγραφικό

129 Δένδρο 3 Στο τρίτο δένδρο απόφασης που θα αναπτυχθεί θα ορίσουμε διαφορετική τιμή στην παράμετρο Complexity Penalty και συγκεκριμένα την τιμή 0,999 αναγκάζοντας τον αλγόριθμο να παραγάγει ένα μικρό και απλό δένδρο. Το αποτέλεσμα που λαμβάνουμε μετά την εκτέλεση του μοντέλου στο περιβάλλον Microsoft Tree Viewer είναι το εξής: Εικόνα 7.7: Η γραφική αναπαράσταση του δένδρου 3 στο περιβάλλον Microsoft Tree Viewer. Παρατηρούμε ότι το δένδρο αποτελείται από 4 επίπεδα, 4 κόμβους και 5 φύλλα. Ειδικότερα μπορούμε να πούμε ότι η διάκριση του φύλου γίνεται πρώτα με το χόμπι των πελατών, στη συνέχεια το κανάλι που παρακολουθούν συχνότερα στην τηλεόραση κτλ. Συνολικότερα το μοντέλο αποτελείται από 2160 περιπτώσεις όπου το 77,34% προβλέφθηκαν άντρες και το 22,66% γυναίκες. Ενώ για κάθε κόμβο του δένδρου το ιστόγραμμα μας δείχνει το ποσοστό πρόβλεψης για την συγκεκριμένη μεταβλητή. Για παράδειγμα στον πρώτο κόμβο του δένδρου η συντριπτική πλειοψηφία των πελατών που έχουν ως χόμπι τον υπολογιστή είναι άντρες. Τα λίγα επίπεδα και ο μικρός αριθμός κόμβων και φύλλων που παρουσιάζει το τρίτο δένδρο εξηγούνται από την τιμή που ορίσαμε στην παράμετρο Complexity Penalty του αλγορίθμου. Η αντίστοιχη σχέση εξάρτησης μεταξύ των μεταβλητών φαίνεται και στο περιβάλλον Dependency Network

130 Εικόνα 7.8: Η σχέση εξάρτησης μεταξύ των μεταβλητών στο περιβάλλον Dependency Network. Παρατηρούμε ότι οι μεταβλητές από τις οποίες εξαρτάται η μεταβλητή Gender είναι αυτές οι οποίες χρησιμοποιήθηκαν για τον διαχωρισμό του δένδρου στους αντίστοιχους κόμβους. Συγκεκριμένα η μεταβλητή Gender εξαρτάται σημαντικά από την μεταβλητή Hobbies και τις διάφορες τιμές που αυτή παίρνει, στη συνέχεια από την μεταβλητή Channels κτλ. Στο διάγραμμα φαίνεται επίσης και η σημασία της τιμής που ορίσαμε στην παράμετρο Complexity Penalty του αλγορίθμου η οποία μείωσε σημαντικά τον αριθμό των μεταβλητών που περιγράφουν την μεταβλητή Gender και συγκεκριμένα στις τέσσερις. Αξίζει να σημειωθεί ότι η μείωση των κόμβων του δένδρου και κατ επέκταση των φύλλων και των εξαρτημένων μεταβλητών δεν επηρέασε τα ποσοστά πρόβλεψης της μεταβλητής Gender. Απλώς έκανε το δένδρο πιο απλό και λιγότερο περιγραφικό

131 7.1.2 Αξιολόγηση των μοντέλων του SQL Server Δένδρο 1 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Lift Chart το δένδρο 1 παρουσιάζει μια αρκετά καλή επίδοση και συγκεκριμένα Score Επίσης παρατηρούμε ότι στο ενδεικτικό σημείο του 50% του συνολικού πληθυσμού, όπου το ιδανικό μοντέλο προβλέπει σωστά το σύνολό του, το μοντέλο μας προβλέπει σωστά το 45,73% του πληθυσμού με πιθανότητα 81,66%. Τέλος παρατηρούμε ότι η ικανότητα πρόβλεψης του μοντέλου μειώνεται όσο αυξάνεται το μέγεθος του συνολικού πληθυσμού και αυτό απεικονίζεται από την απόσταση της καμπύλης του μοντέλου από την ευθεία που αντιπροσωπεύει το ιδανικό μοντέλο. Εικόνα 7.11: Διάγραμμα αξιολόγησης Lift Chart για το δένδρο 1. Επίσης παρατηρούμε ότι στην μήτρα ταξινόμησης (Classification Matrix) το μοντέλο προβλέπει σωστά 681 πελάτες ως άντρες ενώ 128 από αυτούς προβλέφθηκαν λανθασμένα ως άντρες ενώ ήταν γυναίκες. Αντίστοιχα προβλέπει σωστά 81 πελάτισσες ως γυναίκες ενώ 35 από αυτές προβλέφθηκαν λανθασμένα ως άντρες. Συνολικά το μοντέλο προέβλεψε σωστά το φύλλο 762 πελατών και λάθος 163. Έχει δηλαδή δείκτη ακρίβειας 82,3%. Εικόνα 7.12: Classification Matrix για το δένδρο

132 Στην μήτρα σταυροειδούς αξιολόγησης (Cross Validation) για το δένδρο 1 και έχοντας ορίσει τον αριθμό των τμημάτων (partitions) που θα χωριστούν τα δεδομένα επαλήθευσης στα 10, το μοντέλο μας προβλέπει κατά μέσο όρο σωστά σχεδόν 179 περιπτώσεις και λάθος σχεδόν 37 περιπτώσεις σε κάθε τμήμα των δεδομένων επαλήθευσης. Εικόνα 7.13: Cross Validation Matrix σωστών προβλέψεων για το δένδρο 1. Εικόνα 7.14: Cross Validation Matrix λανθασμένων προβλέψεων για το δένδρο 1. Δένδρο

133 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Lift Chart το δένδρο 2 παρουσιάζει μια αρκετά καλή επίδοση και συγκεκριμένα Score Επίσης παρατηρούμε ότι στο ενδεικτικό σημείο του 50% του συνολικού πληθυσμού, όπου το ιδανικό μοντέλο προβλέπει σωστά το σύνολό του, το μοντέλο μας προβλέπει σωστά το 45,08% του πληθυσμού με πιθανότητα 87,10%. Τέλος παρατηρούμε ότι η ικανότητα πρόβλεψης του μοντέλου μειώνεται όσο αυξάνεται το μέγεθος του συνολικού πληθυσμού και αυτό απεικονίζεται από την απόσταση της καμπύλης του μοντέλου από την ευθεία που αντιπροσωπεύει το ιδανικό μοντέλο. Εικόνα 7.15: Διάγραμμα αξιολόγησης Lift Chart για το δένδρο 2. Επίσης παρατηρούμε ότι στην μήτρα ταξινόμησης (Classification Matrix) το μοντέλο προβλέπει σωστά 665 πελάτες ως άντρες ενώ 122 από αυτούς προβλέφθηκαν λανθασμένα ως άντρες ενώ ήταν γυναίκες. Αντίστοιχα προβλέπει σωστά 87 πελάτισσες ως γυναίκες ενώ 51 από αυτές προβλέφθηκαν λανθασμένα ως άντρες. Συνολικά το μοντέλο προέβλεψε σωστά το φύλλο 752 πελατών και λάθος 173. Έχει δηλαδή δείκτη ακρίβειας 81,3%. Εικόνα 7.16: Classification Matrix για το δένδρο

134 Στην μήτρα σταυροειδούς αξιολόγησης (Cross Validation) για το δένδρο 1 και έχοντας ορίσει τον αριθμό των τμημάτων (partitions) που θα χωριστούν τα δεδομένα επαλήθευσης στα 10, το μοντέλο μας προβλέπει κατά μέσο όρο σωστά σχεδόν 179 περιπτώσεις και λάθος σχεδόν 37 περιπτώσεις σε κάθε τμήμα των δεδομένων επαλήθευσης. Εικόνα 7.17: Cross Validation Matrix σωστών προβλέψεων για το δένδρο 2. Εικόνα 7.18: Cross Validation Matrix λανθασμένων προβλέψεων για το δένδρο 2. Δένδρο

135 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Lift Chart το δένδρο 3 παρουσιάζει μια αρκετά καλή επίδοση και συγκεκριμένα Score Επίσης παρατηρούμε ότι στο ενδεικτικό σημείο του 50% του συνολικού πληθυσμού, όπου το ιδανικό μοντέλο προβλέπει σωστά το σύνολό του, το μοντέλο μας προβλέπει σωστά το 45,41% του πληθυσμού με πιθανότητα 90,07%. Τέλος παρατηρούμε ότι η ικανότητα πρόβλεψης του μοντέλου μειώνεται όσο αυξάνεται το μέγεθος του συνολικού πληθυσμού και αυτό απεικονίζεται από την απόσταση της καμπύλης του μοντέλου από την ευθεία που αντιπροσωπεύει το ιδανικό μοντέλο. Εικόνα 7.19: Διάγραμμα αξιολόγησης Lift Chart για το δένδρο 3. Επίσης παρατηρούμε ότι στην μήτρα ταξινόμησης (Classification Matrix) το μοντέλο προβλέπει σωστά 675 πελάτες ως άντρες ενώ 134 από αυτούς προβλέφθηκαν λανθασμένα ως άντρες ενώ ήταν γυναίκες. Αντίστοιχα προβλέπει σωστά 75 πελάτισσες ως γυναίκες ενώ 41 από αυτές προβλέφθηκαν λανθασμένα ως άντρες. Συνολικά το μοντέλο προέβλεψε σωστά το φύλλο 750 πελατών και λάθος 175. Έχει δηλαδή δείκτη ακρίβειας 81%. Εικόνα 7.20: Classification Matrix για το δένδρο

136 Στην μήτρα σταυροειδούς αξιολόγησης (Cross Validation) για το δένδρο 1 και έχοντας ορίσει τον αριθμό των τμημάτων (partitions) που θα χωριστούν τα δεδομένα επαλήθευσης στα 10, το μοντέλο μας προβλέπει κατά μέσο όρο σωστά σχεδόν 175 περιπτώσεις και λάθος σχεδόν 40 περιπτώσεις σε κάθε τμήμα των δεδομένων επαλήθευσης. Εικόνα 7.21: Cross Validation Matrix σωστών προβλέψεων για το δένδρο 3. Εικόνα 7.22: Cross Validation Matrix λανθασμένων προβλέψεων για το δένδρο

137 7.1.3 Συγκριτική αξιολόγηση των μοντέλων του SQL Server Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Lift Chart όλων των δένδρων το δένδρο 1 είναι αυτό με την καλύτερη επίδοση Score και συγκεκριμένα 0,89 ενώ ακολουθούν τα δένδρα 3 και 2 με 0.88 και 0.87 αντίστοιχα. Η διαφορά στην επίδοση score είναι πολύ μικρή κάτι που σημαίνει ότι όλα τα μοντέλα μας κατάφεραν να προβλέψουν με σχετική επιτυχία την προβλεπόμενη μεταβλητή. Όσον αφορά το ποσοστό πληθυσμού που προβλέπεται σωστά το δένδρο 1 έχει επίσης την καλύτερη επίδοση με 45,73% με τα δένδρα 3 και 2 να ακολουθούν με 45,41% και 45,08% αντίστοιχα. Τέλος όσον αφορά την πιθανότητα σωστής πρόβλεψης παρατηρούμε ότι το δένδρο 3 παρουσιάζει την καλύτερη επίδοση με 90,07% με τα δένδρα 2 και 1 να ακολουθούν με 87,1% και 81,66% αντίστοιχα. Αυτή η διαφορά στη σειρά κατάταξης των δένδρων σε σχέση με τους προηγούμενους δείκτες μπορεί να δικαιολογηθεί από τις τιμές που είχαν κάθε φορά οι παράμετροι του αλγορίθμου. Αξίζει επίσης να σημειωθεί ότι όλα τα δένδρα εμφανίζουν μια πτωτική πορεία όσον αφορά την επίδοση πρόβλεψης όσο αυξάνει το ποσοστό του συνολικού πληθυσμού πράγμα που απεικονίζεται από την απόσταση των καμπύλων τους με την ευθεία του ιδανικού μοντέλου. Εικόνα 7.27: Διάγραμμα αξιολόγησης Lift Chart για όλα τα δένδρα απόφασης

138 Επίσης παρατηρούμε ότι στην μήτρα ταξινόμησης (Classification Matrix) των μοντέλων, το δένδρο 1 προβλέπει καλύτερα το φύλλο των ανδρών με 681 σωστές προβλέψεις και το δένδρο 2 προβλέπει καλύτερα το φύλλο των γυναικών με 87 σωστές προβλέψεις. Αντίθετα, το δένδρο 3 προβλέπει χειρότερα το φύλλο των ανδρών με 134 λανθασμένες προβλέψεις και το δένδρο 2 προβλέπει χειρότερα το φύλλο των γυναικών με 51 λανθασμένες προβλέψεις. Συνολικά, την καλύτερη ακρίβεια παρουσιάζει το δένδρο 1 με 82.3% με τα δένδρα 2 και 3 να ακολουθούν με ποσοστά 81.3% και 81% αντίστοιχα. Εικόνα 7.28: Classification Matrix για όλα τα δένδρα απόφασης. Συμπερασματικά μπορούμε να πούμε ότι το πρώτο δένδρο απόφασης είναι το μοντέλο με την καλύτερη επίδοση σε σχέση με τα υπόλοιπα που αναπτύχθηκαν και είναι αυτό που θα χρησιμοποιηθεί για την σύγκριση με το καλύτερο μοντέλο που θα αναδειχθεί στο Rattle στη συνέχεια. Αξίζει να σημειωθεί ότι το καλύτερο μοντέλο ήταν και αυτό που αναπτύχθηκε με τις προεπιλεγμένες τιμές του αλγορίθμου

139 7.2 Εφαρμογή του αλγορίθμου δένδρων απόφασης του Rattle στη βάση δεδομένων Movie Click Στη συνέχεια του πρακτικού μέρους της εργασίας θα εφαρμόσουμε τον αλγόριθμο που χρησιμοποιεί το Rattle στην βάση δεδομένων Movie Click. Θα αναπτυχθούν διάφορα δένδρα απόφασης το καθένα με διαφορετικές παραμέτρους του αλγορίθμου και στη συνέχεια θα παρουσιαστούν με την μορφή κειμένου, διαγράμματος και κανόνων απόφασης. Όπως και στην περίπτωση του SQL Server έτσι και εδώ θα προσπαθήσουμε να προβλέψουμε το φύλλο των πελατών με βάση την ηλικία τους, το μορφωτικό τους επίπεδο, το καθεστώς της οικίας τους (ιδιόκτητο ή ενοίκιο), την σύνδεση Internet, το αν είναι έγγαμοι ή άγαμοι, τα κανάλια που παρακολουθούν στην τηλεόραση, τα χόμπι τους, την τεχνολογία που κατέχουν και το είδος τηλεοπτικού σήματος που λαμβάνουν. Καθώς το Rattle δεν μπορεί να εφαρμόσει μοντέλα πρόβλεψης σε πολλαπλούς πίνακες παρά μόνον σε έναν δημιουργήθηκε ένας νέος πίνακας στην βάση δεδομένων όπως περιγράφηκε στην ενότητα παρουσίαση των βάσεων δεδομένων. Ο πίνακας λοιπόν που θα χρησιμοποιηθεί είναι ο MovieClickRattle και εισήχθη στο Rattle μέσω σύνδεσης ODBC με τον SQL Server Εδώ λοιπόν καθορίζουμε απλώς τον ρόλο των μεταβλητών του πίνακα MovieClickRattle και συγκεκριμένα,, ως μεταβλητή προς πρόβλεψη (Target) θα επιλεγεί το πεδίο Gender, ως μεταβλητές εισόδου (Input) τα πεδία CategorizedAge, Eduvation Level, Home Ownership. Internet Connection, Marital Status, TV Signal, Channel, Hobby και Technology και ως κλειδί (Ident) το πεδίο ID. Εικόνα 7.29: Επιλογή των ρόλων των μεταβλητών

140 7.2.1 Προβολή των δένδρων Δένδρο 1 Το πρώτο δένδρο θα κατασκευαστεί με βάση τις προεπιλεγμένες τιμές των παραμέτρων του αλγορίθμου. Έτσι λοιπόν το αποτέλεσμα που λαμβάνουμε με μετά την εκτέλεση του μοντέλου σε μορφή κειμένου είναι το εξής: Εικόνα 7.30: Η αναπαράσταση του δένδρου 1 με τη μορφή κειμένου. Παρατηρούμε ότι το δένδρο αποτελείται από 6 επίπεδα, 7 κόμβους και 8 φύλλα. Ειδικότερα μπορούμε να πούμε ότι η διάκριση του φύλου γίνεται πρώτα με το χόμπι των πελατών, στη συνέχεια με το είδος της σύνδεσης Internet κτλ. Συγκεκριμένα ο αλγόριθμος από το σύνολο των περιπτώσεων προέβλεψε το φύλλο των πελατών σε ποσοστό 77,9% άντρες και σε ποσοστό 22,02% γυναίκες. Επίσης παρατηρούμε ότι από το σύνολο των μεταβλητών που ορίστηκαν ως είσοδος στο μοντέλο ο αλγόριθμος χρησιμοποίησε μόνο 7 από αυτές για την περιγραφή της μεταβλητής Gender και συγκεκριμένα τις CategorizedAge, EducationLevel, Hobby, HomeOwnership, InternetConnection, MaritalStatus και Channel. Η αντίστοιχη γραφική αναπαράσταση του δένδρου είναι η εξής: -134-

141 Εικόνα 7.31: Η γραφική αναπαράσταση του δένδρου 1. Μερικοί από τους κανόνες που δημιουργήθηκαν από την κατασκευή του δένδρου είναι οι εξής: Εικόνα 7.32: Οι κανόνες απόφασης που δημιουργήθηκαν από το δένδρο 1. Ο πρώτος κανόνας μπορεί να διαβαστεί ως εξής: Αν ένας πελάτης έχει χόμπι τα αυτοκίνητα, τις επενδύσεις, τα κόμικ, τους υπολογιστές και τα ηλεκτρονικά παιχνίδια, το κυνήγι, τα media και την επιστήμη τότε η πιθανότητα να είναι άντρας είναι 90%. Αντίστοιχα μπορούν να αναγνωστούν και οι υπόλοιποι κανόνες. Τέλος σημειώνεται ότι για την ανάπτυξη του δένδρου ο αλγόριθμος χρειάστηκε 18,17 δευτερόλεπτα

142 Δένδρο 2 Στο δεύτερο δένδρο απόφασης που θα αναπτυχθεί θα ορίσουμε διαφορετική τιμή στην παράμετρο Complexity και συγκεκριμένα την τιμή 0,001 αναγκάζοντας τον αλγόριθμο να παραγάγει ένα μεγάλο και πολύπλοκο δένδρο. Το αποτέλεσμα που λαμβάνουμε σε μορφή κειμένου μετά την εκτέλεση του μοντέλου είναι το εξής: Εικόνα 7.33: Η αναπαράσταση του δένδρου 2 με τη μορφή κειμένου. Παρατηρούμε ότι το δένδρο αποτελείται από αναρίθμητα επίπεδα, κόμβους και φύλλα. Πιο συγκεκριμένα από τις περιπτώσεις που περιλαμβάνει το μοντέλο ο αλγόριθμος προέβλεψε το φύλλο στις 77,9% των περιπτώσεων ως άντρες και στο 22,02% των περιπτώσεων ως γυναίκες. Επίσης παρατηρούμε ότι αυτή τη φορά ο αλγόριθμος χρησιμοποίησε όλες τις μεταβλητές εισόδου για να περιγράψει την μεταβλητή Gender. Τα πολλά επίπεδα, οι πολυάριθμοι κόμβοι και τα πολλά φύλλα που παρουσιάζει το δεύτερο δένδρο εξηγούνται από την τιμή που ορίσαμε στην παράμετρο Complexity Penalty του αλγορίθμου. Η τιμή της παραμέτρου οφείλεται επίσης και στο ότι ο αλγόριθμος χρησιμοποίησε όλες τις μεταβλητές εισόδου. Η αντίστοιχη γραφική αναπαράσταση του δένδρου στην οποία παρατηρείται επίσης η πολυπλοκότητα του δένδρου είναι η εξής: -136-

143 Εικόνα 7.34: Η γραφική αναπαράσταση του δένδρου 2. Μερικοί από τους κανόνες που δημιουργήθηκαν από την κατασκευή του δένδρου είναι οι εξής: Εικόνα 7.35: Οι κανόνες απόφασης που δημιουργήθηκαν από το δένδρο 2. Αυτό που αξίζει να σημειωθεί στους κανόνες που προέκυψαν από το 2 δένδρο είναι ότι είναι πιο πολύπλοκοι, περιέχουν περισσότερες πληροφορίες και είναι πιο εξειδικευμένοι. Δένδρο

144 Στο τρίτο δένδρο απόφασης που θα αναπτυχθεί θα ορίσουμε διαφορετικές τιμές στις παραμέτρους Min Split και Min Bucket και συγκεκριμένα τις τιμές και 8000 α- ντίστοιχα, αναγκάζοντας τον αλγόριθμο να παραγάγει ένα πιο μικρό και απλό δένδρο. Το αποτέλεσμα που λαμβάνουμε σε μορφή κειμένου μετά την εκτέλεση του μοντέλου είναι το εξής: Εικόνα 7.36: Η αναπαράσταση του δένδρου 2 με τη μορφή κειμένου. Παρατηρούμε ότι το δένδρο αυτή τη φορά αποτελείται από μόλις 4 επίπεδα, 3 κόμβους και 4 φύλλα. Πιο συγκεκριμένα από τις περιπτώσεις που περιλαμβάνει το μοντέλο ο αλγόριθμος προέβλεψε το φύλλο στις 77,9% των περιπτώσεων ως άντρες και στο 22,02% των περιπτώσεων ως γυναίκες. Επίσης παρατηρούμε ότι αυτή τη φορά ο αλγόριθμος χρησιμοποίησε μόνον τρεις από τις μεταβλητές εισόδου για να περιγράψει την μεταβλητή Gender και συγκεκριμένα τις Hobby, Internet Connection και Marital Status. Τα λιγότερα επίπεδα καθώς και κόμβοι και τα φύλλα που παρουσιάζει το τρίτο δένδρο εξηγούνται από τις τιμές που ορίσαμε στις παραμέτρους Min Split και Min Bucket του αλγορίθμου οι οποίες στην ουσία τον ανάγκασαν να περιέχει περισσότερες παρατηρήσεις σε κάθε κόμβο ώστε αυτό να θεωρηθεί ικανός για διαχωρισμό. Οι τιμές των παραμέτρων οφείλεται επίσης και στο ότι ο αλγόριθμος χρησιμοποίησε μόνον τρεις από τις μεταβλητές εισόδου. Η αντίστοιχη γραφική αναπαράσταση του δένδρου στην οποία παρατηρείται επίσης η πολυπλοκότητα του δένδρου είναι η εξής: -138-

145 Εικόνα 7.37: Η γραφική αναπαράσταση του δένδρου 3. Μερικοί από τους κανόνες που δημιουργήθηκαν από την κατασκευή του δένδρου είναι οι εξής: Εικόνα 7.38: Οι κανόνες απόφασης που δημιουργήθηκαν από το δένδρο 3. Σε αντίθεση με τα προηγούμενα δένδρα οι κανόνες που δημιουργήθηκαν από αυτό το δένδρο είναι μόνον τέσσερις, πιο απλοί και λιγότερο εξειδικευμένοι λόγω των τιμών που ορίσαμε στην αρχή στις παραμέτρους Min Split και Min Bucket

146 7.2.2 Αξιολόγηση των μοντέλων του Rattle Δένδρο 1 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης ROC το δένδρο 1 παρουσιάζει μία σχετικά καλή επίδοση πρόβλεψης. Συγκεκριμένα ο βαθμός των αληθώς θετικών προβλέψεων αυξάνει σε σχέση με τον βαθμό ψευδώς θετικών προβλέψεων στην αρχή του πληθυσμού, στη συνέχεια σταθεροποιείται και όταν ο πληθυσμός τείνει να φτάσει στο σύνολό του φθίνει. Εικόνα 7.39: Διάγραμμα αξιολόγησης ROC για το δένδρο 1. Επίσης παρατηρούμε ότι στην μήτρα λαθών (Error Matrix) το μοντέλο προβλέπει σωστά πελάτες ως άντρες ενώ 8183 από αυτούς προβλέφθηκαν λανθασμένα ως ά- ντρες ενώ ήταν γυναίκες. Αντίστοιχα προβλέπει σωστά 1289 πελάτισσες ως γυναίκες ενώ 669 από αυτές προβλέφθηκαν λανθασμένα ως άντρες. Συνολικά το μοντέλο προέβλεψε σωστά το φύλλο πελατών και λάθος Έχει δηλαδή δείκτη ακρίβειας 79,5%. Επίσης παρατηρούμε ότι το συνολικό ποσοστό λάθους του μοντέλου είναι 20,4%. Εικόνα 7.40: Error Matrix για το δένδρο

147 Δένδρο 2 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης ROC το δένδρο 2 παρουσιάζει μία σχετικά καλή επίδοση πρόβλεψης. Συγκεκριμένα ο βαθμός των αληθώς θετικών προβλέψεων αυξάνει έντονα σε σχέση με τον βαθμό ψευδώς θετικών προβλέψεων στην αρχή του πληθυσμού, στη συνέχεια σταθεροποιείται και όταν ο πληθυσμός τείνει να φτάσει στο σύνολό του φθίνει. Εικόνα 7.41: Διάγραμμα αξιολόγησης ROC για το δένδρο 2. Επίσης παρατηρούμε ότι στην μήτρα λαθών (Error Matrix) το μοντέλο προβλέπει σωστά πελάτες ως άντρες ενώ 7600 από αυτούς προβλέφθηκαν λανθασμένα ως ά- ντρες ενώ ήταν γυναίκες. Αντίστοιχα προβλέπει σωστά 1872 πελάτισσες ως γυναίκες ενώ 450 από αυτές προβλέφθηκαν λανθασμένα ως άντρες. Συνολικά το μοντέλο προέβλεψε σωστά το φύλλο πελατών και λάθος Έχει δηλαδή δείκτη ακρίβειας 81,4%. Επίσης παρατηρούμε ότι το συνολικό ποσοστό λάθους του μοντέλου είναι 18,5%. Εικόνα 7.42: Error Matrix για το δένδρο

148 Δένδρο 3 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης ROC το δένδρο 3 παρουσιάζει και αυτό μία σχετικά καλή επίδοση πρόβλεψης. Συγκεκριμένα ο βαθμός των αληθώς θετικών προβλέψεων αυξάνει λιγότερο έντονα σε σχέση με τον βαθμό ψευδώς θετικών προβλέψεων στην αρχή του πληθυσμού, στη συνέχεια σταθεροποιείται και όταν ο πληθυσμός τείνει να φτάσει στο σύνολό του φθίνει. Εικόνα 7.43: Διάγραμμα αξιολόγησης ROC για το δένδρο 3. Επίσης παρατηρούμε ότι στην μήτρα λαθών (Error Matrix) το μοντέλο προβλέπει σωστά πελάτες ως άντρες ενώ 8207 από αυτούς προβλέφθηκαν λανθασμένα ως ά- ντρες ενώ ήταν γυναίκες. Αντίστοιχα προβλέπει σωστά 1265 πελάτισσες ως γυναίκες ενώ 975 από αυτές προβλέφθηκαν λανθασμένα ως άντρες. Συνολικά το μοντέλο προέβλεψε σωστά το φύλλο πελατών και λάθος Έχει δηλαδή δείκτη ακρίβειας 78,8%. Επίσης παρατηρούμε ότι το συνολικό ποσοστό λάθους του μοντέλου είναι 21,4%. Εικόνα 7.44: Error Matrix για το δένδρο

149 7.2.3 Συγκριτική αξιολόγηση των μοντέλων του Rattle Συγκρίνοντας όλα τα δένδρα που αναπτύχθηκαν μέσω των Error Matrix που τους αντιστοιχούν παρατηρούμε ότι καλύτερη πρόβλεψη στο φύλλο των ανδρών κάνει το δεύτερο μοντέλο με σωστές προβλέψεις με το πρώτο και το τρίτο μοντέλο να ακολουθούν με και σωστές προβλέψεις αντίστοιχα. Αντίθετα, το τρίτο μοντέλο προβλέπει χειρότερα το φύλλο των ανδρών με 8207 λανθασμένες προβλέψεις με το πρώτο και το δεύτερο μοντέλο να ακολουθούν με 8183 και 7600 λανθασμένες προβλέψεις αντίστοιχα. Αντίστοιχα, το δεύτερο μοντέλο είναι αυτό που προβλέπει καλύτερα το γυναικείο φύλλο με 1872 σωστές προβλέψεις με το πρώτο και το τρίτο μοντέλο να ακολουθούν με 1289 και 1265 σωστές προβλέψεις αντίστοιχα. Αντίθετα, το τρίτο μοντέλο είναι αυτό που προβλέπει χειρότερα το γυναικείο φύλλο με 975 λανθασμένες προβλέψεις με το πρώτο και δεύτερο μοντέλο να ακολουθούν με 669 και 450 λανθασμένες προβλέψεις αντίστοιχα. Συνολικά το δεύτερο μοντέλο έχει τις περισσότερες συνολικές σωστές προβλέψεις και συγκεκριμένα με το πρώτο και τρίτο μοντέλο να ακολουθούν με και σωστές προβλέψεις αντίστοιχα. Τα ποσοστά ακρίβειας των μοντέλων αναδεικνύουν με τη σειρά τους το δεύτερο μοντέλο ως καλύτερο με ποσοστό 81,4% με το πρώτο και το τρίτο να ακολουθούν με 79,5% και 78,8% αντίστοιχα. Σημειώνεται ότι το μοντέλο που αναδείχθηκε ως καλύτερο ήταν αυτό που αναπτύχθηκε έχοντας πολύ χαμηλή τιμή στην παράμετρο Complexity. Δένδρο 1 Δένδρο 2 Δένδρο 3 Εικόνα 7.45: Error Matrix για όλα τα δένδρα απόφασης

150 7.3 Σύγκριση μοντέλων μεταξύ SQL Server και Rattle Δεδομένου ότι το περιβάλλον Data Tools του SQL Server και του Rattle της γλώσσας R δεν παρέχουν τα ίδια εργαλεία διαγραμματικής αξιολόγησης, η σύγκριση των δύο καλύτερων μοντέλων που αναδείχθηκαν ως καλύτερα για κάθε περιβάλλον θα γίνει με βάση την μήτρα ταξινόμησης (Classification Matrix) και την μήτρα λαθών (Error Matrix) αντίστοιχα καθώς αποτυπώνουν τα ίδια μεγέθη. Τα μεγέθη των δεδομένων που χρησιμοποιήθηκαν στο κάθε περιβάλλον διαφέρουν καθώς ο πίνακας MovieClickRattle που χρησιμοποιήθηκε στο Rattle περιέχει πολλαπλάσια δεδομένα. Επιπλέον ο SQL Server διαχώρισε το σύνολο δεδομένων σε δύο μέρη (δεδομένα εκπαίδευσης και επαλήθευσης) ενώ το Rattle σε τρία (δεδομένα εκπαίδευσης, επαλήθευσης και επικύρωσης) και με διαφορετικά ποσοστά αντιστοίχως. Έτσι η σύγκριση των μοντέλων θα γίνει με βάση τον δείκτη ακρίβειας της πρόβλεψης των μοντέλων ο οποίος αποτελεί και τον πιο αντιπροσωπευτικό όσον αφορά τη συνολική επίδοση των μοντέλων. Έτσι λοιπόν παρατηρούμε ότι το μοντέλο του SQL Server παρουσιάζει δείκτη ακρίβειας 82,3% ενώ το μοντέλο που αναπτύχθηκε στο Rattle 81,4%. Αν και ως συνολικά καλύτερο μοντέλο αναδεικνύεται αυτό του SQLServer οφείλουμε να σημειώσουμε ότι όλα τα μοντέλα που αναπτύχθηκαν είχαν σχετικά μικρές αποκλίσεις μεταξύ τους για διαφορετικούς λόγους το καθένα αφού όλα αναπτύχθηκαν με διαφορετικές παραμέτρους. Μπορούμε τέλος να σημειώσουμε ότι το δένδρο που αναπτύχθηκε με τις προεπιλεγμένες τιμές των παραμέτρων του στον SQL Server σημείωσε ποσοστό ακρίβειας 82,3% ενώ το αντίστοιχο του Rattle 79,5%

151 7.4 Εφαρμογή του αλγορίθμου Microsoft Decision Trees στη βάση δεδομένων Movie Lens Συνεχίζοντας το εφαρμοσμένο κομμάτι της εργασίας θα εφαρμόσουμε τον αλγόριθμο Microsoft Decision Trees στην βάση δεδομένων MovieLens. Θα αναπτυχθούν διάφορα δένδρα απόφασης το καθένα με διαφορετικές παραμέτρους του αλγορίθμου και στη συνέχεια θα παρουσιαστούν τα αποτελέσματα στα περιβάλλοντα Microsoft Tree Viewer και Dependency Network. Αρχικά όμως πρέπει να οριστεί ποια ή ποιες μεταβλητές θα αποτελέσουν το στόχο πρόβλεψης του μοντέλου και ποιες την είσοδό του. Όπως και στην βάση δεδομένων Movie Click έτσι και για την Movie Lens υπάρχει πληθώρα μεταβλητών που μπορούν να χρησιμοποιηθούν ως μεταβλητές πρόβλεψης όπως η χώρα παραγωγής μιας ταινίας, η βαθμολογία των κριτικών για μια ταινία, ο αριθμός των ετικετών που λαμβάνουν οι ταινίες, ο αριθμός των χρηστών που έχουν βαθμολογήσει μια ταινία και πολλά άλλα. Κάθε μοντέλο μπορεί να χρησιμοποιηθεί για αντίστοιχες επιχειρηματικές αποφάσεις όπως για παράδειγμα σε ποιες χώρες θα πρέπει να προωθηθεί παραπάνω μια ταινία, ή ποιο είδος ταινιών αρέσει περισσότερο στο κοινό. Εκτός από την πληθώρα διαφορετικών μοντέλων και των αντίστοιχων επιχειρηματικών αποφάσεων μεγάλο είναι και το εύρος των τομέων όπου μπορούν να χρησιμοποιηθούν. Για παράδειγμα μια εταιρία παραγωγής ταινιών μπορεί να εξάγει χρήσιμα συμπεράσματα για το casting μιας επερχόμενης ταινίας σύμφωνα με την βαθμολογία των ηθοποιών και το είδος της ή μια αλυσίδα κινηματογράφων μπορεί να αποφασίσει τις ταινίες που θα προβάλει στις αίθουσές της ανάλογα με το είδος και την βαθμολογία των κριτικών. Αντίστοιχα μεγάλο εύρος επιλογών παρουσιάζουν και τα δεδομένα που θα λειτουργήσουν ως είσοδος στα μοντέλα. Για παράδειγμα μπορούμε να προβλέψουμε την βαθμολογία των κριτικών με βάση την χώρα παραγωγής μιας ταινίας και του είδους της ή τις τοποθεσίες προβολής με βάση την χώρα παραγωγής και την βαθμολογία του κοινού. Στην παρούσα Διπλωματική εργασία θα προσπαθήσουμε να προβλέψουμε την αξιολόγηση μιας ταινίας από το κοινό του δικτύου Rotten Tomatoes με βάση την αξιολόγηση των κορυφαίων κριτικών, την αξιολόγηση όλων των κριτικών, την χώρα παραγωγής, το είδος της ταινίας και το έτος παραγωγής

152 Δηλαδή ο πίνακας Movies θα αποτελέσει τον πίνακα πυρήνα στο μοντέλο πρόβλεψης και οι πίνακες Countries και Genres τους εμφωλευμένους. Εικόνα 7.46: Επιλογή των πινάκων που θα χρησιμοποιηθούν και των ρόλων τους. Αντίστοιχα, ως μεταβλητή προς πρόβλεψη θα επιλεγεί το πεδίο rtaudienceevaluation του πίνακα Movies και ως μεταβλητές εισόδου τα πεδία Year, rtallcriticsevaluation και rttopcriticsevaluation από τον πίνακα Movies, το πεδίο Country από τον πίνακα Countries και το πεδίο Genre του πίνακα Genres. Εικόνα 7.47: Επιλογή των πεδίων των πινάκων και των ρόλων τους

153 7.4.1 Προβολή των δένδρων Δένδρο 1 Το πρώτο δένδρο θα κατασκευαστεί με βάση τις προεπιλεγμένες τιμές των παραμέτρων του αλγορίθμου. Έτσι λοιπόν το αποτέλεσμα που λαμβάνουμε με μετά την εκτέλεση του μοντέλου στο περιβάλλον Microsoft Tree Viewer είναι το εξής: Εικόνα 7.48: Η γραφική αναπαράσταση του δένδρου 1 στο περιβάλλον Microsoft Tree Viewer Παρατηρούμε ότι το δένδρο αποτελείται από 4 επίπεδα, 10 κόμβους και 15 φύλλα. Ειδικότερα μπορούμε να πούμε ότι η διάκριση της αξιολόγησης του κοινού γίνεται πρώτα με την αξιολόγηση όλων των κριτικών, στη συνέχεια την αξιολόγηση των κορυφαίων κριτικών και τέλος έτος παραγωγής και η χώρα παραγωγής της ταινίας. Συνολικότερα το μοντέλο αποτελείται από 6977 περιπτώσεις όπου το 8,55% προβλέφθηκαν με την αξιολόγηση «Πολύ Καλή», το 51,68% με την αξιολόγηση «Καλή», το 13,04% με την αξιολόγηση «Μέτρια», το 0,09% με την αξιολόγηση «Κακή» και το 26,63% με την α- ξιολόγηση «Πολύ Κακή». Ενώ για κάθε κόμβο του δένδρου το ιστόγραμμα μας δείχνει το ποσοστό πρόβλεψης για την συγκεκριμένη μεταβλητή. Για παράδειγμα στον πρώτο κόμβο του δένδρου η συντριπτική πλειοψηφία των ταινιών που πήραν από όλους τους κριτικούς αξιολόγηση «Πολύ Κακή» πήραν την ίδια αξιολόγηση και στην συντριπτική πλειοψηφία του κοινού

154 Η αντίστοιχη σχέση εξάρτησης μεταξύ των μεταβλητών φαίνεται και στο περιβάλλον Dependency Network. Εικόνα 7.49: Η σχέση εξάρτησης μεταξύ των μεταβλητών στο περιβάλλον Dependency Network. Παρατηρούμε ότι οι μεταβλητές από τις οποίες εξαρτάται η μεταβλητή rtaudienceevaluation είναι αυτές οι οποίες χρησιμοποιήθηκαν για τον διαχωρισμό του δένδρου στους αντίστοιχους κόμβους. Συγκεκριμένα η μεταβλητή rtaudienceevaluation εξαρτάται σημαντικά από την μεταβλητή rtallcriticsevaluation και τις διάφορες τιμές της, στη συνέχεια από την μεταβλητή rttopcriticsevaluation, στη συνέχεια από την μεταβλητή Year και τέλος από την μεταβλητή Countries με την τιμή USA. Αξίζει να σημειωθεί ότι από την πληθώρα μεταβλητών που ορίσθηκαν ως είσοδος στο μοντέλο ο αλγόριθμος επέλεξε μόνον αυτές για την ανάπτυξη του δένδρου καθώς θεώρησε ότι αυτές περιγράφουν καλύτερα την μεταβλητή προς πρόβλεψη. Αυτό βέβαια μπορεί να αλλάξει ριζικά αλλάζοντας τις παραμέτρους του αλγορίθμου όπως θα δούμε στα επόμενα δένδρα που θα αναπτυχθούν

155 Δένδρο 2 Στο δεύτερο δένδρο απόφασης που θα αναπτυχθεί θα ορίσουμε διαφορετική τιμή στην παράμετρο Complexity Penalty και συγκεκριμένα την τιμή 0,001 αναγκάζοντας τον αλγόριθμο να παραγάγει ένα μεγάλο και πολύπλοκο δένδρο. Το αποτέλεσμα που λαμβάνουμε με μετά την εκτέλεση του μοντέλου στο περιβάλλον Microsoft Tree Viewer είναι το εξής: Εικόνα 7.50: Η γραφική αναπαράσταση του δένδρου 2 στο περιβάλλον Microsoft Tree Viewer

156 Παρατηρούμε ότι το δένδρο αποτελείται από 5 επίπεδα, 26 κόμβους και 33 φύλλα. Συνολικότερα το μοντέλο αποτελείται από 6977 περιπτώσεις όπου το 8,55% προβλέφθηκαν με την αξιολόγηση «Πολύ Καλή», το 51,68% με την αξιολόγηση «Καλή», το 13,04% με την αξιολόγηση «Μέτρια», το 0,09% με την αξιολόγηση «Κακή» και το 26,63% με την αξιολόγηση «Πολύ Κακή». Η αντίστοιχη σχέση εξάρτησης μεταξύ των μεταβλητών φαίνεται και στο περιβάλλον Dependency Network. Εικόνα 7.51: Η σχέση εξάρτησης μεταξύ των μεταβλητών στο περιβάλλον Dependency Network. Παρατηρούμε ότι οι μεταβλητές από τις οποίες εξαρτάται η μεταβλητή rtaudienceevaluation είναι αυτές οι οποίες χρησιμοποιήθηκαν για τον διαχωρισμό του δένδρου στους αντίστοιχους κόμβους. Συγκεκριμένα η μεταβλητή rtaudienceevaluation εξαρτάται σημαντικά από την μεταβλητή rtallcriticsevaluation και τις διάφορες τιμές της, στη συνέχεια από την μεταβλητή rttopcriticsevaluation, στη συνέχεια από την μεταβλητή Year κ.ο.κ. Στο διάγραμμα φαίνεται επίσης και η σημασία της τιμής που ορίσαμε στην παράμετρο Complexity Penalty του αλγορίθμου η οποία αύξησε στο υπερδιπλάσιο τον αριθμό των μεταβλητών που περιγράφουν την μεταβλητή Gender και συγκεκριμένα στις 11. Αξίζει να σημειωθεί ότι η αύξηση των κόμβων του δένδρου και κατ επέκταση των φύλλων και των εξαρτημένων μεταβλητών δεν επηρέασε τα ποσοστά πρόβλεψης της μεταβλητής rtaudienceevaluation. Απλώς έκανε το δένδρο πιο αναλυτικό και πιο περιγραφικό

157 Δένδρο 3 Στο τρίτο δένδρο απόφασης που θα αναπτυχθεί θα ορίσουμε διαφορετική τιμή στην παράμετρο Complexity Penalty και συγκεκριμένα την τιμή 0,999 αναγκάζοντας τον αλγόριθμο να παραγάγει ένα μικρό και απλό δένδρο. Το αποτέλεσμα που λαμβάνουμε μετά την εκτέλεση του μοντέλου στο περιβάλλον Microsoft Tree Viewer είναι το εξής: Εικόνα 7.52: Η γραφική αναπαράσταση του δένδρου 3 στο περιβάλλον Microsoft Tree Viewer. Παρατηρούμε ότι το δένδρο αποτελείται από 4 επίπεδα, 5 κόμβους και 10 φύλλα. Τα λίγα επίπεδα και ο μικρός αριθμός κόμβων και φύλλων που παρουσιάζει το τρίτο δένδρο εξηγούνται από την τιμή που ορίσαμε στην παράμετρο Complexity Penalty του αλγορίθμου. Και σε αυτό το δένδρο όμως η σειρά διαχωρισμού των κόμβων είναι σχεδόν η ίδια με το πρώτο. Δηλαδή πρώτα με βάση την αξιολόγηση όλων των κριτικών, στη συνέχεια με βάση την αξιολόγηση των κορυφαίων κριτικών και τέλος με βάση το έτος παραγωγής. Η αντίστοιχη σχέση εξάρτησης μεταξύ των μεταβλητών φαίνεται και στο περιβάλλον Dependency Network

158 Εικόνα 7.53: Η σχέση εξάρτησης μεταξύ των μεταβλητών στο περιβάλλον Dependency Network. Παρατηρούμε ότι οι μεταβλητές από τις οποίες εξαρτάται η μεταβλητή rtaudienceevaluation είναι αυτές οι οποίες χρησιμοποιήθηκαν για τον διαχωρισμό του δένδρου στους αντίστοιχους κόμβους. Συγκεκριμένα η μεταβλητή rtaudienceevaluation εξαρτάται σημαντικά από την μεταβλητή rtallcriticsevaluation και τις διάφορες τιμές της, στη συνέχεια από την μεταβλητή rttopcriticsevaluation και τέλος από την μεταβλητή Year. Στο διάγραμμα φαίνεται επίσης και η σημασία της τιμής που ορίσαμε στην παράμετρο Complexity Penalty του αλγορίθμου η οποία μείωσε σημαντικά τον αριθμό των μεταβλητών που περιγράφουν την μεταβλητή rtaudienceevaluation και συγκεκριμένα στις τρεις. Αξίζει να σημειωθεί ότι η μείωση των κόμβων του δένδρου και κατ επέκταση των φύλλων και των εξαρτημένων μεταβλητών δεν επηρέασε τα ποσοστά πρόβλεψης της μεταβλητής rtaudienceevaluation. Απλώς έκανε το δένδρο πιο απλό και λιγότερο περιγραφικό

159 7.4.2 Αξιολόγηση των μοντέλων του SQL Server Δένδρο 1 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Lift Chart το δένδρο 1 παρουσιάζει μια σχετικά καλή επίδοση και συγκεκριμένα Score Επίσης παρατηρούμε ότι στο ενδεικτικό σημείο του 50% του συνολικού πληθυσμού, όπου το ιδανικό μοντέλο προβλέπει σωστά το σύνολό του, το μοντέλο μας προβλέπει σωστά το 41,44% του πληθυσμού με πιθανότητα 70,91%. Τέλος παρατηρούμε ότι η ικανότητα πρόβλεψης του μοντέλου μειώνεται όσο αυξάνεται το μέγεθος του συνολικού πληθυσμού και αυτό απεικονίζεται από την απόσταση της καμπύλης του μοντέλου από την ευθεία που αντιπροσωπεύει το ιδανικό μοντέλο. Εικόνα 7.54: Διάγραμμα αξιολόγησης Lift Chart για το δένδρο 1. Επίσης παρατηρούμε ότι στην μήτρα ταξινόμησης (Classification Matrix) το μοντέλο προβλέπει σωστά 17 ταινίες ως πολύ καλές, 1323 ταινίες ως καλές, 150 ταινίες ως μέτριες και 507 ταινίες ως πολύ κακές. Συνολικά το μοντέλο προέβλεψε σωστά την αξιολόγηση 1997 ταινιών και λάθος 993. Έχει δηλαδή δείκτη ακρίβειας 66,7%. Εικόνα 7.55: Classification Matrix για το δένδρο

160 Στην μήτρα σταυροειδούς αξιολόγησης (Cross Validation) για το δένδρο 1 και έχοντας ορίσει τον αριθμό των τμημάτων (partitions) που θα χωριστούν τα δεδομένα επαλήθευσης στα 10, το μοντέλο μας προβλέπει κατά μέσο όρο σωστά σχεδόν 470 περιπτώσεις και λάθος σχεδόν 228 περιπτώσεις σε κάθε τμήμα των δεδομένων επαλήθευσης. Εικόνα 7.56: Cross Validation Matrix σωστών προβλέψεων για το δένδρο 1. Εικόνα 7.57: Cross Validation Matrix λανθασμένων προβλέψεων για το δένδρο 1. Δένδρο

161 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Lift Chart το δένδρο 2 παρουσιάζει μια σχετικά καλή επίδοση και συγκεκριμένα Score Επίσης παρατηρούμε ότι στο ενδεικτικό σημείο του 50% του συνολικού πληθυσμού, όπου το ιδανικό μοντέλο προβλέπει σωστά το σύνολό του, το μοντέλο μας προβλέπει σωστά το 41,61% του πληθυσμού με πιθανότητα 70,91%. Τέλος παρατηρούμε ότι η ικανότητα πρόβλεψης του μοντέλου μειώνεται όσο αυξάνεται το μέγεθος του συνολικού πληθυσμού και αυτό απεικονίζεται από την απόσταση της καμπύλης του μοντέλου από την ευθεία που αντιπροσωπεύει το ιδανικό μοντέλο. Εικόνα 7.58: Διάγραμμα αξιολόγησης Lift Chart για το δένδρο 2. Επίσης παρατηρούμε ότι στην μήτρα ταξινόμησης (Classification Matrix) το μοντέλο προβλέπει σωστά 36 ταινίες ως πολύ καλές, 1327 ταινίες ως καλές, 118 ταινίες ως μέτριες και 587 ταινίες ως πολύ κακές. Συνολικά το μοντέλο προέβλεψε σωστά την αξιολόγηση 2068 ταινιών και λάθος 922. Έχει δηλαδή δείκτη ακρίβειας 69,1%. Εικόνα 7.59: Classification Matrix για το δένδρο

162 Στην μήτρα σταυροειδούς αξιολόγησης (Cross Validation) για το δένδρο 1 και έχοντας ορίσει τον αριθμό των τμημάτων (partitions) που θα χωριστούν τα δεδομένα επαλήθευσης στα 10, το μοντέλο μας προβλέπει κατά μέσο όρο σωστά περίπου 480 περιπτώσεις και λάθος περίπου 217 περιπτώσεις σε κάθε τμήμα των δεδομένων επαλήθευσης. Εικόνα 7.60: Cross Validation Matrix σωστών προβλέψεων για το δένδρο 2. Εικόνα 7.61: Cross Validation Matrix λανθασμένων προβλέψεων για το δένδρο 2. Δένδρο

163 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Lift Chart το δένδρο 3 παρουσιάζει μια σχετικά πιο χαμηλή επίδοση και συγκεκριμένα Score Επίσης παρατηρούμε ότι στο ενδεικτικό σημείο του 50% του συνολικού πληθυσμού, όπου το ιδανικό μοντέλο προβλέπει σωστά το σύνολό του, το μοντέλο μας προβλέπει σωστά το 40,57% του πληθυσμού με πιθανότητα 70,5%. Τέλος παρατηρούμε ότι η ικανότητα πρόβλεψης του μοντέλου μειώνεται όσο αυξάνεται το μέγεθος του συνολικού πληθυσμού και αυτό απεικονίζεται από την απόσταση της καμπύλης του μοντέλου από την ευθεία που αντιπροσωπεύει το ιδανικό μοντέλο. Εικόνα 7.62: Διάγραμμα αξιολόγησης Lift Chart για το δένδρο 3. Επίσης παρατηρούμε ότι στην μήτρα ταξινόμησης (Classification Matrix) το μοντέλο προβλέπει σωστά 17 ταινίες ως πολύ καλές, 1391 ταινίες ως καλές, 74 ταινίες ως μέτριες και 507 ταινίες ως πολύ κακές. Συνολικά το μοντέλο προέβλεψε σωστά την αξιολόγηση 1989 ταινιών και λάθος Έχει δηλαδή δείκτη ακρίβειας 66,5%. Εικόνα 7.63: Classification Matrix για το δένδρο

164 Στην μήτρα σταυροειδούς αξιολόγησης (Cross Validation) για το δένδρο 1 και έχοντας ορίσει τον αριθμό των τμημάτων (partitions) που θα χωριστούν τα δεδομένα επαλήθευσης στα 10, το μοντέλο μας προβλέπει κατά μέσο όρο σωστά περίπου 461 περιπτώσεις και λάθος περίπου 236 περιπτώσεις σε κάθε τμήμα των δεδομένων επαλήθευσης. Εικόνα 7.64: Cross Validation Matrix σωστών προβλέψεων για το δένδρο 3. Εικόνα 7.65: Cross Validation Matrix λανθασμένων προβλέψεων για το δένδρο

165 7.4.3 Συγκριτική αξιολόγηση των μοντέλων του SQL Server Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Lift Chart όλων των δένδρων το δένδρο 2 είναι αυτό με την καλύτερη επίδοση Score και συγκεκριμένα 0,77 ενώ ακολουθούν τα δένδρα 1 και 3 με 0.76 και 0.75 αντίστοιχα. Η διαφορά στην επίδοση score είναι πολύ μικρή κάτι που σημαίνει ότι όλα τα μοντέλα μας κατάφεραν να προβλέψουν σχετικά μέτρια την προβλεπόμενη μεταβλητή. Όσον αφορά το ποσοστό πληθυσμού που προβλέπεται σωστά το δένδρο 2 έχει επίσης την καλύτερη επίδοση με 41,61% με τα δένδρα 1 και 3 να ακολουθούν με 41,44% και 40,57% αντίστοιχα. Τέλος όσον αφορά την πιθανότητα σωστής πρόβλεψης παρατηρούμε ότι τα δένδρα 1 και 2 παρουσιάζουν την ίδια επίδοση με 70,91% με το δένδρο 3 να ακολουθεί με 70,5%. Αξίζει επίσης να σημειωθεί ότι όλα τα δένδρα εμφανίζουν μια πτωτική πορεία όσον αφορά την επίδοση πρόβλεψης όσο αυξάνει το ποσοστό του συνολικού πληθυσμού πράγμα που απεικονίζεται από την απόσταση των καμπύλων τους με την ευθεία του ιδανικού μοντέλου. Εικόνα 7.66: Διάγραμμα αξιολόγησης Lift Chart για όλα τα δένδρα απόφασης

166 Επίσης παρατηρούμε ότι στην μήτρα ταξινόμησης (Classification Matrix) των μοντέλων, το δένδρο 2 προβλέπει καλύτερα την αξιολόγηση «Πολή Καλή» με 36 σωστές προβλέψεις, το δένδρο 3 την αξιολόγηση «Καλή» με 1391 σωστές προβλέψεις, το δένδρο 1 την αξιολόγηση «Μέτρια» με 150 σωστές προβλέψεις και το δένδρο 2 την αξιοολόγηση «Πολύ Κακή» με 587 σωστές προβλέψεις. Συνολικά, την καλύτερη ακρίβεια παρουσιάζει το δένδρο 2 με 69.1% με τα δένδρα 1 και 3 να ακολουθούν με ποσοστά 66.7% και 66.5% αντίστοιχα. Εικόνα 7.67: Classification Matrix για όλα τα δένδρα απόφασης. Συμπερασματικά μπορούμε να πούμε ότι το δεύτερο δένδρο απόφασης είναι το μοντέλο με την καλύτερη επίδοση σε σχέση με τα υπόλοιπα που αναπτύχθηκαν και είναι αυτό που θα χρησιμοποιηθεί για την σύγκριση με το καλύτερο μοντέλο που θα αναδειχθεί στο Rattle στη συνέχεια. Αξίζει να σημειωθεί ότι το καλύτερο μοντέλο ήταν αυτό που αναπτύχθηκε με τροποποιημένη την παράμετρο Complexity Penalty οηγώντας σε ένα πιο πολύπλοκο δένδρο

167 7.5 Εφαρμογή του αλγορίθμου δένδρων απόφασης του Rattle στη βάση δεδομένων Movie Lens Συνεχίζοντας το πρακτικό μέρος της εργασίας θα εφαρμόσουμε τον αλγόριθμο που χρησιμοποιεί το Rattle στην βάση δεδομένων MovieLens. Θα αναπτυχθούν διάφορα δένδρα απόφασης το καθένα με διαφορετικές παραμέτρους του αλγορίθμου και στη συνέχεια θα παρουσιαστούν με την μορφή κειμένου, διαγράμματος και κανόνων απόφασης. Όπως και στην περίπτωση του SQL Server έτσι και εδώ θα προσπαθήσουμε να προβλέψουμε την αξιολόγηση μιας ταινίας από το κοινό του δικτύου Rotten Tomatoes με βάση την αξιολόγηση των κορυφαίων κριτικών, την αξιολόγηση όλων των κριτικών, την χώρα παραγωγής, το είδος της ταινίας και το έτος παραγωγής. Καθώς το Rattle δεν μπορεί να εφαρμόσει μοντέλα πρόβλεψης σε πολλαπλούς πίνακες παρά μόνον σε έναν δημιουργήθηκε ένας νέος πίνακας στην βάση δεδομένων όπως περιγράφηκε στην ενότητα παρουσίαση των βάσεων δεδομένων. Ο πίνακας λοιπόν που θα χρησιμοποιηθεί είναι ο MovieLensRattle και εισήχθη στο Rattle μέσω σύνδεσης ODBC με τον SQL Server Εδώ λοιπόν καθορίζουμε απλώς τον ρόλο των μεταβλητών του πίνακα MovieLensRattle και συγκεκριμένα,, ως μεταβλητή προς πρόβλεψη (Target) θα επιλεγεί το πεδίο rtaudienceevaluation, ως μεταβλητές εισόδου (Input) τα πεδία Year, Genre, rtallcriticsevaluation, rttopcriticsevaluation και ως κλειδί (Ident) το πεδίο ID. Σημειώνεται ότι επειδή το πεδίο Countries περιέχει 69 διαφορετικές κατηγορικές μεταβλητές το Rattle αδυνατεί να το λάβει ως είσοδο οπότε θα το παραβλέψουμε προβλέποντας την προβλεπόμενη μεταβλητή από τις υπόλοιπες. Εικόνα 7.68: Επιλογή των ρόλων των μεταβλητών

168 7.5.1 Προβολή των δένδρων Δένδρο 1 Το πρώτο δένδρο θα κατασκευαστεί με βάση τις προεπιλεγμένες τιμές των παραμέτρων του αλγορίθμου. Έτσι λοιπόν το αποτέλεσμα που λαμβάνουμε με μετά την εκτέλεση του μοντέλου σε μορφή κειμένου είναι το εξής: Εικόνα 7.69: Η αναπαράσταση του δένδρου 1 με τη μορφή κειμένου. Παρατηρούμε ότι το δένδρο αποτελείται από 5 επίπεδα, 5 κόμβους και 6 φύλλα. Ειδικότερα μπορούμε να πούμε ότι η διάκριση της αξιολόγησης του κοινού γίνεται πρώτα με την αξιολόγηση των κορυφαίων κριτικών, στη συνέχεια την αξιολόγηση όλων των κριτικών και τέλος το έτος παραγωγής της ταινίας. Συνολικότερα το μοντέλο αποτελείται από περιπτώσεις όπου το 8,7% προβλέφθηκαν με την αξιολόγηση «Πολύ Καλή», το 53% με την αξιολόγηση «Καλή», το 13% με την αξιολόγηση «Μέτρια», το 0,043% με την αξιολόγηση «Κακή» και το 25% με την αξιολόγηση «Πολύ Κακή». Παρατηρούμε επίσης ότι στο μοντέλο χρησιμοποιήθηκαν μόνο τρεις από το σύνολο των μεταβλητών που ορίσθηκαν ως είσοδος στον αλγόριθμο και συγκεκριμένα οι μεταβλητές rtallcriticsevaluation, rttopcriticsevaluation και Year Η αντίστοιχη γραφική αναπαράσταση του δένδρου είναι η εξής: -162-

169 Εικόνα 7.70: Η γραφική αναπαράσταση του δένδρου 1. Μερικοί από τους κανόνες που δημιουργήθηκαν από την κατασκευή του δένδρου είναι οι εξής:. Εικόνα 7.71: Οι κανόνες απόφασης που δημιουργήθηκαν από το δένδρο 1. Ο πρώτος κανόνας μπορεί να διαβαστεί ως εξής: Αν μία ταινία έχει αξιολογηθεί από όλους τους και τους κορυφαίους κριτικούς ως «Πολύ Κακή» τότε υπάρχει πάρα πολύ μεγάλη πιθανότητα να αξιολογηθεί ως «Πολύ Κακή» και από το κοινό.. Τέλος σημειώνεται ότι για την ανάπτυξη του δένδρου ο αλγόριθμος χρειάστηκε 26,64 δευτερόλεπτα. Δένδρο

170 Στο δεύτερο δένδρο απόφασης που θα αναπτυχθεί θα ορίσουμε διαφορετική τιμή στην παράμετρο Complexity και συγκεκριμένα την τιμή 0,001 αναγκάζοντας τον αλγόριθμο να παραγάγει ένα μεγάλο και πολύπλοκο δένδρο. Το αποτέλεσμα που λαμβάνουμε σε μορφή κειμένου μετά την εκτέλεση του μοντέλου είναι το εξής: Εικόνα 7.72: Η αναπαράσταση του δένδρου 2 με τη μορφή κειμένου. Παρατηρούμε ότι το δένδρο αποτελείται από πάρα πολλά επίπεδα, κόμβους και φύλλα. Επίσης παρατηρούμε ότι αυτή τη φορά ο αλγόριθμος χρησιμοποίησε όλες τις μεταβλητές εισόδου για να περιγράψει την μεταβλητή rtaudienceevaluation. Τα πολλά επίπεδα, οι πολυάριθμοι κόμβοι και τα πολλά φύλλα που παρουσιάζει το δεύτερο δένδρο εξηγούνται από την τιμή που ορίσαμε στην παράμετρο Complexity του αλγορίθμου. Η τιμή της παραμέτρου οφείλεται επίσης και στο ότι ο αλγόριθμος χρησιμοποίησε όλες τις μεταβλητές εισόδου. Αυτό που αξίζει επίσης να σημειωθεί είναι ότι παρόλη την μεγάλη αύξηση των κόμβων και των φύλλων καθώς και την αξιοποίηση όλων των μεταβλητών εισόδου τα ποσοστά πρόβλεψης της αξιολόγησης του κοινού δεν έχουν μεταβληθεί, απλώς το δένδρο που δημιουργήθηκε είναι πιο πολύπλοκο και περιγραφικό. Η αντίστοιχη γραφική αναπαράσταση του δένδρου είναι η εξής: -164-

171 Εικόνα 7.73: Η γραφική αναπαράσταση του δένδρου 2. Μερικοί από τους κανόνες που δημιουργήθηκαν από την κατασκευή του δένδρου είναι οι εξής: Εικόνα 7.74: Οι κανόνες απόφασης που δημιουργήθηκαν από το δένδρο 2. Αυτό που αξίζει να σημειωθεί στους κανόνες που προέκυψαν από το 2 δένδρο είναι ότι είναι πιο πολύπλοκοι, περιέχουν περισσότερες πληροφορίες και είναι πιο εξειδικευμένοι

172 Δένδρο 3 Στο τρίτο δένδρο απόφασης που θα αναπτυχθεί θα ορίσουμε διαφορετική τιμή στην παράμετρο Complexity και συγκεκριμένα την τιμή 0.1, αναγκάζοντας τον αλγόριθμο να παραγάγει ένα πιο μικρό και απλό δένδρο. Το αποτέλεσμα που λαμβάνουμε σε μορφή κειμένου μετά την εκτέλεση του μοντέλου είναι το εξής: Εικόνα 7.75: Η αναπαράσταση του δένδρου 3 με τη μορφή κειμένου. Παρατηρούμε ότι το δένδρο αυτή τη φορά αποτελείται από μόλις 3 επίπεδα, 2 κόμβους και 3 φύλλα! Επίσης παρατηρούμε ότι αυτή τη φορά ο αλγόριθμος χρησιμοποίησε μόνον δύο από τις μεταβλητές εισόδου για να περιγράψει την μεταβλητή rtaudienceevaluation και συγκεκριμένα τις rtallcriticsevaluation και rttopcriticsevaluation. Τα λιγότερα επίπεδα καθώς και κόμβοι και τα φύλλα που παρουσιάζει το τρίτο δένδρο εξηγούνται από την τιμή που ορίσαμε στην παράμετρο Complexity του αλγορίθμου οι οποίες στην ουσία τον ανάγκασαν να χτίσει ένα πολύ απλό και μικρό δένδρο. Η τιμή της παραμέτρου Complexity οφείλεται επίσης και στο ότι ο αλγόριθμος χρησιμοποίησε μόνον δύο από τις μεταβλητές εισόδου. Η αντίστοιχη γραφική αναπαράσταση του δένδρου είναι η εξής: -166-

173 Εικόνα 7.76: Η γραφική αναπαράσταση του δένδρου 3. Μερικοί από τους κανόνες που δημιουργήθηκαν από την κατασκευή του δένδρου είναι οι εξής: Εικόνα 7.77: Οι κανόνες απόφασης που δημιουργήθηκαν από το δένδρο 3. Σε αντίθεση με τα προηγούμενα δένδρα οι κανόνες που δημιουργήθηκαν από αυτό το δένδρο είναι μόλις τρεις καθώς επίσης πιο απλοί και λιγότερο εξειδικευμένοι λόγω των τιμών που ορίσαμε στην αρχή στην παράμετρο Complexity του αλγορίθμου

174 7.5.2 Συγκριτική αξιολόγηση των μοντέλων του Rattle Δένδρο 1 Παρατηρούμε ότι στην μήτρα λαθών (Error Matrix) το μοντέλο προβλέπει σωστά 1434 ταινίες ως καλές, 59 ταινίες ως μέτριες και 614 ταινίες ως πολύ κακές. Συνολικά το μοντέλο προέβλεψε σωστά την αξιολόγηση 2107 ταινιών και λάθος 932. Έχει δηλαδή δείκτη ακρίβειας 69,3%. Εικόνα 7.78: Error Matrix για το δένδρο 1. Δένδρο 2 Παρατηρούμε ότι στην μήτρα λαθών (Error Matrix) το μοντέλο προβλέπει σωστά 38 ταινίες ως πολύ καλές, 1393 ταινίες ως καλές, 110 ταινίες ως μέτριες και 614 ταινίες ως πολύ κακές. Συνολικά το μοντέλο προέβλεψε σωστά την αξιολόγηση 2155 ταινιών και λάθος 884. Έχει δηλαδή δείκτη ακρίβειας 70,9%. Εικόνα 7.79: Error Matrix για το δένδρο

175 Δένδρο 3 Παρατηρούμε ότι στην μήτρα λαθών (Error Matrix) το μοντέλο προβλέπει σωστά 1605 ταινίες ως καλές και 415 ταινίες ως πολύ κακές. Συνολικά το μοντέλο προέβλεψε σωστά την αξιολόγηση 2020 ταινιών και λάθος Έχει δηλαδή δείκτη ακρίβειας 66,4%. Εικόνα 7.80: Error Matrix για το δένδρο 3. Συμπερασματικά μπορούμε να πούμε ότι την αξιολόγηση «Πολύ Καλή» και «Μέτρια» προβλέπει καλύτερα το δεύτερο μοντέλο, την αξιολόγηση «Καλή» το τρίτο μοντέλο και την αξιολόγηση «Πολύ Κακή» με ίδια απόδοση τα μοντέλα 1 και 2. Κανένα μοντέλο δεν προβλέπει την αξιολόγηση «Κακή» γεγονός όμως που είναι λογικό καθώς οι τιμές VeryBad του πεδίου rtaudienceevaluation είναι ελάχιστες. Αντίθετα την αξιολόγηση «Πολύ Καλή» προβλέπουν χειρότερα τα μοντέλα 1 και 3 με μηδενικές σωστές προβλέψεις. Την αξιολόγηση «Καλή» προβλέπει χειρότερα το δεύτερο μοντέλο με 499 λανθασμένες προβλέψεις. Τις αξιολογήσεις «Μέτρια» και «Πολύ Κακή» προβλέπει χειρότερα το τρίτο μοντέλο με μηδενικές και 71 λανθασμένες προβλέψεις αντίστοιχα. Όσον αφορά την ακρίβεια που παρουσιάζουν τα μοντέλα παρατηρούμε ότι καλύτερη επίδοση επιτυγχάνει το δεύτερο μοντέλο με 70,9% με τα μοντέλα 1 και 3 να ακολουθούν με επιδόσεις 69,3% και 66,4% αντίστοιχα. Αξίζει να σημειωθεί ότι το μοντέλο με το καλύτερο ποσοστό ακρίβειας ήταν αυτό που αναπτύχθηκε με την τιμή 0,001 στην παράμετρο Complexity, δηλαδή το πολύ λεπτομερές και πολύπλοκο

176 7.6 Σύγκριση μοντέλων μεταξύ SQL Server και Rattle Δεδομένου ότι το περιβάλλον Data Tools του SQL Server και του Rattle της γλώσσας R δεν παρέχουν τα ίδια εργαλεία διαγραμματικής αξιολόγησης, η σύγκριση των δύο καλύτερων μοντέλων που αναδείχθηκαν ως καλύτερα για κάθε περιβάλλον θα γίνει με βάση την μήτρα ταξινόμησης (Classification Matrix) και την μήτρα λαθών (Error Matrix) αντίστοιχα καθώς αποτυπώνουν τα ίδια μεγέθη. Όπως και στην περίπτωση της βάσης Movie Click τα μεγέθη των δεδομένων που χρησιμοποιήθηκαν στο κάθε περιβάλλον διαφέρουν καθώς ο πίνακας MovieLensRattle που χρησιμοποιήθηκε στο Rattle περιέχει πολλαπλάσια δεδομένα. Επιπλέον ο SQL Server διαχώρισε το σύνολο δεδομένων σε δύο μέρη (δεδομένα εκπαίδευσης και επαλήθευσης) ενώ το Rattle σε τρία (δεδομένα εκπαίδευσης, επαλήθευσης και επικύρωσης) και με διαφορετικά ποσοστά αντιστοίχως. Έτσι η σύγκριση των μοντέλων θα γίνει με βάση τον δείκτη ακρίβειας της πρόβλεψης των μοντέλων ο οποίος αποτελεί και τον πιο αντιπροσωπευτικό όσον αφορά τη συνολική επίδοση των μοντέλων. Έτσι λοιπόν παρατηρούμε ότι το μοντέλο του SQL Server παρουσιάζει δείκτη ακρίβειας 69,1% ενώ το μοντέλο που αναπτύχθηκε στο Rattle 70,9%. Αν και ως συνολικά καλύτερο μοντέλο αναδεικνύεται αυτό του Rattle οφείλουμε να σημειώσουμε ότι όλα τα μοντέλα που αναπτύχθηκαν είχαν σχετικά μικρές αποκλίσεις μεταξύ τους για διαφορετικούς λόγους το καθένα αφού όλα αναπτύχθηκαν με διαφορετικές παραμέτρους. Μπορούμε τέλος να σημειώσουμε ότι το δένδρο που αναπτύχθηκε με τις προεπιλεγμένες τιμές των παραμέτρων του στον SQL Server σημείωσε ποσοστό ακρίβειας 66,7% ενώ το αντίστοιχο του Rattle 69,3%

177 8 Συσταδοποίηση στις βάσεις δεδομένων Σε αυτήν την ενότητα της εργασίας θα γίνει συσταδοποίηση στα σύνολα δεδομένων όπως έγινε και στην προηγούμενη ενότητα με την εφαρμογή δένδρων απόφασης. Αρχικά θα γίνει η εφαρμογή του αλγόριθμου Microsoft Clustering στην βάση δεδομένων Movie Click και στη συνέχεια η εφαρμογή του αλγορίθμου συσταδοποίησης του Rattle στην ίδια βάση. Έπειτα θα ακολουθήσει η εφαρμογή του αλγορίθμου Microsoft Clustering και του αλγορίθμου συσταδοποίησης του Rattle στην βάση δεδομένων Movie Lens. Όσον αφορά τον αλγόριθμο Microsoft Clustering, θα γίνει η παρουσίαση των συστάδων, των χαρακτηριστικών τους και η αξιολόγηση της ικανότητας πρόβλεψης με όλα α αντίστοιχα εργαλεία που παρέχει η πλατφόρμα Data Tools του SQL Server Τέλος θα αναδειχθεί το μοντέλο που προβλέπει καλύτερα την προβλεπόμενη μεταβλητή. Στην περίπτωση του αλγορίθμου συσταδοποίησης του Rattle, δυστυχώς δεν παρέχεται η δυνατότητα αξιολόγησης των μοντέλων που αναπτύσσονται οπότε θα αρκεστούμε στην παρουσίαση των συστάδων που θα δημιουργηθούν σε κάθε μοντέλο και την περιγραφή των χαρακτηριστικών τους

178 8.1 Εφαρμογή του αλγορίθμου Microsoft Clustering στη βάση δεδομένων Movie Click Ξεκινώντας το την τελευταία ενότητα του πρακτικού μέρους της εργασίας θα εφαρμόσουμε στον αλγόριθμο Microsoft Clustering στην βάση δεδομένων Movie Click. Θα αναπτυχθούν διάφορα μοντέλα το καθένα με διαφορετικές παραμέτρους του αλγορίθμου και στη συνέχεια θα παρουσιαστούν τα αποτελέσματα στα περιβάλλοντα Microsoft Cluster Viewer, Cluster Diagram, Cluster Profiles και Cluster Characterisitcs.. Αρχικά όμως πρέπει να οριστεί ποια ή ποιες μεταβλητές θα αποτελέσουν το στόχο πρόβλεψης του μοντέλου και ποιες την είσοδό του. Όπως και στην περίπτωση των δένδρων απόφασης που αναπτύχθηκαν στην προηγούμενη ενότητα, το ποια μεταβλητή θα αποτελέσει την μεταβλητή προς πρόβλεψη καθώς και ποιες μεταβλητές θα χρησιμοποιηθούν ως βάση για τη συσταδοποίηση αποτελεί ένα υποκειμενικό ζήτημα και εξαρτάται από το πώς θέλει να χρησιμοποιήσει το κάθε μοντέλο ο αναλυτής. Για παράδειγμα, στην βάση δεδομένων Movie Click υπάρχει πληθώρα μεταβλητών που μπορούν να χρησιμοποιηθούν για να γίνει συσταδοποίηση των δεδομένων, όπως το μορφωτικό επίπεδο των πελατών, ο αριθμός των παιδιών, ο αριθμός των αυτοκινήτων που διαθέτουν, ο αριθμός των τηλεοράσεων και πολλά άλλα. Κάθε μοντέλο μπορεί να χρησιμοποιηθεί για αντίστοιχες επιχειρηματικές αποφάσεις όπως για παράδειγμα ποιοι πελάτες ανήκουν στην κατηγορία με το υψηλότερο μορφωτικό επίπεδο ώστε να γίνουν προτάσεις για συγκεκριμένες ταινίες, ποιοι πελάτες έχουν παιδιά και πόσα ώστε να γίνουν προσφορές παιδικών ταινιών κτλ. Αντίστοιχα μεγάλο εύρος επιλογών παρουσιάζουν και τα δεδομένα που μπορούν να χρησιμοποιηθούν ως στόχος πρόβλεψης του μοντέλου. Για παράδειγμα μπορεί το video club να θέλει να συσταδοποιήσει τους πελάτες του θέλοντας να προβλέψει την συχνότητα ενοικίασης ταινιών. Στην παρούσα εργασία θα προσπαθήσουμε συσταδοποιήσουμε τους πελάτες με βάση την ηλικία τους, τον αριθμό των παιδιών που έχουν, τον αριθμό των αυτοκινήτων, τον αριθμό των αριθμό των τηλεοράσεων, τον αριθμό των μπάνιων και τον αριθμό των κρεβατοκάμαρων που διαθέτουν θέλοντας παράλληλα να προβλέψουμε την οικογενειακή τους κατάσταση (δηλαδή αν είναι παντρεμένοι, διαζευγμένοι κτλ)

179 Δηλαδή ο πίνακας Customers θα αποτελέσει τον πίνακα πυρήνα στο μοντέλο πρόβλεψης ενώ δεν θα υπάρχουν εμφωλευμένοι πίνακες καθώς όλες οι πληροφορίες που χρειαζόμαστε βρίσκονται στον πίνακα Customers.. Εικόνα 8.1: Επιλογή των πινάκων που θα χρησιμοποιηθούν και των ρόλων τους. Αντίστοιχα, ως μεταβλητή προς πρόβλεψη θα επιλεγεί το πεδίο Marital Status και ως μεταβλητές εισόδου τα πεδία Age, Num Bathrooms, Num Bedrooms, Num Cars, Num Children και Num TVs ενώ ως κλειδί θα χρησιμοποιηθεί το πεδίο CustomerID. Εικόνα 8.2: Επιλογή των πεδίων των πινάκων και των ρόλων τους

180 8.1.1 Προβολή των συστάδων Συσταδοποίηση 1 Η πρώτη συσταδοποίηση θα κατασκευαστεί με βάση τις προεπιλεγμένες τιμές των παραμέτρων του αλγορίθμου. Έτσι λοιπόν το αποτέλεσμα που λαμβάνουμε με μετά την εκτέλεση του μοντέλου στο περιβάλλον Microsoft Cluster Viewer είναι το εξής: Εικόνα 8.3: Η διαγραμματική αναπαράσταση της συσταδοποίησης 1 στο περιβάλλον Microsoft Cluster Viewer. Παρατηρούμε ότι το μοντέλο χώρισε τα δεδομένα σε 10 συστάδες καθώς αυτή ήταν η προεπιλεγμένη τιμή της παραμέτρου Cluster Count του αλγορίθμου. Επίσης παρατηρούμε ότι όσο πιο έντονο είναι το χρώμα μιας συστάδας τόσο πιο μεγάλη είναι η πυκνότητα των περιπτώσεων που ομαδοποιούνται σε αυτήν. Έτσι σε αυτό το μοντέλο έ- ντονη πυκνότητα παρουσιάζουν η πρώτη και δεύτερη συστάδα ενώ ασθενή πυκνότητα η δέκατη συστάδα. Επίσης μπορούμε να βγάλουμε συμπεράσματα για τις σχέσεις μεταξύ των συστάδων όπου οι έντονοι δεσμοί σημαίνουν δυνατές σχέσεις και οι ασθενείς δεσμοί αδύναμες. Έτσι στο συγκεκριμένο μοντέλο έντονες σχέσεις μεταξύ τους παρουσιάζουν οι συστάδες 1, 3 και 10, η 4 με την 6 και οι 2, 7 και 9. Τέλος βλέπουμε ότι η συστάδα με την μεγαλύτερη απόσταση άρα και με τις μεγαλύτερες διαφορές από τις υπόλοιπες είναι η όγδοη

181 Τα χαρακτηριστικά των συστάδων παρουσιάζονται στο περιβάλλον Cluster Profiles. Εικόνα 8.4: Το προφίλ των συστάδων στο περιβάλλον Cluster Profiles. Οι συστάδες παρουσιάζονται με φθίνουσα σειρά του πληθυσμού τους. Προσπαθώντας να αναγνώσουμε τα ιστογράμματα που παρουσιάζονται μπορούμε να πούμε ότι για όλο τον πληθυσμό η μέση ηλικία είναι κοντά στα 33 χρόνια, το μεγαλύτερο μέρος του πληθυσμού είναι παντρεμένοι και έχουν 2 αυτοκίνητα. Για την συστάδα 1 βλέπουμε ότι περιέχει 556 περιπτώσεις και τα χαρακτηριστικά που την διακρίνουν είναι ότι οι πελάτες είναι ηλικίας 20-28, δεν είναι παντρεμένοι, έχουν το πολύ ένα παιδί, ένα αυτοκίνητο και το πολύ 2 τηλεοράσεις. Για τη συστάδα 2 βλέπουμε ότι περιέχει 415 περιπτώσεις και τα χαρακτηριστικά που τη διακρίνουν είναι ότι όλες σχεδόν οι περιπτώσεις πελατών που διαθέτει είναι ετών και παντρεμένοι ενώ έχουν δύο με τέσσερα παιδιά, τρία με τέσσερα αυτοκίνητα και τρεις με πέντε τηλεοράσεις. Για τη συστάδα 4 βλέπουμε ότι περιέχει 271 περιπτώσεις και τα χαρακτηριστικά που τη διακρίνουν είναι ότι το μεγαλύτερο μέρος των πελατών είναι ετών και παντρεμένοι, έχουν το πολύ ένα παιδί, δύο αυτοκίνητα και δύο τηλεοράσεις. Αντίστοιχα μπορούν να αναγνωσθούν και τα χαρακτηριστικά των υπόλοιπων συστάδων που δημιουργήθηκαν. Τέλος παρατηρούμε ότι το μεγαλύτερο μέγεθος έχει η συστάδα 1 με 556 περιπτώσεις ενώ το μικρότερο η συστάδα 10 με 48 περιπτώσεις

182 Συσταδοποίηση 2 Η δεύτερη συσταδοποίηση θα κατασκευαστεί δίνοντας στην παράμετρο Cluster Count την τιμή 0 και στην παράμετρο Clustering Method την τιμή 2, αφήνοντας τις προεπιλεγμένες τιμές στις υπόλοιπες. Έτσι ο αλγόριθμος θα χρησιμοποιήσει την μέθοδο Non- Scalable EM και θα κατασκευάσει όσες συστάδες κρίνει κατάλληλες. Έτσι λοιπόν το αποτέλεσμα που λαμβάνουμε με μετά την εκτέλεση του μοντέλου στο περιβάλλον Microsoft Cluster Viewer είναι το εξής: Εικόνα 8.5: Η διαγραμματική αναπαράσταση της συσταδοποίησης 2 στο περιβάλλον Microsoft Cluster Viewer. Παρατηρούμε ότι το μοντέλο χώρισε τα δεδομένα σε 12 συστάδες καθώς τόσες θεώρησε ο αλγόριθμος ότι πρέπει να δημιουργήσει ώστε να περιγράψει καλύτερα τα δεδομένα. Επίσης παρατηρούμε ότι σε αυτό το μοντέλο έντονη πυκνότητα παρουσιάζει η πρώτη συστάδα ενώ ασθενή πυκνότητα η δωδέκατη συστάδα. Επίσης παρατηρούμε ότι έντονες σχέσεις μεταξύ τους παρουσιάζουν οι συστάδες 2, 11 και 8, η 5 με την 6 και την 3, και η 1 με την 7 και 3. Βλέπουμε ότι όσο περισσότερες είναι οι συστάδες που δημιουργούνται τόσο περισσότερες είναι και οι σχέσεις που προκύπτουν μεταξύ τους είτε αυτές είναι δυνατές με έ- ντονους δεσμούς είτε αδύναμες με ασθενείς δεσμούς. Τέλος βλέπουμε ότι η συστάδα με την μεγαλύτερη απόσταση άρα και με τις μεγαλύτερες διαφορές από τις υπόλοιπες είναι η έκτη

183 Τα χαρακτηριστικά των συστάδων παρουσιάζονται στο περιβάλλον Cluster Profiles. Εικόνα 8.6: Το προφίλ των συστάδων στο περιβάλλον Cluster Profiles. Οι συστάδες παρουσιάζονται με φθίνουσα σειρά του πληθυσμού τους. Προσπαθώντας να αναγνώσουμε τα ιστογράμματα που παρουσιάζονται μπορούμε να πούμε ότι για όλο τον πληθυσμό η μέση ηλικία είναι μεταξύ 29 και 33 χρόνια, το μεγαλύτερο μέρος του πληθυσμού είναι παντρεμένοι και έχουν 2 αυτοκίνητα. Για την συστάδα 1 βλέπουμε ότι περιέχει 549 περιπτώσεις και τα χαρακτηριστικά που την διακρίνουν είναι ότι οι πελάτες είναι ηλικίας 20-28, δεν είναι παντρεμένοι, έχουν το πολύ ένα παιδί, ένα αυτοκίνητο και 2 τηλεοράσεις. Για τη συστάδα 2 βλέπουμε ότι περιέχει 357 περιπτώσεις και τα χαρακτηριστικά που τη διακρίνουν είναι ότι όλες σχεδόν οι περιπτώσεις πελατών που διαθέτει είναι ετών και παντρεμένοι ενώ έχουν δύο με τέσσερα παιδιά, τρία με τέσσερα αυτοκίνητα και τρεις με πέντε τηλεοράσεις. Για τη συστάδα 3 βλέπουμε ότι περιέχει 309 περιπτώσεις και τα χαρακτηριστικά που τη διακρίνουν είναι ότι το μεγαλύτερο μέρος των πελατών είναι ετών και παντρεμένοι, έχουν το πολύ ένα παιδί, τρία με τέσσερα αυτοκίνητα και δύο τηλεοράσεις. Αντίστοιχα μπορούν να αναγνωσθούν και τα χαρακτηριστικά των υπόλοιπων συστάδων που δημιουργήθηκαν. Τέλος παρατηρούμε ότι το μεγαλύτερο μέγεθος έχει η συστάδα 1 με 549 περιπτώσεις ενώ το μικρότερο η συστάδα 12 με 41 περιπτώσεις

184 Συσταδοποίηση 3 Η τρίτη συσταδοποίηση θα κατασκευαστεί δίνοντας στην παράμετρο Clustering Method την τιμή 3 και αφήνοντας τις προεπιλεγμένες τιμές στις υπόλοιπες. Ο αλγόριθμος δηλαδή θα χρησιμοποιήσει την μέθοδο Scalable K-Means για την ανάπτυξη των συστάδων. Έτσι λοιπόν το αποτέλεσμα που λαμβάνουμε με μετά την εκτέλεση του μοντέλου στο περιβάλλον Microsoft Cluster Viewer είναι το εξής: Εικόνα 8.7: Η διαγραμματική αναπαράσταση της συσταδοποίησης 3 στο περιβάλλον Microsoft Cluster Viewer. Παρατηρούμε ότι το μοντέλο χώρισε τα δεδομένα σε 10 συστάδες καθώς η τιμή της παραμέτρου Cluster Count ήταν 10. Επίσης παρατηρούμε ότι σε αυτό το μοντέλο έντονη πυκνότητα παρουσιάζει η πρώτη συστάδα ενώ ασθενή πυκνότητα παρουσιάζουν σχεδόν όλες οι υπόλοιπες συστάδες με εξαίρεση την δεύτερη. Επίσης παρατηρούμε ότι έντονες σχέσεις μεταξύ τους παρουσιάζουν οι συστάδες 2, 4 και 5, η 8 με την 6 και την 7, και η 1 με την 6 και 10. Βλέπουμε ότι στο συγκεκριμένο μοντέλο οι συστάδες που δημιουργήθηκαν έχουν μεγαλύτερες αποστάσεις μεταξύ τους και σχετικά λιγότερους έντονους δεσμούς. Πιο συγκεκριμένα οι συστάδες 2, 4, 5, 6, 7 και 8 δείχνουν να έχουν περισσότερες ομοιότητες και οι συστάδες 1, 3, 9 και 10 τις μεγαλύτερες ανομοιότητες. Τέλος βλέπουμε ότι η συστάδα με την μεγαλύτερη απόσταση άρα και με τις μεγαλύτερες διαφορές από τις υπόλοιπες είναι η ένατη

185 Τα χαρακτηριστικά των συστάδων παρουσιάζονται στο περιβάλλον Cluster Profiles. Εικόνα 8.8: Το προφίλ των συστάδων στο περιβάλλον Cluster Profiles. Οι συστάδες παρουσιάζονται με φθίνουσα σειρά του πληθυσμού τους. Προσπαθώντας να αναγνώσουμε τα ιστογράμματα που παρουσιάζονται μπορούμε να πούμε ότι για όλο τον πληθυσμό η μέση ηλικία είναι μεταξύ 29 και 33 χρόνια, το μεγαλύτερο μέρος του πληθυσμού είναι παντρεμένοι και έχουν 2 αυτοκίνητα. Για την συστάδα 1 βλέπουμε ότι περιέχει 1448 περιπτώσεις και τα χαρακτηριστικά που την διακρίνουν είναι ότι οι πελάτες είναι ηλικίας 39-55, είναι παντρεμένοι, έχουν δύο με τέσσερα παιδιά, τρία με τέσσερα αυτοκίνητα και τρεις με πέντε τηλεοράσεις. Για τη συστάδα 2 βλέπουμε ότι περιέχει 520 περιπτώσεις και τα χαρακτηριστικά που τη διακρίνουν είναι ότι όλες σχεδόν οι περιπτώσεις πελατών που διαθέτει είναι ετών και δεν είναι παντρεμένοι ενώ έχουν το πολύ ένα παιδί, το πολύ ένα αυτοκίνητο και δύο τηλεοράσεις. Για τη συστάδα 3 βλέπουμε ότι περιέχει 76 περιπτώσεις και τα χαρακτηριστικά που τη διακρίνουν είναι ότι το μεγαλύτερο μέρος των πελατών είναι ετών και δεν είναι παντρεμένοι, έχουν το πολύ ένα παιδί, το πολύ ένα αυτοκίνητο και το πολύ μία τηλεόραση. Αντίστοιχα μπορούν να αναγνωσθούν και τα χαρακτηριστικά των υπόλοιπων συστάδων που δημιουργήθηκαν. Τέλος παρατηρούμε ότι το μεγαλύτερο μέγεθος έχει η συστάδα 1 με 1448 περιπτώσεις ενώ το μικρότερο η συστάδα 10 με μόλις 3 περιπτώσεις. Αυτό είναι δυνατόν αφού η παράμετρος Minimum Support του αλγορίθμου έχει την προεπιλεγμένη τιμή

186 8.1.2 Αξιολόγηση των μοντέλων του SQL Server Συσταδοποίηση 1 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Lift Chart η συσταδοποίηση 1 παρουσιάζει μια αρκετά καλή επίδοση και συγκεκριμένα Score Επίσης παρατηρούμε ότι στο ενδεικτικό σημείο του 50% του συνολικού πληθυσμού, όπου το ιδανικό μοντέλο προβλέπει σωστά το σύνολό του, το μοντέλο μας προβλέπει σωστά το 45,30% του πληθυσμού με πιθανότητα 77,16%. Τέλος παρατηρούμε ότι η ικανότητα πρόβλεψης του μοντέλου μειώνεται όσο αυξάνεται το μέγεθος του συνολικού πληθυσμού και αυτό α- πεικονίζεται από την απόσταση της καμπύλης του μοντέλου από την ευθεία που αντιπροσωπεύει το ιδανικό μοντέλο. Εικόνα 8.11: Διάγραμμα αξιολόγησης Lift Chart για την συσταδοποίηση 1. Επίσης παρατηρούμε ότι στην μήτρα ταξινόμησης (Classification Matrix) το μοντέλο προβλέπει σωστά 235 πελάτες ως άγαμους και 486 πελάτες ως παντρεμένους. Συνολικά το μοντέλο προέβλεψε σωστά την οικογενειακή κατάσταση 721 πελατών και λάθος 204. Έχει δηλαδή δείκτη ακρίβειας 77,9%. Εικόνα 8.12: Classification Matrix για τη συσταδοποίηση

187 Στην μήτρα σταυροειδούς αξιολόγησης (Cross Validation) για την συσταδοποίηση 1 και έχοντας ορίσει τον αριθμό των τμημάτων (partitions) που θα χωριστούν τα δεδομένα επαλήθευσης στα 10, το μοντέλο μας προβλέπει κατά μέσο όρο σωστά σχεδόν 167 περιπτώσεις και λάθος περίπου 49 περιπτώσεις σε κάθε τμήμα των δεδομένων επαλήθευσης. Εικόνα 8.13: Cross Validation Matrix σωστών προβλέψεων για τη συσταδοποίηση 1. Εικόνα 8.14: Cross Validation Matrix λανθασμένων προβλέψεων για τη συσταδοποίηση

188 Συσταδοποίηση 2 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Lift Chart η συσταδοποίηση 2 παρουσιάζει μια αρκετά καλή επίδοση και συγκεκριμένα Score Επίσης παρατηρούμε ότι στο ενδεικτικό σημείο του 50% του συνολικού πληθυσμού, όπου το ιδανικό μοντέλο προβλέπει σωστά το σύνολό του, το μοντέλο μας προβλέπει σωστά το 44,54% του πληθυσμού με πιθανότητα 77,25%. Τέλος παρατηρούμε ότι η ικανότητα πρόβλεψης του μοντέλου μειώνεται όσο αυξάνεται το μέγεθος του συνολικού πληθυσμού και αυτό α- πεικονίζεται από την απόσταση της καμπύλης του μοντέλου από την ευθεία που αντιπροσωπεύει το ιδανικό μοντέλο. Εικόνα 8.15: Διάγραμμα αξιολόγησης Lift Chart για την συσταδοποίηση 2. Επίσης παρατηρούμε ότι στην μήτρα ταξινόμησης (Classification Matrix) το μοντέλο προβλέπει σωστά 230 πελάτες ως άγαμους και 493 πελάτες ως παντρεμένους. Συνολικά το μοντέλο προέβλεψε σωστά την οικογενειακή κατάσταση 723 πελατών και λάθος 202. Έχει δηλαδή δείκτη ακρίβειας 78,1%. Εικόνα 8.16: Classification Matrix για τη συσταδοποίηση

189 Στην μήτρα σταυροειδούς αξιολόγησης (Cross Validation) για την συσταδοποίηση 1 και έχοντας ορίσει τον αριθμό των τμημάτων (partitions) που θα χωριστούν τα δεδομένα επαλήθευσης στα 10, το μοντέλο μας προβλέπει κατά μέσο όρο σωστά περίπου 167 περιπτώσεις και λάθος σχεδόν 49 περιπτώσεις σε κάθε τμήμα των δεδομένων επαλήθευσης. Εικόνα 8.17: Cross Validation Matrix σωστών προβλέψεων για τη συσταδοποίηση 2. Εικόνα 8.18: Cross Validation Matrix λανθασμένων προβλέψεων για τη συσταδοποίηση

190 Συσταδοποίηση 3 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Lift Chart η συσταδοποίηση 2 παρουσιάζει μια σχετικά μέτρια επίδοση και συγκεκριμένα Score Επίσης παρατηρούμε ότι στο ενδεικτικό σημείο του 50% του συνολικού πληθυσμού, όπου το ιδανικό μοντέλο προβλέπει σωστά το σύνολό του, το μοντέλο μας προβλέπει σωστά μόλις το 33,38% του πληθυσμού με πιθανότητα 79,96%. Τέλος παρατηρούμε ότι η ικανότητα πρόβλεψης του μοντέλου μειώνεται όσο αυξάνεται το μέγεθος του συνολικού πληθυσμού και αυτό απεικονίζεται από την απόσταση της καμπύλης του μοντέλου από την ευθεία που αντιπροσωπεύει το ιδανικό μοντέλο. Εικόνα 8.19: Διάγραμμα αξιολόγησης Lift Chart για την συσταδοποίηση 3. Επίσης παρατηρούμε ότι στην μήτρα ταξινόμησης (Classification Matrix) το μοντέλο προβλέπει σωστά 192 πελάτες ως άγαμους και 502 πελάτες ως παντρεμένους. Συνολικά το μοντέλο προέβλεψε σωστά την οικογενειακή κατάσταση 694 πελατών και λάθος 231. Έχει δηλαδή δείκτη ακρίβειας 75%. Εικόνα 8.20: Classification Matrix για τη συσταδοποίηση

191 Στην μήτρα σταυροειδούς αξιολόγησης (Cross Validation) για την συσταδοποίηση 3 και έχοντας ορίσει τον αριθμό των τμημάτων (partitions) που θα χωριστούν τα δεδομένα επαλήθευσης στα 10, το μοντέλο μας προβλέπει κατά μέσο όρο σωστά σχεδόν 161 περιπτώσεις και λάθος περίπου 55 περιπτώσεις σε κάθε τμήμα των δεδομένων επαλήθευσης. Εικόνα 8.21: Cross Validation Matrix σωστών προβλέψεων για τη συσταδοποίηση 3. Εικόνα 8.22: Cross Validation Matrix λανθασμένων προβλέψεων για τη συσταδοποίηση

192 8.1.3 Συγκριτική αξιολόγηση των μοντέλων του SQL Server Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Lift Chart όλων των μοντέλων τα μοντέλα 1 και 2 είναι αυτά με την καλύτερη επίδοση Score και συγκεκριμένα 0,86 ενώ ακολουθεί το μοντέλο 3 με 0.78αντίστοιχα. Η διαφορά στην επίδοση score μεταξύ των 2 πρώτων και του τρίτου μοντέλου είναι αρκετά μεγάλη κάτι που σημαίνει ότι μόνον δύο από τα μοντέλα μας κατάφεραν να προβλέψουν με σχετική επιτυχία την προβλεπόμενη μεταβλητή. Όσον αφορά το ποσοστό πληθυσμού που προβλέπεται σωστά το πρώτο μοντέλο έχει την καλύτερη επίδοση με 45,3% με τα μοντέλα 2 και 3 να ακολουθούν με 45,54% και 38,38% αντίστοιχα. Τέλος όσον αφορά την πιθανότητα σωστής πρόβλεψης παρατηρούμε ότι το τρίτο μοντέλο παρουσιάζει την καλύτερη επίδοση με 79,96% με τα μοντέλα 2 και 1 να ακολουθούν με 77,25% και 77,16% αντίστοιχα. Αυτή η διαφορά στη σειρά κατάταξης των μοντέλων σε σχέση με τους προηγούμενους δείκτες μπορεί να δικαιολογηθεί από τις τιμές που είχαν κάθε φορά οι παράμετροι του αλγορίθμου. Αξίζει επίσης να σημειωθεί ότι όλα τα μοντέλα εμφανίζουν μια πτωτική πορεία όσον αφορά την επίδοση πρόβλεψης όσο αυξάνει το ποσοστό του συνολικού πληθυσμού πράγμα που απεικονίζεται από την απόσταση των καμπύλων τους με την ευθεία του ιδανικού μοντέλου. Εικόνα 8.27: Διάγραμμα αξιολόγησης Lift Chart για όλα τα μοντέλα συσταδοποίησης

193 Επίσης παρατηρούμε ότι στην μήτρα ταξινόμησης (Classification Matrix) των μοντέλων, το μοντέλο 1 προβλέπει καλύτερα την οικογενειακή κατάσταση «Άγαμοι» με 235 σωστές προβλέψεις και το μοντέλο 3 την οικογενειακή κατάσταση «Έγγαμοι» με 502 σωστές προβλέψεις. Αντίθετα την οικογενιακή κατάσταση «Άγαμοι» προβλέπει χειρότερα το μοντέλο 3 με 90 λανθασμένες προβλέψεις και την οικογενειακή κατάσταση «Έγγαμοι» το μοντέλο 1 με 87 λανθασμένες προβλέψεις. Συνολικά, την καλύτερη ακρίβεια παρουσιάζει το δεύτερο μοντέλο με 78.1% με τα μοντέλα 1 και 3 να ακολουθούν με ποσοστά 77.9% και 75% αντίστοιχα. Εικόνα 8.28: Classification Matrix για όλα τα μοντέλα συσταδοποίησης. Συμπερασματικά μπορούμε να πούμε ότι το δεύτερο είναι το μοντέλο με την καλύτερη επίδοση σε σχέση με τα υπόλοιπα που αναπτύχθηκαν και είναι αυτό που αναπτύχθηκε με την μέθοδο Non Scalable-EM και αφήνοντας τον αλγόριθμο να επιλέξει αυτός τον αριθμό των συστάδων που θα δημιουργηθούν

194 8.2 Εφαρμογή του αλγορίθμου συσταδοποίησης του Rattle στη βάση δεδομένων Movie Click Στη συνέχεια αυτής της ενότητας της εργασίας θα εφαρμόσουμε τον αλγόριθμο συσταδοποίησης που χρησιμοποιεί το Rattle στην βάση δεδομένων Movie Click. Θα αναπτυχθούν διάφορα μοντέλα συσταδοποίησης το καθένα με διαφορετικές παραμέτρους του αλγορίθμου και στη συνέχεια θα παρουσιαστούν με την μορφή κειμένου και διαγράμματος. Σε αντίθεση με την περίπτωση του SQL Server, εδώ δεν θα προσπαθήσουμε να προβλέψουμε την οικογενειακή κατάσταση των πελατών καθώς το Rattle δεν παρέχει την δυνατόητα πρόβλεψης μεταβλητών με συσταδοποίηση. Παρόλα αυτά όμως θα γίνει συσταδοποίηση των πελατών με βάση την ηλικία τους, τον αριθμό των παιδιών τους τον αριθμό των αυτοκινήτων τους, των αριθμό των τηλεοράσεων που κατέχουν και τον αριθμό των κρεβατοκάμαρων και των μπάνιων που έχουν στις οικίες τους. Ο πίνακας λοιπόν που θα χρησιμοποιηθεί είναι ο Customers και εισήχθη στο Rattle μέσω σύνδεσης ODBC με τον SQL Server Εδώ λοιπόν καθορίζουμε απλώς τον ρόλο των μεταβλητών του πίνακα Customers και συγκεκριμένα, ως μεταβλητές εισόδου (Input) τα πεδία Age, Num Bathrooms, Num Bedrooms, Num Cars, Num Children, Num TVs και ως κλειδί (Ident) το πεδίο CustomerID. Εικόνα 8.29: Επιλογή των ρόλων των μεταβλητών

195 8.2.1 Προβολή των συστάδων Συσταδοποίηση 1 Το πρώτο μοντέλο θα κατασκευαστεί με βάση τον αλγόριθμο K-Means και τις προεπιλεγμένες τιμές των παραμέτρων του αλγορίθμου. Έτσι λοιπόν το αποτέλεσμα που λαμβάνουμε με μετά την εκτέλεση του μοντέλου σε μορφή κειμένου είναι το εξής: Εικόνα 8.30: Η αναπαράσταση της συσταδοποίησης 1 με τη μορφή κειμένου. Παρατηρούμε ότι το μοντέλο δημιούργησε 10 συστάδες καθώς η προεπιλεγμένη τιμή της παραμέτρου Number of clusters ήταν 10. Αρχικά παρουσιάζεται το μέγεθος των συστάδων που δημιουργήθηκαν με μεγαλύτερο αυτό της ένατης συστάδας με 291 περιπτώσεις και μικρότερο αυτό της πρώτης με 117 περιπτώσεις. Στη συνέχεια παρουσιάζονται οι μέσες τιμές των μεταβλητών που επιλέχθηκαν ως είσοδος του μοντέλου για όλο το σύνολο δεδομένων όπου παρατηρούμε ότι η μέση ηλικία των πελατών είναι 33 χρόνια, ο μέσος αριθμός παιδιών μεταξύ 0 και 1, ο μέσος α- ριθμός αυτοκινήτων μεταξύ 2 και 3, ο μέσος αριθμός τηλεοράσεων περίπου 2, ο μέσος αριθμός μπάνιων περίπου 2 και ο μέσος αριθμός κρεβατοκάμαρων περίπου

196 Στη συνέχεια παρουσιάζονται οι συστάδες με τα κέντρα τους για κάθε μεταβλητή εισόδυο. Έτσι ενδεικτικά βλέπουμε ότι ο μέσος όρος ηλικίας των πελατών της ένατης συστάδας, που είναι και η μεγαλύτερη, είναι 38 χρόνια. Επίσης οι πελάτες σε αυτή τη συστάδα έχουν ένα ή δύο παιδιά, 2 αυτοκίνητα και δύο με τρεις τηλεοράσεις. Τέλος σημειώνεται ότι για την ανάπτυξη του δένδρου ο αλγόριθμος χρειάστηκε 2,17 δευτερόλεπτα. Στη συνέχεια παρουσιάζονται το άθροισμα των τετραγώνων των αποστάσεων των σημείων της κάθε συστάδας. Τα μεγαλύτερα νούμερα δείχνουν ότι οι αποστάσεις μεταξύ των σημείων και άρα οι ανομοιότητες μεταξύ των περιπτώσεων της κάθε συστάδας είναι μεγαλύτερες. Έτσι παρατηρούμε ότι μεγαλύτερες ανομοιότητες στις παρατηρήσεις της παρουσιάζει η πρώτη συστάδα ενώ μεγαλύτερη ομοιότητα παρουσιάζουν οι παρατηρήσεις της τρίτης συστάδας. Η διαγραμματική απεικόνιση των συστάδων παρουσιάζεται στο Discriminant Plot όπου τα αποτελέσματα είναι τα εξής: Εικόνα 8.31: Discriminant Plot για την συσταδοποίηση 1. Παρατηρούμε ότι οι συστάδες αντιπροσωπεύονται με τον αριθμό τους και με διαφορετικό χρώμα η κάθε μια. Το διάγραμμα επιβεβαιώνει ότι η συστάδα 1 έχει την μεγαλύτερη ανομοιότητα και η συστάδα 3 την μεγαλύτερη ομοιότητα αφού οι περιπτώσεις της κάθε μιας έχουν μεγάλη και αντίστοιχα μικρή απόστασταση η μία από την άλλη

197 Αν στη συνέχεια ενεργοποιήσουμε την επιλογή Iterate Clusters τότε ο αλγόριθμος θα αναπτύξει το μοντέλο δημιουργώντας στην αρχή δύο συστάδες, στη συνέχεια τρεις και θα αυξάνει διαδοχικά μέχρι τις 10 που είναι και η τιμή της παραμέτρου Number of clusters. Στη συνέχεια παρουσιάζεται η κατανομή του αθροίσματος των τετραγώνων των αποστάσεων μεταξύ των σημείων των συστάδων όπως υπολογίζονται κατά την διαδικασία αυτή. Εικόνα 8.32: Διαγραμματική αναπαράσταση των ανομοιοτήτων μεταξύ των συστάδων. Παρατηρούμε ότι τις μεγάλες διαφορές που υπάρχουν στις αποστάσεις των σημείων που αντιπροσωπεύουν τις ανομοιότητες των συστάδων. Αυτό σημαίνει ότι αν ο αλγοριθμος διαχώριζε τα δεδομένα μόνο σε τρεις συστάδες η ανομοιότητα που θα υπήρχε μεταξύ των περιπτώσεων της κάθε μιας θα ήταν μεγάλη. Τέλος βλέπουμε ότι η διαφορα και το μέγεθος των ανομοιοτητων φθίνει όσο ο αλγόριθμος δημιουργεί περισσότερες συστάδες πράγμα που σημαίνει ότι κάνει καλύτερη κατανομή των περιπτώσεων και διαχωρίζει τα δεδομένα σε πιο αντιπροσωπευτικά υποσύνολα

198 Συσταδοποίηση 2 Το δεύτερο μοντέλο θα κατασκευαστεί με βάση τον αλγόριθμο K-Means δίνοντας στην παράμετρο Runs την τιμή 100. Ο αλγόριθμος λοιπόν θα αναπτύξει το ίδιο μοντέλο εκατό φορές και θα διαλέξει αυτό που θα παρουσιάσει την καλύτερη κατανομή στις περιπτώσεις που περιέχονται στα συστάδες του. Έτσι λοιπόν το αποτέλεσμα που λαμβάνουμε με μετά την εκτέλεση του μοντέλου σε μορφή κειμένου είναι το εξής: Εικόνα 8.33: Η αναπαράσταση της συσταδοποίησης 2 με τη μορφή κειμένου. Παρατηρούμε ότι το μοντέλο δημιούργησε 10 συστάδες καθώς η προεπιλεγμένη τιμή της παραμέτρου Number of clusters ήταν 10. Αρχικά παρουσιάζεται το μέγεθος των συστάδων που δημιουργήθηκαν με μεγαλύτερο αυτό της ένατης συστάδας με 363 περιπτώσεις και μικρότερο αυτό της δεύτερης με 38 περιπτώσεις. Στη συνέχεια παρουσιάζονται οι μέσες τιμές των μεταβλητών που επιλέχθηκαν ως είσοδος του μοντέλου για όλο το σύνολο δεδομένων όπου παρατηρούμε ότι η μέση ηλικία των πελατών είναι 33 χρόνια, ο μέσος αριθμός παιδιών μεταξύ 0 και 1, ο μέσος α- ριθμός αυτοκινήτων μεταξύ 2 και 3, ο μέσος αριθμός τηλεοράσεων περίπου 2, ο μέσος αριθμός μπάνιων περίπου 2 και ο μέσος αριθμός κρεβατοκάμαρων περίπου

199 Στη συνέχεια παρουσιάζονται οι συστάδες με τα κέντρα τους για κάθε μεταβλητή εισόδυο. Έτσι ενδεικτικά βλέπουμε ότι ο μέσος όρος ηλικίας των πελατών της ένατης συστάδας, που είναι και η μεγαλύτερη, είναι 27 χρόνια. Επίσης οι πελάτες σε αυτή τη συστάδα στην πλειονότητά τους δεν έχουν παιδιά, έχουν ένα με δύο αυτοκίνητα και μία με δύο τηλεοράσεις. Τέλος σημειώνεται ότι για την ανάπτυξη του δένδρου ο αλγόριθμος χρειάστηκε 2,58 δευτερόλεπτα. Στη συνέχεια παρουσιάζονται το άθροισμα των τετραγώνων των αποστάσεων των σημείων της κάθε συστάδας όπου παρατηρούμε ότι μεγαλύτερες ανομοιότητες στις παρατηρήσεις της παρουσιάζει η έκτη συστάδα ενώ μεγαλύτερη ομοιότητα παρουσιάζουν οι παρατηρήσεις της δεύτερης συστάδας. Η διαγραμματική απεικόνιση των συστάδων παρουσιάζεται στο Discriminant Plot όπου τα αποτελέσματα είναι τα εξής: Εικόνα 8.34: Discriminant Plot για την συσταδοποίηση 2. Το διάγραμμα επιβεβαιώνει ότι η συστάδα 2 έχει την μεγαλύτερη ανομοιότητα και η συστάδα 6 την μεγαλύτερη ομοιότητα αφού οι περιπτώσεις της κάθε μιας έχουν μεγάλη και αντίστοιχα μικρή απόστασταση η μία από την άλλη

200 Συσταδοποίηση 3 Το τρίτο μοντέλο θα κατασκευαστεί με βάση τον αλγόριθμο K-Means δίνοντας στην παράμετρο Number of Clusters την τιμή 5 και στην παράμετρο Runs την μέγιστη τιμή Ο αλγόριθμος λοιπόν θα αναπτύξει το ίδιο μοντέλο χίλιες φορές και θα διαλέξει αυτό που θα παρουσιάσει την καλύτερη κατανομή στις περιπτώσεις που περιέχονται στα συστάδες του δημιουργώντας κάθε φορά 5 συστάδες. Έτσι λοιπόν το αποτέλεσμα που λαμβάνουμε με μετά την εκτέλεση του μοντέλου σε μορφή κειμένου είναι το εξής: Εικόνα 8.35: Η αναπαράσταση της συσταδοποίησης 3 με τη μορφή κειμένου. Παρατηρούμε ότι το μοντέλο δημιούργησε 5 συστάδες καθώς η τιμή της παραμέτρου Number of clusters ορίστηκε σε 5. Αρχικά παρουσιάζεται το μέγεθος των συστάδων που δημιουργήθηκαν με μεγαλύτερο αυτό της δεύτερης συστάδας με 576 περιπτώσεις και μικρότερο αυτό της πρώτης με 176 περιπτώσεις. Στη συνέχεια παρουσιάζονται οι μέσες τιμές των μεταβλητών που επιλέχθηκαν ως είσοδος του μοντέλου για όλο το σύνολο δεδομένων όπου παρατηρούμε ότι η μέση ηλικία των πελατών είναι 33 χρόνια, ο μέσος αριθμός παιδιών μεταξύ 0 και 1, ο μέσος α- ριθμός αυτοκινήτων μεταξύ 2 και 3, ο μέσος αριθμός τηλεοράσεων περίπου 2, ο μέσος αριθμός μπάνιων περίπου 2 και ο μέσος αριθμός κρεβατοκάμαρων περίπου

201 Στη συνέχεια παρουσιάζονται οι συστάδες με τα κέντρα τους για κάθε μεταβλητή εισόδυο. Έτσι ενδεικτικά βλέπουμε ότι ο μέσος όρος ηλικίας των πελατών της δεύτερης συστάδας, που είναι και η μεγαλύτερη, είναι 30 χρόνια. Επίσης οι πελάτες σε αυτή τη συστάδα στην πλειονότητά έχουν ένα με δύο παιδιά, δύο αυτοκίνητα και δύο με τρεις τηλεοράσεις. Τέλος σημειώνεται ότι για την ανάπτυξη του δένδρου ο αλγόριθμος χρειάστηκε 3,57 δευτερόλεπτα. Στη συνέχεια παρουσιάζονται το άθροισμα των τετραγώνων των αποστάσεων των σημείων της κάθε συστάδας όπου παρατηρούμε ότι μεγαλύτερες ανομοιότητες στις παρατηρήσεις της παρουσιάζει η τέταρτη συστάδα ενώ μεγαλύτερη ομοιότητα παρουσιάζουν οι παρατηρήσεις της τρίτης συστάδας. Η διαγραμματική απεικόνιση των συστάδων παρουσιάζεται στο Discriminant Plot όπου τα αποτελέσματα είναι τα εξής: Εικόνα 8.36: Discriminant Plot για την συσταδοποίηση

202 8.3 Εφαρμογή του αλγορίθμου Microsoft Decision Trees στη βάση δεδομένων Movie Lens Συνεχίζοντας την ενότητα αυτής της εργασίας θα εφαρμόσουμε τον αλγόριθμο Microsoft Clustering στην βάση δεδομένων MovieLens. Θα αναπτυχθούν διάφορα μοντέλα συσταδοποίησης το καθένα με διαφορετικές παραμέτρους του αλγορίθμου και στη συνέχεια θα παρουσιαστούν τα αποτελέσματα στα περιβάλλοντα Microsoft Cluster Viewer, Cluster Diagram και Cluster Profiles. Όπως και στην βάση δεδομένων Movie Click έτσι και για την Movie Lens υπάρχει πληθώρα μεταβλητών με βάση τις οποίες μπορεί να γίνει η συσταδοποίηση των δεδομένων, όπως η χώρα παραγωγής μιας ταινίας, η βαθμολογία των κριτικών για μια ταινία, ο αριθμός των ετικετών που λαμβάνουν οι ταινίες, ο αριθμός των χρηστών που έχουν βαθμολογήσει μια ταινία και πολλά άλλα. Κάθε μοντέλο μπορεί να χρησιμοποιηθεί για αντίστοιχες επιχειρηματικές αποφάσεις όπως για παράδειγμα ποιες ταινίες λαμβανουν μεγαλύτερες βαθμολογίες, σε ποιες χώρες γίνεται η παραγωγή των περισσότερων ταινιών κτλ. Εκτός από την πληθώρα διαφορετικών μοντέλων και των αντίστοιχων επιχειρηματικών αποφάσεων μεγάλο είναι και το εύρος των τομέων όπου μπορούν να χρησιμοποιηθούν. Για παράδειγμα μια αλυσίδα κινηματογράφων μπορεί να αποφασίσει τι είδους ταινίες έχουν την μεγαλύτερη βαθμολογία ή ποια χώρα παραγωγής έχει τις χαμηλότερες βαθμολογίες. Αντίστοιχα μεγάλο εύρος επιλογών παρουσιάζουν και τα δεδομένα που μπορούν να χρησιμοποιηθούν ως στόχος πρόβλεψης του μοντέλου. Για παράδειγμα μπορούμε να προβλέψουμε την βαθμολογία των κριτικών με βάση τον αριθμό των κριτικών που έ- χουν γραφεί από τους κορυφαίους κριτικούς και τους χρήστες του δικτύου Rotten Tomatoes. Στην παρούσα εργασία θα προσπαθήσουμε να προβλέψουμε την βαθμολογία μιας ταινίας από το κοινό του δικτύου Rotten Tomatoes με βάση το έτος παραγωγής της ταινίας, την βαθμολογία όλων των κριτικών, τον αριθμό των εκθέσεων που έχουν γραφεί από όλους τους κριτικούς, την βαθμολογία των κορυφαίων κριτικών, τον αριθμό των εκθέσεων που έχουν γραφει από τους κορυφαίους κριτικούς και τον αριθμό των χρηστών που έχουν βαθμολογήσει την ταινία

203 Δηλαδή ο πίνακας Movies θα αποτελέσει τον πίνακα πυρήνα στο μοντέλο πρόβλεψης ενώ δεν θα υπάρχουν εμφωλευμένοι πίνακες αφού όλες οι πληροφορίες που χρειαζόμαστε βρίσκονται σε αυτόν. Εικόνα 8.37: Επιλογή των πινάκων που θα χρησιμοποιηθούν και των ρόλων τους. Αντίστοιχα, ως μεταβλητή προς πρόβλεψη θα επιλεγεί το πεδίο rtaudiencerating και ως μεταβλητές εισόδου τα πεδία Year, rtallcriticsnumreviews, rtallcriticsrating, rtaudiencenumratings, rttopcriticsnumreviews και rttopcritingsrating ενώ ως κλειδί θα ορισθεί το ID. Εικόνα 8.38: Επιλογή των πεδίων των πινάκων και των ρόλων τους

204 8.3.1 Προβολή των συστάδων Συσταδοποίηση 1 Η πρώτη συσταδοποίηση θα κατασκευαστεί με βάση τις προεπιλεγμένες τιμές των παραμέτρων του αλγορίθμου. Έτσι λοιπόν το αποτέλεσμα που λαμβάνουμε με μετά την εκτέλεση του μοντέλου στο περιβάλλον Microsoft Cluster Viewer είναι το εξής: Εικόνα 8.39: Η διαγραμματική αναπαράσταση της συσταδοποίησης 1 στο περιβάλλον Microsoft Cluster Viewer. Παρατηρούμε ότι το μοντέλο χώρισε τα δεδομένα σε 10 συστάδες καθώς αυτή ήταν η προεπιλεγμένη τιμή της παραμέτρου Cluster Count του αλγορίθμου. Επίσης παρατηρούμε ότι όσο πιο έντονο είναι το χρώμα μιας συστάδας τόσο πιο μεγάλη είναι η πυκνότητα των περιπτώσεων που ομαδοποιούνται σε αυτήν. Έτσι σε αυτό το μοντέλο έ- ντονη πυκνότητα παρουσιάζουν η πρώτη και δεύτερη συστάδα ενώ μέση πυκνότητα παρουσιάζουν όλες οι υπόλοιπες συστάδες. Επίσης μπορούμε να βγάλουμε συμπεράσματα για τις σχέσεις μεταξύ των συστάδων όπου οι έντονοι δεσμοί σημαίνουν δυνατές σχέσεις και οι ασθενείς δεσμοί αδύναμες. Έτσι στο συγκεκριμένο μοντέλο έντονες σχέσεις μεταξύ τους παρουσιάζουν οι συστάδες 6 και 7, οι 1, 2 και 10, και οι 7, 5 και 10. Τέλος βλέπουμε ότι η συστάδα με την μεγαλύτερη απόσταση άρα και με τις μεγαλύτερες διαφορές από τις υπόλοιπες είναι η τέταρτη

205 Τα χαρακτηριστικά των συστάδων παρουσιάζονται στο περιβάλλον Cluster Profiles. Εικόνα 8.40: Το προφίλ των συστάδων στο περιβάλλον Cluster Profiles. Οι συστάδες παρουσιάζονται με φθίνουσα σειρά του πληθυσμού τους. Προσπαθώντας να αναγνώσουμε τα ιστογράμματα που παρουσιάζονται μπορούμε να πούμε ότι για όλο τον πληθυσμό οι περισσότερες ταινίες έχουν γυριστεί τη δεκαετία του 90, οι περισσότερες ταινίες έχουν λάβει από τους κορυφαίους κριτικούς βαθμολιγίες μεταξύ 3 και 5, από όλους τους κριτικούς βαθμολογίες μεταξύ 5 και 7 και έχουν βαθμολογηθεί από έως χρήστες του δικτύου Rotten Tomatoes. Για την συστάδα 1 βλέπουμε ότι περιέχει 1292 περιπτώσεις και τα χαρακτηριστικά που την διακρίνουν είναι ότι οι ταινίες έχουν βαθμολογηθεί από περίπου χρήστες, έχουν γραφεί εκθέσεις από όλους τους κριτικούς και περίπου 10 από τους κορυφαίους. Για τη συστάδα 2 βλέπουμε ότι περιέχει 949 περιπτώσεις και τα χαρακτηριστικά που τη διακρίνουν είναι ότι όλες σχεδόν οι περιπτώσεις ταινιών που διαθέτει έχουν λάβει το πολύ οχτώ εκθέσεις και βαθμολογίες μεταξύ 0 και 3,4 από όλους τους κριτικούς ενώ έχουν λάβει το πολύ μία και βαθμολογία από 0 μέχρι 2,8 από τους κορυφαίους κριτικούς. Αντίστοιχα μπορούν να αναγνωσθούν και τα χαρακτηριστικά των υπόλοιπων συστάδων που δημιουργήθηκαν. Τέλος παρατηρούμε ότι το μεγαλύτερο μέγεθος έχει η συστάδα 1 με 1292 περιπτώσεις ενώ το μικρότερο η συστάδα 10 με 431 περιπτώσεις

206 Συσταδοποίηση 2 Η δεύτερη συσταδοποίηση θα κατασκευαστεί δίνοντας στην παράμετρο Cluster Count την τιμή 0 και στην παράμετρο Clustering Method την τιμή 2, αφήνοντας τις προεπιλεγμένες τιμές στις υπόλοιπες. Έτσι ο αλγόριθμος θα χρησιμοποιήσει την μέθοδο Non- Scalable EM και θα κατασκευάσει όσες συστάδες κρίνει κατάλληλες. Έτσι λοιπόν το αποτέλεσμα που λαμβάνουμε με μετά την εκτέλεση του μοντέλου στο περιβάλλον Microsoft Cluster Viewer είναι το εξής: Εικόνα 8.41: Η διαγραμματική αναπαράσταση της συσταδοποίησης 2 στο περιβάλλον Cluster Viewer. Παρατηρούμε ότι το μοντέλο χώρισε τα δεδομένα σε 9 συστάδες καθώς τόσες θεώρησε ο αλγόριθμος ότι πρέπει να δημιουργήσει ώστε να περιγράψει καλύτερα τα δεδομένα. Επίσης παρατηρούμε ότι σε αυτό το μοντέλο έντονη πυκνότητα παρουσιάζει η πρώτη συστάδα. Έντονες σχέσεις μεταξύ τους παρουσιάζουν οι συστάδες 1, 2 και 3, η 4 με την 5 και η 6 με την 8 και την 9. Βλέπουμε ότι όσο περισσότερες είναι οι συστάδες που δημιουργούνται τόσο περισσότερες είναι και οι σχέσεις που προκύπτουν μεταξύ τους. Τέλος βλέπουμε ότι η συστάδα με την μεγαλύτερη απόσταση άρα και με τις μεγαλύτερες διαφορές από τις υπόλοιπες είναι η πρώτη

207 Τα χαρακτηριστικά των συστάδων παρουσιάζονται στο περιβάλλον Cluster Profiles. Εικόνα 8.42: Το προφίλ των συστάδων στο περιβάλλον Cluster Profiles. Οι συστάδες παρουσιάζονται με φθίνουσα σειρά του πληθυσμού τους. Προσπαθώντας να αναγνώσουμε τα ιστογράμματα που παρουσιάζονται μπορούμε να πούμε ότι για όλο τον πληθυσμό οι περισσότερες ταινίες έχουν λάβει 10 με 17 εκθέσεις από τους κορυφαίους κριτικούς και έχουν βαθμολογηθεί από έως χρήστες. Για την συστάδα 1 βλέπουμε ότι περιέχει 1704 περιπτώσεις και τα χαρακτηριστικά που την διακρίνουν είναι ότι οι ταινίες έχουν λάβει μέχρι 8 εκθέσεις από όλους τους κριτικούς, έχουν βαθμολογηθεί από χρήστες και έχουν γυριστεί από το 1933 μέχρι το Για τη συστάδα 2 βλέπουμε ότι περιέχει 1163 περιπτώσεις και τα χαρακτηριστικά που τη διακρίνουν είναι ότι όλες σχεδόν οι περιπτώσεις ταινιών που διαθέτει έχουν βαθμολογηθεί από περίπου χρήστες, έχουν λάβει 10 με 40 εκθέσεις από όλους τους κριτικούς και 2 με 9 από τους κορυφαίους κριτικούς. Αντίστοιχα μπορούν να αναγνωσθούν και τα χαρακτηριστικά των υπόλοιπων συστάδων που δημιουργήθηκαν. Τέλος παρατηρούμε ότι το μεγαλύτερο μέγεθος έχει η συστάδα 1 με 1704 περιπτώσεις ενώ το μικρότερο η συστάδα 9 με 444 περιπτώσεις

208 Συσταδοποίηση 3 Η τρίτη συσταδοποίηση θα κατασκευαστεί δίνοντας στην παράμετρο Cluster Count την τιμή 0 και στην παράμετρο Clustering Method την τιμή 3, αφήνοντας τις προεπιλεγμένες τιμές στις υπόλοιπες. Έτσι ο αλγόριθμος θα χρησιμοποιήσει την μέθοδο Scalable K- Means και θα κατασκευάσει όσες συστάδες κρίνει κατάλληλες. Έτσι λοιπόν το αποτέλεσμα που λαμβάνουμε με μετά την εκτέλεση του μοντέλου στο περιβάλλον Microsoft Cluster Viewer είναι το εξής: Εικόνα 8.43: Η διαγραμματική αναπαράσταση της συσταδοποίησης 2 στο περιβάλλον Cluster Viewer. Παρατηρούμε ότι το μοντέλο χώρισε τα δεδομένα σε μόλις έξι συστάδες καθώς τόσες θεώρησε ο αλγόριθμος ότι πρέπει να δημιουργήσει ώστε να περιγράψει καλύτερα τα δεδομένα. Επίσης παρατηρούμε ότι σε αυτό το μοντέλο έντονη πυκνότητα παρουσιάζει η πρώτη συστάδα ενώ όλες οι υπόλοιπες παρουσιάζουν ασθενή πυκνότητα. Έντονες σχέσεις μεταξύ τους παρουσιάζουν οι συστάδες 2 με την 4 και 5, η 5 με την 3 και η 1 με την 4 και 5. Βλέπουμε ότι όσο λιγότερες είναι οι συστάδες που δημιουργούνται τόσο λιγότερες και πιο έντονες είναι και οι σχέσεις που προκύπτουν μεταξύ τους. Τέλος βλέπουμε ότι η συστάδα με την μεγαλύτερη απόσταση άρα και με τις μεγαλύτερες διαφορές από τις υπόλοιπες είναι η πρώτη

209 Τα χαρακτηριστικά των συστάδων παρουσιάζονται στο περιβάλλον Cluster Profiles. Εικόνα 8.44: Το προφίλ των συστάδων στο περιβάλλον Cluster Profiles. Οι συστάδες παρουσιάζονται με φθίνουσα σειρά του πληθυσμού τους. Προσπαθώντας να αναγνώσουμε τα ιστογράμματα που παρουσιάζονται μπορούμε να πούμε ότι για όλο τον πληθυσμό οι περισσότερες ταινίες έχουν λάβει βαθμολογία 2,5 με 3,5 από το κοινό, βαθμολογία 5 με 7 από όλους τους κριτικούς και έχουν βαθμολογηθεί από μέχρι χρήστες. Για την συστάδα 1 βλέπουμε ότι περιέχει 5523 περιπτώσεις και τα χαρακτηριστικά που την διακρίνουν είναι ότι οι ταινίες έχουν λάβει βαθμολογία μεταξύ 2,5 και 3,5 από το κοινό, 20 με 40 εκθέσεις από τους κορυφαίους κριτικούς και έχουν γυριστεί τη δεκαετία του 90. Για τη συστάδα 2 βλέπουμε ότι περιέχει 949 περιπτώσεις και τα χαρακτηριστικά που τη διακρίνουν είναι ότι όλες σχεδόν οι περιπτώσεις ταινιών έχουν λάβει το πολύ 8 εκθέσεις από όλους τους κριτικούς και το πολύ μία από τους κορυφαίους. Επίσης έχουν λάβει βαθμολογία μεταξύ 0 και 3,5 από όλους τους κριτικούς και 0 με 1 από τους κορουφαίους κριτικούς Αντίστοιχα μπορούν να αναγνωσθούν και τα χαρακτηριστικά των υπόλοιπων συστάδων που δημιουργήθηκαν. Τέλος παρατηρούμε ότι το μεγαλύτερο μέγεθος έχει η συστάδα 1 με 5523 περιπτώσεις ενώ το μικρότερο η συστάδα 6 με μόλις 2 περιπτώσεις. Αυτό είναι δυνατόν αφού η παράμετρος Minimum Support του αλγορίθμου έχει την προεπιλεγμένη τιμή

210 8.3.2 Αξιολόγηση των μοντέλων του SQL Server Συσταδοποίηση 1 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Scatter Plot η συσταδοποίηση 1 παρουσιάζει μια αρκετά καλή επίδοση και συγκεκριμένα Score Αυτό επιβεβαιώνεται και από το γεγονός ότι οι περισσότερες προβλέψεις του μοντέλου βρίσκονται σχετικά κοντά με την διαγώνιο ευθεία που αντιπροσωπεύει το ιδανικό μοντέλο πρόβλεψης. Εικόνα 8.45: Διάγραμμα αξιολόγησης Scatter Plot για την συσταδοποίηση 1. Στην μήτρα σταυροειδούς αξιολόγησης (Cross Validation) για την συσταδοποίηση 1 και έχοντας ορίσει τον αριθμό των τμημάτων (partitions) που θα χωριστούν τα δεδομένα επαλήθευσης στα 5, το μοντέλο μας προβλέπει την βαθμολογία του κοινού με απόκλιση 0,3 βαθμούς (δείκτης Mean Absolute Error) ενώ από τον δείκτη Root Mean Square Error μπορούμε να συμπεράνουμε ότι οι περισσότερες λανθασμένες προβλέψεις δεν είχαν πολύ μεγάλη απόκλιση από την πραγματική τιμή. Εικόνα 8.46: Cross Validation Matrix απόκλισης σωστών προβλέψεων για τη συσταδοποίηση 1. Συσταδοποίηση

211 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Scatter Plot η συσταδοποίηση 2 παρουσιάζει μια αρκετά καλή επίδοση και συγκεκριμένα Score Αυτό επιβεβαιώνεται και από το γεγονός ότι οι περισσότερες προβλέψεις του μοντέλου βρίσκονται σχετικά κοντά με την διαγώνιο ευθεία που αντιπροσωπεύει το ιδανικό μοντέλο πρόβλεψης. Εικόνα 8.47: Διάγραμμα αξιολόγησης Scatter Plot για την συσταδοποίηση 2. Στην μήτρα σταυροειδούς αξιολόγησης (Cross Validation) για την συσταδοποίηση 2 και έχοντας ορίσει τον αριθμό των τμημάτων (partitions) που θα χωριστούν τα δεδομένα επαλήθευσης στα 5, το μοντέλο μας προβλέπει την βαθμολογία του κοινού με απόκλιση 0,3 βαθμούς (δείκτης Mean Absolute Error) ενώ από τον δείκτη Root Mean Square Error μπορούμε να συμπεράνουμε ότι οι περισσότερες λανθασμένες προβλέψεις δεν είχαν πολύ μεγάλη απόκλιση από την πραγματική τιμή. Εικόνα 8.48: Cross Validation Matrix απόκλισης σωστών προβλέψεων για τη συσταδοποίηση 2. Συσταδοποίηση

212 Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Scatter Plot η συσταδοποίηση 3 παρουσιάζει μια σχετικά μέτρια επίδοση και συγκεκριμένα Score 1,81. Αυτό επιβεβαιώνεται και από το γεγονός ότι οι περισσότερες προβλέψεις του μοντέλου δεν βρίσκονται σχετικά κοντά με την διαγώνιο ευθεία που αντιπροσωπεύει το ιδανικό μοντέλο πρόβλεψης. Εικόνα 8.49: Διάγραμμα αξιολόγησης Scatter Plot για την συσταδοποίηση 3. Στην μήτρα σταυροειδούς αξιολόγησης (Cross Validation) για την συσταδοποίηση 3 και έχοντας ορίσει τον αριθμό των τμημάτων (partitions) που θα χωριστούν τα δεδομένα επαλήθευσης στα 5, το μοντέλο μας προβλέπει την βαθμολογία του κοινού με απόκλιση 0,46 βαθμούς (δείκτης Mean Absolute Error) ενώ από τον δείκτη Root Mean Square Error μπορούμε να συμπεράνουμε ότι οι περισσότερες λανθασμένες προβλέψεις είχαν σχετικά μεγάλη απόκλιση από την πραγματική τιμή. Εικόνα 8.50: Cross Validation Matrix σωστών προβλέψεων για τη συσταδοποίηση

213 8.3.3 Συγκριτική αξιολόγηση των μοντέλων του SQL Server Παρατηρούμε ότι στο διάγραμμα αξιολόγησης Scatter Plot όλων των μοντέλων τα μοντέλα 1 και 2 είναι αυτά με την καλύτερη επίδοση Score και συγκεκριμένα 2,73 ενώ ακολουθεί το μοντέλο 3 με 1.81αντίστοιχα. Η διαφορά στην επίδοση score μεταξύ των 2 πρώτων και του τρίτου μοντέλου είναι αρκετά μεγάλη κάτι που σημαίνει ότι μόνον δύο από τα μοντέλα μας κατάφεραν να προβλέψουν με σχετική επιτυχία την προβλεπόμενη μεταβλητή. Αυτό επιβεβαιώνεται και από το διάγραμμα καθώς τα περισσότερα από τα σημεία που αντιπροσωπεύουν τις σωστές προβλέψεις των μοντέλων 1 και 2 βρίσκονται κοντά στην διαγώνιο ευθεία του ιδανικού μοντέλου ενώ τα σημεία του μοντέλου 3 έχουν μεγαλύτερη απόσταση από αυτήν. Εικόνα 8.51: Διάγραμμα αξιολόγησης Scatter Plot για όλα τα μοντέλα συσταδοποίησης. Στην μήτρα σταυροειδούς αξιολόγησης (Cross Validation) για όλα τα μοντέλα μαζί και έχοντας ορίσει τον αριθμό των τμημάτων (partitions) που θα χωριστούν τα δεδομένα επαλήθευσης στα 2, το μονέλο με την μικρότερη απόκλιση στις σωστές προβλέψεις είναι το δεύτερο με απόκλιση μόλις 0,2965 ενώ αυτό με την μεγαλύτερη απόκλιση το τρίτο με απόκλιση 0,43. Αντίθετα το μοντέλο με την μεγαλύτερη απόκλιση στις λανθασμένες προβλέψεις είναι το τρίτο με απόκλιση 0,8 ενώ αυτό με τη μικρότερη απόκλιση το δεύτερο με απόκλιση 0,

214 Εικόνα 8.50: Cross Validation Matrix σωστών προβλέψεων για τη συσταδοποίηση 1. Συνολικά μπορούμε να πούμε ότι το δεύτερο μοντέλο είναι αυτό με την καλύτερη επίδοση αφού προβλέπει την βαθμολογία του κοινού με την μικρότερη σχετική απόκλιση. Αξίζει να σημειωθεί ότι αυτό είναι το μοντέλο που αναπτύχθηκε χρησιμοποιώντας τον αλγόριθμο με την μέθοδο Non-Scalable EM ο οποίος δημιούργησε όσες συστάδες έκρινε αναγκαίο να δημιουργηθούν

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ηλεκτρονική Υγεία Εργαστήριο 4 ο : MATLAB Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

Διαβάστε περισσότερα

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS Ακαδημαϊκό Έτος 2016-2017, Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS A. Εισαγωγή στις βάσεις δεδομένων - Γνωριμία με την ACCESS B. Δημιουργία Πινάκων 1. Εξήγηση των

Διαβάστε περισσότερα

Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά δεδομένα

Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά δεδομένα 6ο Πανελλήνιο Συνέδριο των Εκπαιδευτικών για τις ΤΠΕ «Αξιοποίηση των Τεχνολογιών της Πληροφορίας και της Επικοινωνίας στη Διδακτική Πράξη» Σύρος 6-8 Μαϊου 2011 Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη 01 Εισαγωγή Μια απλή και γρήγορη εισαγωγή Το Splunk > είναι ένα πρόγραμμα το οποίο πρωτοεμφανίστηκε στην αγορά το 2003 και αποτελεί ένα πρόγραμμα εξόρυξης

Διαβάστε περισσότερα

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub Σύνοψη Σ αυτό το κεφάλαιο θα περιγράψουμε τη δημιουργία φορμών, προκειμένου να εισάγουμε δεδομένα και να εμφανίζουμε στοιχεία από τους πίνακες

Διαβάστε περισσότερα

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

Διαβάστε περισσότερα

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

Διαβάστε περισσότερα

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η

Διαβάστε περισσότερα

Browsers. Λειτουργικότητα και Παραμετροποίηση

Browsers. Λειτουργικότητα και Παραμετροποίηση Browsers Λειτουργικότητα και Παραμετροποίηση 1 Πίνακας περιεχομένων Γενική περιγραφή... 3 Γενικά... 3 Ποιο αναλυτικά τα μέρη ενός browser... 4 Φίλτρα αναζήτησης... 4 Σενάρια αναζήτησης... 4 Όψεις εμφάνισης

Διαβάστε περισσότερα

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

1 Συστήματα Αυτοματισμού Βιβλιοθηκών 1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΛΗΡΟΦΟΡΙΑΣ ΠΑΡΟΥΣΙΑΣΗ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΛΙΝΑ ΜΑΣΣΟΥ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΛΗΡΟΦΟΡΙΑΣ ΠΑΡΟΥΣΙΑΣΗ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΛΙΝΑ ΜΑΣΣΟΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΑΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΠΑΡΟΥΣΙΑΣΗ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΛΙΝΑ ΜΑΣΣΟΥ Δ.Π.Μ.Σ: «Εφαρμοσμένες Μαθηματικές Επιστήμες» 2008

Διαβάστε περισσότερα

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

Διαβάστε περισσότερα

8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ

8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ 8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ Στόχος του εργαστηρίου αυτού είναι να δείξει πώς τα εργαστήρια με τα δεδομένα της ICAP μπορούν να υλοποιηθούν χωρίς τη χρήση SQL Server, χρησιμοποιώντας μόνον Excel και Rapid

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Συστήματα Διαχείρισης Βάσεων Δεδομένων 1 ΕΙΣΑΓΩΓΗ Η τεχνολογία των Βάσεων Δεδομένων (ΒΔ) (Databases - DB) και των Συστημάτων Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ)

Διαβάστε περισσότερα

Data Mining: Στοχεύοντας στους σωστούς πελάτες. Αριστομένης Μακρής

Data Mining: Στοχεύοντας στους σωστούς πελάτες. Αριστομένης Μακρής Data Mining: Στοχεύοντας στους σωστούς πελάτες To CRM front-office πελατών Οι Προμηθευτές Οι Πελάτες ΟΟργανισμός Τροφοδότηση ενεργειών Μάρκετινγκ ΒΙ Απόταδεδομέναστηγνώση Επιχειρηματική Γνώση Επιχειρηματικοί

Διαβάστε περισσότερα

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Εργαλεία CASE Computer Assisted Systems Engineering Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2011-2012 1 Εργαλεία CASE

Διαβάστε περισσότερα

4/2014 ΣΥΝΟΠΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ ΥΔΡΟΛΗΨΙΕΣ ΑΤΤΙΚΗΣ ΑΠΟΚΕΝΤΡΩΜΕΝΗ ΔΙΟΙΚΗΣΗ ΑΤΤΙΚΗΣ ΔΙΕΥΘΥΝΣΗ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ

4/2014 ΣΥΝΟΠΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ ΥΔΡΟΛΗΨΙΕΣ ΑΤΤΙΚΗΣ ΑΠΟΚΕΝΤΡΩΜΕΝΗ ΔΙΟΙΚΗΣΗ ΑΤΤΙΚΗΣ ΔΙΕΥΘΥΝΣΗ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ 4/2014 ΣΥΝΟΠΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ ΥΔΡΟΛΗΨΙΕΣ ΑΤΤΙΚΗΣ ΑΠΟΚΕΝΤΡΩΜΕΝΗ ΔΙΟΙΚΗΣΗ ΑΤΤΙΚΗΣ ΔΙΕΥΘΥΝΣΗ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΥΔΡΟΛΗΨΙΕΣ ΑΤΤΙΚΗΣ Η εφαρμογή "Υδροληψίες Αττικής" είναι ένα πληροφοριακό σύστημα (αρχιτεκτονικής

Διαβάστε περισσότερα

ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ

ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΜΗΜΑΤΟΣ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ ΣΧΕΔΙΑΣΗ ΚΑΙ ΧΡΗΣΗ ΕΚΤΥΠΩΣΕΩΝ-ΑΝΑΦΟΡΩΝ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ERP ΜΕ ΣΚΟΠΟ ΤΗΝ ΣΤΗΡΙΞΗ ΑΠΟΦΑΣΕΩΝ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ

Διαβάστε περισσότερα

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΕΝΟΤΗΤΑ 1.1 ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΔΙΔΑΚΤΙΚΟI ΣΤOΧΟΙ Στο τέλος της ενότητας αυτής πρέπει να μπορείτε: να επεξηγείτε τις έννοιες «βάση δεδομένων» και «σύστημα διαχείρισης βάσεων δεδομένων» να αναλύετε

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΔΙΚΑΣΙΕΣ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,

Διαβάστε περισσότερα

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο

Διαβάστε περισσότερα

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΚΟΤΣΟΓΙΑΝΝΙΔΗΣ ΛΑΖΑΡΟΣ Επιβλέπων καθηγητής Σφέτσος Παναγιώτης ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ως Ηλεκτρονικό Εμπόριο ή

Διαβάστε περισσότερα

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το Σηµαντικά σηµεία κεφαλαίου Τα τρία στάδια επίλυσης ενός προβλήµατος: Ακριβής προσδιορισµό του προβλήµατος Ανάπτυξη του αντίστοιχου αλγορίθµου. ιατύπωση του αλγορίθµου σε κατανοητή µορφή από τον υπολογιστή.

Διαβάστε περισσότερα

Ανάλυση, Στατιστική Επεξεργασία και Παρουσίαση Δεδομένων με χρήση Ανοικτών Λογισμικών Δρ. Φίλιππος Σοφός

Ανάλυση, Στατιστική Επεξεργασία και Παρουσίαση Δεδομένων με χρήση Ανοικτών Λογισμικών Δρ. Φίλιππος Σοφός Ανάλυση, Στατιστική Επεξεργασία και Παρουσίαση Δεδομένων με χρήση Ανοικτών Λογισμικών Δρ. Φίλιππος Σοφός ΠΕΡΙΓΡΑΜΜΑ ΠΑΡΟΥΣΙΑΣΗΣ Διερεύνηση αναγκών Επιλογή του Octave Χαρακτηριστικά και περιβάλλον εργασίας

Διαβάστε περισσότερα

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1 ΚΕΦΑΛΑΙΟ 7 ο ΠΡΟΓΡΑΜΜΑ : Το πρόγραμμα αποτελείται από μια σειρά οδηγιών, που ονομάζονται εντολές, για την εκτέλεση τέτοιου είδους πράξεων, καθώς επίσης και από ένα σύνολο πρόσθετων οδηγιών ελέγχου, που

Διαβάστε περισσότερα

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο Το περιβάλλον εργασίας Ανοίγοντας την Ελληνική Έκδοση του FrontPage, για πρώτη φορά, η εικόνα που θα συναντήσουμε είναι αυτή της Εικόνας 1 με τα Μενού Εντολών και τη Γραμμή Εργαλείων, στο πάνω μέρος της

Διαβάστε περισσότερα

Συστήματα Πληροφοριών Διοίκησης

Συστήματα Πληροφοριών Διοίκησης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Τεχνολογικό Εκπαιδευτικό Ίδρυμα Πειραιά Συστήματα Πληροφοριών Διοίκησης Ενότητα 2: Γενική θεώρηση και κατάταξη συστημάτων πληροφοριών διοίκησης Διονύσιος Γιαννακόπουλος, Καθηγητής Τμήμα

Διαβάστε περισσότερα

Τεχνικές Εξόρυξης Δεδομένων

Τεχνικές Εξόρυξης Δεδομένων ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Διατμηματικό Μεταπτυχιακό Πρόγραμμα στα Πληροφοριακά Συστήματα ( MIS ) Τεχνικές Εξόρυξης Δεδομένων για την βελτίωση της απόδοσης σε Κατανεμημένα Συστήματα Ζάχος Δημήτριος Επιβλέποντες:

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

Διαβάστε περισσότερα

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού. Κεφάλαιο 6 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία σημαντικά στάδια : Σον ακριβή προσδιορισμό του προβλήματος Σην ανάπτυξη του αντίστοιχου αλγορίθμου

Διαβάστε περισσότερα

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία

Διαβάστε περισσότερα

Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε

Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε σχετικά με τον έλεγχο της καπνιστικής συνήθειας 1 22 Λογισμικές εφαρμογές καταγραφής και αξιοποίησης πληροφοριών σχετικά με τον έλεγχο της καπνιστικής συνήθειας Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων

Διαβάστε περισσότερα

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος Κεφάλαιο 3.1: Λειτουργικά Συστήματα 1 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Ένα σύγχρονο υπολογιστικό σύστημα αποτελείται από: το υλικό: τα ηλεκτρονικά μέρη του υπολογιστή και το λογισμικό: το σύνολο

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

Διαβάστε περισσότερα

Διαχείριση Βάσης Δεδομένων (dbadmin)

Διαχείριση Βάσης Δεδομένων (dbadmin) Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Εμπορική Διαχείριση > Διαχείριση Βάσης Δεδομένων (dbadmin) Διαχείριση Βάσης Δεδομένων (dbadmin) Μέσα από τη διαχείριση βάσης δεδομένων

Διαβάστε περισσότερα

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Το Oracle Analytics Cloud αποτελεί ένα ολοκληρωμένο σύνολο δυνατοτήτων που περιλαμβάνει έτοιμο περιεχόμενο, εξειδικευμένα

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ & ΕΠΙΧΕΙΡΗΣΕΩΝ

Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ & ΕΠΙΧΕΙΡΗΣΕΩΝ Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ & ΕΠΙΧΕΙΡΗΣΕΩΝ Η Έρευνα Μάρκετινγκ ως εργαλείο ανάπτυξης νέων προϊόντων ΕΙΣΗΓΗΤΗΣ: Δρ. Ιωάννης Σ. Τουρτούρας Μηχανικός Παραγωγής & Διοίκησης Δ.Π.Θ.

Διαβάστε περισσότερα

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις

Διαβάστε περισσότερα

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ 2.3.1.1. Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ 1 περιλαμβάνει: Η έννοια του προγράμματος Επίλυση προβλήματος 1. Ακριβή προσδιορισμό

Διαβάστε περισσότερα

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων ..?????? Εργαστήριο ΒΑΣΕΙΣ????????? ΔΕΔΟΜΕΝΩΝ Βάσεων Δεδομένων?? ΙΙ Εισαγωγικό Μάθημα Βασικές Έννοιες - . Γενικά Τρόπος Διεξαγωγής Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα

Διαβάστε περισσότερα

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων .. Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Μάθημα Βασικές Έννοιες - . Ύλη Εργαστηρίου ΒΔ Ύλη - 4 Ενότητες.1 - Σχεδιασμός Βάσης Δεδομένων.2 Δημιουργία Βάσης Δεδομένων Δημιουργία Πινάκων Εισαγωγή/Ανανέωση/Διαγραφή

Διαβάστε περισσότερα

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Διαβάστε περισσότερα

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

Διαβάστε περισσότερα

Σύστημα. Αντώνης Μαϊργιώτης

Σύστημα. Αντώνης Μαϊργιώτης Σύστημα Αντώνης Μαϊργιώτης Σε ένα οργανισμό υπάρχουν προβλήματα για λύση Η διεύθυνση του οργανισμού αναθέτει τη λύση στους κατάλληλους ανθρώπους Οι πιο κατάλληλοι άνθρωποι είναι αυτοί που θέλουν τις κατάλληλες

Διαβάστε περισσότερα

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

Διαβάστε περισσότερα

Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Αρχείων Βασίλης Σακκάς 11/12/2013 1 Διαχείριση Αρχείων 1 Μακρόχρονη αποθήκευση πληροφοριών 1. Αποθήκευση μεγάλου όγκου δεδομένων 2. Οι αποθηκευμένες πληροφορίες πρέπει

Διαβάστε περισσότερα

Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων

Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων YouTube Ιδρύθηκε το 2005 Στόχος του ήταν να δημιουργήσει μία παγκόσμια κοινότητα Βάση δεδομένων βίντεο Μέσα σε ένα χρόνο από τη δημιουργία

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Βάσεις δεδομένων και Microsoft Access

Βάσεις δεδομένων και Microsoft Access Περιεχόμενα Κεφάλαιο 1 Βάσεις δεδομένων και Microsoft Access... 7 Κεφάλαιο 2 Microsoft Access 2010... 16 Κεφάλαιο 3 Σχεδιασμός βάσης δεδομένων και δημιουργία πίνακα... 27 Κεφάλαιο 4 Προβολές πινάκων και

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΑΣΙΩΝ ΔΙ.ΑΠ. ΕΠΕΚΤΑΣΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ & ΠΛΗΡΩΜΩΝ

ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΑΣΙΩΝ ΔΙ.ΑΠ. ΕΠΕΚΤΑΣΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ & ΠΛΗΡΩΜΩΝ ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΑΣΙΩΝ ΔΙ.ΑΠ. ΕΠΕΚΤΑΣΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ & ΠΛΗΡΩΜΩΝ Η Διαχείριση Εργασιών ΔΙ.Α.Π. αποτελεί μία επέκταση της υφιστάμενης Εφαρμογής Διαχείρισης Έργων & Πληρωμών. Η Εφαρμογή Διαχείρισης

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 9 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Περιεχόμενα 2 Η λειτουργία του υπολογιστή Κατηγορίες Εντολών Μορφή Εντολών

Διαβάστε περισσότερα

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού Κεφάλαιο 6 ο Διαχείριση στοιχείων λογισμικού Διδακτικοί στόχοι Να περιγραφούν οι κύριοι τύποι λογισμικού Να εξεταστεί το λογισμικό συστήματος και τα λειτουργικά συστήματα Να αναλυθούν οι πιο σημαντικές

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

Διαβάστε περισσότερα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων -Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a) Create

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του

Διαβάστε περισσότερα

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος... Περιεχόμενα Πρόλογος...11 Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών... 13 1.1 Εισαγωγή στους υπολογιστές... 15 1.2 Μονάδες μέτρησης... 27 1.3 Οι βασικές λειτουργίες ενός ηλεκτρονικού υπολογιστή...

Διαβάστε περισσότερα

Εισαγωγή Κεφάλαιο 1: Εγκατάσταση της Access Κεφάλαιο 2: Βάσεις δεδομένων και δομικά στοιχεία της Access

Εισαγωγή Κεφάλαιο 1: Εγκατάσταση της Access Κεφάλαιο 2: Βάσεις δεδομένων και δομικά στοιχεία της Access ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή...15 Κεφάλαιο 1: Εγκατάσταση της Access 2002...17 Τι είναι το Office XP;...17 Τεχνικές απαιτήσεις του Office XP...17 Πρόσθετα απαιτούμενα για την αξιοποίηση εξειδικευμένων χαρακτηριστικών...18

Διαβάστε περισσότερα

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων...

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων... Μέρος 2 Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων... 211 Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων... 241 Kεφάλαιο 13 Ανάλυση δεδομένων... 257 Kεφάλαιο 14 Συναρτήσεις Μέρος Β... 285 Kεφάλαιο 15 Ευρετήριο

Διαβάστε περισσότερα

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διαχείριση Πολιτισμικών Δεδομένων Ενότητα 6: Εισαγωγή στις Βάσεις Δεδομένων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και

Διαβάστε περισσότερα

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5 A. EVANS, K. MARTIN, M. A. POATSY Εισαγωγή στην πληροφορική Θεωρία και πράξη 2 η έκδοση Κεφάλαιο 5 Λογισμικό συστημάτων: Το λειτουργικό σύστημα, τα βοηθητικά προγράμματα και η διαχείριση αρχείων Τα βασικά

Διαβάστε περισσότερα

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

Διαβάστε περισσότερα

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Εισαγωγή στη LibreOffice Base Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων - Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a)

Διαβάστε περισσότερα

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) Ενότητα Advanced Βάσεις Δεδομένων, Προχωρημένο Επίπεδο. Copyright 2013 ECDL Foundation Ref: SL_AM3_Syl2.

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) Ενότητα Advanced Βάσεις Δεδομένων, Προχωρημένο Επίπεδο. Copyright 2013 ECDL Foundation Ref: SL_AM3_Syl2. ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) Ενότητα Advanced Βάσεις Δεδομένων, Προχωρημένο Επίπεδο Copyright 2013 ECDL Foundation Ref: SL_AM3_Syl2.0_v1 Page 17 of 29 Βάσεις Δεδομένων, Προχωρημένο Επίπεδο Ακολουθεί η Εξεταστέα

Διαβάστε περισσότερα

Α2. Να γράψετε στο τετράδιο απαντήσεών σας το κατάλληλο τμήμα κώδικα, κάνοντας τις απαραίτητες αλλαγές σύμφωνα με την εκάστοτε εκφώνηση:

Α2. Να γράψετε στο τετράδιο απαντήσεών σας το κατάλληλο τμήμα κώδικα, κάνοντας τις απαραίτητες αλλαγές σύμφωνα με την εκάστοτε εκφώνηση: ΠΡΟΣΟΜΟΙΩΣΗ ΑΠΟΛΥΤΗΡΙΩΝ ΕΞΕΤΑΣΕΩΝ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) ΣΥΝΟΛΟ

Διαβάστε περισσότερα

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ Η ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΟ ΛΥΚΕΙΟ Εισαγωγή Η μεγάλη ανάπτυξη και ο ρόλος που

Διαβάστε περισσότερα

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας.

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας. Η Πυξίδα Απασχόλησης είναι ένα πλήρως παραμετροποιήσιμο portal που απευθύνεται σε Κέντρα Επαγγελματικής Κατάρτισης, Δήμους, Εκπαιδευτικούς Οργανισμούς και Εταιρίες Εύρεσης Εργασίας, με στόχο τόσο την μηχανογράφηση

Διαβάστε περισσότερα

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Εισαγωγή-Σκοπός. Τρόποι δημιουργίας δυναμικών ιστοσελίδων. Dynamic Web Pages. Dynamic Web Page Development Using Dreamweaver. Τρόποι δημιουργίας δυναμικών

Διαβάστε περισσότερα

Μάθημα 3. Θεμέλια Επιχειρηματικής Ευφυΐας: Διαχείριση Βάσεων Δεδομένων και πληροφοριών

Μάθημα 3. Θεμέλια Επιχειρηματικής Ευφυΐας: Διαχείριση Βάσεων Δεδομένων και πληροφοριών Μάθημα 3. Θεμέλια Επιχειρηματικής Ευφυΐας: Διαχείριση Βάσεων Δεδομένων και πληροφοριών Περιεχόμενα μαθήματος Πώς οργανώνει τα δεδομένα μια σχεσιακή βάση δεδομένων και σε τι διαφέρει από μια αντικειμενοστρεφή

Διαβάστε περισσότερα

DO Y O Y U S PEAK K F U F TURE R?

DO Y O Y U S PEAK K F U F TURE R? GALAXY είναι Τεχνολογία αιχμής που αξιοποιεί τις πλέον σύγχρονες διεθνείς τάσεις, συνδυάζοντας τo Microsoft.NET Framework 3.5 και τα εξελιγμένα εργαλεία ανάπτυξης εφαρμογών της SingularLogic. Εξασφαλίζει

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014 ΘΕΜΑ 1 Ο Α. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη Σωστό, αν είναι

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου 49 Διδακτικές ενότητες 6.1 Γλώσσες και εργαλεία προγραμματισμού 6.2 Σύγχρονα προγραμματιστικά περιβάλλοντα Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν την ανάγκη ύπαρξης τόσο

Διαβάστε περισσότερα

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΤΕΡΕΑΣ ΕΛΛΑΔΑΣ- ΤΜΗΜΑ ΠΕΡΙΦΕΡΕΙΑΚΗΣ ΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΠΤΥΞΗΣ, ΜΑΘΗΜΑ: ΔΙΑΧΕΙΡΙΣΗ ΑΝΘΡΩΠΙΝΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΠΟΡΩΝ- ΧΡΙΣΤΟΣ ΑΠ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΤΕΡΕΑΣ ΕΛΛΑΔΑΣ- ΤΜΗΜΑ ΠΕΡΙΦΕΡΕΙΑΚΗΣ ΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΠΤΥΞΗΣ, ΜΑΘΗΜΑ: ΔΙΑΧΕΙΡΙΣΗ ΑΝΘΡΩΠΙΝΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΠΟΡΩΝ- ΧΡΙΣΤΟΣ ΑΠ. Χ. ΑΠ. ΛΑΔΙΑΣ Το ERP είναι ένα ολοκληρωμένο πληροφοριακό σύστημα διαχείρισης επιχειρησιακών πόρων. Διαχειρίζεται και συντονίζει όλες τις λειτουργίες και διαδικασίες που λαμβάνουν χώρα σε μια επιχείρηση.

Διαβάστε περισσότερα

«Αναζήτηση Γνώσης σε Νοσοκομειακά Δεδομένα»

«Αναζήτηση Γνώσης σε Νοσοκομειακά Δεδομένα» ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Μεταπτυχιακό Πρόγραμμα Σπουδών M.I.S. «Αναζήτηση Γνώσης σε Νοσοκομειακά Δεδομένα» Μεταπτυχιακός Φοιτητής: Επιβλέπων Καθηγητής: Εξεταστής Καθηγητής: Τορτοπίδης Γεώργιος Μηχανικός

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 26 ΑΠΡΙΛΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Βάσεις Δεδομένων - Γενικά Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα. Τα περιεχόμενα

Διαβάστε περισσότερα

Εισαγωγή στην Access 2007

Εισαγωγή στην Access 2007 Βάσεις Δεδομένων Ι 3 Εισαγωγή στην Access 2007 Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας ΝΙΚΟΣ ΚΑΡΟΥΣΟΣ - ΔΙΟΝΥΣΗΣ ΚΑΡΟΥΣΟΣ XE 2015-2016 Βάση Δεδομένων και Access Ένα οργανωμένο σύνολο

Διαβάστε περισσότερα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

Διαβάστε περισσότερα

Business Intelligence Tools Avecon, data mining techniques online analytical processing OLAP Avecon Εξοικονόμηση κόστους: DataMATRIX3

Business Intelligence Tools Avecon, data mining techniques online analytical processing OLAP Avecon Εξοικονόμηση κόστους: DataMATRIX3 Οι επιχειρήσεις αναγνωρίζουν πλέον την δύναμη και την ανταγωνιστικότητα που αποκτούν με την ενσωμάτωση επιχειρηματικών εφαρμογών ευφυΐας - Business Intelligence Tools. Οι εφαρμογές B.I παρέχουν στις επιχειρήσεις

Διαβάστε περισσότερα

Τίτλος Πακέτου Certified Computer Expert-ACTA

Τίτλος Πακέτου Certified Computer Expert-ACTA Κωδικός Πακέτου ACTA - CCE - 002 Τίτλος Πακέτου Certified Computer Expert-ACTA Εκπαιδευτικές Ενότητες Επεξεργασία Κειμένου - Word Δημιουργία Εγγράφου Προχωρημένες τεχνικές επεξεργασίας κειμένου & αρχείων

Διαβάστε περισσότερα

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

Διαβάστε περισσότερα

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΣΧΥΕΙ ΚΑΤΑ ΤΟ ΜΕΡΟΣ ΠΟΥ ΑΦΟΡΑ ΤΟ ΛΥΚΕΙΟ ΓΙΑ ΤΗΝ ΥΠΟΧΡΕΩΤΙΚΗ ΕΚΠΑΙΔΕΥΣΗ ΙΣΧΥΟΥΝ ΤΟ ΔΕΠΠΣ

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Καθηγητής Πληροφορικής ΠΕ19 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 6 ο : ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ Η έννοια του προγράμματος

Διαβάστε περισσότερα

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που 1 Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που μπορούμε να χρησιμοποιήσουμε σε μία JDBC εφαρμογή. Υπάρχει

Διαβάστε περισσότερα

Αυτοματοποιημένη χαρτογραφία

Αυτοματοποιημένη χαρτογραφία ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αυτοματοποιημένη χαρτογραφία Ενότητα # 5: Χαρτογραφικές βάσεις δεδομένων Ιωάννης Γ. Παρασχάκης Τμήμα Αγρονόμων & Τοπογράφων Μηχανικών

Διαβάστε περισσότερα

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας Περιεχόμενα Κεφάλαιο 1 Microsoft Excel 2010... 7 Κεφάλαιο 2 Η δομή ενός φύλλου εργασίας... 19 Κεφάλαιο 3 ημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων... 24 Κεφάλαιο 4 Συμβουλές για την καταχώριση

Διαβάστε περισσότερα

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα