Κεφάλαιο 8. Ομαδοποίηση δεδομένων

8.1 Θεωρητικό υπόβαθρο των αλγορίθμων ομαδοποίησης του SQL Server
8.2 Δημιουργία ενός μοντέλου ομαδοποίησης δεδομένων
8.3 Αξιολόγηση Μοντέλου Clustering
8.3.1 Αξιολογόντας το μοντέλο  με την χρήση του Lift chart
8.3.2 Αξιολόγηση ενός μοντέλου με την χρήση του Drill through
8.4 Ασκήσεις στην ομαδοποίηση δεδομένων
8.5 Λύσεις ασκήσεων στην ομαδοποίηση δεδομένων
8.6. Βιβλιογραφία/Αναφορές

 

 

Κεφάλαιο 8. Ομαδοποίηση δεδομένων

Σύνοψη
Σ’ αυτό το κεφάλαιο θα μελετήσουμε την τεχνική της ομαδοποίησης (clustering). Το Clustering αποτελεί μια τεχνική ομαδοποίησης των δεδομένων μιαςβάσης σε υποσύνολα (clusters), με τέτοιο τρόπο ώστε τα δεδομένα που βρίσκονται στο ίδιο cluster να έχουν όσο το δυνατό περισσότερα κοινά στοιχεία μεταξύ τους. Αυτή η ομαδοποίηση διευκολύνει την πρόβλεψη των χαρακτηριστικών που μας ενδιαφέρουν.

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου

8.1. Θεωρητικό υπόβαθρο των αλγορίθμων ομαδοποίησης του SQL Server

Η πράξη της ομαδοποίησης  ή, αλλιώς, συσταδοποίησης εντοπίζει ομάδες αντικειμένων στα δεδομένα βάσει των κοινών χαρακτηριστικών τους και της απόστασης μεταξύ τους. Οι ομάδες των αντικειμένων διαμορφώνονται με βάση ένα μέτρο απόστασης, έτσι ώστε τα αντικείμενα της ίδιας ομάδας να είναι όσο το δυνατόν πλησιέστερα μεταξύ τους, ενώ τα αντικείμενα διαφορετικών ομάδων να είναι όσο το δυνατόν πιο απομακρυσμένα. Καθώς δεν υπάρχει καθολικός ορισμός για την αποδεκτή ομάδα, η επιλογή εξαρτάται κάθε φορά από το συγκεκριμένο πρόβλημα και τα δεδομένα που καλούμαστε να εξορύξουμε.  Το περιβάλλον του SQL Server διαθέτει δύο ευρέως γνωστούς αλγόριθμους ομαδοποίησης, τον k-means και τον Expectation-Maximization Clustering, τα βασικά χαρακτηριστικά των οποίων παρουσιάζονται παρακάτω.

Ο αλγόριθμος k-means

O k-means ανήκει στην κατηγορία των αλγορίθμων διαιρετικής (partition-based) ομαδοποίησης, οι οποίοι διαιρούν τον χώρο σε k περιοχές, με τα αντικείμενα καθεμιάς από τις περιοχές να αντιστοιχούν σε μία ομάδα (Rajaraman, Leskovec, & Ullman, 2015· Roiger, & Geatz, 2003· Tan, Steinback, & Kumar, 2006). O k-means αναπαριστά κάθε ομάδα C, με το κέντρο της κάθε ομάδας να ορίζεται από την παρακάτω εξίσωση:

όπου mi είναι η μέση τιμή μιας ομάδας Ci, m είναι ο αριθμός των αντικειμένων που ανήκουν στην ομάδα και dij είναι η απόσταση ενός αντικειμένου j από το κέντρο της ομάδας Ci. Ο k-meansείναι ένας επαναληπτικός αλγόριθμος, όπου σε κάθε επανάληψη τα αντικείμενα ενός συνόλου δεδομένων μετακινούνται μεταξύ των διαφόρων ομάδων, με στόχο να ελαχιστοποιηθεί η παρακάτω αντικειμενική συνάρτηση, που εκφράζει τη μέση τετραγωνική απόσταση (Sum of Squared Error ή, αλλιώς, μέσο τετραγωνικό σφάλμα) των αντικειμένων από τα πλησιέστερα κέντρα των ομάδων:

όπου  είναι ένα αντικείμενο, Ci είναι μια ομάδα iκαι mi  είναι η μέση τιμή του Ci.  Η ελαχιστοποίηση της παραπάνω αντικειμενικής συνάρτησης πετυχαίνει τον εντοπισμό ομάδων που παρουσιάζουν μεγάλο βαθμό ομοιότητας μεταξύ των αντικειμένων της ίδιας ομάδας, ενώ ταυτόχρονα τα αντικείμενα μιας ομάδας διαφέρουν σημαντικά από τα αντικείμενα που ανήκουν σε διαφορετικές ομάδες. Τα βήματα του αλγορίθμου είναι, συνοπτικά, τα εξής:

  1. Διάλεξε k τυχαία αντικείμενα ως κέντρα των ομάδων.
  2. Ανάθεσε κάθε αντικείμενο στην ομάδα με το πλησιέστερο κέντρο.
  3. Υπολόγισε το νέο κέντρο για καθεμία από τις k ομάδες.
  4. Αν όλα τα κέντρα συμπίπτουν με τα προηγούμενα κέντρα των ομάδων (δηλαδή δεν υπήρξε μεταβολή), τότε τερμάτισε διότι ο αλγόριθμος έχει συγκλίνει. Διαφορετικά, επανάλαβε το βήμα 2.

Όπως είπαμε και προηγουμένως, το κριτήριο σύγκλισης μπορεί να βασιστεί στην ελαχιστοποίηση του μέσου τετραγωνικού σφάλματος SSE. Εναλλακτικά, ο αλγόριθμος μπορεί να τερματίζει, είτε όταν δεν υπάρχει κανένα αντικείμενο που να ανατίθεται σε διαφορετική ομάδα ή μετά από ένα συγκεκριμένο πλήθος επαναλήψεων που εγγυάται τον τερματισμό του αλγορίθμου, ακόμη και όταν αυτός δεν συγκλίνει. Τονίζεται ότι στο περιβάλλον του SQL Server υπάρχει σχετική παράμετρο (stopping_tolerance), η οποία καθορίζει τον ελάχιστο αριθμό των αντικειμένων που θα πρέπει να μετακινούνται μεταξύ των ομάδων σε κάθε επανάληψη για να μην τερματίσει ο αλγόριθμος.

 

Ο αλγόριθμος Expectation-Maximization Clustering

Ο αλγόριθμος Expectation-Maximization (EM) Clustering βασίζεται σε ένα μοντέλο πιθανοτήτων που συνδυάζει διαφορετικές Gaussian κατανομές (Gaussian Mixture Model), όπου κάθε κατανομή αντιπροσωπεύει μί α ομάδα (Rajaraman, Leskovec, & Ullman, 2015· Roiger, & Geatz, 2003· Tan, Steinback, & Kumar, 2006). Ο αλγόριθμος EM υπολογίζει επαναληπτικά την πιθανότητα που έχει ένα αντικείμενο του συνόλου δεδομένων να παράγεται από την i-οστή Gaussian κατανομή. Δηλαδή, υπολογίζει την πιθανότητα που έχει ένα αντικείμενο να ανήκει ένα αντικείμενο στη ομάδα i. Αυτό σημαίνει ότι ένα αντικείμενο μπορεί να ανατίθεται σε περισσότερες ομάδες με διαφορετική πιθανότητα κάθε φορά. Συγκεκριμένα, για κάθε αντικείμενο προσδιορίζεται η δεσμευμένη πιθανότητα prob( | θι ) να έχει συγκεκριμένες τιμές στα χαρακτηριστικά του , με την προϋπόθεση ότι ανήκει σε μια ομάδα i, όπου θι είναι το σύνολο το παραμέτρων της υπό εξέταση ομάδας. Μια γενική περιγραφή των βημάτων του αλγορίθμου EM φαίνεται παρακάτω:

1. Επέλεξε τυχαίες αρχικές τιμές για το σύνολο Θ των παραμέτρων που προσδιορίζουν την κάθε κατανομή/ομάδα (π.χ. μέση τιμή, τυπική απόκλιση, κτλ.)

2. Όσο αλλάζουν οι τιμές των παραμέτρων του συνόλου Θ  ή όσο δεν έχουμε φτάσει σε ένα ανώτατο αριθμό επαναλήψεων επανάλαβε:

α. (Expectation-Step)  Για κάθε αντικείμενο υπολόγισε την πιθανότητα να ανήκει σε μια
κατανομή/ομάδα.

β. (Maximization-Step) Βάσει των τιμών των πιθανοτήτων του βήματος 2α υπολόγισε τις νέες τιμές
των παραμέτρων Θ.

Σ’ αυτό το σημείο τονίζεται ότι ο αλγόριθμος k-meansείναι μια ειδική περίπτωση του αλγορίθμου EM. Συγκεκριμένα, το expectation step του αλγορίθμου ΕΜ αντιστοιχεί στο βήμα της ανάθεσης κάθε αντικειμένου σε μια ομάδα (βήμα 2 του k-means). Επιπροσθέτως, το maximization step του αλγορίθμου ΕΜ αντιστοιχεί στον υπολογισμό των νέων κέντρων των ομάδων (βήμα 3 του k-means). Στο περιβάλλον του SQL Server, ο αλγόριθμος ΕΜ είναι o προεπιλεγμένoς αλγόριθμος, επειδή, σε σύγκριση με το k-means, προσφέρει πολλαπλά πλεονεκτήματα, τα οποία περιγράφονται συνοπτικά παρακάτω:

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

Τέλος, στο περιβάλλον του SQL Server οι αλγόριθμοι k-means και ΕΜ διατίθενται σε δύο εναλλακτικές μορφές: Scalable και non-scalable. Στην πρώτη μορφή, σαρώνονται οι πρώτες 50.000 εγγραφές της βάσης δεδομένων. Αν η δειγματοληψία των δεδομένων εκπαίδευσης είναι επαρκής και το μοντέλο προσαρμοστεί επιτυχώς στα δεδομένα, τότε δεν χρειάζεται να γίνει προσπέλαση άλλων δεδομένων. Διαφορετικά, σαρώνονται ακόμη 50.000 εγγραφές από την βάση δεδομένων. Στη δεύτερη μορφή, σαρώνονται όλες οι εγγραφές της βάσης δεδομένων, κάτι που, βέβαια, έχει αυξημένες απαιτήσεις κάθε φορά σε χρόνο, μνήμη RAM και υπολογιστική ισχύ.

 

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου


8.2. Δημιουργία ενός μοντέλου ομαδοποίησης δεδομένων

Ας υποθέσουμε ότι ένα Video Club θέλει να προβλέψει την οικογενειακή κατάσταση των πελατών του, χρησιμοποιώντας την τεχνική της ομαδοποίησης αυτών και έχοντας ως βάση τα ενδιαφέροντά τους (Hobbies), την τεχνολογία (Technology) και κάποια άλλα στοιχεία των πελατών. Παρακάτω παρουσιάζονται τα αναλυτικά βήματα για την δημιουργία ενός μοντέλου βάσει της ομαδοποίησης δεδομένων.

 Αναλυτικά βήματα

  1. Βρισκόμαστε στο MovieClick Project της καρτέλας Solution Explorer, όπως φαίνεται στην Εικόνα 8.1. Κάνουμε δεξί κλικ στο Mining Structure και επιλέγουμε New Mining Structure.


Εικόνα 8.1

  1. Επιλέγουμε From existing relational data or data warehouse, όπως φαίνεται στην Εικόνα 8, καθώς θα χρησιμοποιήσουμε τη βάση που έχουμε εισάγει στον SQL Server. Επιλέγουμε Next>, ώστε να προχωρήσουμε στο επόμενο βήμα.


Εικόνα 8.2

 

  1. Στο παράθυρο που εμφανίζεται επιλέγουμε τον αλγόριθμο Microsoft Clustering και, στη συνέχεια, Next>, ώστε να προχωρήσουμε στο επόμενο βήμα. Στη συνέχεια, επιλέγουμε το MovieClick στο πεδίο με τα διαθέσιμα Data Source Views. Τέλος, επιλέγουμε Next>, ώστε να προχωρήσουμε στο επόμενο βήμα.
  1. Στο παράδειγμα μας, όπως προαναφέραμε, θέλουμε να προβλέψουμε την οικογενειακή κατάσταση των πελατών μας σε σχέση με τα ενδιαφέροντά τους και την τεχνολογία. Σ’ αυτό το στάδιο επιλέγουμε ποιος πίνακας θα οριστεί ως Case και ποιοι πίνακες θα είναι οι Nested. Case είναι ο πίνακας που περιέχει τα δεδομένα που θέλουμε να προβλέψουμε, ενώ Nested είναι οι πίνακες τα δεδομένα των οποίων είναι παράμετροι στον Case. Στη συγκεκριμένη περίπτωση, όπως φαίνεται στην Εικόνα 8.3, επιλέγουμε τον πίνακα Customers ως Case και τους πίνακες Hobbies και Technology ως Nested, καθώς, όπως αναφέραμε, θέλουμε να προβλέψουμε την οικογενειακή κατάσταση των πελατών σε σχέση με τα ενδιαφέροντά τους και την τεχνολογία. Κατόπιν, επιλέγουμε Next>, ώστε να προχωρήσουμε στο επόμενο βήμα.

Εικόνα 8.3

  1. Σ’ αυτό το στάδιο επιλέγουμε ποια δεδομένα των πινάκων που επιλέξαμε στο προηγούμενο βήμα θα είναι είσοδος στο μοντέλο και ποια δεδομένα θέλουμε να προβλέψουμε. Συγκεκριμένα, όπως φαίνεται στην Εικόνα 8.4, κάνουμε τις εξής επιλογές:


Εικόνα 8.4

Δεν θα πατήσουμε τώρα Next>, καθώς θέλουμε απλώς να λάβουμε υπόψη μας το αποτέλεσμα που δίνει η επιλογή Suggest.  


Πράγματι, στο παραπάνω παράθυρο κάνουμε κλικ στο Suggest. Τότε, όπως φαίνεται στην Εικόνα 8.5, εμφανίζεται μια σχέση της predictable τιμής με τα άλλα στοιχεία των πινάκων. Επιλέγουμε Cancel, καθώς, αν επιλέξουμε ΟΚ, τότε όλες οι στήλες που φαίνεται να συσχετίζονται θα συμπεριληφθούν στο Mining Structure. Τώρα, καθώς επανήλθαμε στο παράθυρο της Εικόνας 8.4 επιλέγουμε Next>, ώστε να προχωρήσουμε στο επόμενο βήμα.


