Κεφάλαιο 7. Κατηγοριοποίηση Δεδομένων με Δέντρα Απόφασης

7.1 Θεωρητικό υπόβαθρο των αλγορίθμων κατηγοριοποίησης του SQL Server
7.2 Δημιουργία ενός μοντέλου με δέντρα απόφασης
7.3 Αξιολόγηση δέντρων απόφασης
7.4 Ασκήσεις στην παραμετροποίηση του αλγορίθμου δέντρου απόφασης
7.5 Λύσεις ασκήσεων στην παραμετροποίηση του αλγορίθμου δέντρων απόφασης
7.6. Βιβλιογραφία/Αναφορές

 


Κεφάλαιο 7. Κατηγοριοποίηση Δεδομένων με Δέντρα Απόφασης

Σύνοψη

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

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

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

Με τον όρο Κατηγοριοποίηση (classification) προσδιορίζουμε την πράξη της ανάθεσης ενός αντικειμένου σε μία από τις κλάσεις ενός προκαθορισμένου συνόλου κλάσεων.(Νανόπουλος, & Μανωλόπουλος, 2008· Χαλκίδη, & Βεζυργιάννης, 2005) Κάθε αντικείμενο ενός συνόλου δεδομένων διαθέτει έναν αριθμό χαρακτηριστικών (X1,…,Xκ), όπου Π(Χi) είναι το πεδίο ορισμού του χαρακτηριστικού Χi. Επιπλέον, κάθε αντικείμενο έχει ένα χαρακτηριστικό C, το οποίο δηλώνει την κλάση όπου αυτό ανήκει, με Π(C) να συμβολίζει το πεδίο ορισμού του χαρακτηριστικού της κλάσης C. Η κατηγοριοποίηση περιλαμβάνει την εξεύρεση μιας συνάρτησης f: Π(X1) x … x Π(Xκ) -> Π(C), η οποία ονομάζεται μοντέλο κατηγοριοποίησης (classification model). Αν γνωρίζουμε τις τιμές των χαρακτηριστικών X1,…,Xκ ενός αντικειμένου, αλλά όχι την τιμή του χαρακτηριστικού C, τότε εφαρμόζουμε ένα μοντέλο κατηγοριοποίησης και αναθέτουμε το αντικείμενο στην κλάση f(X1,..., Xκ)..

Τα δέντρα απόφασης (decision trees) είναι από τα πιο γνωστά μοντέλα κατηγοριοποίησης. Το δέντρο απόφασης είναι ένας γράφος με την κλασική δενδρική δομή (Νανόπουλος, & Μανωλόπουλος, 2008· Χαλκίδη, & Βεζυργιάννης, 2005), όπου διακρίνουμε: (α) έναν αρχικό κόμβο, τη ρίζα, (β) τους εσωτερικούς κόμβους και (γ) τους εξωτερικούς κόμβους, τα φύλλα. Σε κάθε κόμβο (εσωτερικό ή εξωτερικό) εκτός της ρίζας εισέρχεται μια κατευθυνόμενη ακμή από έναν άλλο κόμβο. Σε κάθε εσωτερικό κόμβο αντιστοιχεί ένα χαρακτηριστικό που χρησιμοποιείται για περαιτέρω διαχωρισμό του δέντρου. Στις ακμές που εξέρχονται από τη ρίζα ή κάθε εσωτερικό κόμβο, αντιστοιχεί μιασυνθήκη ελέγχου με βάση το διαχωριστικό χαρακτηριστικό. Η διαδικασία κατασκευής ενός δέντρου απόφασης είναι επαναληπτική και μπορεί να περιγραφεί συνοπτικά ως ακολούθως: Αρχικά, επιλέγουμε ένα χαρακτηριστικό, το οποίο αναφέρεται στη ρίζα του δέντρου, και, στη συνέχεια, κατασκευάζουμε μιαακμή και έναν κόμβο για καθεμία από τις διακριτές τιμές του χαρακτηριστικού. Αυτά τα δύο βήματα επαναλαμβάνονται συνεχώς, μέχρις ότου όλα τα χαρακτηριστικά να εισαχθούν στους κόμβους του δέντρου.

