Προεπεξεργασία Δεδομένων Εξόρυξη Δεδομένων και Αλγόριθμοι Μάθησης 1ο Φροντιστήριο Αντωνέλλης Παναγιώτης antonel@ceid.upatras.gr Σκούρα Αγγελική skoura@ceid.upatras.gr
Σκοπός της προεπεξεργασίας Τα δεδομένα γενικά χαρακτηρίζονται ως ακάθαρτα Δεν είναι ολοκληρωμένα: λείπουν τιμές χαρακτηριστικών, λείπουν σημαντικά χαρακτηριστικά ή περιέχουν συναθροιστικά δεδομένα Περιέχουν «θόρυβο»: περιέχουν σφάλματα ή outliers Είναι αντιφατικά: περιέχουν ασυμφωνίες σε κώδικες ή ονόματα Τα δεδομένα είναι κακής ποιότητας Για να έχουμε ποιοτικά αποτελέσματα από την εξόρυξη γνώσης χρειαζόμαστε ποιοτικά δεδομένα Οι αποθήκες δεδομένων έχουν ανάγκη από συνεπή ενοποίηση ποιοτικών δεδομένων
Βήματα προεπεξεργασίας Καθαρισμός δεδομένων (Data cleaning) Συμπλήρωση των χαμένων τιμών, εξομάλυνση δεδομένων με θόρυβο, αναγνώριση ή απομάκρυνση των outliers, διόρθωση ασυνεπειών στα δεδομένα Ενοποίηση δεδομένων (Data integration) Ενοποίηση πολλαπλών βάσεων δεδομένων Μετασχηματισμός δεδομένων (Data transformation) Κανονικοποίηση και συνάθροιση δεδομένων Μείωση δεδομένων (Data reduction) Διατηρούνται μειωμένες αναπαραστάσεις δεδομένων σε χωρητικότητα αλλά δημιουργούνται ίδια ή παρόμοια αποτελέσματα ανάλυσης, Μείωση διαστατικότητας Διακριτοποίηση δεδομένων (Data discretization) Μέρος της μείωσης δεδομένων αλλά με ιδιαίτερη σημαντικότητα, ειδικά για numerical data
Βήματα προεπεξεργασίας Καθαρισμός δεδομένων (Data cleaning) Συμπλήρωση των missing data, εξομάλυνση δεδομένων με θόρυβο, αναγνώριση ή απομάκρυνση από outliers, και επίλυση ασυνεπειών στα δεδομένα Ενοποίηση δεδομένων (Data integration) Ενοποίηση πολλαπλών βάσεων δεδομένων Μετασχηματισμός δεδομένων (Data transformation) Κανονικοποίηση και συνάθροιση δεδομένων Μείωση δεδομένων (Data reduction) Διατηρούνται μειωμένες αναπαραστάσεις δεδομένων σε χωρητικότητα αλλά δημιουργούνται ίδια ή παρόμοια αποτελέσματα ανάλυσης Διακριτοποίηση δεδομένων (Data discretization) Μέρος της μείωσης δεδομένων αλλά με ιδιαίτερη σημαντικότητα, ειδικά για numerical data
Καθαρισμός δεδομένων (Data cleaning) Εργασίες στο καθαρισμό δεδομένων Άμεση κτήση δεδομένων (data acquisition) και μεταδεδομένων Συμπλήρωση των χαμένων τιμών Μετατροπή των nominal τιμών σε numerical Αναγνώριση των outliers και εξομάλυνση δεδομένων με θόρυβο Διόρθωση ασυνεπειών στα δεδομένα Απαλοιφή πλεονασμού
Acquisition (απόκτηση) Τα δεδομένα μπορούν να είναι σε DBMS OpenDBConnectivity ODBC (Ο στόχος της είναι η πρόσβαση σε οποιαδήποτε δεδομένα από κάθε εφαρμογή, ανεξάρτητα από ποια database management systems (DBMS) βρίσκονται τα δεδομένα) . Η ODBC το επιτυγχάνει εισάγοντας ένα ενδιάμεσο layer, το οποίο ονομάζεται database driver, μεταξύ της εφαρμογής και των DBMS). JavaDBC JDBC (Είναι ένα Java API το οποίο επιτρέπει στoυς προγραμματιστές JAVA να αποκτούν πρόσβαση σε σχεσιακές DBs) Δεδομένα σε ένα flat file Fixed-column μορφή Delimited format: tab, comma “,” π.χ. το Weka χρησιμοποιεί comma-delimited δεδομένα Μετατροπή των χαρακτήρων αρχής/τέλους μέσα στις συμβολοσειρές Εξακρίβωση του αριθμού των πεδίων πριν και μετά
Μετα-δεδομένα (Metadata) Τύποι πεδίων: binary, numeric,nominal (categorical),ordinal, … Ρόλοι πεδίων: input : inputs for modeling target : output id/auxiliary : keep, but not use for modeling ignore : don’t use for modeling weight : instance weight Περιγραφή πεδίων
Μεταβλητές Δεδομένα ανάλογα με την κλίμακα μέτρησης Ποιοτικές (π.χ. φύλλο, επίπεδο μόρφωσης, περιοχή καταγωγής) Ποσοτικές (=αριθμητικές τιμές που εκφράζονται σε μια μονάδα μέτρησης, π.χ. ηλικία) Συνεχείς Ασυνεχείς ή Διακριτές Δεδομένα ανάλογα με την κλίμακα μέτρησης Κατηγορικά, (είναι επίπεδα ή κατηγορίες) Ονομαστικά (κατηγορίες που η σειρά τους δεν έχει σημασία, π.χ. χρώμα, μέσο μεταφοράς) Διατακτικά (κατηγορίες που η διάταξή τους έχει σημασία, π.χ. σοβαρότητα, γνώμη) Μετρήσεις
Missing Data Τα δεδομένα δεν είναι πάντα διαθέσιμα π.χ. πολλές πλειάδες δεν έχουν τιμές για κάποια χαρακτηριστικά, όπως το εισόδημα του πελάτη στα δεδομένα πωλήσεων Τα missing data μπορούν να οφείλονται: Βλάβη εξοπλισμού Ασυμβατότητα με άλλα δεδομένα οπότε και διαγράφονται Δεδομένα που δεν συμπληρώθηκαν ποτέ λόγω κακής συνεννόησης Δεδομένα που δεν ήταν σημαντικό να αποθηκευθούν Δεν υπάρχει ιστορικό των δεδομένων Τα missing data μπορεί να πρέπει να εξαχθούν από συμπεράσματα
Πως χειριζόμαστε τα missing data Παραβλέπουμε πλειάδες: συνήθως όταν λείπει το class label (π.χ. το classification δεν είναι αποτελεσματικό όταν το ποσοστό των missing values ανά χαρακτηριστικό διαφοροποιείται σημαντικά) Συμπλήρωση των missing data manually Χρησιμοποίηση γενικών σταθερών για τη συμπλήρωση των missing data: π.χ., “unknown”
Μετατροπή των nominal τιμών σε numerical Άλλες μέθοδοι (regression, nearest neighbor) απαιτούν μόνο numeric τιμές Για να χρησιμοποιήσουμε nominal πεδία σε τέτοιες μεθόδους πρέπει να τις μετατρέψουμε σε numeric τιμές Δεν αγνοούμε τα nominal πεδία γιατί συχνά περιέχουν σημαντική πληροφορία
Δεδομένα με θόρυβο (Noisy Data) Θόρυβος: τυχαίο σφάλμα ή ασυμφωνία σε μετρημένες μεταβλητές Λάθος τιμές χαρακτηριστικών μπορεί να οφείλονται σε: λάθη στον τρόπο συλλογής δεδομένων λάθη στην εισαγωγή δεδομένων προβλήματα στη μετάδοση δεδομένων περιορισμούς στην τεχνολογία inconsistency in naming convention Άλλα προβλήματα για τα οποία χρειάζεται καθαρισμός των δεδομένων: διπλές εγγραφές ημιτελή δεδομένα ασυνεπή δεδομένα
Πως χειριζόμαστε τα δεδομένα με θόρυβο Συνδυασμός υπολογιστικής και ανθρώπινης παρατήρησης Αναγνώριση ύποπτων τιμών και έλεγχος τους Binning method: Αρχικά ταξινόμηση δεδομένων και διαχωρισμός τους σε (equi-depth) bins Smooth by bin means, smooth by bin median, smooth by bin boundaries, etc. Clustering (Συσταδοποίηση) Βρίσκει και απομακρύνει τα outliers Regression (Απόκλιση) Εξομάλυνση των δεδομένων με χρήση των regression functions
Binning method Sorted data for temperature (in C): 4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34 Partition into (equi-depth) bins: - Bin 1: 4, 8, 9, 15 - Bin 2: 21, 21, 24, 25 - Bin 3: 26, 28, 29, 34 Smoothing by bin means: - Bin 1: 9, 9, 9, 9 - Bin 2: 23, 23, 23, 23 - Bin 3: 29, 29, 29, 29 Smoothing by bin boundaries: - Bin 1: 4, 4, 4, 15 - Bin 2: 21, 21, 25, 25 - Bin 3: 26, 26, 26, 34
Clustering
Linear Regression
Βήματα προεπεξεργασίας Καθαρισμός δεδομένων (Data cleaning) Συμπλήρωση των missing data, εξομάλυνση δεδομένων με θόρυβο, αναγνώριση ή απομάκρυνση από outliers, και επίλυση ασυνεπειών στα δεδομένα Ενοποίηση δεδομένων (Data integration) Ενοποίηση πολλαπλών βάσεων δεδομένων Μετασχηματισμός δεδομένων (Data transformation) Κανονικοποίηση και συνάθροιση δεδομένων Μείωση δεδομένων (Data reduction) Διατηρούνται μειωμένες αναπαραστάσεις δεδομένων σε χωρητικότητα αλλά δημιουργούνται ίδια ή παρόμοια αποτελέσματα ανάλυσης Διακριτοποίηση δεδομένων (Data discretization) Μέρος της μείωσης δεδομένων αλλά με ιδιαίτερη σημαντικότητα, ειδικά για numerical data
Ενοποίηση δεδομένων (Data integration) Ενώνει δεδομένα από πολλαπλές πηγές Ενοποίηση σχήματος (Schema integration) Ενοποίηση μετα-δεδομένων από διαφορετικές πηγές Ανίχνευση και επίλυση συγκρούσεων σε τιμές δεδομένων Για την ίδια οντότητα οι τιμές από διαφορετικές πηγές είναι διαφορετικές
Χρήση των Redundant Data Το ίδιο χαρακτηριστικό μπορεί να έχει διαφορετικό όνομα σε διαφορετικές βάσεις δεδομένων Ένα χαρακτηριστικό μπορεί να συνεπάγεται από ένα άλλο Πλεονάζοντα δεδομένα μπορούν να βρεθούν με προσεκτική ανάλυση συσχετίσεων (correlation analysis) Προσεκτική ενοποίηση δεδομένων από πολλαπλές πηγές μπορεί να βοηθήσει στη μείωση των πλεοναζόντων δεδομένων
Βήματα προεπεξεργασίας Καθαρισμός δεδομένων (Data cleaning) Συμπλήρωση των missing data, εξομάλυνση δεδομένων με θόρυβο, αναγνώριση ή απομάκρυνση από outliers, και επίλυση ασυνεπειών στα δεδομένα Ενοποίηση δεδομένων (Data integration) Ενοποίηση πολλαπλών βάσεων δεδομένων Μετασχηματισμός δεδομένων (Data transformation) Κανονικοποίηση και συνάθροιση δεδομένων Μείωση δεδομένων (Data reduction) Διατηρούνται μειωμένες αναπαραστάσεις δεδομένων σε χωρητικότητα αλλά δημιουργούνται ίδια ή παρόμοια αποτελέσματα ανάλυσης Διακριτοποίηση δεδομένων (Data discretization) Μέρος της μείωσης δεδομένων αλλά με ιδιαίτερη σημαντικότητα, ειδικά για numerical data
Μετασχηματισμός δεδομένων (Data transformation) Smoothing απομάκρυνση θορύβου από τα δεδομένα Aggregation συνάθροιση, data cube construction Generalization concept hierarchy climbing Normalization scaled to fall within a small, specified range min-max normalization z-score normalization normalization by decimal scaling Δημιουργία νέων χαρακτηριστικών Χρησιμοποιούνται για να βελτιώσουν τη διαδικασία εξόρυξης γνώσης
Normalization Techniques Σκοπός της κανονικοποίησης: η αντιστοίχιση των τιμών των δεδομένων από το διάστημα [minA, maxA] [new_minA, new_maxA] Min-max normalization: Επίσης, υπάρχουν παραλλαγές της min max κανονικοποίησης ώστε το διάστημα [new_min, new_max] να μην είναι κατ’ ανάγκη το [0,1] Decimal scaling: (όταν τα δεδομένα προέρχονται από πηγές που διαφέρουν με λογαριθμικό παράγοντα). Παράδειγμα μια πηγή έχει εύρος τιμών [0,1] και μια άλλη πηγή έχει εύρος τιμών [0, 1000]. Σε αυτήν χρησιμοποιείται η τεχνική Decimal scaling.
Normalization: Παράδειγμα Θεωρούμε τα δεδομένα από 30-50 και έστω ότι θέλουμε να τα μετασχηματίσουμε ώστε να κυμαίνονται από 0-1. Θα χρησιμοποιήσουμε Min-max normalization Το στοιχείο 30 αντιστοιχίζεται ως εξής: s’ = (30-30)/(50-30) = 0 Το στοιχείο 50 αντιστοιχίζεται ως εξής: s’ = (50-30)/(50-30) = 1 Το ενδιάμεσο στοιχείο 35 αντιστοιχίζεται ως εξής: s’ = (35-30)/(50-30) = 5/20 = 0.25
Normalization Techniques Z-score: Median and Median Absolute Deviation (MAD):
Βήματα προεπεξεργασίας Καθαρισμός δεδομένων (Data cleaning) Συμπλήρωση των missing data, εξομάλυνση δεδομένων με θόρυβο, αναγνώριση ή απομάκρυνση από outliers, και επίλυση ασυνεπειών στα δεδομένα Ενοποίηση δεδομένων (Data integration) Ενοποίηση πολλαπλών βάσεων δεδομένων Μετασχηματισμός δεδομένων (Data transformation) Κανονικοποίηση και συνάθροιση δεδομένων Μείωση δεδομένων (Data reduction) Διατηρούνται μειωμένες αναπαραστάσεις δεδομένων σε χωρητικότητα αλλά δημιουργούνται ίδια ή παρόμοια αποτελέσματα ανάλυσης Διακριτοποίηση δεδομένων (Data discretization) Μέρος της μείωσης δεδομένων αλλά με ιδιαίτερη σημαντικότητα, ειδικά για numerical data
Μείωση δεδομένων (Data reduction) Πρόβλημα: Μεγάλες αποθήκες δεδομένων μπορούν να έχουν terabytes δεδομένων, Πολύπλοκη ανάλυση δεδομένων και εξόρυξη γνώσης μπορεί να απαιτήσει πολύ χρόνο Λύση: Μείωση δεδομένων (Διατηρούνται μειωμένες αναπαραστάσεις δεδομένων σε χωρητικότητα αλλά πρέπει να διατηρούνται ίδια ή παρόμοια αποτελέσματα ανάλυσης) Στρατηγικές: Data cube aggregation Dimension Reduction Instance Selection Value Discretization Συμπίεση δεδομένων Numerosity reduction
Data Cube Aggregation Το χαμηλότερο επίπεδο ενός data cube Τα συναθροισμένα δεδομένα για μια ξεχωριστή οντότητα ενδιαφέροντος Πολλαπλά επίπεδα συνάθροισης σε data cubes Επιπλέον μείωση του μεγέθους των δεδομένων που θα χρησιμοποιηθούν Αναφορά σε κατάλληλα επίπεδα Χρησιμοποιούμε την λιγότερη δυνατή πληροφορία για την επίλυση του προβλήματος μας
Μείωση διαστάσεων Μπορεί να επιτευχθεί με δύο μεθόδους: Επιλογή χαρακτηριστικών: Επιλογή ενός ελάχιστου πλήθους (m) χαρακτηριστικών με τα οποία είναι δυνατή η εξαγωγή ισοδύναμων ή κοντινών αποτελεσμάτων με αυτά που θα είχαμε αν είχαμε κρατήσει όλα τα χαρακτηριστικά για ανάλυση (n). Ιδανικά m <<< n. Μετασχηματισμός χαρακτηριστικών: Είναι γνωστός ως Principle Component Analysis. Ο μετασχηματισμός των χαρακτηριστικών δημιουργεί ένα νέο σύνολο χαρακτηριστικών, λιγότερων διαστάσεων από το αρχικό, αλλά χωρίς μείωση των βασικών διαστάσεων. Επίσης, συχνά χρησιμοποιείται για την οπτικοποίηση των δεδομένων.
Instance Selection Η επιλογή περιπτώσεων (instance selection) μπορεί να επιτευχθεί με δύο τύπους μεθόδων: Sampling methods : Random Sampling - randomly select "m" instances from the "n" initial instances. Stratified Sampling - randomly select "m" instances from the "n" initial instances, such that the distribution of classes is maintained in the selected sample. Search-based methods : Search for representative instances in the data, based on some criterion and remove the remaining instances. Use Statistical measures (number of instances, mean or standard deviations) to replace redundant instances with their representative pseudo-instances.
Συμπίεση δεδομένων Wavelet Transforms Τεχνική που εφαρμόζεται σε ένα διάνυσμα D και το μετασχηματίζει σε ένα αριθμητικά διαφορετικό διάνυσμα D’ ίδιου μήκους Κυρίως χρησιμοποιείται για συμπίεση χρονοσειρών Παράδειγμα 2 τύπων wavelet μετασχηματισμών Daubechies μετασχηματισμός Haar μετασχηματισμός
Numerosity reduction Παραμετροποιήσιμες μέθοδοι Χρησιμοποιείται ένα μοντέλο (ή μια συνάρτηση) για την εκτίμηση των δεδομένων και έτσι αποθηκεύονται μόνο οι παράμετροι του αντί των δεδομένων Log-linear μοντέλα τα οποία διατηρούν διακριτά πολυδιάστατες πιθανοτικές κατανομές Μη-παραμετροποιήσιμες μέθοδοι Ιστογράμματα Συσταδοποίηση Δειγματοληψία
Βήματα προεπεξεργασίας Καθαρισμός δεδομένων (Data cleaning) Συμπλήρωση των missing data, εξομάλυνση δεδομένων με θόρυβο, αναγνώριση ή απομάκρυνση από outliers, και επίλυση ασυνεπειών στα δεδομένα Ενοποίηση δεδομένων (Data integration) Ενοποίηση πολλαπλών βάσεων δεδομένων Μετασχηματισμός δεδομένων (Data transformation) Κανονικοποίηση και συνάθροιση δεδομένων Μείωση δεδομένων (Data reduction) Διατηρούνται μειωμένες αναπαραστάσεις δεδομένων σε χωρητικότητα αλλά δημιουργούνται ίδια ή παρόμοια αποτελέσματα ανάλυσης Διακριτοποίηση δεδομένων (Data discretization) Μέρος της μείωσης δεδομένων αλλά με ιδιαίτερη σημαντικότητα, ειδικά για numerical data
Διακριτοποίηση δεδομένων (Data discretization) Τρείς βασικοί τύποι χαρακτηριστικών: Nominal — values from an unordered set Ordinal — values from an ordered set Continuous — real numbers Discretization: Διαχωρισμός του πεδίου των χαρακτηριστικών σε intervals. Οι ετικέτες των intervals χρησιμοποιούνται μετά για την αντικατάσταση των δεδομένων Classification αλγόριθμοι