Εικόνα 8.5

  1. Εμφανίζεται μια σύνοψη-επιβεβαίωση του περιεχομένου του Mining Structure, όπως φαίνεται στην Εικόνα 8.6. Επιλέγουμε Detect, για να επιλεχθεί ο κατάλληλος τύπος δεδομένων από το σύστημα και να γίνει ο σαφής διαχωρισμός διακριτών και συνεχών τιμών, που γίνεται ύστερα από δειγματοληψία και ανάλυση δεδομένων. Κατόπιν, επιλέγουμε Next>, ώστε να προχωρήσουμε στο επόμενο βήμα.


Εικόνα 8.6

  1. Στον νέο πίνακα, όπως φαίνεται στην Εικόνα 8.7, ορίζουμε το ποσοστό των δεδομένων που το μοντέλο θα διατηρήσει για την επαλήθευσή του. Στη συγκεκριμένη περίπτωση, προσδιορίζουμε το test set σε 0%, διότι θέλουμε να μετρήσουμε με ακρίβεια σε ολόκληρο το train set (αισιόδοξη πρόβλεψη).


Εικόνα 8.7

  1. Στη συνέχεια, όπως φαίνεται στην Εικόνα 8.8, ορίζουμε όνομα για το Mining structure name και το Mining model. Στη συγκεκριμένη περίπτωση, συμπληρώνουμε CustMaritalStatus στο πεδίο Mining structure name και CustMaritalStatus_Clustering στο πεδίο Mining model name. Κατόπιν, επιλέγουμε Allow drill through, προκειμένου να μπορούμε να δούμε τα δεδομένα των πινάκων μας. Τέλος, πατάμε Finish, ώστε να ολοκληρωθεί η διαδικασία.


Εικόνα 8.8


  1. Εμφανίζεται το παράθυρο του Data Mining Designer, όπως φαίνεται στην Εικόνα 8.9. Επιλέγοντας την καρτέλα Mining Structure, βλέπουμε το Mining Structure που δημιουργήσαμε.


Εικόνα 8.9


  1. Στη συνέχεια, όπως φαίνεται στην Εικόνα 8.10, επιλέγουμε την καρτέλα Mining Models, ώστε να καθορίσουμε τις παραμέτρους για το μοντέλο που θα μελετήσουμε. Βλέπουμε ότι κάθε δεδομένο έχει οριστεί ως Input, Key, Predict ή PredictOnly. H διαφορά ανάμεσα σε Predict και PredictOnly είναι ότι τα πρώτα δεδομένα μπορούμε να τα χρησιμοποιήσουμε και ως είσοδο αλλά και ως έξοδο του αλγορίθμου. Αντίθετα, τα PredictOnly μπορούμε να τα χρησιμοποιήσουμε μόνο ως έξοδο. Στη συγκεκριμένη περίπτωση θέλουμε να προβλέψουμε το Marital Status των πελατών ανάλογα με την ηλικία, τη μόρφωση, το φύλο, τον αριθμό των παιδιών, τα hobbies και την τεχνολογία. Επομένως, ορίζουμε τα χαρακτηριστικά ως εξής:


Εικόνα 8.10

  1. Στη συνέχεια, θα μελετήσουμε τις παραμέτρους με τις οποίες κατασκευάζεται το μοντέλο και τις προεπιλεγμένες τιμές που παίρνουν. Στον πίνακα της Εικόνας 8.10 κάνουμε δεξί κλικ στον αλγόριθμο Microsoft_Clustering και επιλέγουμε Set Algorithm Parameters. Εμφανίζεται ένα νέο παράθυρο με 9 παραμέτρους, όπως βλέπουμε πλέον στην Εικόνα 8.11.


Εικόνα 8.11

 

Ακολουθεί η αναλυτική περιγραφή της κάθε παραμέτρου του αλγορίθμου Clustering:

 

  1. Επιλέγουμε την καρτέλα Mining Model Viewer, για να προβάλουμε το μοντέλο. Επιλέγουμε Run, ώστε να αποθηκευτεί και να «τρέξει» το μοντέλο μας.

Εικόνα 8.12

  1. Ακολούθως, εμφανίζεται ένα παράθυρο που παρουσιάζει τις ενέργειες που έγιναν για τη δημιουργία του μοντέλου και πληροφορεί αν αυτές ολοκληρώθηκαν με επιτυχία. Επιλέγουμε Close, ώστε να ολοκληρωθεί η διαδικασία και να προβάλουμε το μοντέλο.
  1. Επιλέγοντας την καρτέλα Cluster Diagram στον Mining Model Viewer εμφανίζονται τα Clusters που έχουν δημιουργηθεί. Παρατηρούμε, όπως φαίνεται στην Εικόνα 8.13, ότι όσο πιο ανοιχτό είναι το χρώμα ενός cluster τόσο πιο μικρός είναι ο αριθμός των περιπτώσεων που ομαδοποιούνται σ’ αυτό το cluster, δηλαδή τόσο πιο μικρό είναι το πλήθος των περιπτώσεων που το αποτελούν.
  1. Αν αφήσουμε τον κέρσορα του ποντικιού πάνω σε ένα cluster, παρατηρούμε ότι εμφανίζονται κάποια στατιστικά στοιχεία. Αυτά τα στατιστικά στοιχεία για κάθε cluster σχετίζονται με την παράμετρο που θέτουμε στο πεδίο Shading Variable. Για παράδειγμα, επιλέγοντας Shading Variable = Marital Status και State = Divorced, όπως φαίνεται στην Εικόνα 8.13, βλέπουμε ότι το Cluster 8 εμπεριέχει το 5% των διαζευγμένων (divorced).
    Παρατηρούμε ότι όσο πιο κοντά είναι τα clusters μεταξύ τους και όσο παχύτερη είναι η γραμμή που τα συνδέει, τόσο μεγαλύτερες είναι οι μεταξύ τους ομοιότητες. Επομένως,  παρατηρώντας αυτό το διάγραμμα, μπορούμε να καταλάβουμε αφενός πόσο μεγάλη είναι η σχέση μεταξύ των clusters και αφετέρου ποια clusters έχουν τις περισσότερες ομοιότητες. Παρατηρούμε, ακόμη, ότι ο αριθμός των clusters που σχημάτισε ο αλγόριθμος είναι 10, κάτι που συνέβη επειδή η τιμή της παραμέτρου CLUSTER_COUNT είχε αφεθεί στην προεπιλεγμένη τιμή 10.
    Παρατηρούμε, τέλος, ότι στα αριστερά του γραφήματος υπάρχει μια μπάρα, η μετακίνηση της οποίας παρουσιάζει τον βαθμό συσχέτισης μεταξύ των clusters. Η κλίμακα διαβάθμισης γίνεται από το χαμηλότερο προς το υψηλότερο επίπεδο της μπάρας με το το χαμηλότερο να δηλώνει τη μεγαλύτερη συσχέτιση μεταξύ των clusters και το υψηλότερο τη μικρότερη.


Εικόνα 8.13

  1. Στη συνέχεια, όπως φαίνεται στην Εικόνα 8.14, κάνουμε δεξί κλικ σε ένα συγκεκριμένο cluster. το cluster 4. Επιλέγουμε Drill Through και Model and Structure Colums, προκειμένου να δούμε αναλυτικά τις εγγραφές που εντάσσονται σ’ αυτό το cluster.


Εικόνα 8.14