Τονίζεται ότι στο περιβάλλον του SQL Server, υπάρχει σχετική παράμετρος (Split method), η οποία καθορίζει τη μέθοδο με την οποία θα διαχωρίζονται κάθε φορά οι κόμβοι ενός δέντρου. Ο διαχωρισμός μπορεί να γίνει είτε με δυαδικό τρόπο (binary) είτε με περισσότερες από δύο ακμές (complete). Επιπροσθέτως, για την αντιστοίχιση ενός χαρακτηριστικού με έναν κόμβο του δέντρου, λαμβάνεται υπόψη κάθε φορά η πληροφορία που μεταφέρει ένα χαρακτηριστικό. Συγκεκριμένα, το κριτήριο επιλογής ενός διαχωριστικού χαρακτηριστικού βασίζεται στην ομοιογένεια των κόμβων που αυτό παράγει, ώστε να επιλέγεται αυτό που επιφέρει τη μεγαλύτερη ομοιογένεια (δηλαδή να εμφανίζονται σε ένα κόμβο μόνο αντικείμενα της ίδιας κλάσης) στους νέους κόμβους που δημιουργούνται κάθε φορά. Στο περιβάλλον του SQL Server υπάρχει μια συγκεκριμένη παράμετρος (score_method), η οποία προσδιορίζει ποια μέθοδος επιλογής διαχωριστικού χαρακτηριστικού θα χρησιμοποιηθεί (π.χ. Eντροπία, ή Bayesian with K2 Prior, ή Βayesian Dirichlet Equivalent with Uniform Prior).

Η εντροπία μετράει τον βαθμό αβεβαιότητας (ανομοιογένειας των αντικειμένων που εντάσσονται σε ένα κόμβο) που δημιουργεί ένα διαχωριστικό χαρακτηριστικό.

Για τον υπολογισμό της εντροπίας, χρησιμοποιείται η παρακάτω εξίσωση:

 

 

όπου με Ν συμβολίζουμε έναν υπό εξέταση κόμβο, και με c τον αριθμό των υπαρχουσών κλάσεων. Επίσης, pi= ni/ n, όπου ni  είναι ο αριθμός των αντικειμένων που ανήκουν τόσο στο κόμβο Ν όσο και στην κλάση i, ενώ n είναι ο συνολικός αριθμός των αντικειμένων που ανήκουν στον κόμβο Ν.

            Τέλος, ο SQL Server παρέχει δύο ακόμη μεθόδους επιλογής ενός διαχωριστικού χαρακτηριστικού (Bayesian with K2 Prior, και Bayesian Dirichlet Equivalent with Uniform Prior) που βασίζονται στα Bayesian δίκτυα. Το Bayesian δίκτυο είναι ένας κατευθυνόμενος ακυκλικός γράφος, όπου κάθε κόμβος αναπαριστά ένα χαρακτηριστικό, ενώ κάθε κατευθυνόμενη ακμή αναπαριστά μια εξαρτημένη πιθανότητα μετάβασης από έναν κόμβο σε έναν άλλο.  Η μέθοδος Bayesian with K2 Prior (ΒΚ2) προσπαθεί να δώσει απαντήσεις που αφορούν στο ερώτημα ποιος προηγούμενος (prior) κόμβος πρέπει να χρησιμοποιηθεί στον υπολογισμό των πιθανοτήτων μετάβασης για τους επόμενους κόμβους. Η μέθοδος Bayesian Dirichlet Equivalent with Uniform Prior (BDE) βασίζεται στη πολυωνυμική κατανομή Dirichlet, η οποία περιγράφει τη δεσμευμένη πιθανότητα μετάβασης σε ένα κόμβο ενός Bayesian δικτύου βάσει των συνδέσεών του με προηγούμενους κόμβους στο δίκτυο. Ένα κοινό γνώρισμα των δύο παραπάνω μεθόδων είναι ότι όσο πιο κοντά βρίσκεται ένα χαρακτηριστικό στη ρίζα του δέντρου, τόσο πιο σημαντική είναι η πληροφορία σύνδεσής του με το επόμενο χαρακτηριστικό.

 

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


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

