330 likes | 442 Views
Προεπεξεργασία Δεδομένων. Εξόρυξη Δεδομένων και Αλγόριθμοι Μάθησης. 1 ο Φροντιστήριο. Αντωνέλλης Παναγιώτης antonel@ceid.upatras.gr Σκούρα Αγγελική skoura@ceid.upatras.gr. Σκοπός της προεπεξεργασίας. Τα δεδομένα γενικά χαρακτηρίζονται ως ακάθαρτα
E N D
Προεπεξεργασία Δεδομένων Εξόρυξη Δεδομένων και Αλγόριθμοι Μάθησης 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 • Μερικά εργαλεία μπορούν να χειριστούν nominal τιμές εσωτερικά • Άλλες μέθοδοι (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
Βήματα προεπεξεργασίας • Καθαρισμός δεδομένων (Data cleaning) • Συμπλήρωση των missing data, εξομάλυνση δεδομένων με θόρυβο, αναγνώριση ή απομάκρυνση από outliers, και επίλυση ασυνεπειών στα δεδομένα • Ενοποίηση δεδομένων (Data integration) • Ενοποίηση πολλαπλών βάσεων δεδομένων • Μετασχηματισμός δεδομένων (Data transformation) • Κανονικοποίηση και συνάθροιση δεδομένων • Μείωση δεδομένων (Data reduction) • Διατηρούνται μειωμένες αναπαραστάσεις δεδομένων σε χωρητικότητα αλλά δημιουργούνται ίδια ή παρόμοια αποτελέσματα ανάλυσης • Διακριτοποίηση δεδομένων (Data discretization) • Μέρος της μείωσης δεδομένων αλλά με ιδιαίτερη σημαντικότητα, ειδικά για numerical data
Ενοποίηση δεδομένων (Data integration) • Ενοποίηση δεδομένων (Data integration) • Ενώνει δεδομένα από πολλαπλές πηγές • Ενοποίηση σχήματος (Schema integration) • Ενοποίηση μετα-δεδομένων από διαφορετικές πηγές • Ανίχνευση και επίλυση συγκρούσεων σε τιμές δεδομένων • Για την ίδια οντότητα οι τιμές από διαφορετικές πηγές είναι διαφορετικές
Χρήση των Redundant Data • Τα 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
Βήματα προεπεξεργασίας • Καθαρισμός δεδομένων (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 • Συμπίεση δεδομένων • Numerosityreduction
Data Cube Aggregation • Το χαμηλότερο επίπεδο ενός data cube • Τα συναθροισμένα δεδομένα για μια ξεχωριστή οντότητα ενδιαφέροντος • Πολλαπλά επίπεδα συνάθροισης σε data cubes • Επιπλέον μείωση του μεγέθους των δεδομένων που θα χρησιμοποιηθούν • Αναφορά σε κατάλληλα επίπεδα • Χρησιμοποιούμε την λιγότερη δυνατή πληροφορία για την επίλυση του προβλήματος μας
Μείωση διαστάσεων • Μπορεί να επιτευχθεί με δύο μεθόδους: • Επιλογή χαρακτηριστικών: Επιλογή ενός ελάχιστου πλήθους (m) χαρακτηριστικών με τα οποία είναι δυνατή η εξαγωγή ισοδύναμων ή κοντινών αποτελεσμάτων με αυτά που θα είχαμε αν είχαμε κρατήσει όλα τα χαρακτηριστικά για ανάλυση (n). Ιδανικά m <<< n. • Μετασχηματισμός χαρακτηριστικών:Είναι γνωστός ως Principle Component Analysis. Ο μετασχηματισμός των χαρακτηριστικών δημιουργεί ένα νέο σύνολο χαρακτηριστικών, λιγότερων διαστάσεων από το αρχικό, αλλά χωρίς μείωση των βασικών διαστάσεων. Επίσης, συχνά χρησιμοποιείται για την οπτικοποίηση των δεδομένων.
Instance Selection • Η επιλογή περιπτώσεων (instance selection) μπορεί να επιτευχθεί με δύο τύπους μεθόδων: • Samplingmethods : • 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 αλγόριθμοι