Στην Εικόνα 8.15 εμφανίζονται αναλυτικά όλες οι περιπτώσεις που ομαδοποιούνται στο συγκεκριμένο cluster. Τα στοιχεία που εμφανίζονται σ’ αυτό το παράθυρο είναι πάρα πολύ σημαντικά, καθώς μπορούμε να δούμε την ομοιογένεια των περιπτώσεων που περιέχονται σε κάθε cluster.


Εικόνα 8.15

  1. Στη συνέχεια, επιλέγουμε την καρτέλα Cluster Profiles, όπως φαίνεται στην Εικόνα 8.16, ώστε να εμφανιστούν συγκεντρωτικά οι τιμές όλων των χαρακτηριστικών που επιλέχθηκαν κατά την κατασκευή του μοντέλου, για κάθε cluster ξεχωριστά. Παρατηρούμε τη σύνοψη των βασικών τάσεων των χαρακτηριστικών των clusters, η οποία είναι απλή, κατανοητή και κατατοπιστική. Για παράδειγμα, για το Cluster 3 και το χαρακτηριστικό Επίπεδο μόρφωσης (Education Level), το οποίο παίρνει διακριτές τιμές,  βλέπουμε ότι με μπλε χρώμα υπερέχουν αυτοί που είναι κάτοχοι πτυχίου πανεπιστημίου (Bachelor’s degree). Επίσης, για το χαρακτηριστικό ηλικία (age), το οποίο παίρνει συνεχείς τιμές, βλέπουμε ότι ο μέσος όρος ηλικίας των πελατών που εντάσσονται στο cluster 3 είναι κάτω των 33 ετών. Όπως παρατηρούμε, η -με τον ίδιο τρόπο- τοποθέτηση των χαρακτηριστικών ανά cluster επιτρέπει την ταυτόχρονη οπτική σύγκριση των τιμών τους μεταξύ των διαφορετικών ομάδων.

Εικόνα 8.16

  1. Στη συνέχεια, όπως φαίνεται στην Εικόνα 8.17, επιλέγουμε την καρτέλα Cluster Characteristics, ώστε να δούμε ακόμα πιο αναλυτικά τα χαρακτηριστικά και τις τιμές για κάθε συγκεκριμένο cluster που μας ενδιαφέρει. Για παράδειγμα, όπως φαίνεται στην ίδια Εικόνα, για το cluster 3 εμφανίζεται ένας πίνακας που περιγράφει τα χαρακτηριστικά των εγγραφών που εντάσσονται σ’ αυτό,  προβάλλοντας ταυτόχρονα τις τιμές αυτών των χαρακτηριστικών με φθίνουσα πιθανότητα εμφάνισης. Στο συγκεκριμένο cluster, όπως βλέπουμε, ανήκουν πελάτες που είναι ηλικιακά μεταξύ 20-28 ετών, νοικιάζουν DVD ταινίες, είναι άγαμοι άνδρες κτλ.


Εικόνα 8.17

  1. Στη συνέχεια, όπως φαίνεται στην Εικόνα 8.18, επιλέγουμε την καρτέλα Cluster Discrimination, ώστε να βρούμε τα σημαντικότερα χαρακτηριστικά στοιχεία του cluster που μας ενδιαφέρει και να καταλάβουμε την ομάδα πελατών που εντάσσονται σ’ αυτό. Θα εντοπίσουμε τα σημαντικότερα στοιχεία του cluster μέσα από τη σύγκριση των στοιχείων που υπάρχουν στο ίδιο cluster με όλα τα στοιχεία που βρίσκονται έξω από αυτό, δηλαδή με το συμπλήρωμά του (complement of cluster). Στο πεδίο Cluster 1, όπως φαίνεται στην ίδια Εικόνα, συμπληρώνουμε το cluster που μας ενδιαφέρει και στο πεδίο Cluster 2 συμπληρώνουμε το συμπλήρωμα του. Στη συγκεκριμένη περίπτωση, επιλέγουμε το Cluster 3 και το συμπλήρωμα του αντίστοιχα. Τα αποτελέσματα του πίνακα επιβεβαιώνουν την εκτίμηση που πήραμε από την προηγούμενη καρτέλα (Cluster Characteristics). καθώς οι πελάτες που εντάσσονται και σε αυτό το cluster (Cluster Discrimination) είναι νέοι, άγαμοι και άτεκνοι. Βάσει των χαρακτηριστικών αυτών, μπορούμε να καταλάβουμε τι είδους πελάτες ανήκουν στο cluster 3 και, ενδεχομένως, να μετονομάσουμε το συγκεκριμένο cluster με κάποιο όνομα που το προσδιορίζει καλύτερα.

Εικόνα 8.18

  1. Πριν όμως μετονομάσουμε το cluster, καλό είναι να λάβουμε υπόψη μας ότι μπορεί να είναι παρόμοιο με άλλα clusters. Γι’ αυτό, πρέπει πρώτα να συγκριθεί με τα άλλα γειτονικά του clusters. Επιστρέφουμε, λοιπόν, στην καρτέλα Cluster Diagram και, όπως φαίνεται στην Εικόνα 8.19, παρατηρούμε ότι, αν ανεβάσουμε διαδοχικά τη μπάρα από το χαμηλότερο προς το ανώτερο επίπεδο, το cluster 3 σχετίζεται περισσότερο με τα clusters 10, 4, 1 και 7.

Εικόνα 8.19

Επειδή, όμως, μας ενδιαφέρουν τα clusters με τα οποία το cluster 3 έχει την ισχυρότερη σχέση, μελετάμε τις περιπτώσεις που ομαδοποιούνται σ’ αυτά τα clusters επιλέγοντας τις καρτέλες Cluster Profiles, Cluster Characteristics και Cluster Discrimination. Όταν καταλήξουμε στο όνομα που προσδιορίζει το cluster με μεγαλύτερη σαφήνεια, το μετονομάζουμε, κάνοντας δεξί κλικ επάνω στο cluster και επιλέγοντας Rename Cluster, όπως φαίνεται στην Εικόνα 8.20.


Εικόνα 8.20

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου

8.3. Αξιολόγηση Μοντέλου Clustering

Σ’ αυτήν την ενότητα θα εξετάσουμε αν το μοντέλο που δημιουργήσαμε μπορεί (ή δεν μπορεί) να προβλέψει με ακρίβεια την οικογενειακή κατάσταση των πελατών. Η αξιολόγηση του μοντέλου θα πραγματοποιηθεί με δύο τρόπους: α) την ερμηνεία του Lift Chart και β) τη μελέτη των περιπτώσεων που ανήκουν σε κάθε cluster, επιλέγοντας Drill Through στα clusters.

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου

8.3.1. Αξιολογώντας το μοντέλο  με την χρήση του Lift chart

  1. Επιλέγουμε την καρτέλα Mining Accuracy Chart και, στη συνέχεια, την καρτέλα Cοlumn Mapping, όπως φαίνεται στην Εικόνα 8.21. Στο πεδίο Select data set to be used for Accuracy Chart επιλέγουμε το Specify a different data set.

Εικόνα 8.21

  1. Εμφανίζεται το παράθυρο με το Mining Structure. Επιλέγουμε Select Structure, ώστε να προσδιορίσουμε το μοντέλο μας (CustMaritalStatus). Στη συνέχεια, κάνουμε κλικ στο Select Case Table και επιλέγουμε τον πίνακα Customers. Εμφανίζεται ξανά το παράθυρο με το Mining Structure και τους πίνακες, όπου βλέπουμε τις σχέσεις που έχουν δημιουργηθεί. Στη συνέχεια, επιλέγουμε Select Nested Table, ώστε να επιλέξουμε τους πίνακες Technology και Hobbies, όπως φαίνεται στην Εικόνα 8.22.

              