Έστω ότι ένα Video Club, το οποίο τηρεί τη βάση δεδομένων MovieClick (βλέπε ενότητα 6.1) και για διαφημιστικούς λόγους, θέλει να προβλέψει το φύλλο των πελατών του με βάση την ηλικία τους, το μορφωτικό τους επίπεδο, την οικογενειακή τους κατάσταση και τα ενδιαφέροντά τους. Θα εξετάσουμε αυτό το παράδειγμα με τη χρήση του SQL Server Data Tools του Visual Studio.

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

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

Εικόνα 7.1

  1. Στο παράθυρο καλωσορίσματος του οδηγού Data Mining Wizard, όπως φαίνεται στην Εικόνα 7.2, επιλέγουμε Next>, ώστε να προχωρήσουμε στο επόμενο βήμα.

Εικόνα 7.2

  1. Στο παράθυρο που εμφανίζεται, όπως φαίνεται στην Εικόνα 7.3, επιλέγουμε From existing relational database or data warehouse, καθώς τα δεδομένα μας θα εισαχθούν από την σχεσιακή βάση που εισάγαμε προηγουμένως στο project μας. Στη συνέχεια, επιλέγουμε Next>, ώστε να προχωρήσουμε στο επόμενο βήμα.

Εικόνα 7.3

  1. Στο νέο παράθυρο, όπως φαίνεται στην Εικόνα 7.4, επιλέγουμε τον αλγόριθμο με τον οποίο θα επεξεργαστούμε τα δεδομένα. Στη συγκεκριμένη περίπτωση επιλέγουμε τον Microsoft Decision Trees, καθώς ασχολούμαστε με τα δέντρα αποφάσεων. Στη συνέχεια, επιλέγουμε Next>, ώστε να προχωρήσουμε στο επόμενο βήμα.


Εικόνα 7.4

  1. Στο νέο παράθυρο, όπως φαίνεται στην Εικόνα 7.5, βλέπουμε τα διαθέσιμα source views του project μας. Επιλέγουμε το MovieClick και, στη συνέχεια, Next>, ώστε να προχωρήσουμε στο επόμενο βήμα.


Εικόνα 7.5

  1. Σ’ αυτό το στάδιο, όπως φαίνεται στην Εικόνα 7.6, επιλέγουμε ποιος πίνακας θα είναι case και ποιοι πίνακες θα είναι nested. Case είναι ο πίνακας που περιέχει τα δεδομένα που θέλουμε να προβλέψουμε, ενώ Nested είναι οι πίνακες τα δεδομένα των οποίων είναι παράμετροι στον Case. Στη συγκεκριμένη περίπτωση επιλέγουμε τον πίνακα Customers ως Case και τους πίνακες Criteria και Hobbies ως Nested, καθώς θέλουμε να μελετήσουμε κάποια στοιχεία των πελατών σε σχέση με τα Criteria και τα Hobbies.


Εικόνα 7.6

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


Εικόνα 7.7

  1. Αν κάνουμε κλικ στο κουμπί Suggest, εμφανίζεται, όπως φαίνεται στην Εικόνα 7.8, μια εκτίμηση σχετικά με τα πιο σημαντικά χαρακτηριστικά για την πρόβλεψη της Predictable μεταβλητής. Αν επιλέγαμε ΟΚ, τότε όλα τα χαρακτηριστικά που φαίνεται να συσχετίζονται θα συμπεριλημβάνονταν στο Mining Structure που θέλουμε να δημιουργήσουμε. Γι΄ αυτό, εμείς επιλέγουμε Cancel. Στη συνέχεια, επιλέγουμε Next>, ώστε να προχωρήσουμε στο επόμενο βήμα.