Εικόνα 8.22

Στη συνέχεια, όπως φαίνεται στην Εικόνα 8.23, επιλέγουμε την καρτέλα Lift Chart και εμφανίζεται το σχετικό διάγραμμα. Το διάγραμμα εκφράζει το ποσοστό του συνολικού πληθυσμού (άξονας Χ) σε σχέση με το ποσοστό του πληθυσμού που έχουμε προβλέψει σωστά (άξονας Υ). Η μπλε γραμμή του άξονα Χ, που έχει κλήση 45ο, δείχνει την επίδοση του ιδανικού μοντέλου που θα προέβλεπε σωστά την οικογενειακή κατάσταση όλων των πελατών. Η κόκκινη καμπύλη που βρίσκεται κάτω από την μπλε γραμμή εκφράζει την επίδοση του δικού μας μοντέλου.

  1.  Κάνουμε κλικ στο 83% πάνω στο διάγραμμα, όπως φαίνεται στην Εικόνα 8.23, για να δούμε τα σχετικά στατιστικά τα οποία καταγράφονται στο παράθυρο Mining Legend. Βλέπουμε ότι στο 83% του συνολικού πληθυσμού (που είναι το δείγμα μας), το μοντέλο μας προβλέπει σωστά το 60.81% του δείγματος, ενώ το ιδανικό είναι να προβλέπει σωστά το 83%. To Score είναι 0.79.

 

Εικόνα 8.23

  1. Στην συνέχεια,  επιλέγουμε την καρτέλα Classification Matrix, όπου βλέπουμε ποιες είναι οι πραγματικές τιμές των χαρακτηριστικών  και ποιες τιμές αποδόθηκαν στα χαρακτηριστικά αυτά από το μοντέλο μας. Όπως φαίνεται στην Εικόνα 8.24, όσον αφορά τους πελάτες που δεν έχουν παντρευτεί (Never Married), ο αλγόριθμος τούς προβλέπει πολύ σωστά (902 σωστές προβλέψεις επί συνόλου 948 πελατών που δεν έχουν παντρευτεί) με ποσοστό επιτυχούς πρόβλεψης περίπου 95%. Όσον αφορά, όμως, τους διαζευγμένους (Divorced), ο αλγόριθμος δεν τους προβλέπει καθόλου καλά (0 σωστές προβλέψεις επί συνόλου 137) με ποσοστό επιτυχούς πρόβλεψης 0%. Ίσως αυτό το μη επιτυχές αποτέλεσμα να οφείλεται σε μη επαρκές δείγμα διαζευγμένων μέσα στο σύνολο δεδομένων μας.


Εικόνα 8.24

  1. Στη συνέχεια, θα προβλέψουμε την τιμή Married για το χαρακτηριστικό Marital Status. Επιλέγουμε την καρτέλα Column Mapping, όπως φαίνεται στην Εικόνα 8.25. Στο πεδίο Predictable Column Name επιλέγουμε Marital Status. Στο πεδίο Predict Value επιλέγουμε Married.


Εικόνα 8.25

  1. Στη συνέχεια, επιλέγουμε την καρτέλα Lift Chart και εμφανίζεται το σχετικό διάγραμμα, όπως φαίνεται στην Εικόνα 8.26. Σ’ αυτήν την περίπτωση, ο άξονας Υ δείχνει το ποσοστό των παντρεμένων που προβλέφθηκε σωστά. Η μπλε γραμμή, που έχει κλήση 45ο, δείχνει το τυχαίο μοντέλο. Η πράσινη γραμμή, που βρίσκεται πιο ψηλά απ’ όλες, δείχνει το ιδανικό μοντέλο. Η κόκκινη γραμμή αντιπροσωπεύει το δικό μας μοντέλο. Στο παράδειγμά μας, το ιδανικό μοντέλο πετυχαίνει το 100% των προβλέψεων με το 62% του συνολικού πληθυσμού. Στον πίνακα Mining Legend βλέπουμε ότι το μοντέλο μας έχει Score 0.88 και προβλέπει την τιμή που θέλουμε με ακρίβεια 77.06%.

Εικόνα 8.26

 

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου

 

8.3.2. Αξιολόγηση ενός μοντέλου με την χρήση του Drill through

Σ’ αυτήν την ενότητα θα μελετήσουμε τη δυνατότητα αξιολόγησης ενός μοντέλου με έναν εναλλακτικό τρόπο. Αυτό που θα πρέπει να προσέξουμε είναι ότι με το Lift Chart, που περιγράφηκε στην προηγούμενη ενότητα, αξιολογούμε την απόδοση του αλγορίθμου σε όλα τα clusters συνολικά. Στην περίπτωση, όμως, που θέλουμε να αξιολογήσουμε την ομοιογένεια των μελών ενός cluster, πρέπει να έχουμε πρόσβαση στα instances που συγκροτούν το κάθε cluster, έτσι ώστε να κάνουμε τις κατάλληλες συγκρίσεις. Αυτό γίνεται κάνοντας Drill Through σε κάθε cluster και συγκρίνοντας την ομοιογένειά του ως προς τα μέλη που ενσωματώνει (στην περίπτωσή μας, τους πελάτες). Ας υποθέσουμε, για την περίπτωση μας, ότι επιλέγουμε το cluster 3. Επιλέγουμε την καρτέλα Mining Model Viewer και, στη συνέχεια, την καρτέλα Cluster Diagram, όπως φαίνεται στην Εικόνα 8.27, Κάνουμε δεξί κλικ επάνω σε ένα cluster και επιλέγουμε Drill Through και Model Columns Only.


Εικόνα 8.27

Εμφανίζεται το παράθυρο με όλες τις περιπτώσεις του cluster, όπως φαίνεται στην Εικόνα 8.28. Στη συνέχεια, κάνουμε δεξί κλικ και επιλέγουμε Copy All. Επειδή δεν μπορούμε να επεξεργαστούμε αυτά τα δεδομένα στον SQL Server, μπορούμε να τα αντιγράψουμε σε διάφορα άλλα εργαλεία (Microsoft Excel, SPSS κτλ). Στη συγκεκριμένη περίπτωση, χρησιμοποιούμε το Microsoft Excel επιλέγοντας Επικόλληση σε ένα φύλλο. Μπορούμε τώρα να κάνουμε τους υπολογισμούς που θέλουμε, ώστε να αξιολογήσουμε την ομοιογένεια των στοιχείων του cluster 3, δηλαδή την αποτελεσματικότητα του αλγορίθμου. Για παράδειγμα, μπορούμε να υπολογίσουμε τον μέσο όρο ηλικίας των πελατών στο Cluster 3.


Εικόνα 8.28

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου


8.4. Ασκήσεις στην ομαδοποίηση δεδομένων

  1. Να συγκριθούν τα δεδομένα του cluster 3 με τα δεδομένα του cluster 4 στο ήδη δημιουργηθέν μοντέλο (της Εικόνας 8.10) που αναπτύχθηκε στο κεφάλαιο 8.

  2. Να βρεθούν τα χαρακτηριστικά των πελατών του cluster 4 και, στη συνέχεια, να μετονομαστεί αυτό καταλλήλως.

  3. Στο ήδη δημιουργηθέν μοντέλο (της Εικόνας 8.10) να αλλάξετε την τιμή της παραμέτρου CLUSTER_COUNT, ορίζοντάς την σε 5. Να εμφανίσετε και να σχολιάσετε τα παρακάτω
    • τα νέα clusters που θα δημιουργηθούν,
    • το Lift Chart και την ακρίβεια πρόβλεψης του νέου μοντέλου.
  4. Να επαναλάβετε την άσκηση 3, επιλέγοντας τον αλγόριθμο k-means (CLUSTERING_METHOD = 3), όπου το πλήθος των clusters να υπολογίζεται ευρηστικά από τον ίδιο τον αλγόριθμο.

  5. Να επαναλάβετε την άσκηση 3, επιλέγοντας τον αλγόριθμο k-means (CLUSTERING_METHOD = 3), όπου το πλήθος των clusters να υπολογίζεται ευρηστικά από τον ίδιο τον αλγόριθμο. Επιπροσθέτως, να ορίσετε ως κατώτατο πλήθος περιπτώσεων ανά cluster τις 50.

  6. Στη καρτέλα Mining Models να δημιουργήσετε δύο μοντέλα. Ένα μοντέλο να γίνει με την χρήση του αλγορίθμου Decision Tree και ένα με την χρήση του αλγορίθμου Clustering.  Οι αλγόριθμοι να επεξεργάζονται τα ίδια ακριβώς δεδομένα με αυτά της Εικόνας 8.10. Στη συνέχεια να συγκριθούν αυτά τα δύο μοντέλα.

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου

8.5. Λύσεις ασκήσεων στην ομαδοποίηση δεδομένων

Άσκηση 1

Να συγκριθούν τα δεδομένα του cluster 3 με τα δεδομένα του cluster 4 στο ήδη δημιουργηθέν μοντέλο (της Εικόνας 8.10) που αναπτύχθηκε στο κεφάλαιο 8.

Άσκηση 2

Να βρεθούν τα χαρακτηριστικά των πελατών του cluster 4 και, στη συνέχεια, να μετονομαστεί αυτό καταλλήλως.

 

Άσκηση 3

Στο ήδη δημιουργηθέν μοντέλο (της Εικόνας 8.10) να αλλάξετε την τιμή της παραμέτρου CLUSTER_COUNT, ορίζοντάς την σε 5. Να εμφανίσετε και να σχολιάσετε τα παρακάτω:

Άσκηση 4

Να επαναλάβετε την άσκηση 3, επιλέγοντας τον αλγόριθμο k-means (CLUSTERING_METHOD = 3), όπου το πλήθος των clusters να υπολογίζεται ευρηστικά από τον ίδιο τον αλγόριθμο.

Άσκηση 5

Να επαναλάβετε την άσκηση 3, επιλέγοντας τον αλγόριθμο k-means (CLUSTERING_METHOD = 3), όπου το πλήθος των clusters να υπολογίζεται ευρηστικά από τον ίδιο τον αλγόριθμο. Επιπροσθέτως, να ορίσετε ως κατώτατο πλήθος περιπτώσεων ανά cluster τις 50.

Άσκηση 6

Στη καρτέλα Mining Models να δημιουργήσετε δύο διαφορετικά μοντέλα. Ένα μοντέλο να γίνει με την χρήση του αλγορίθμου Decision Tree και ένα με την χρήση του αλγορίθμου Clustering.  Οι αλγόριθμοι να επεξεργάζονται τα ίδια ακριβώς δεδομένα με αυτά της Εικόνας 8.10. Στη συνέχεια να συγκριθούν αυτά τα δύο μοντέλα.

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου

 

8.6. Βιβλιογραφία/Αναφορές

Chakrabarti, S. (2003). Mining the Web: Discovering Knowledge from Hypertext Data, Morgan – Kauffman.

Liu, B. (2007). Web Data Mining: Exploring Hyperlinks, Contents, and Usage Data, Springer.

Rajaraman, A., Leskovec, J., & Ullman, J.D. (2015). Mining of Massive Datasets, Cambridge University Press.

Roiger, R., & Geatz, M. (2003). Data Mining: A tutorial-based Primer, Addison Wesley.

Tan, P - N., Steinbach, M., & Kumar, V. (2006). Introduction to Data Mining, Addison Wesley.

 

Πίνακας Περιεχομένων / Περιεχόμενα Κεφαλαίου

 

Data Definition Language - DDL

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

Data Manipulation Language - DML

Η γλώσσα χειρισμού δεδομένων χρησιμοποιείται για την επεξεργασία, την ενημέρωση, την εισαγωγή και την διαγραφή δεδομένων.

Διάγραμμα οντοτήτων-συσχετίσεων (διάγραμμα E-R)

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

Ερώτημα SQL

Αποτελεί ένα δομημένο τρόπο σύνταξης ερωτοαποκρίσεων για την αναζήτηση περιεχομένου στη βάση δεδομένων μας.

create database

Ένας νέος πίνακας δημιουργείται με τη χρήση της εντολής CREATE TABLE ή σύνταξη της οποίας έχει ως εξής :

CREATE TABLE  ( 
<όνομα πεδίου 1> <τύπος πεδίου 1>,
<όνομα πεδίου 2> <τύπος πεδίου 2>,

<όνομα πεδίου Ν> <τύπος πεδίου Ν>);

Drop Database

Μπορούμε να διαγράψουμε ολόκληρο πίνακα, μαζί με τα δεδομένα που τυχόν έχει χρησιμοποιώντας την εντολή DROP σύμφωνα με το ακόλουθο πρότυπο :
DROP TABLE <όνομα πίνακα>

ON UPDATE

H πρόταση ON UPDATE προσδιορίζει την ενέργεια που θα εκτελεστεί αν θέλουμε να αλλάξουμε την τιμή ενός πεδίου:
UPDATE <όνομα πίνακα> SET <όνομα πεδίου> <νέα τιμή πεδίου> WHERE <κριτήρια επιλογής εγγραφών>

ON DELETE

Ο σκοπός είναι πολύ απλός, διαγράφει εγγραφές από ένα πίνακα. Και πάλι έχομε την δυνατότητα να ορίσουμε ποιές εγγραφές θέλουμε να διαγραφούν (ή και όλες) π.χ.:
DELETE FROM product WHERE id=1

Καρτεσιανού γινομένου

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

πράξη της επιλογής/selection

Η SQL εντολή μέσω της οποίας ανακτούμε πληροφορίες και συντάσσουμε ερωτήματα είναι η SELECT. Η γενική σύνταξη της SELECΤ είναι αρκετά σύνθετη, ωστόσο ένα απλό πρότυπο είναι το ακόλουθο:
SELECT <πεδίο που θέλουμε να φαίνονται>
FROM <πίνακες από τους οποίους θα αντληθούν τα δεδομένα>
WHERE <κριτήρια επιλογής των εγγραφών>

πράξης της σύνδεσης (join)

Η εντολή JOIN σημαίνει σύνδεση, δηλαδή συνδυασμός δεδομένων από δύο ή περισσότερους πίνακες.

left outer join

Περιλαμβάνει επιπρόσθετα και όλες τις εγγραφές του πίνακα που βρίσκεται στα αριστερά της πράξης της σύνδεσης (join) και δεν εμπεριέχονται στο αποτέλεσμα της πράξης της σύνδεσης.

πράξη του full outer join

Περιλαμβάνει επιπρόσθετα και όλες τις εγγραφές των πινάκων που βρίσκονται στα αριστερά και δεξιά της πράξης της σύνδεσης (join) και δεν εμπεριέχονται στο αποτέλεσμα της πράξης της σύνδεσης.

όρος distinct

Η λέξη DISTINCT αμέσως μετά την SELECT δηλώνει ότι κάθε εγγραφή του πίνακα του αποτελέσματος θα συμπεριληφθεί μία μόνο φορά. Επομένως χρησιμοποιείται όταν θέλουμε να εγγυηθούμε ότι στο αποτέλεσμα του ερωτήματος δεν θα υπάρχουν διπλοεγγραφές πρέπει να χρησιμοποιήσουμε το DISTINCT

όρος GROUP BY

H λέξη GROUP BY προσδιορίζει τις στήλες με τις οποίες θα πραγματοποιηθεί ομαδοποίηση (grouping) των δεδομένων.

όρος HAVING

Ο όρος HAVING χρησιμοποιείται για να ορίσει περιοσρισμούς που σχετίζονται με τα ήδη ομαδοποιημένα αποτελέσματα που έχουν δημιουργηθεί με την GROUP BY.

πράξη της ένωσης πινάκων/σχέσεων

H SQL παρέχει ειδικές εντολές για την υποστήριξη των πράξεων της σχεσιακής άλγεβρας που αναφέρονται στην ένωση, διαφορά και τομή πινάκων. Οι πράξη της ένωσης (UNION) συνενώνει τις εγγραφές δύο ή περισσότερων πινάκων.
Ένα παράδειγμα ένωσης δίνεται παρακάτω:
SELECT συνέδριο
FROM πρακτικά_συνεδρίου
UNION
SELECT τιτλος
FROM περιοδικό;

πράξη της τομής σχέσεων

H SQL παρέχει ειδικές εντολές για την υποστήριξη των πράξεων της σχεσιακής άλγεβρας που αναφέρονται στην ένωση, διαφορά και τομή πινάκων. Οι πράξεις αυτές υλοποιούνται στην SQL με τις εντολές UNION, EXCEPT και INTERSECΤ αντιστοίχως.
παράδειγμα τομής :
SELECT ονομα
FROM συνδρομητης
INTERSECT
SELECT ονομα
FROM συγγραφεας;

πράξη της διαφοράς σχέσεων

H SQL παρέχει ειδικές εντολές για την υποστήριξη των πράξεων της σχεσιακής άλγεβρας που αναφέρονται στην ένωση, διαφορά και τομή πινάκων. Οι πράξεις αυτές υλοποιούνται στην SQL με τις εντολές UNION, EXCEPT και INTERSECΤ αντιστοίχως.
παράδειγμα διαφοράς :
SELECT κωδικός,τίτλος
FROM άρθρο
EXCEPT
SELECT κωδικός,τίτλος
FROM άρθρο
WHERE κωδικός_περιοδικού IS NOT NULL;

Ο όρος ΙΝ

Σε περίπτωση που θέλουμε ένα πεδίο να λαμβάνει τιμές από ένα προκαθορισμένο σύνολο τιμών, τότε μπορούμε εναλλακτικά να χρησιμοποιήσουμε τον τελεστή ΙΝ.

Ο ορος Νot Ιn

Σε περίπτωση που θέλουμε ένα πεδίο να λαμβάνει τιμές από ένα προκαθορισμένο σύνολο τιμών, εξαιρώντας κάποιες τιμές τότε μπορούμε εναλλακτικά να χρησιμοποιήσουμε τον τελεστή ΝΟΤ ΙΝ.

Οι όροι all και some

H SQL προσφέρει τα κατηγορήματα SOME(ή ΑΝΥ) και ALL τα οποία αντιστοιχούν στον υπαρξιακό και καθολικό ποσοδείκτη που χρησιμοποιούμε στα μαθηματικά. Με τη χρήση των κατηγορημάτων αυτών μπορούμε να συντάξουμε πολύ χρήσιμα ερωτήματα με τη χρήση υποερωτημάτων. Πριν απο τα κατηγορήματα SOME και ALL, μπορεί να προηγείται οποιοσδήποτε τελεστής σύγκρισης (=, >, <, >=, <=, <>)

Οι όροι exists και not exists

Η τιμή που επιστρέφει το κατηγόρημα EXISTS είναι αληθής, αν το σύνολο που ακολουθεί δεν είναι κενό. Σε διαφορετική περίπτωση η τιμή που επιστρέφεται είναι ψευδής.

CREATE VIEW

Για τον ορισμό μιας όψης, η SQL παρέχει την εντολή CREATE VIEW που συντάσσεται ως εξής:
CREATE VIEW όνομα-όψης
AS
(υποερώτημα SQL);

DELETE FROM

Παρόμοια με την εντολή UPDATE λειτουργεί και η εντολή DELETE. Ο σκοπός της είναι πολύ απλός, διαγράφει εγγραφές από ένα πίνακα.

DROP TABLE

Η πλήρης διαγραφή ενός πίνακα γίνεται χρησιμοποιώντας την εντολή DROP σύμφωνα με τον ακόλουθο πρότυπο :
DROP TABLE <ονομα πίνακα>

Οι αποθηκευμένες διαδικασίες/stored procedures

O SQL Server δίνει την δυνατότητα υλοποίησης τμημάτων κώδικα τα οποία παραμένουν αποθηκευμένα μέσα στη Βάση Δεδομένων και καλούνται αποθηκευμένες διαδικασίες (stored procedures). Αυτά ενεργοποιούνται ανά τακτά χρονικά διαστήματα για την εκτέλεση μιας σημαντικής λειτουργίας.

Το εύναυσμα/trigger

Ένας σκανδαλισμός ή εύναυσμα (trigger) είναι ένα τμήμα κώδικα που εκτελείται όταν συμβεί ένα γεγονός. Τα γεγονότα που ενεργοποιούν σκανδαλισμούς είναι εισαγωγές, διαγραφές, και ενημερώσεις στα δεδομένα ενός πίνακα.

Ευρετήριο

Ένας κατάλογος (ευρετήριο) ορίζεται σε μία ή περισσότερες στήλες ενός πίνακα και στοχεύει στην αποδοτικότερη εκτέλεση των ερωτημάτων που χρησιμοποιούν τις στήλες αυτές στη συνθήκη WHERE. Η κατασκευή και κατάργηση καταλόγων πραγματοποιείται με τις εντολές CREATE INDEX και DROP INDEX αντίστοιχα.

ALTER TABLE

O ορισμός ενός πίνακα μπορεί να μεταβληθεί στην πορεία, αναλόγως με τις απαιτήσεις. H SQL προσφέρει την εντολή ALTER TABLE, με την οποία επιτρέπονται να γίνουν συγκεκριμένες αλλαγές στον πίνακα: (προσθήκη νέας στήλης, διαγραφή υπάρχουσας στήλης, αλλαγή πεδίου ορισμού μίας στήλης, εισαγωγή νέου περιορισμού, κατάργηση περιορισμού, αλλαγή της εξ ορισμού τιμής στήλης, κατάργηση αρχικής τιμής στήλης).

εντολή grant.

Με την εντολή GRANT δίνουμε δικαιώματα χρήσης της βάσης δεδομένων σε χρήστες.

εντολή revoke.