Εικόνα 7.8

  1. Στη συνέχεια, όπως φαίνεται στην Εικόνα 7.9, εμφανίζεται μια σύνοψη-επιβεβαίωση του περιεχομένου του Mining Structure. Επιλέγουμε Detect, για να επιλεχθεί ο κατάλληλος τύπος δεδομένων από το σύστημα (είτε continuous ή discrete) που γίνεται ύστερα από δειγματοληψία και ανάλυση των δεδομένων από το σύστημα. Στη συνέχεια, επιλέγουμε Next.


Εικόνα 7.9

  1. Στο νέο παράθυρο, όπως φαίνεται στην Εικόνα 7.10, ορίζουμε το ποσοστό των δεδομένων που το μοντέλο θα διατηρήσει για την επαλήθευσή του. Στη συγκεκριμένη περίπτωση δηλώνουμε το ποσοστό 0%, καθώς θέλουμε να χρησιμοποιήσουμε όλο το σύνολο των δεδομένων της βάσης.

Εικόνα 7.10

  1. Στη συνέχεια, ορίζουμε όνομα για το Mining Structure και το Mining Model. Στη συγκεκριμένη περίπτωση, όπως φαίνεται στην Εικόνα 7.11, συμπληρώνουμε CustGender στο Mining structure name και Customers_Tree στο Mining model name. Τέλος, επιλέγουμε Allow drill through και κατόπιν Finish, για να ολοκληρωθεί η διαδικασία.


Εικόνα 7.11


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


Εικόνα 7.12

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


Εικόνα 7.13

  1. Στη συνέχεια, θα μελετήσουμε αφενός τις παραμέτρους με τις οποίες κατασκευάζεται το δέντρο απόφασης και αφετέρου τις προεπιλεγμένες τιμές που παίρνουν. Αρχικά, όπως φαίνεται στην Εικόνα 7.14, κάνουμε δεξί κλικ στον αλγόριθμο Microsoft Decision Trees και επιλέγουμε Set Algorithm Parameters.


Εικόνα 7.14

  1. Στο παράθυρο που εμφανίζεται, όπως φαίνεται στην Εικόνα 7.15, βλέπουμε τις μεταβλητές που μπορούμε να παραμετροποιήσουμε.


Εικόνα 7.15

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

 

  1. Για να προβάλουμε το δέντρο, επιλέγουμε την καρτέλα Mining Model Viewer. Σε περίπτωση που δεν έχουν αποθηκευτεί οι αλλαγές που έχουμε κάνει, θα εμφανιστούν τα παρακάτω μηνύματα στα οποία επιλέγουμε Yes.

Εικόνα 7.16


Εικόνα 7.17


Στη συνέχεια, όπως φαίνεται στην Εικόνα 7.18, εμφανίζονται συγκεντρωμένες οι επιλογές μας. Επιλέγουμε Run, ώστε να δημιουργηθεί το δέντρο και να γίνει deploy.


Εικόνα 7.18

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

 


Εικόνα 7.19

  1. Στη συνέχεια, εμφανίζεται το παράθυρο με το δέντρο που έχει δημιουργηθεί, όπως φαίνεται στην Εικόνα 7.20. Αν επιλέξουμε Size to Fit, εμφανίζεται όλο το δέντρο (με όλα τα επίπεδά του), ώστε να έχουμε μια ολοκληρωμένη εικόνα του.

Εικόνα 7.20

Αφήνοντας τον κέρσορα πάνω σε έναν κόμβο, βλέπουμε ότι εμφανίζονται κάποια στατιστικά στοιχεία σχετικά με το σύνολο των περιπτώσεων που ανήκουν σε κάθε κόμβο του δέντρου και σχετικά με την τιμή που έχουν: Male ή Female. επίσης, παρατηρούμε ότι σε κανένα φύλλο του δέντρου η τιμή των συνολικών περιπτώσεων δεν είναι μικρότερη του 10, έτσι όπως είναι καθορισμένη από την παράμετρο MINIMUM_SUPPORT. Τέλος, το σύνολο των περιπτώσεων κάθε κόμβου του δέντρου είναι ίσο με το άθροισμα των περιπτώσεων των παιδιών του, κάτι που ισχύει και για τις τιμές των χαρακτηριστικών.

 

  1. Στη συνέχεια, επιλέγουμε την καρτέλα Dependency Network, όπως φαίνεται στην Εικόνα 7.21, ώστε να μελετήσουμε τη σχέση μεταξύ του χαρακτηριστικού που θέλουμε να προβλέψουμε και των υπολοίπων που σχετίζονται με αυτό και συμμετέχουν στη δημιουργία του δέντρου. Στα αριστερά του γραφήματος υπάρχει μια μπάρα, η μετακίνηση της οποίας παρουσιάζει τον βαθμό εξάρτησης του χαρακτηριστικού που θέλουμε να προβλέψουμε από τα υπόλοιπα χαρακτηριστικά. H διαβάθμιση γίνεται από το χαμηλότερο προς το υψηλότερο επίπεδο της μπάρας, με το χαμηλότερο να δηλώνει τη μεγαλύτερη εξάρτηση και το υψηλότερο τη μικρότερη. Στη συγκεκριμένη περίπτωση, το χαρακτηριστικό που θέλουμε να προβλέψουμε (Gender) επηρεάζεται πρώτα από το χαρακτηριστικό Computer.


Εικόνα 7.21


Στο δεύτερο επίπεδο εξάρτησης το gender επηρεάζεται από το Computer και το Marital Status, όπως φαίνεται στην Εικόνα 7.22.


Εικόνα 7.22

Στο τρίτο επίπεδο εξάρτησης το gender επηρεάζεται από το Computer, το Marital Status και το Shopping, όπως φαίνεται στην Εικόνα 7.23.


Εικόνα 7.23

 

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

 

7.3. Αξιολόγηση δέντρων απόφασης

Σ’ αυτήν την ενότητα θα παρουσιάσουμε με αναλυτικά βήματα τη μέθοδο με την οποία αξιολογούνται τα δέντρα απόφασης. Πιο συγκεκριμένα, θα εξακριβώσουμε κατά πόσο το δέντρο που έχουμε δημιουργήσει είναι αποτελεσματικό, δηλαδή αν είναι σχετικά ακριβές στα δεδομένα που θέλουμε να προβλέψουμε. Μ’ αυτόν τον τρόπο, θα μπορέσουμε να αξιολογήσουμε το δέντρο απόφασης, αποτυπώνοντας τα αποτελέσματα της ακρίβειας πρόβλεψης είτε με γραφήματα είτε με πίνακες σύγκρισης.

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

  1. Επιλέγουμε την καρτέλα Mining Accuracy Chart και, όπως φαίνεται στην Εικόνα 7.24, στην καρτέλα Input Selection επιλέγουμε Specify a different data set, ώστε να καθορίσουμε το Mining Structure, τον Case πίνακα και τους Nested πίνακες με τους οποίους θα εργαστούμε.


Εικόνα 7.24

  1. Στο νέο παράθυρο, όπως φαίνεται στην Εικόνα 7.25, επιλέγουμε Select Structure, ώστε να καθορίσουμε το mining structure με το οποίο θα εργαστούμε.

 


Εικόνα 7.25

  1. Εμφανίζεται το παράθυρο επιλογής του mining structure, όπως φαίνεται στην Εικόνα 7.26. Επιλέγουμε το CustGender, που είναι το mining structure με το οποίο εργαζόμαστε, και, στη συνέχεια, επιλέγουμε ΟΚ, ώστε να επιστρέψουμε στο προηγούμενο παράθυρο.


Εικόνα 7.26

  1. Στη συνέχεια, επιλέγουμε Select Case Table και, όπως φαίνεται στην Εικόνα 7.27, εμφανίζεται το παράθυρο επιλογής του πίνακα Case, στο οποίο επιλέγουμε τον πίνακα Customers και στη συνέχεια επιλέγουμε ΟΚ ώστε να επιστρέψουμε στο προηγούμενο παράθυρο.