Με την εντολή REVOKE αφαιρούμε από τους χρήστες τα δικαιώματα χρήσης ενός στοιχείου (π.χ. πίνακα, όψη) μιας βάσης δεδομένων.

H παράμετρος Split method:

Αυτή η παράμετρος καθορίζει τη μέθοδο με την οποία διαχωρίζονται οι κόμβοι του δένδρου. Μπορεί να πάρει τις τιμές [1,3] όπου 1 είναι η τιμή για Binary δένδρο, 2 η τιμή για Complete (multi-way) δένδρο και 3 η τιμή και για τα δύο μαζί.

Κατηγοριοποίηση (classification)

Η κατηγοριοποίηση αποτελεί μια σημαντική λειτουργία εξόρυξης δεδομένων, όπου επιθυμούμε να προβλέψουμε σε πια κατηγορία εντάσσονται και ανήκουν κάθε φορά τα δεδομένα μας.

H παράμετρος Split method:

Αυτή η παράμετρος καθορίζει τη μέθοδο με την οποία διαχωρίζονται οι κόμβοι του δένδρου. Μπορεί να πάρει τις τιμές [1,3] όπου 1 είναι η τιμή για Binary δένδρο, 2 η τιμή για Complete (multi-way) δένδρο και 3 η τιμή και για τα δύο μαζί.

H παράμετρος Stopping Tolerance

Αυτή η παράμετρος καθορίζει τον αριθμό των περιπτώσεων που μετακινούνται μεταξύ των clusters σε κάθε πέρασμα του αλγορίθμου. Ο αλγόριθμος εφαρμόζεται επαναληπτικά στα δεδομένα και σχηματίζει τα cluster με την μορφή που εμείς τα βλέπουμε, ύστερα από ένα σύνολο επαναλήψεων. Επειδή σε κάθε επανάληψη προστίθενται διαρκώς και νέες περιπτώσεις, η τιμή της παραμέτρου μπορεί να θεωρηθεί ως ποσοστό και όχι ένας συγκεκριμένος αριθμός. Η προεπιλεγμένη τιμή της παραμέτρου είναι 10.

Η τάση (trend)

Η τάση μας δείχνει την γενική κατεύθυνση των δεδομένων μας. Για παράδειγμα, η τάση είναι αυξανόμενη στις πωλήσεις προϊόντων τις ημέρες των Χριστουγέννων.

Η περιοδικότητα (periodicity)

Η περιοδικότητα αφορά την επανεμφάνιση κάποιων τάσεων στα δεδομένα μας. Για παράδειγμα, οι πωλήσεις παγωτών αυξάνονται κάθε καλοκαίρι.

Οι ακραίες τιμές (outliers)

Κάποια δεδομένα ενδέχεται να μην είναι δυνατόν να συμπεριλφθούν σε κάποια ομάδα. Τα δεδομένα αυτά καλούνται απομακρυσμένα ή απομονωμένα (outliers) και συνήθως δημιουργούν πρόβλημα στις μεθόδους ομαδοποίησης.

ολοκληρωμένη (integrated)

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

Μη ευμετάβλητη (non volatile)

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

Αφορά ιστορικά δεδομένα (time-variant)

Μια αποθήκη δεδομένων αφορά δεδομένα που μπορεί να έχουν βάθος δεκαετιών.

Ένα μέτρο ή αλλιώς μετρική (measure)

Είναι το μέγεθος ή τα μεγέθη που μας ενδιαφέρουν να συναθροίσουμε ή να αναλύσουμε κατά τις λειτουργίες OLAP.

διαστάσεις (dimensions)

Οι πληροφορίες που περιγράφουν τα γεγονότα, ονομάζονται διαστάσεις. Για ένα γεγονός πώλησης, διαστάσεις είναι, π.χ., το προϊόν που πωλήθηκε, το υποκατάστημα όπου έγινε η πώληση, η ημερομηνία πώλησης, κ.λπ.

Η ιεραρχία (hierarchy)

Η ιεραρχία (hierarchy) μιας διάστασης

Μια διάσταση μπορεί να αποτελείται από διαφορετικά επίπεδα ανάλυσης και να ενσωματώνει μια ιεραρχία. Για παράδειγμα, η διάσταση του χρόνου μπορεί να αναλυθεί σε μέρες, εβδομάδες, κτλ.

Το σχήμα Αστέρα (star schema)

Σύμφωνα με το μοντέλο αυτό η αποθήκη δεδομένων περιέχει ένα μεγάλο κεντρικό πίνακα που καλείται πίνακας γεγονότων (fact table) και ένα σύνολο μικρότερων πινάκων που καλούνται πίνακες διαστάσεων (fimension tables) και συνδέονται απευθείας στον fact table.

To σχήμα χιονονιφάδας (snowflake schema)

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

Το σχήμα γαλαξία (galaxy schema),

Στο σχήμα γαλαξία έχουμε περισσότερους τους ενός fact tables, τους οποίους μπορούν να διαμοιράζονται περισσότερες διαστάσεις.

Η πράξη Roll-up

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

Η πράξη Drill-down

Επιφέρει ακριβώς τα αντίθετα αποτελέσματα από τη λειτουργία ROLL-UP. Με τη λειτουργία DRILL-DOWN αυξάνουμε το επίπεδο λεπτομέρειας των δεδομένων μας.

Η πράξη Slice

Η λειτουργία SLICE επιλέγει τα δεδομένα του κύβου μας ως προς μία διάσταση.

Η πράξη Dice

H λειτουργία DICE επιλέγει τα δεδομένα ως προς πολλές διαστάσεις του κύβου μας, δημιουργώντας έναν μικρότερο κύβο.

Η πράξη Pivot

Η λειτουργία PIVOT πραγματοποιεί περιστροφή στις διαστάσεις του κύβου, με αποτέλεσμα τα δεδομένα να απεικονίζονται με διαφορετικό τρόπο κάθε φορά.

Συναθροιστικές συνάρτήσεις (aggregation function)

Οι συναρτήσεις συνάθροισης χρησιμοποιούνται για την εξαγωγή συγκεντρωτικών τιμών από τις τιμές μίας στήλης.

Προκειμένου να εξάγουμε έναν κανόνα συσχέτισης, πρέπει να ικανοποιούνται κάποια κατώτατα όρια τόσο για το support όσο και για τo confidence/probability. Ο κανόνας πρέπει να έχει support μεγαλύτερo από το όριο, που ονομάζεται ελάχιστη υποστήριξη (minimum_support), και η εμπιστοσύνη πρέπει να είναι μεγαλύτερη από το όριο, που ονομάζεται ελάχιστη εμπιστοσύνη (minimum_probability).

Προκειμένου να εξάγουμε έναν κανόνα συσχέτισης, πρέπει να ικανοποιούνται κάποια κατώτατα όρια τόσο για το support όσο και για τo confidence/probability. Ο κανόνας πρέπει να έχει support μεγαλύτερo από το όριο, που ονομάζεται ελάχιστη υποστήριξη (minimum_support), και η εμπιστοσύνη πρέπει να είναι μεγαλύτερη από το όριο, που ονομάζεται ελάχιστη εμπιστοσύνη (minimum_probability).

Slice

H λειτουργία Slice επιλέγει τα δεδομένα ως προς μία διάσταση του κύβου μας, δημιουργώντας μια φέτα ενός κύβου

Pivot

Η λειτουργία Pivot αλλάζει μόνο το τρόπο απεικόνισης των διαστάσεων του κύβου μα