Εικόνα 7.27

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


Εικόνα 7.28

  1. Εμφανίζεται το παράθυρο επιλογής του πίνακα Nested, όπως φαίνεται στην Εικόνα 7.29. Επιλέγουμε τον πίνακα Hobbies, καθώς είναι ο μόνος πίνακας του Data Mining Structure στον οποίο εργαζόμαστε καιδίνει χαρακτηριστικά ως input στον αλγόριθμο που φτιάχνει το δέντρο. Στη συνέχεια, επιλέγουμε ΟΚ, ώστε να επιστρέψουμε στο προηγούμενο παράθυρο.

Εικόνα 7.29

  1. Εμφανίζεται ξανά το παράθυρο του Mining Structure με τους πίνακες, όπως φαίνεται στην Εικόνα 7.30,  όπου πλέον βλέπουμε όλες τις συσχετίσεις που έχουν δημιουργηθεί. Στη συνέχεια, επιλέγουμε Close, ώστε να αφήσουμε αυτό το παράθυρο.

Εικόνα 7.30

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

Εικόνα 7.31

Συγκεκριμένα, στο δεξί μέρος της Εικόνας 7.31 βλέπουμε ότι στο 50% του συνολικού πληθυσμού (που είναι το δείγμα) το δέντρο προβλέπει σωστά το 46,1% του δείγματος, ενώ το ιδανικό είναι να προβλέπει σωστά το 50%. Από τη στιγμή που δεν έχει προσδιοριστεί συγκεκριμένη κατάσταση που θέλουμε να προβλέψουμε, η γραμμή του μοντέλου μας θα βρίσκεται πάντα κάτω από την ευθεία του ιδανικού μοντέλου.

 

  1. Στη συνέχεια, θα αξιολογήσουμε την αξιοπιστία του μοντέλου μας μ’ έναν άλλο τρόπο. Επιλέγουμε την καρτέλα Classification Matrix. Στον πίνακα που εμφανίζεται, όπως φαίνεται στην Εικόνα 7.32,  βλέπουμε ότι στις 34 περιπτώσεις που το φύλλο δεν ήταν καταχωρημένο (Missing), ο αλγόριθμος εσφαλμένα το προέβλεψε 27 φορές ως Male και 7 φορές ως Female. Όσον αφορά τους άνδρες (Male), ο αλγόριθμος τούς προβλέπει πολύ σωστά (2355 σωστές προβλέψεις επί συνόλου 2439 ανδρών) με ποσοστό επιτυχημένης πρόβλεψης 96,5%. Όσον αφορά, όμως, τις γυναίκες (Female), ο αλγόριθμος δεν τις προβλέπει καθόλου σωστά (246 σωστές προβλέψεις επί συνόλου 714)  με ποσοστό επιτυχημένης πρόβλεψης 34,5%.

Εικόνα 7.32

  1. Στη συνέχεια, θα προσδιορίσουμε μια συγκεκριμένη κατάσταση που θέλουμε να προβλέψουμε. Το χαρακτηριστικό που μας ενδιαφέρει παίρνει μόνο δύο τιμές (Male και Female), οπότε έχουμε μόνο αυτές τις επιλογές. Επιστρέφουμε στην καρτέλα Input Selection, όπως φαίνεται στην Εικόνα 7.33. Στο πεδίο Predictable Column Name επιλέγουμε την τιμή Gender. Στο πεδίο Predict Value επιλέγουμε την τιμή Male.


Εικόνα 7.33

  1. Τέλος, επιλέγουμε πάλι Lift Chart, ώστε να εμφανιστεί η γραφική απεικόνιση του μοντέλου. Σ’ αυτήν την περίπτωση, όπως φαίνεται στην Εικόνα 7.34, ο άξονας Χ απεικονίζει το ποσοστό του συνολικού πληθυσμού, ενώ ο άξονας Υ το ποσοστό των ανδρών που έχει προβλεφθεί σωστά. Η γραμμή με κλίση 45ο  απεικονίζει το τυχαίο μοντέλο, ενώ η γραμμή που βρίσκεται υψηλότερα από τις υπόλοιπες δείχνει το ιδανικό μοντέλο. Η άλλη γραμμή αντιπροσωπεύει το δικό μας μοντέλο. Στη συγκεκριμένη περίπτωση, το ιδανικό μοντέλο πετυχαίνει το 100% των προβλέψεων στο 77% του συνολικού πληθυσμού. Στον πίνακα Mining Legend βλέπουμε ότι το δικό μας μοντέλο έχει Score 0.93 και προβλέπει με ακρίβεια 86,76% (δηλαδή, σχετικά καλά).


Εικόνα 7.34

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

7.4. Ασκήσεις στην παραμετροποίηση του αλγορίθμου δέντρου απόφασης

  1. Να αλλάξετε στο ήδη δημιουργηθέν μοντέλο (όπως φαίνεται στην Εικόνα 7.13) την τιμή της παραμέτρου COMPLEXITY_PENALTY, ορίζοντας την σε 0.001. Να εμφανίσετε και να σχολιάσετε τα παρακάτω:
  1. το νέο δέντρο απόφασης που θα δημιουργηθεί,
  2. το dependency network με τα κύρια χαρακτηριστικά που προσδιορίζουν το φύλο (gender),
  3. το Lift Chart και το ποσοστό των ανδρών που προβλέπονται σωστά από το νέο μοντέλο,
  4. το Classification Matrix.
Τέλος, να συγκριθεί το νέο μοντέλο με αυτό που δημιουργούν οι προεπιλεγμένες (default) τιμές του αλγορίθμου Decision Tree.
  1. Να επαναληφθεί η άσκηση 1, δίνοντας την τιμή 0.999 στην παράμετρο COMPLEXITY_PENALTY του αλγορίθμου Decision Tree.

  2. Να επαναληφθεί η άσκηση 1, δίνοντας την τιμή 200 στην παράμετρο COMPLEXITY_PENALTY, η οποία υποχρεώνει να βρίσκονται τουλάχιστον διακόσιες κατ’ ελάχιστο περιπτώσεις σε κάθε φύλλο του δέντρου.

  3. Να επαναληφθεί η άσκηση 1, επιλέγοντας τη δημιουργία ενός μη δυαδικού δέντρου απόφασης (multi-way) και διατηρώντας τις προεπιλεγμένες τιμές στις υπόλοιπες παραμέτρους του αλγορίθμου decision tree.

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

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

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

    7.5. Λύσεις ασκήσεων στην παραμετροποίηση του αλγορίθμου δέντρων απόφασης

    Άσκηση 1

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

    1. το νέο δέντρο απόφασης που θα δημιουργηθεί,
    2. το dependency network με τα κύρια χαρακτηριστικά που προσδιορίζουν το φύλο (gender),
    3. το Lift Chart και το ποσοστό των ανδρών που προβλέπονται σωστά από το νέο μοντέλο,
    4. το Classification Matrix.

    Τέλος να συγκριθεί το νέο μοντέλο με αυτό που δημιουργούν οι προεπιλεγμένες (default) τιμές του αλγορίθμου Desicion Tree.

    Άσκηση 2

    Να επαναληφθεί η άσκηση 1 δίνοντας την τιμή 0.999 στην παράμετρο COMPLEXITY_PENALTY του αλγορίθμου Decision Tree.

    Λύση

    Άσκηση 3

    Να επαναληφθεί η άσκηση 1, δίνοντας την τιμή 200 στην παράμετρο COMPLEXITY_PENALTY, η οποία υποχρεώνει να βρίσκονται τουλάχιστον διακόσιες κατ’ ελάχιστο περιπτώσεις σε κάθε φύλλο του δέντρου.