Download - 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

Transcript
Page 1: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

Πανεπιστήμιο Αιγαίου Σχολή Θετικών Επιστημών

Τμήμα Μηχανικών Πληροφοριακών και

Επικοινωνιακών Συστημάτων

Θέμα: Ανάλυση Χώρο-χρονικών Περιβαλλοντολογικών

Δεδομένων

Ακαδημαϊκό έτος:

2010-2011

Σπουδαστής :

Παπασπυρόπουλος Κωνσταντίνος

Α.Μ. σπουδαστή :

321/2005076

Επιβλέπων καθηγητής:

Μαραγκουδάκης Εμμανουήλ Λέκτορας

Page 2: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

2

Page 3: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

3

Περίληψη

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

περιβαλλοντικές μελέτες με χρήση συστημάτων GIS και η εξόρυξη γνώσης από αυτά μέσω της

συσταδοποίησης ομοίων παρατηρήσεων.

Το «Αρχιπέλαγος» μια δραστήρια μη κυβερνητική οργάνωση έχει ξεκινήσει μια προσπάθεια

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

δεδομένα για τους χαμαιλέοντες και συνεχίζει την έρευνα της. Μέσα σε αυτά τα δεδομένα

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

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

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

ρολό τόσο για την προστασία όσο και για την μελέτη του χαμαιλέοντα. Για αυτόν τον σκοπό θα

δημιουργηθεί μια ολοκληρωμένη διαδικτυακή εφαρμογή που θα στηρίξει το όλο εγχείρημα,

παρέχοντας υπηρεσίες μελέτης αναζήτησης αλλά και διαχείρισης χώρο-χρονικών δεδομένων σε

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

βάσεων δεδομένων και αλγόριθμο συσταδοποίησης Expectation Maximization (EM) με την

χρήση του οποίου θα γίνετε η εξόρυξη γνώσης.

Page 4: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

4

Περιεχόμενα 1.Γενικές πληροφορίες ................................................................................................................................. 6

Ποιες είναι οι ανάγκες του «Αρχιπελάγους» ........................................................................................... 6

2.Εξόρυξη γνώσης [6][11 [14] ............................................................................................................................. 8

Τι είναι η εξόρυξη γνώσης[4][5] .................................................................................................................. 8

Εξόρυξη γνώσης και περιβάλλον[9] ........................................................................................................... 8

Δυναμική πληθυσμού][12][13] .................................................................................................................. 9

Μελέτη καταλληλότητας βιότοπου[15] .................................................................................................. 9

Πρακτικές εφαρμογές[30][31][32][33] ........................................................................................................ 10

3.Υλοποίηση ................................................................................................................................................ 12

Προγράμματα που χρησιμοποιήθηκαν .................................................................................................. 12

Γλώσσα προγραμματισμού[1] .............................................................................................................. 12

Πρόγραμμα γεωγραφικών πληροφοριακών συστημάτων (GIS) ........................................................ 14

Διαχείριση βάσεων δεδομένων .......................................................................................................... 14

Analysis Server[7] ................................................................................................................................. 15

4.Περιβαλλοντικά δεδομένα και περιβαλλοντικές βάσεις ........................................................................ 16

Χωρικά δεδομένα[8] ............................................................................................................................. 16

Τα χρονικά δεδομένα[10] ..................................................................................................................... 16

Περιβαλλοντικές βάσεις δεδομένων .................................................................................................. 18

5.Clustering [2] ............................................................................................................................................. 22

Γενικά στοιχεία για τον ΕΜ (expectation maximization)[16][17] ........................................................... 24

Ο αλγόριθμος του EM[18][19] ................................................................................................................. 25

Ο αλγόριθμος του K-means[22][23][24] .................................................................................................... 32

Microsoft clustering[3] ............................................................................................................................. 34

Πως δουλεύει ο αλγόριθμος............................................................................................................... 35

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

Δημιουργία προβλέψεων [8][10] ........................................................................................................... 37

6.Δομή βάσης δεδομένων .......................................................................................................................... 38

7.Σχόλια κώδικα [27] ..................................................................................................................................... 41

GoogleMaps[25][26] ................................................................................................................................ 41

Analysis Server[28][29] ............................................................................................................................ 43

8.Σενάρια .................................................................................................................................................... 44

Page 5: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

5

Εισαγωγή δεδομένων ............................................................................................................................. 44

Αναζήτηση δεδομένων ........................................................................................................................... 51

Clustering ................................................................................................................................................ 53

Λίγα λόγια για το «Αρχιπέλαγος» ........................................................................................................... 56

9.Επίλογος ................................................................................................................................................... 58

Σύνοψη και συμπεράσματα ................................................................................................................... 59

Μελλοντικές επεκτάσεις ......................................................................................................................... 59

10.Παράτημα κώδικα ................................................................................................................................. 59

Κωδικας Clustering.................................................................................................................................. 60

Κώδικας φωτογραφιών .......................................................................................................................... 79

Βιβλιογραφία .............................................................................................................................................. 83

Page 6: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

6

1.Γενικές πληροφορίες

Ποιες είναι οι ανάγκες του «Αρχιπελάγους»

Tο «Αρχιπέλαγος» χρειάζεται μια ολοκληρωμένη εφαρμογή για την υποστήριξη της μελέτης και της προστασίας των χαμαιλεόντων της Σάμου. Υπήρχε η ανάγκη για συγκροτημένη καταγραφή των χαρακτηριστικών του κάθε χαμαιλέοντα που πιάνεται ,αλλά και σε επόμενο στάδιο η μελέτη αυτών των χαρακτηριστικών με τέτοιον τρόπο ώστε οι ερευνητές να μπορούν να εξάγουν εύκολα και γρήγορα σαφή συμπεράσματα. Τέλος κρίθηκε ότι ένα σύστημα που θα μπορούσε να μελετήσει αυτόματα αυτά τα δεδομένα θα έδινε μεγάλη ώθηση στο όλο εγχείρημα. Για να υπάρχει εύκολη πρόσβαση στα δεδομένα από παντού η εφαρμογή έπρεπε να είναι διαδικτυακή. Ακόμα για να διασφαλιστεί ότι μη εξουσιοδοτημένα άτομα δεν θα έχουν πρόσβαση στα δεδομένα, θα υπάρχουν σελίδες στις οποίες θα έχουν πρόσβαση μόνο οι εγγεγραμμένοι χρήστες, οι οποίοι θα πρέπει επιπλέον να εισάγουν το όνομα τους και έναν κωδικό για να αποκτήσουν πρόσβαση σε αυτά.

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

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

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

Page 7: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

7

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

Page 8: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

8

2.Εξόρυξη γνώσης [6][11 [14]

Εδώ θα γίνει μια σύντομη περιγραφή για το τι ακριβώς είναι εξόρυξη γνώσης , τι είναι τα χώρο-

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

Τι είναι η εξόρυξη γνώσης[4][5]

Το Data Mining στη βιβλιογραφία έχει τον εξής ορισμό: "Η σύνθετη διαδικασία εξαγωγής

συγκεκριμένης, προηγουμένως άγνωστης και δυνητικά ωφέλιμης, γνώσης από δεδομένα”.

Εναλλακτικά, συναντάται και ως "η επιστήμη της εξόρυξης χρήσιμης πληροφορίας από σύνολα

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

(ERP), το Data Mining θεωρείται ως η στατιστική και λογική ανάλυση εκτεταμένων συνόλων από

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

που μπορούν να βοηθήσουν στη λήψη αποφάσεων

Η τεχνολογία του Data Mining χρησιμοποιείται συνήθως από οργανισμούς ή τμήματα

επιχειρηματικής ευφυΐας, και από οικονομικούς αναλυτές, αλλά πλέον η χρήση του επεκτείνεται

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

τεράστια σύνολα δεδομένων που συλλέγονται με τις σύγχρονες μεθόδους έρευνας και

παρατήρησης. Χαρακτηριστικές εφαρμογές της τεχνολογίας αυτής έχουν να κάνουν με την

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

όπου η συχνότητα αλληλεπίδρασης της εταιρίας με τον χρήστη-πελάτη είναι υψηλή και άρα τα

δεδομένα είναι πλούσια σε όγκο και ποιότητα. Για παράδειγμα, οι αλυσίδες σουπερ-μάρκετ, οι

τράπεζες, η ναυτιλία, τα μέσα μαζικής ενημέρωσης και η διαφήμιση, αποτελούν βασικούς

υποψήφιους για τέτοιου είδους εφαρμογές. Στον επιστημονικό τομέα, η ανάγκη για εξόρυξη

γνώσης συναντάται συχνά στα πεδία της ιατρικής, της βιολογίας, της πληροφορικής και των

τηλεπικοινωνιών.

Εξόρυξη γνώσης και περιβάλλον[9]

Οι περιβαλλοντικές επιστήμες εξετάζουν τις φυσικές, χημικές και βιολογικές πτυχές του

περιβάλλοντος και τις αρχές που τις διέπουν . Ένας χαρακτηριστικός αντιπρόσωπος των

περιβαλλοντικών επιστημών είναι η οικολογία, η οποία μελετά τις σχέσεις μεταξύ των μελών

των ζωντανών κοινοτήτων και μεταξύ των κοινοτήτων και του αβιοτικού (μη- ζωντανού)

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

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

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

Page 9: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

9

Τα οικολογικά πρότυπα μπορούν έπειτα να χρησιμοποιηθούν για να κατανοηθεί καλύτερα και

να προβληθεί η συμπεριφορά των υπό μελέτη κοινοτήτων και να υποστηρίξουν έτσι την λήψη

αποφάσεων για την περιβαλλοντική διαχείριση. Χαρακτηριστικά θέματα μοντελοποίησης είναι

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

ένα είδος.

Δυναμική πληθυσμού][12][13]

Η δυναμική πληθυσμού μελετά τη συμπεριφορά μιας κοινότητας ζωντανών

οργανισμών(πληθυσμός) με την πάροδο του χρόνου και συνήθως λαμβάνει υπόψη τους

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

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

σχέση του με τη θερμοκρασία ύδατος, τις συγκεντρώσεις των θρεπτικών ουσιών/ρύπων (όπως

το άζωτο και ο φώσφορος) και την βιομάζα του ζωοπλαγκτόν (τροφή του φυτοπλαγκτόν).

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

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

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

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

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

περιοχή. Αυτές είναι συχνά γραμμικές διαφορικές εξισώσεις. Οι συντελεστές αυτών των

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

Οι σχέσεις όμως μεταξύ των ζωντανών κοινοτήτων και το αβιοτικό περιβάλλον τους μπορούν να

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

αντανακλούν αυτό το γεγονός για να είναι ρεαλιστικά. Αυτό έχει προκαλέσει ένα κύμα

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

μοντελοποίηση. Τα δεδομένα από το περιβάλλον χρησιμοποιούνται για να εκπαιδεύσουν ένα

νευρωνικό δίκτυο το οποίο μπορεί έπειτα να χρησιμοποιηθεί για να προβλέψει τη μελλοντική

συμπεριφορά του μελετώμενου πληθυσμού. Με αυτό τον τρόπο, η δυναμική πληθυσμών έχει

διαμορφωθεί για την άλγη , την υδρόβια πανίδα , τα ψάρια, το φυτοπλαγκτόν και το

ζωοπλαγκτόν και πολλά άλλα. Ενώ παράλληλα και η επαγωγή δέντρων

οπισθοδρόμησης(regression tree induction) έχει χρησιμοποιηθεί για να μοντελοποιήσει τη

δυναμική πληθυσμών , συστήματα για την ανακάλυψη των διαφορικών εξισώσεων έχουν

αποδειχθεί πιο χρήσιμα σε αυτή την περίπτωση, δεδομένου ότι οι διαφορικές εξισώσεις είναι

οι επικρατέστερες στην οικολογική μοντελοποίηση.

Μελέτη καταλληλότητας βιότοπου[15]

Page 10: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

10

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

Γενικά αυτό που μελετάται είναι η επίδραση των αβιοτικών χαρακτηριστικών του βιότοπου στην

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

Παραδείγματος χάριν, κάποιος μπορεί να μελετήσει την επίδραση των εδαφολογικών

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

έδαφος καθώς και ο πληθυσμός των ειδών Collembola (springtails), τα ποιο πολυπληθή έντομα

στο χώμα . Η μελέτη χρησιμοποιεί τα νευρωνικά δίκτυα για την δημιουργία διάφορων

προβλεπτικών μοντέλων για την ποικιλομορφία των collembolan.Διάφορες εφαρμογές μελέτης

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

τοποθέτηση(fielding). Η τοποθέτηση εφαρμόζει διάφορες μεθόδους, συμπεριλαμβανομένης

της διακρίνουσας, της λογιστική οπισθοδρόμησης, τα νευρωνικά δίκτυα και γενετικούς

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

τα δέντρα απόφασης για να περιγράψει το χειμερινό βιότοπο της αντιλόπης pronghorn. Το

Jeffers χρησιμοποιεί έναν γενετικό αλγόριθμο για να ανακαλύψει τους κανόνες που

περιγράφουν τις προτιμήσεις βιότοπων για τα υδρόβια είδη στους βρετανικούς ποταμούς.

Πρακτικές εφαρμογές[30][31][32][33]

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

μελέτες είναι τα εξής. Ως τμήμα μιας ακαδημαϊκής εργασίας, προγραμματίστηκε ένα πρότυπο

χρησιμοποιώντας την εξόρυξη γνώσης. Εργαζόμενοι στην Penoles μια μεταλλουργική μονάδα

για τον καθαρισμό του χρυσού του, ασημιού, του μόλυβδου και του ψευδάργυρου, ελέγχανε

συνεχώς τη συγκέντρωση του SO2 που εκπέμπεται στην ατμόσφαιρα. Όποτε ένα

προκαθορισμένο όριο ξεπερνιέται, λαμβάνονταν έξτρα μέτρα, μειώνοντας την παραγωγή έως

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

υπάρξουν επιπτώσεις στο γειτονικό περιβάλουν. Οι συγκεντρώσεις SO2 ταξινομούνταν σε

επιτρεπόμενες, λίγο πάνω από τα όρια, μέτρια πάνω από τα όρια και υψηλές. Αυτές είναι οι

τιμές που προσπαθούσε να προβλέψει πρότυπο εξόρυξης γνώσης, λαμβάνοντας υπόψη τη

ταχύτητα ανέμου ,την ένταση του, την ατμοσφαιρική πίεση, τη θερμοκρασία και τις τρέχουσες

και ιστορικές μετρήσεις στο SO2 γύρω από τις εγκαταστάσεις της εταιρίας. Η πρόβλεψή στόχευε

μια ώρα μπροστά (δηλ. στις 9:00 π.μ. προβλέπονταν οι ιδιότητες του SO2 στις 10:00 π.μ.). Τα

αποτελέσματα: περίπου στο 80% των περιπτώσεων ήταν σωστά. Ίσως δεν ακούγετε και πολύ

αποδοτικό, αλλά σε σχέση με τα αποτελέσματα οποιωνδήποτε εμπειρογνώμονα των

εγκαταστάσεων (ακόμη και με τη βοήθεια οποιουδήποτε ειδικού πάνω στον καιρό) τα

παραγόμενα αποτελέσματα κρίνονται ως καλά.

Page 11: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

11

Η βραζιλιάνικη παράκτια ζώνη παρουσιάζει μεγάλη ποικίλα και ενδιαφέρον από

περιβαλλοντική άποψη. Εντούτοις, λίγα είναι γνωστά για τη βιολογική ποικιλομορφία του

οικοσυστήματος. Περιβαλλοντικές αλλαγές υπάρχουν πάντα εντούτοις, είναι σημαντικό να

διακριθούν οι φυσικές από τις ανθρωπογενείς. Κάτω από αυτά τα σενάρια, ο στόχος της

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

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

χημικών και βιολογικών παραμέτρων από μια μολυσμένη περιοχή την Arraial do Cabo-RJ

χρησιμοποιήθηκε για να παραγάγει ένα πρότυπο ταξινόμησης βασισμένο στους κανόνες

ταξινόμησης. Το πρότυπο αναγνωρίζει επτά διαφορετικές κατηγορίες βασισμένες στις

βιολογικές ιδιότητες του νερού και έναν νέο τροφικό δείκτη (PLIX). Νευρωνικά δίκτυα

εξελίχθηκαν και βελτιστοποιήθηκαν από γενετικούς αλγορίθμους για να προβλέψουν αυτούς

τους δείκτες, λαμβάνοντας υπόψη τους μηχανισμούς ελέγχου της τοπολογίας, της

σταθερότητας και των σύνθετων ιδιοτήτων της τροφικής αλυσίδας.

Τα υδρομετεωρολογικά σενάρια του προγράμματος FP7 στο project ADMIRE1 χρησιμοποιούν

εξόρυξη γνώσης αντί των φυσικών προτύπων προκειμένου να προβλεφθούν τα φαινόμενα που

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

κυμάτων προς τα κάτω σε ένα Σλοβάκικο υδραγωγείο και τη βραχυπρόθεσμη πρόβλεψη

βροχοπτώσεων με την ανάλυση των δεδομένων από ένα ραντάρ.

Η Haley & Το Aldrich μέσω της εξόρυξης δεδομένων και υιοθετώντας στατιστικές τεχνικές όπως

η ανάλυση παραγόντων και η ανάλυση σε κύριες συνιστώσες αποκαλύπτει συσχετισμούς μέσα

στα δεδομένα. Καμία νέα πληροφορία δεν δημιουργείται. Αντ' αυτού, η γνώση εξάγετε από την

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

αλλιώς μπορεί να είχαν χαθεί. Υιοθετώντας μεθόδους πολλών στατιστικών μεταβλητών, έχει

εφαρμόσει επιτυχώς η γεωστατιστική για να εξεταστούν περιβαλλοντικά προβλήματα σε

ποικίλα μέσα συμπεριλαμβανομένων των υπόγειων νερών, του χώματος, του υπόγειου αερίου,

των ατμοσφαιρικών μορίων στις λίμνες, τα ποτάμια και τους ωκεανούς.

Page 12: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

12

3.Υλοποίηση

Προγράμματα που χρησιμοποιήθηκαν

Για την υλοποίηση αυτής της ιστοσελίδας υπήρχαν διαθέσιμα αρκετά προγράμματα και

γλώσσες προγραμματισμού. Γενικά αυτά που χρειάζονταν ήταν ένα πρόγραμμα και μια γλωσσά

προγραμματισμού για την δημιουργία της ιστοσελίδας, μια υπηρεσία η οποία θα μπορούσε να

διαχειριστεί χάρτες και εμφάνιση δεδομένων μέσα σε αυτούς καθώς και ένα πρόγραμμα και

μια γλώσσα διαχείρισης βάσεων δεδομένων.

Γλώσσα προγραμματισμού[1]

Όσο αφορά την γλώσσα για την δημιουργία της ιστοσελίδας επιλέχθηκε η ASP.NET 4.0 μαζί με

c#. Η ΑSP.NET είναι ένα προγραμματιστικό πλαίσιο εργασίας «χτισμένο» σε κοινή γλώσσα

μηχανής (common language runtime) που μπορεί να χρησιμοποιηθεί σε ένα server για να

αναπτυχθούν ισχυρές Web εφαρμογές. Σε αυτή την νέα έκδοση προσφέρονται πολύ σημαντικές

δυνατότητες σε σχέση με προηγούμενα αναπτυξιακά μοντέλα Web εφαρμογών:

Εμπλουτισμένη Λειτουργία: Η ASP.NET μεταφράζει τον κώδικα της γλώσσας που

χρησιμοποιεί ο server. Σε αντίθεση με τους μεταφραστικούς της προκατόχους, η ASP.NET

μπορεί να εκμεταλλευτεί στατική σύνδεση , άμεση μεταγλώττιση, γηγενή

βελτιστοποίηση (native optimization) , άμεσες υπηρεσίες απόκρυψης χωρίς απαραίτητες

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

απόδοση πριν καν γραφτεί μία γραμμή κώδικα.

World-Class Εργαλείο Υποστήριξης: Το ASP.NET πλαίσιο εργασίας είναι συμπληρωμένο

με μια πλούσια εργαλειοθήκη και σχεδιαστή σε ολοκληρωμένο Visual Studio περιβάλλον

ανάπτυξης. WYSIWYG (What You See Is What You Get) επεξεργασία, drag-and-drop

server controls, και αυτόματη ανάπτυξη είναι λίγα από τα χαρακτηριστικά που παρέχει

αυτό το εργαλείο.

Δύναμη και ελαστικότητα: Επειδή το ASP.NET βασίζεται στο common language runtime,

η δύναμη και η ελαστικότητα ολόκληρης της πλατφόρμας είναι διαθέσιμη στους

προγραμματιστές Web εφαρμογών. Η NET Framework βιβλιοθήκη κλάσεων και τα

προγράμματα Messaging και Data Access Solutions είναι όλα προσβάσιμα από το Web.

Η ASP.NET είναι επίσης ανεξάρτητη από την γλώσσα, έτσι μπορεί κάποιος να διαλέξει

τη γλώσσα που ταιριάζει καλύτερα στην εφαρμογή. Αυτό είναι ένα από τα

σημαντικότερα πλεονεκτήματα της για την δική μας εφαρμογή, αρκεί να σκεφτεί κανείς

ότι στην περίπτωση μας απαιτείται συνεχώς επεξεργασία δεδομένων και ότι με την

συγκριμένη υπηρεσία δίνετε η δυνατότητα χρήσης c# , το οποίο σημάνει ότι μια

Page 13: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

13

εφαρμογή διαδικτύου μπορεί να εκτελέσει ότι ακριβώς και μια κλασική εφαρμογή.

Επιπλέον, η ικανότητα διαλειτουργικότητας (interoperability) της κοινής γλώσσας

εγγυάται ότι η υπάρχουσα επένδυση σε COM-based ανάπτυξη διατηρείται όταν

χρησιμοποιούμε ASP.NET

Απλότητα: ASP.NET διευκολύνει την λειτουργία συνηθισμένων εργασιών όπως για

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

την ανάπτυξη και την διαμόρφωση ιστοσελίδας. Το framework της σελίδας ASP.NET

δηλαδή επιτρέπει τη δημιουργία διεπαφής χρηστών (user interfaces) η οποία δίνει την

δυνατότητα μέσω Visual Basic την κατανόηση της λογικής ή του προγράμματος, του

κώδικα και του χειρισμού συμβάντων. Χαρακτηριστικό παράδειγμα το μοντέλο

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

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

Ευχρηστία: Η ASP.NET χρησιμοποιεί ένα βασισμένο σε κείμενο (textbased), ιεραρχικό

σύστημα διαχείρισης που απλοποιεί την εφαρμογή ρυθμίσεων στο περιβάλλον του

server και των Web εφαρμογών. Επειδή η διαχείριση πληροφορίας είναι

αποθηκευμένη σαν απλό κείμενο, νέες ρυθμίσεις μπορούν να εφαρμοστούν χωρίς την

βοήθεια των τοπικών Administration tools. Αυτή η φιλοσοφία (zero local administration)

επεκτείνεται στην ανάπτυξη ASP.NET Framework εφαρμογών. Μία ASP.NET Framework

εφαρμογή αναπτύσσεται σε ένα server απλά με το να αντιγράψει τα απαραίτητα αρχεία

σε αυτόν. Δεν απαιτείται επανεκκίνηση του server ακόμα και στην ανάπτυξη running

compiled code.

Κλιμάκωση και διαθεσιμότητα: ASP.NET έχει σχεδιαστεί με γνώμονα την κλιμάκωση, με

χαρακτηριστικά ειδικά προορισμένα να βελτιώνουν την απόδοση σε πολυεπεξεργαστικά

περιβάλλοντα. Επιπλέον, οι διαδικασίες διαχειρίζονται την ASP.NET εκτέλεση, έτσι ώστε

αν μία διαδικασία δεν λειτουργήσει σωστά (πχ. αδιέξοδα), μία νέα διαδικασία να

μπορεί να δημιουργηθεί στην θέση της, η οποία να βοηθάει ώστε να διατηρηθεί η

εφαρμογή συνεχώς διαθέσιμη και να χειρίζεται αιτήσεις.

Προσαρμοστικότητα και επεκτασιμότητα. Η ASP.NET έχει μία καλά σχεδιασμένη

αρχιτεκτονική που επιτρέπει στους προγραμματιστές να παρεμβάλουν τον κώδικα τους

στο επίπεδο που επιθυμούν. Στην πραγματικότητα, είναι πιθανόν να επεκταθεί ή να

αντικατασταθεί κάθε υποκατάστατο της ASP.NET στον χρόνο εκτέλεσης με άλλα

αυτοσχέδια στοιχεία ελέγχου. Η εισαγωγή κώδικα βασισμένου στις ατομικές ανάγκες

του χρήστη όπως επίσης και των υπηρεσιών του προγράμματος επιτυγχάνεται κατ’

αυτόν τον τρόπο ευκολότερα από ποτέ.

Ασφάλεια: Με την ταυτοποίηση χρήστη που υπάρχει στα Windows, μπορεί κάποιος ως

ένα βαθμό βέβαια να είναι σίγουρος ότι οι εφαρμογές του είναι ασφαλείς.

Page 14: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

14

Συμπερασματικά μπορούμε να πούμε ότι η ASP.NET είναι μια εύκολη στη εκμάθηση και

χρήση γλώσσα με την οποία ο χρήστης μπορεί να δημιουργήσει πρωτοποριακές αλλά και

εντυπωσιακές εφαρμογές. Το όλο έργο θα υλοποιηθεί στο Microsoft visual studio 2010.

Πρόγραμμα γεωγραφικών πληροφοριακών συστημάτων (GIS)

Για την διαχείριση των χαρτών και την εμφάνιση των δεδομένων πάνω σε αυτούς υπήρχαν δυο

λύσεις ,το arcgis ή το google maps. Το arcgis είναι μια ολοκληρωμένη εφαρμογή για διαχείριση

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

δυνατότητες του ξεπερνούσαν κατά πολύ τις απαιτήσεις μας αλλά λόγω των πολλών του

δυνατοτήτων και του σχεδιασμού του ώστε να καλύπτει ευρύ φάσμα αναγκών, ήταν πιο

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

το οποίο μπορεί να συνεργαστεί με java,xml,json καθώς και με την asp.net. Συγκεκριμένα το

πακέτο GoogleMaps.Subgurim.NET δίνει στις ιστοσελίδες την δυνατότητα να χρησιμοποιούν

όλες τις λειτουργίες του GoogleMaps kai μάλιστα χωρίς να είναι απαραίτητο να γραφτεί κώδικας

σε java και διανέμεται δωρεάν για ακαδημαϊκή χρήση. Η χρήση του πακέτου απαιτεί το γράψιμο

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

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

τις ανάγκες της εφαρμογής μας καθώς με την εισαγωγή του κατάλληλου .dll αρχείου όλες οι

υπηρεσίες του GoogleMaps εισάγονταν, κατευθείαν στην asp.net.Πλέον μπορούσε να

δημιουργηθεί ο χάρτης μέσα στην ιστοσελίδα, να παραμετροποιηθεί ώστε να δείχνει στο

επιθυμητό μέρος με το επιθυμητό zoom ,να εισαχθούν δυναμικά σημεία σε αυτόν τα οποία να

έχουν την δυνατότητα τα προβάλουν οποιαδήποτε πληροφορία επιθυμεί ο προγραμματιστής

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

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

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

διαδίκτυο οι οποίες χρησιμοποιούσαν google maps τόσο για απλές εφαρμογές σχετιζόμενες με

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

την μεριά της google.

Διαχείριση βάσεων δεδομένων

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

μόνο θα αντλεί όλα τα απαραίτητα δεδομένα αλλά θα εκτελεί και αλγόριθμο για την εξόρυξη

γνώσης. Ο Microsoft SQL Server ήταν η επιλογή μας ανάμεσα σε αρκετές επιλογές συστημάτων

διαχείρισης βάσεων δεδομένων που χρησιμοποιούνται ευρέως (Access, mySQL, Oracle) και

αυτό γιατί είναι ένα σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων (relation database

management system, RDBMS) σχεδιασμένο να υποστηρίζει βάσεις δεδομένων μεγάλου όγκου

και κρίσιμης σημασίας σε πολλά διαφορετικά πεδία εφαρμογών μερικά από τα οποία είναι τα

Page 15: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

15

ακόλουθα: η επεξεργασία συναλλαγών εντός επικοινωνίας (on line transaction processing,

OLTP), οι αποθήκες δεδομένων (data warehousing) και το ηλεκτρονικό εμπόριο (ecommerce)

με υψηλές απαιτήσεις. Για την υποστήριξη αυτών των λειτουργιών ο SQL Server διαθέτει

ορισμένα εργαλεία στα οποία περιλαμβάνονται κάποια βοηθητικά προγράμματα γραμμής

εντολών και ο Enterprise Manager, ένα προηγμένο παραστατικό εργαλείο για την διαχείριση

πολλών βάσεων δεδομένων και του ίδιου του SQL Server. Επίσης ένα πολύ σημαντικό στοιχείο

για την εφαρμογή μας ήταν η ύπαρξη στον Microsoft SQL Server της υπηρεσίας Analysis Service

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

Analysis Server[7]

Ποιο αναλυτικά η υπηρεσία Microsoft SQL Server 2008 Analysis Services σχεδιάστηκε για να παρέχει εξαιρετική απόδοση σε μεγάλης κλίμακας εφαρμογές ώστε να υποστηρίξει υλοποιήσεις με εκατομμύρια αρχείων και χιλιάδες χρήστες. Τα καινοτόμα, εργαλεία βοηθούν στην βελτίωση της παραγωγικότητας, του σχεδιασμού και της υλοποίησης της λύσης. Οι προγραμματιστές μέχρι τώρα χρησιμοποιούσαν πολλαπλά εργαλεία για την ανάπτυξη εφαρμογών με εξόρυξη γνώσης, πράγμα που δυσχέραινε το έργο τους και αύξανε των όγκο των γνώσεων που έπρεπε να έχουν. Με τις υπηρεσίες Analysis Services, οι προγραμματιστές μπορούν να χρησιμοποιήσουν το SQL Server Business Intelligence Development Studio (BIDS) σε όλο τον κύκλο ανάπτυξης από την αρχή του προγράμματος μέχρι το τέλος . Επειδή το SQL Server Business Intelligence Development Studio είναι βασισμένο στο Visual Studio, παρέχει δυνατότητες σχεδιασμού, ανάπτυξης, συνεργασίας, βελτιστοποίησης, και δοκιμής τις κάθε λύσης. Όλα αυτά παρέχουν ένα περιβάλλον όπου οι υπεύθυνοι για την ανάπτυξη μπορούν να λειτουργήσουν γρηγορότερα και αποτελεσματικότερα. Οι ικανότητες ανάλυσης επεκτείνονται με την δυνατότητα πρόβλεψης και ενισχύουν το σύνολο εργαλείων εξόρυξης γνώσης. Η απλή πρόσβαση στα δεδομένα δεν είναι πλέον επαρκής για την πλήρη αξιοποίηση τους. Οι χρήστες χρειάζονται εξειδικευμένα εργαλεία και οι προγραμματιστές πρέπει να είναι σε θέση να αναπτύξουν εφαρμογές με αυτά. Οι υπηρεσίες ανάλυσης παρέχουν βελτιστοποιημένη διαλειτουργικότητα και διεπαφές ώστε να επιτρέψουν στους προγραμματιστές την ανάπτυξη τέτοιων εφαρμογών. Αν και το SQL Server Business Intelligence Development Studio είναι ποιο εύχρηστο λόγω της ύπαρξης γραφικού περιβάλλοντος, στην δική μας εφαρμογή ήταν απαραίτητη η χρήση κώδικα ώστε η εξόρυξη γνώσης να καθορίζεται δυναμικά ανάλογα με τις απαιτήσεις του χρήστη. Για να το πετύχουμε αυτό κάναμε χρήση της βιβλιοθήκης ADOMD.NET η οποία αν και μοιάζει με την ADO.NET είναι εξειδικευμένη για την εκτέλεση εντολών που έχουν να κάνουν με εξόρυξη γνώσης και προσφέρει ειδικές κλάσεις και διασυνδέσεις. Επίσης είναι διαθέσιμη σε πολλές γλώσσες προγραμματισμού όπως Visual Basic .NET,J#, και βέβαια C# που μας ενδιαφέρει στην προκειμένη περίπτωση.

Page 16: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

16

4.Περιβαλλοντικά δεδομένα και περιβαλλοντικές βάσεις

Χωρικά δεδομένα[8]

Tα χωρικά δεδομένα είναι δεδομένα, τα οποία έχουν μια χωρική συνιστώσα (ή συνιστώσα θέσης). Μπορούν να θεωρηθούν ως δεδομένα αντικειμένων τα οποία βρίσκονται σε έναν φυσικό χώρο. Αυτό μπορεί να δηλώνεται ρητά με ένα ή περισσότερα γνωρίσματα θέσης, όπως η διεύθυνση ή το γεωγραφικό πλάτος / μήκος ή μπορεί να υπονοείται, όπως με μια διαμέριση της βάσης δεδομένων η οποία βασίζεται στη θέση. Επιπλέον, τα χωρικά δεδομένα μπορούν να προσπελαστούν χρησιμοποιώντας ερωτήσεις που περιέχουν χωρικούς τελεστές όπως οι τελεστές "κοντά", "βόρεια", "νότια", "γειτονικά" και "περιέχεται σε". Τα χωρικά δεδομένα αποθηκεύονται σε βάσεις χωρικών δεδομένων που περιέχουν τόσο τη χωρική όσο και τη μη χωρική πληροφορία. Εξαιτίας της ενυπάρχουσας πληροφορίας της απόστασης που σχετίζεται με τα χωρικά δεδομένα, οι βάσεις χωρικών δεδομένων πολύ συχνά χρησιμοποιούν ειδικές δομές δεδομένων ή ευρετήρια τα οποία είναι χτισμένα με βάση την πληροφορία απόστασης ή τοπολογίας. Όσον αφορά την εξόρυξη γνώσης, αυτή η πληροφορία απόστασης παρέχει τη βάση για τις αναγκαίες μετρήσεις ομοιότητας.

Τα χωρικά δεδομένα είναι απαιτούμενα για πολλά σύγχρονα πληροφοριακά συστήματα. Τα Συστήματα Γεωγραφικών Πληροφοριών (GIS) αποθηκεύουν πληροφορίες που σχετίζονται με κάποια γεωγραφική θέση στην επιφάνεια της γης. Χρησιμοποιούνται σε εφαρμογές που σχετίζονται με τον καιρό, τις κοινωνικές υποδομές, τη διαχείριση καταστροφών και τα επικίνδυνα απόβλητα. Οι εργασίες εξόρυξης γνώσης από τα δεδομένα περιλαμβάνουν την πρόβλεψη περιβαλλοντικών καταστροφών. Οι βιοφαρμακευτικές εφαρμογές, συμπεριλαμβανομένων της επεξεργασίας ιατρικών εικόνων και της διάγνωσης ασθενειών, επίσης απαιτούν χωρικά συστήματα.

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

Τα χρονικά δεδομένα[10]

Οι βάσεις δεδομένων συνήθως δεν περιέχουν χρονικά δεδομένα. Αντιθέτως, τα δεδομένα που είναι αποθηκευμένα αφορούν σε ένα συγκεκριμένο σημείο στο χρόνο. Για το λόγο αυτό μια τέτοια βάση δεδομένων αποκαλείται βάση στιγμιότυπου (snapshot database). Για παράδειγμα, μια βάση με εγγραφές υπαλλήλων περιέχει μόνο τους υπάλληλους που εργάζονται την παρούσα στιγμή στην επιχείρηση και όχι όλους όσους έχουν εργαστεί κατά καιρούς σε αυτήν. Εντούτοις, πολλές ερωτήσεις δεν μπορούν να απαντηθούν από αυτή τη βάση στιγμιότυπου. Ένα διευθυντικό στέλεχος μπορεί να επιθυμεί να παρατηρήσει τάσεις της επιχείρησης στην πρόσληψη και απόλυση υπαλλήλων, ή να παρατηρήσει τη διαφορετικότητα των εθνικοτήτων

Page 17: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

17

των υπαλλήλων και πώς αυτή αλλάζει με την πάροδο του χρόνου. Οι ερωτήσεις εξόρυξης γνώσης αυτού του τύπου απαιτούν χρονικά δεδομένα. Σε μία χρονική βάση (temporal database), τα δεδομένα αποθηκεύονται για πολλαπλά σημεία στο χρόνο και όχι μόνο για ένα. Το παρακάτω παράδειγμα παρουσιάζει μια χρονική βάση που αποθηκεύει δεδομένα για υπαλλήλους. Είναι προφανές ότι η αποθήκευση τριών ξεχωριστών εγγραφών για τον ίδιο υπάλληλο είναι μη αποδοτική και μπορούν να εφαρμοστούν τεχνικές για την εξάλειψη τέτοιων πλεονασμών. Το επόμενο παράδειγμα δείχνει απλώς την γενική ιδέα. Κάθε πλειάδα περιέχει πληροφορία που είναι έγκυρη από την ημερομηνία που αναφέρεται στην πλειάδα αυτή μέχρι την ημερομηνία που αναφέρεται στην επόμενη πλειάδα σε χρονολογική σειρά.

Η εταιρεία ΧΥΖ χρησιμοποιεί μια χρονική βάση για να αποθηκεύει πληροφορίες για τους υπαλλήλους της. Για κάθε υπάλληλο διατηρούνται πληροφορίες για τον Αριθμό Φορολογικού Μητρώου (ΑΦΜ), το όνομα του, τη διεύθυνση του και το μισθό του. Όταν γίνεται η εισαγωγή μιας εγγραφής στη βάση, αποθηκεύεται η τρέχουσα ημερομηνία. Ο Joe Smith προσλήφθηκε στις 12/02/2002 με μισθό $50,000. Στον εξάμηνο έλεγχο επίδοσης του δόθηκε αύξηση $2,000 και προαγωγή. Στις 10/12/2002 μετακόμισε σε νέα διεύθυνση. Στο τέλος του 2002 υπήρχαν τρεις εγγραφές στη βάση για τον Joe Smith:

Ημερ/νία Ονοματεπώνυμο ΑΦΜ Διεύθυνση Μισθός

12/02/2002 Smith Joe 123456789 10 Moss Haven $50,000 12/08/2002 Smith Joe 123456789 10 Moss Haven $52,000 10/12/2002 Smith Joe 123456789 13 Chesterton $52,000

Η ανάλυση χρονικών δεδομένων (ή δεδομένων που μεταβάλλονται με το χρόνο) παρουσιάζει πολλές ενδιαφέρουσες προκλήσεις. Για παράδειγμα, υπάρχουν πολλές διαφορετικές αναπαραστάσεις για το χρόνο. Στο Παράδειγμα 9.1 η ημερομηνία που αποθηκεύεται στην εγγραφή είναι η ημερομηνία από την οποία ισχύουν οι πληροφορίες που αναγράφονται. Αυτό συχνά αναφέρεται ως χρόνος εγκυρότητας. Ο χρόνος εγκυρότητας (valid time) είναι η χρονική στιγμή για την οποία μια πληροφορία είναι αληθής στον πραγματικό κόσμο. Αυτός συνήθως αποτελείται από αρχικό χρόνο και τελικό χρόνο. Στο συγκεκριμένο παράδειγμα ο τελικός χρόνος υπονοείται ότι είναι ο αρχικός χρόνος της επόμενης εγγραφής για τον ίδιο υπάλληλο. Ένας άλλος χρόνος που μπορεί να χρησιμοποιηθεί είναι ο χρόνος συναλλαγής. Ο χρόνος συναλλαγής (transaction time) είναι η χρονοσφραγίδα που σχετίζεται με την συναλλαγή που έκανε την εισαγωγή της εγγραφής (είναι η χρονική στιγμή κατά την οποία έγινε η εισαγωγή της εγγραφής στη βάση). Αυτός μπορεί να διαφέρει από τον αρχικό χρόνο εγκυρότητας. Το χρονικό διάστημα συναλλαγής είναι το χρονικό διάστημα κατά το οποίο η εγγραφή υπήρχε στη βάση. Για παράδειγμα, ο Joe Smith μπορεί να υπέδειξε στις 15/11/2002 ότι η νέα του διεύθυνση θα ισχύει από τις 10/12/2002. Ο αρχικός χρόνος εγκυρότητας για τη νέα διεύθυνση ήταν 10/12/2002 όμως ο χρόνος συναλλαγής ήταν 15/11/2002. Μπορούν επίσης να χρησιμοποιηθούν διάφοροι άλλοι χρονικοί τύποι. Όταν οι σχετικές με έναν υπάλληλο πληροφορίες αλλάζουν, μια νέα πλειάδα εισάγεται στη βάση. Αλλαγές ή διαγραφές επιτρέπονται μόνο για να διορθωθούν δεδομένα που εισήχθησαν λανθασμένα.

Μέχρι στιγμής είδαμε ότι τα χρονικά δεδομένα αναφέρονται σε μια χρονική διάρκεια, δηλαδή έχουν έναν αρχικό χρόνο και έναν τελικό χρόνο. Σε αυτήν την αναπαράσταση, το διάστημα τιμών [ts, te] σχετίζεται με κάθε εγγραφή. Εδώ, ts είναι ο αρχικός χρόνος και te ο τελικός χρόνος. Διαφορετικές χρονικές αναπαραστάσεις μπορούν να χρησιμοποιηθούν. Μια χρονοσφραγίδα μπορεί να χρησιμοποιηθεί αντί ενός διαστήματος. Αυτό συμβαίνει συχνά σε χρονολογικές σειρές όπου συγκεκριμένες τιμές σχετίζονται με μια χρονική στιγμή. Για παράδειγμα, μια κοινή

Page 18: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

18

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

Υπάρχουν πολλά διαφορετικά παραδείγματα για χρονικά δεδομένα. Οι δορυφόροι συνέχεια συλλέγουν εικόνες και δεδομένα από διάφορους αισθητήρες. Οι πληροφορίες αυτές είναι χρονικές και σχετίζονται με συγκεκριμένες στιγμές στο χρόνο (οι στιγμές που συλλέγονται). Σε ένα νοσοκομείο φυλάγονται εκτυπώσεις καρδιογραφημάτων για τους ασθενείς. Αυτά παρουσιάζουν μια συνεχή όψη χρονικών δεδομένων. Όταν λαμβάνεται ένα ηλεκτροεγκεφαλογράφημα από έναν ασθενή, πολλά διαφορετικά κύματα από τον εγκέφαλο μετριούνται παράλληλα. Κάθε κύμα αναπαριστά ένα συνεχές στο χρόνο σύνολο τιμών.

Περιβαλλοντικές βάσεις δεδομένων

Η λύση των σοβαρών προβλημάτων στην προστασία του περιβάλλοντος, την περιβαλλοντική

διαχείριση, και την περιβαλλοντική έρευνα μπορεί να βασιστεί μόνο στην αποτελεσματική

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

συλλέγονται αυτήν την περίοδο λαμβάνουν τη μορφή βιολογικών, φυσικών, χημικών,

γεωλογικών μετεωρολογικών στοιχείων περιγράφοντας την κατάσταση και τη δυναμική του

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

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

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

πληροφοριών, η δυνατότητα να ληφθεί η κατάλληλη πληροφορία σε κάθε περίπτωση γίνετε

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

βασικό πρόβλημα εν προκειμένω είναι πού να αναζητηθεί η σχετική πληροφορία στις

περιβαλλοντικές ερωτήσεις

Ορισμός περιβαλλοντικής βάσης δεδομένων και συστήματος πληροφοριών

Τα περιβαλλοντικά στοιχεία είναι τεχνικά, χωρικά, και χρονικά στοιχεία για το περιβάλλον, όπως

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

ουσίες, την πανίδα την χλωρίδα, την φύση, και στην διαιώνιση των ειδών. Με τη βοήθεια της

ανάλυσης και της ερμηνείας αυτών των στοιχείων μπορούν να δημιουργηθούν οι

περιβαλλοντικές πληροφορίες. Μια περιβαλλοντική βάση δεδομένων είναι ένας ιδιαίτερος

τύπος βάσης δεδομένων ο οποίος αποθηκεύει κυρίως περιβαλλοντικά στοιχεία. Σύμφωνα με

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

αποκαλεστεί περιβαλλοντική εάν πληρούνται οι ακόλουθοι τρεις όροι

η πλειοψηφία των στοιχείων είναι περιβαλλοντικά στοιχεία

Page 19: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

19

ένα σύστημα βάσεων δεδομένων χρησιμοποιείται για την αποθήκευση αυτών των

στοιχείων

η βάση δεδομένων καθιερώνεται ως βάση για περιβαλλοντική χρήση και

περιβαλλοντικές έρευνες.

Τα συστήματα περιβαλλοντικών πληροφοριών (EIS), χρησιμοποιούνται όπως μια τεχνολογική

οργανωτική υποδομή που παρέχει τις περιβαλλοντικές πληροφορίες από διαφορετικές

περιβαλλοντικές βάσεις δεδομένων, που είναι συχνά γεωγραφικά διαχωρισμένες. Επομένως τα

συστήματα περιβαλλοντικών πληροφοριών θεωρούνται μερικές φορές εκτεταμένα γεωγραφικά

συστήματα πληροφοριών (GIS). Εντούτοις, το EIS διαχειρίζετε επίσης θεματικά στοιχεία (δηλ.,

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

περιβαλλοντικά έγγραφα, ερευνητικά προγράμματα, νόμους, και κανονισμούς) ή στοιχεία με

χρονική πληροφορία (π.χ., αλλαγές χρήσης γης, ή διακυμάνσεις σε σχέση με τον χρόνο για

επικίνδυνες ουσίες).

Τύποι περιβαλλοντικών βάσεων δεδομένων

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

Στην εξειδικευμένη γλώσσα των επιστημών των πληροφοριών, οι βάσεις δεδομένων

διαιρούνται σε διάφορους τύπους σύμφωνα με τη δομή τους και τους τύπους πληροφοριών .

Στο πρώτο επίπεδο χωρίζονται σε ,βάσεις με γεγονότα , βάσεις κείμενου,

ολοκληρωμένες(integrated) βάσεις δεδομένων όπως φαίνετε στο σχήμα.

Page 20: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

20

Διαχωρισμός περιβαλλοντικών βάσεων

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

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

είναι βασισμένος στην έννοια των ιδιοτήτων και των χαρακτηριστικών. Επομένως οι βασισμένες

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

να τονιστεί ότι στις περισσότερες βάσεις δεδομένων υπάρχει συνδυασμός βάσεων κειμένου

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

κείμενο, γεγονότα, γραφικά, δεδομένα πινάκων κ.α.

Οι βάσεις γεγονότων διαιρούνται σε αριθμητικές βάσεις δεδομένων,

metadatabases, ερευνητικές βάσεις δεδομένων, και καταλόγους χημικών ουσιών

Οι βάσεις κειμένου διαιρούνται σε βιβλιογραφικές και σε βάσεις ολοκληρωμένου

κειμένου

Οι ολοκληρωμένες(integrated) βάσεις δεδομένων διαιρούνται σε αυτήν την

προσέγγιση σε δομικές και βάσεις δεδομένων αντίδρασης

Page 21: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

21

Εδώ θα γίνει μια σύντομη περιγραφή για το τι ακριβώς είναι η συσταδοποίηση που

χρησιμοποιήθηκε στην δική μας εφαρμογή

Page 22: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

22

5.Clustering [2]

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

Οι δάσκαλοι κατηγοριοποιούν τους μαθητές ως Α, Β, C, D ή F με βάση τους βαθμούς τους. Χρησιμοποιώντας απλά όρια (60,70,80,90), η επόμενη κατηγοριοποίηση είναι πιθανή:

90 < βαθμός Α

80 < βαθμός < 90 Β

70 < βαθμός < 80 C

60 < βαθμός < 70 D

βαθμός < 60 F

Όλες οι προσεγγίσεις στην εκτέλεση της κατηγοριοποίησης προϋποθέτουν κάποια γνώση των δεδομένων. Συχνά ένα σύνολο εκπαίδευσης χρησιμοποιείται για να καθορίσει τις συγκεκριμένες παραμέτρους που απαιτούνται από την τεχνική. Τα δεδομένα εκπαίδευσης (training data) αποτελούνται από ένα δείγμα δεδομένων της εισόδου όπως επίσης και από την κατηγοριοποίηση που έχει δοθεί σε αυτά τα δεδομένα. Ειδικοί του τομέα εφαρμογής μπορεί επίσης να χρησιμοποιηθούν για να βοηθήσουν στη διαδικασία.

Η κατηγοριοποίηση είναι μία απεικόνιση από τη βάση δεδομένων στο σύνολο των κατηγοριών. Παρατηρείστε ότι οι κατηγορίες είναι προκαθορισμένες, δεν είναι επικαλυπτόμενες και διαμερίζουν ολόκληρη τη βάση δεδομένων. Κάθε πλειάδα της βάσης δεδομένων εκχωρείται σε ακριβώς μία κατηγορία. Οι κατηγορίες που υπάρχουν για ένα πρόβλημα κατηγοριοποίησης είναι στην πραγματικότητα κλάσεις ισοδυναμίας (equivalence classes). Στην πραγματικότητα, το πρόβλημα συνήθως υλοποιείται σε δύο φάσεις:

1. Δημιουργούμε ένα συγκεκριμένο μοντέλο από την αξιολόγηση των δεδομένων εκπαίδευσης. Αυτό το βήμα έχει σαν είσοδο τα δεδομένα εκπαίδευσης (συμπερι-λαμβανομένης της ορισμένης κατηγοριοποίησης για κάθε πλειάδα) και σαν έξοδο ένα ορισμό του μοντέλου που αναπτύχθηκε. Το μοντέλο που δημιουργήθηκε κατη-γοριοποιεί τα δεδομένα εκπαίδευσης όσο το δυνατόν με μεγαλύτερη ακρίβεια.

2. Εφαρμόζουμε το μοντέλο που αναπτύχθηκε στο βήμα 1 κατηγοριοποιώντας τις πλει-άδες της υπό εξέταση βάσης δεδομένων.

Εάν και το δεύτερο βήμα στην πραγματικότητα εκτελεί την κατηγοριοποίηση, η περισσότερη έρευνα έχει γίνει για το βήμα 1. Το βήμα 2 είναι συχνά εύκολο στην υλοποίηση.

Page 23: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

23

Η ανάλυση σε ομάδες έχει σκοπό να διαχωρίσει το σύνολο των παρατηρήσεων σε φυσικές

οµάδες, έτσι ώστε τα µέλη κάθε οµάδας να είναι όσο το δυνατό όµοια µεταξύ τους, ενώ τα µέλη

διαφορετικών οµάδων να είναι όσο το δυνατό ανόµοια. Γεωμετρικά αυτό σηµαίνει ότι δύο

όµοιες παρατηρήσεις θα βρίσκονται σε γειτονικά σηµεία, ενώ δύο ανόµοιες σε αποµακρυσµένα

σηµεία .

Η µέτρηση της απόστασης και της οµοιότητας είναι ουσιαστικής σηµασίας αφού οι

παρατηρήσεις οµαδοποιούνται µε βάση αυτή την απόσταση. Υπάρχουν διάφορα µέτρα

απόστασης, όπως η ευκλείδια απόσταση, η απόσταση Manhatan, η απόσταση Chebychev, o

συντελεστής συσχέτισης τουPearson κ.ά.

Η πιο συνηθισμένη µμέθοδος σχηµατισµού οµάδων είναι η ιεραρχική ανάλυση η οποία

χρησιµοποιεί δύο τεχνικές, τη συσσωρευτική ανάλυση σε οµάδες ή την επιµεριστική ανάλυση

σε οµάδες. Στη συσσωρευτική ανάλυση, οι οµάδες σχηµατίζονται µε την οµαδοποίηση των

παρατηρήσεων σε όλο και µεγαλύτερες οµάδες, έως ότου όλες οι παρατηρήσεις γίνουν µέλη

µιας και µόνο οµάδας. Η επιµεριστική ανάλυση αρχίζει µε όλες τις παρατηρήσεις

οµαδοποιηµένες σε µια οµάδα και τις επιµερίζει µέχρις ότου γίνουν τόσες οµάδες όσες και οι

παρατηρήσεις.

Η πιο συνηθισµένη µέθοδος είναι η πρώτη. Υπάρχουν πολλά κριτήρια που καθορίζουν ποιες

παρατηρήσεις ή οµάδες πρέπει να συνδυαστούν σε κάθε στάδιο, και διαφέρουν στον τρόπο µε

τον οποίο εκτιµούν τις αποστάσεις µεταξύ των οµάδων στα διαδοχικά στάδια. Ανάλογα µε το

κριτήριο που χρησιµοποιούµε µπορούµε να καταλήξουµε σε διαφορετικές κάθε φορά

οµαδοποιήσεις. Όλα τα κριτήρια στηρίζονται σε πίνακα αποστάσεων µεταξύ ζευγών

παρατηρήσεων.

Κριτήριο εγγύτερου γείτονα (nearest neighbour ). Με αυτό συνδυάζονται οι δύο πρώτες

παρατηρήσεις που έχουν την µικρότερη απόσταση µεταξύ τους. Υπολογίζεται στη

συνέχεα η µικρότερη απόσταση µεταξύ µιας παρατήρησης στη νέα οµάδα και µιας άλλης

εξατοµικευµένης παρατήρησης. Σε κάθε στάδιο η απόσταση µεταξύ δύο οµάδων

θεωρείται η απόσταση µεταξύ των εγγύτερων σηµείων τους.

Κριτήριο απώτερου γείτονα ( farthest neighbour ) . Ίδια λογική µε την προηγούµενη µε

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

σηµείων τους.

Κριτήριο µέσου δεσµού. Ορίζει την απόσταση µεταξύ δύο οµάδων ως τη µέση τιµή των

αποστάσεων µεταξύ όλων των ζευγών των παρατηρήσεων, όπου ένα µέλος ζεύγους

προέρχεται από καθεµιά από τις οµάδες. Είναι γνωστό ότι στην ανάλυση σε οµάδες δεν

υπάρχει η δυνατότητα στατιστικών ελέγχων. Επίσης η οµαδοποίηση εξαρτάται πολλές

φορές από το κριτήριο ομαδοποίησης. Τα αποτελέσµατα της ανάλυσης φαίνονται από

το συσσωρευτικό σχέδιο και το δενδρόγραμμα.

Page 24: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

24

Συσσωρευτικό σχέδιο. Η πρώτη σειρά αφορά το πρώτο στάδιο, η δεύτερη το δεύτερο

στάδιο κτλ. µέχρι τον αριθµό των διαφορετικών επιλογών. Επίσης φαίνονται σε στήλη

οι συντελεστές που αφορούν το τετράγωνο της ευκλείδειας απόστασης των αντίστοιχων

παρατηρήσεων του σταδίου.

δενδρόγραμμα. Οι πληροφορίες που υπάρχουν στο συσσωρευτικό σχέδιο

αποτυπώνονται στο δενδρόγραμμα µε τις αποστάσεις-συντελεστές να

επανακλιµακώνονται σε κλίμακα εύρους 0-25. Σε αυτό οι κάθετες γραµµές δηλώνουν

συνδυασµούς οµάδων παρατηρήσεων, ενώ το µήκος κάθε γραµµής δηλώνει την

απόσταση κατά την οποία οι οµάδες συνδυάζονται. ∆ιαφορετική οµάδα σχηµατίζεται

όταν εµφανίζεται κενό στο δενδρόγραµµα και η απόσταση είναι µικρότερη ή ίση µιας

τιµής “κατωφλίου” όπως ονοµάζεται.

Γενικά στοιχεία για τον ΕΜ (expectation maximization)[16][17]

Στην δική μας εφαρμογή θα υπάρχει δυνατότητα για εξόρυξη γνώσης με τον ΕΜ clustering. Ο

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

του εμφανιστούν τα δεδομένα ομαδοποιημένα πάνω στον χάρτη. Αυτή η λειτουργία μπορεί να

αποδειχθεί πολύ εποικοδομητική αν λάβουμε υπόψη τα προαναφερθέντα για την εξόρυξη

γνώσης. Οι χρήστες θα μπορούν να βρουν μοτίβα όχι μόνο για το που συχνάζουν οι

χαμαιλέοντες άλλα ανάλογα με τα επιλεγμένα δεδομένα να βρεθούν σχέσεις μεταξύ όλων των

πληροφοριών. Για παράδειγμα τι σχέση υπάρχει μεταξύ του βάρους και των διαστάσεων

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

στο φύλο και στις διατροφικές συνήθειες των χαμαιλεόντων και πολλά άλλα ανάλογα με τις

ανάγκες για μελέτη του κάθε χρηστή.

Ο EM αλγόριθμος καθορίζει επαναληπτικά ένα αρχικό πρότυπο συστάδων για να τοποθετήσει

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

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

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

συστάδες παράγονται κατά τη διάρκεια της διαδικασίας, ή τα μέλη μιας ή περισσότερων από

τις συστάδες πέσουν κάτω από ένα δεδομένο κατώτατο όριο, οι συστάδες με τους χαμηλούς

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

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

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

ανάθεση ενός σημείου στοιχείων σε μια συστάδα έχει μια διαφορετική πιθανότητα. Επειδή η

μέθοδος επιτρέπει τις συστάδες να έχουν επικαλυπτόμενα στοιχεία , ο αριθμός των στοιχείων

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

Page 25: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

25

Ο αλγόριθμος EM είναι ο προεπιλεγμένος από την Microsoft για την συσταδοποίηση. Αυτός ο

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

σύγκριση με τον Κ-means.Συγκριμένα, απαιτεί μια σάρωση στη βάσεων δεδομένων. Θα

εκτελεστεί ακόμα και με περιορισμένη μνήμη (RAM). Έχει τη δυνατότητα να χρησιμοποιήσει

μόνο μπροστινό δρομέα. Ξεπερνά σε απόδοση προσεγγίσεις τύπου δειγματοληψίας.

Η εφαρμογή της Microsoft παρέχει δύο επιλογές: κλιμακωτός και μη- κλιμακωτός EM. Εξ

ορισμού, στον κλιμακωτό EM, τα πρώτα 50.000 στοιχεία χρησιμοποιούνται για να

τροφοδοτήσουν την αρχική ανίχνευση. Εάν αυτή είναι επιτυχής, τότε το πρότυπο χρησιμοποιεί

αυτά τα στοιχεία. Εάν το πρότυπο δεν είναι επιτυχημένο χρησιμοποιώντας 50.000 στοιχεία,

τότε προσθέτει άλλα 50.000 στοιχεία . Στον μη-κλιμακωτό EM, ολόκληρο το σύνολο των

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

δημιουργήσει ακριβέστερες συστάδες, αλλά οι απαιτήσεις μνήμης μπορεί να γίνουν σημαντικά

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

των στοιχείων είναι πολύ γρηγορότερη, και ο αλγόριθμος κάνει πολύ καλύτερη χρήση της

μνήμης στην ΚΜΕ από τον μη-κλιμακωτό EM. Επιπλέον, ο κλιμακωτός EM είναι τρεις φορές

γρηγορότερος από τον μη- κλιμακωτό EM, ακόμα κι αν όλα τα στοιχεία μπορούν να χωρέσουν

στην κύρια μνήμη. Στην πλειοψηφία των περιπτώσεων, η βελτίωση απόδοσης δεν οδηγεί σε

χαμηλότερη ποιότητα πληροφορίας σε σχέση με το πλήρες πρότυπο. Οπότε βάση των

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

καθορισμού από των χρήστη του αριθμού των επιθυμητών συστάδων .

Ο αλγόριθμος του EM[18][19]

Αυτό το τμήμα εξετάζει τη ομαδοποίηση που είναι βασισμένη στα στατιστικά πρότυπα. Είναι

συχνά εύκολο και αποτελεσματικό να υποτεθεί ότι τα δεδομένα έχουν παραχθεί ως αποτέλεσμα

μιας στατιστικής διαδικασίας και να περιγραφούν τα στοιχεία με την εύρεση του στατιστικού

προτύπου που περιγράφει καλύτερα τα στοιχεία, όπου το στατιστικό πρότυπο περιγράφεται

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

διαδικασία περιλαμβάνει την απόφαση σχετικά με ένα στατιστικό πρότυπο για τα στοιχεία και

τον υπολογισμό των παραμέτρων εκείνου του προτύπου από τα στοιχεία. Αυτό το τμήμα

περιγράφει ένα συγκεκριμένο είδος στατιστικού προτύπου, τα πρότυπα μιγμάτων(mixture

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

Κάθε κατανομή αντιστοιχεί σε μια συστάδα και οι παράμετροι κάθε κατανομής παρέχουν μια

περιγραφή της αντίστοιχης συστάδας, συνήθως δίνοντας το κέντρο και τη διασπορά.

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

παράμετροι μπορούν να υπολογιστούν για τα πρότυπα των στατιστικών δεδομένων.

Περιγράφουμε αρχικά πώς μια διαδικασία γνωστή ως εκτίμηση μέγιστης πιθανότητας (MLE)

Page 26: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

26

μπορεί να χρησιμοποιηθεί για να υπολογίσει τις παραμέτρους για τα απλά στατιστικά πρότυπα

και έπειτα περιγράφουμε πώς μπορούμε να επεκτείνουμε αυτήν την προσέγγιση για τον

υπολογισμό των παραμέτρων των προτύπων μιγμάτων. Συγκεκριμένα, περιγράφουμε το

γνωστό αλγόριθμο προσδοκίας-μεγιστοποίησης (EM), που κάνει μια αρχική εικασία για τις

παραμέτρους, και έπειτα επαναληπτικά βελτιώνει αυτές τις εκτιμήσεις. Τέλος παρουσιάζουμε

παραδείγματα για το πώς ο αλγόριθμος EM μπορεί να χρησιμοποιηθεί για να ομαδοποιήσει τα

στοιχεία με τον υπολογισμό των παραμέτρων ενός προτύπου

Πρότυπα μιγμάτων

Τα πρότυπα μιγμάτων βλέπουν τα στοιχεία ως σύνολο παρατηρήσεων από ένα μίγμα

διαφορετικών κατανομών πιθανότητας. Οι κατανομές πιθανότητας μπορεί να είναι οτιδήποτε,

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

γίνεται καλά κατανοητός, είναι εύκολος να εφαρμοστεί από μαθηματική άποψη , και έχει

αποδειχθεί ότι παραγάγει καλά αποτελέσματα σε πολλές περιπτώσεις. Αυτοί οι τύποι

κατανομών μπορούν να διαμορφώσουν ελλειψοειδείς συστάδες. Εννοιολογικά, τα πρότυπα

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

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

επιλέγετε τυχαία μιας από αυτές τις κατανομές και παράγετε ένα αντικείμενο από αυτήν.

Επαναλαμβάνετε αυτήν η διαδικασία m φορές, όπου το m είναι ο αριθμός αντικειμένων.

Τυπικότερα, υποθέστε ότι υπάρχουν K κατανομές και m αντικείμενα, Χ = {x1,…, xm}.Έστω ότι η jωστη διανομή έχει παραμέτρους θj, όπου Θ να είναι το σύνολο όλων των παραμέτρων, π.χ Θ = {θ1,…, θκ}. Έπειτα, η πιθανότητα prob (Χi |Θj) είναι η πιθανότητα του αντικειμένου iωστού αντικειμένου προέρχεται από τη κατανομή jωστού. Η πιθανότητα ότι η jωστή κατανομή επιλέγεται για να παραγάγει ένα αντικείμενο δίνεται από το βάρος Wj, 1 ≤ j ≤ Κ, όπου αυτά τα βάρη (πιθανότητες) υπόκεινται στον περιορισμό ότι έχουν άθροισμα ένα, δηλ., ∑j

K=1 wj=1. Κατόπιν, η

πιθανότητα ενός αντικειμένου x δίνεται από την εξίσωση

prob(x|Θ)=∑ 𝐰𝐣

𝑲

𝒋=𝟏𝐩𝐣(𝐱|𝜽𝒋)

Εάν τα αντικείμενα παράγονται κατά τρόπο ανεξάρτητο, κατόπιν η πιθανότητα του συνόλου αντικειμένων είναι το άθροισμα των πιθανοτήτων κάθε μεμονωμένου xi.

prob(x|Θ)=∏ 𝒑𝒓𝒐𝒃(𝒙𝒊|𝜣)𝒎𝒊=𝟏 =∏ 𝒎

𝒊=𝟏 ∑ 𝐰𝐣

𝑲

𝒋=𝟏𝐩𝐣(𝐱|𝜽𝒋)

Για τα πρότυπα μιγμάτων, κάθε κατανομή περιγράφει μια διαφορετική ομάδα, δηλαδή μια

διαφορετική συστάδα. Με τη χρησιμοποίηση των στατιστικών μεθόδων, μπορούμε να

υπολογίσουμε τις παραμέτρους αυτών των κατανομών από τα στοιχεία και να περιγράψουμε

έτσι αυτές τις κατανομές (συστάδες). Μπορούμε επίσης να προσδιορίσουμε ποια αντικείμενα

ανήκουν σε ποιες συστάδες. Ωστόσο η διαμόρφωση μιγμάτων δεν παράγει μια ξεκάθαρη

Page 27: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

27

ανάθεση των αντικειμένων στις συστάδες, αλλά δίνει την πιθανότητα με την οποία ένα

συγκεκριμένο αντικείμενο ανήκει σε μια ιδιαίτερη συστάδα.

Παρέχουμε μια συγκεκριμένη απεικόνιση ενός προτύπου μιγμάτων από την άποψη των

γκαουσσιανών κατανομών. Η λειτουργία πυκνότητας πιθανότητας για μια μονοδιάστατη

γκαουσσιανή διανομή σε ένα σημείο χ είναι

prob(xi|Θ)=𝟏

√𝟐𝝅 𝝈𝒆

−(𝝌−𝝁)𝟐

𝟐𝝈𝟐

Οι παράμετροι της γκαουσσιανής κατανομής δίνονται από θ - (μ, σ), όπου μ είναι ο μέσος όρος

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

με μια κοινή απόκλιση 2 και τα μέσα - 4 και 4, αντίστοιχα. Επίσης υποθέστε ότι κάθε μια από

της δύο κατανομές επιλέγονται με την πιθανότητα, δηλ., W1= W2=0.5.

συνάρτησης πυκνότητας πιθανότητας για το

μοντέλο μιγμάτων

20.000 σημεία παραγόμενα από το μοντέλο

μιγμάτων

Κατόπιν η εξίσωση γίνεται η ακόλουθη:

prob(x|Θ)=𝟏

𝟐√𝟐𝝅 𝒆−

(𝒙+𝟒)𝟐

𝟖 +𝟏

𝟐√𝟐𝝅 𝒆−

(𝒙−𝟒)𝟐

𝟖

Το σχήμα (α) παρουσιάζει το διάγραμμα πυκνότητας πιθανότητας του προτύπου μιγμάτων, ενώ

το σχήμα (β) παρουσιάζει το ιστόγραμμα για 20.000 σημεία παραγόμενα από αυτό το πρότυπο

μιγμάτων.

Page 28: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

28

Υπολογισμός των πρότυπων παραμέτρων που χρησιμοποιούν τη μέγιστη πιθανότητα

Για ένα στατιστικό πρότυπο, είναι απαραίτητο να υπολογιστούν οι παράμετροι του για τα

συγκριμένα δεδομένα. Μια τυποποιημένη προσέγγιση που χρησιμοποιείται για αυτόν τον στόχο

είναι εκτίμηση μέγιστης πιθανότητας. Για να αρχίσετε, θεωρήστε ένα σύνολο σημείων m που

παράγονται από μια μονοδιάστατη γκαουσσιανή κατανομή. Υποθέτοντας ότι τα σημεία

παράγονται ανεξάρτητα, η πιθανότητα αυτών των σημείων είναι ακριβώς το προϊόν των

μεμονωμένων πιθανοτήτων τους. (Πάλι, εξετάζουμε τις πυκνότητες πιθανότητας, αλλά για να

κρατήσουμε την ορολογία μας απλή, θα αναφερθούμε στις πιθανότητες.) Χρησιμοποιώντας την

προηγούμενη εξίσωση μπορούμε να γράψουμε αυτήν την πιθανότητα όπως φαίνεται

παρακάτω. Δεδομένου ότι αυτή η πιθανότητα θα ήταν ένας πολύ μικρός αριθμός θα

εργαστούμε με την λογαριθμική πιθανότητα

prob(X|Θ)=∏ 𝒎𝒊=𝟏

𝟏

√𝟐𝝅 𝝈𝒆

−(𝒙𝒊−𝝁)𝟐

𝟐𝝈𝟐

log prob(X|Θ)=− ∑(𝒙𝒊−𝝁)𝟐

𝟐𝝈𝟐 − 𝟎, 𝟓 𝒍𝒐𝒈𝟐𝝅 − 𝒎 𝒍𝒐𝒈𝝈𝒎𝒊=𝟏

Θα επιθυμούσαμε να βρούμε μια διαδικασία για να υπολογίσουμε το u και σ εάν είναι

άγνωστοι. Μια προσέγγιση είναι να επιλεχτούν οι τιμές των παραμέτρων για τις οποίες τα

δεδομένα είναι τα ποιο πιθανά. Με άλλα λόγια, επιλέξτε το μ και το σ που μεγιστοποιούν την

εξίσωση prob(X|Θ). Αυτή η προσέγγιση είναι γνωστή στις στατιστικές ως αρχή μέγιστης

πιθανότητας, και η διαδικασία για να υπολογιστούν οι παράμετροι μιας στατιστικής κατανομής

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

μέγιστης πιθανότητας , η πιθανότητα των στοιχείων, που θεωρείται συνάρτηση των

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

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

στατιστικές παραμέτρους μ και σ ως μεταβλητές και ότι τα δεδομένα ως σταθερά. Για

πρακτικούς λόγους, η λογαριθμική πιθανότητα χρησιμοποιείται συχνότερα. Η λογαριθμική

συνάρτηση πιθανότητας που προέρχεται από την λογαριθμική πιθανότητα παρουσιάζεται

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

μεγιστοποιούν επίσης την πιθανότητα δεδομένου ότι ο λογάριθμος είναι μια μονότονα

αυξανόμενη συνάρτηση.

Page 29: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

29

likelihood(X|Θ)= L(X|Θ)=∏ 𝒎𝒊=𝟏

𝟏

√𝟐𝝅 𝝈𝒆

−(𝒙𝒊−𝝁)𝟐

𝟐𝝈𝟐

log likelihood(X|Θ)=− ∑(𝒙𝒊−𝝁)𝟐

𝟐𝝈𝟐 − 𝟎, 𝟓 𝒍𝒐𝒈𝟐𝝅 − 𝒎 𝒍𝒐𝒈𝝈𝒎𝒊=𝟏

Παρέχουμε μια περίπτωση χρήσης MLE για την εύρεση των τιμών των παραμέτρων. Υποθέστε

ότι έχουμε σύνολο 200 σημείων το των οποίων το ιστόγραμμα παρουσιάζεται στο σχήμα (α).

Στο (β) παρουσιάζετε η μέγιστη λογαριθμική πιθανότητα για τα 200 υπό εξέταση σημεία. Οι

τιμές των παραμέτρων για τις οποίες η λογαριθμική πιθανότητα είναι μέγιστη είναι μ = - 4.1 και

σ = 2.1, τα οποία είναι «κοντά» στις παραμέτρους τις γκαουσσιανής κατανομής, μ = - 4.0 και σ =

2.0.

Ιστόγραμμα 200 σημείων για Γκαουσιανή

κατανομή

Λογαριθμική πιθανότητα για 200 σημεία για

διαφορετικές τιμές μέσης τιμής και

απόκλισης

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

των παραμέτρων δεν είναι πρακτικό, τουλάχιστον όχι εάν υπάρχουν περισσότερες από δύο

παράμετροι. Κατά συνέπεια, η τυποποιημένη στατιστική διαδικασία είναι να παραχθούν οι

εκτιμήσεις μέγιστης πιθανότητας μιας στατιστικής παραμέτρου με τη λήψη της παραγώγου της

συνάρτησης πιθανότητας όσον αφορά εκείνη την παράμετρο, και στην συνέχεια τον καθορισμό

του αποτελέσματος ίσου με 0, και την επίλυση. Συγκεκριμένα, για μια γκαουσσιανή κατανομή,

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

μέγιστης πιθανότητας των αντίστοιχων παραμέτρων της συγκριμένης κατανομής. Πράγματι, για

τα 200 σημεία που εξετάστηκαν στο παράδειγμά μας, οι τιμές των παραμέτρων που έδωσε η

Page 30: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

30

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

u = - 4.1 και σ = 2.1.

Υπολογισμός των παραμέτρων των πρότυπων μιγμάτων που χρησιμοποιούν τη μέγιστη πιθανότητα :

Ο ψευδοκώδικας του EM[20][21]

Μπορούμε επίσης να χρησιμοποιήσουμε την προσέγγιση μέγιστης πιθανότητας για να

υπολογίσουμε τις παραμέτρους για ένα πρότυπο μιγμάτων. Στην απλούστερη περίπτωση,

ξέρουμε ποια αντικείμενα προέρχονται από ποιες κατανομές, και η λύση έγκειται στον

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

περισσότερες κοινές κατανομές, οι εκτιμήσεις μέγιστης πιθανότητας των παραμέτρων

υπολογίζονται από εφαρμογή των τύπων πάνω στα στοιχεία.

Σε μια γενικότερη (και ρεαλιστικότερη) κατάσταση, δεν ξέρουμε ποια σημεία παρήχθησαν από

κάθε κατανομή. Κατά συνέπεια, δεν μπορούμε να υπολογίσουμε άμεσα την πιθανότητα κάθε

στοιχείου, και ως εκ τούτου, φαίνετε ότι δεν μπορούμε να χρησιμοποιήσουμε την αρχή μέγιστης

πιθανότητας για να υπολογίσουμε τις παραμέτρους. Η λύση σε αυτό το πρόβλημα είναι ο

αλγόριθμος EM. Εν συντομία, λαμβάνοντας υπόψη μια εικασία για τις τιμές κάθε παραμέτρου,

ο αλγόριθμος EM υπολογίζει την πιθανότητα ότι κάθε σημείο ανήκει σε κάθε κατανομή, έπειτα

χρησιμοποιεί αυτές τις πιθανότητες για να υπολογίσει μια νέα εκτίμηση για τις παραμέτρους.

(Αυτές οι παράμετροι είναι αυτές που μεγιστοποιούν την πιθανότητα.) Αυτή η επανάληψη

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

Κατά συνέπεια, υιοθετούμε πάλι την εκτίμηση μέγιστης πιθανότητας, αλλά μέσω μιας

επαναληπτικής αναζήτησης.

Ο ψευδοκώδικας του αλγόριθμου EM.

1: Επιλέξτε ένα αρχικό σύνολο παραμέτρων. (Όπως με τον Κ-means, αυτό μπορεί να γίνει τυχαία

ή με ποικίλους τρόπους.)

2: επαναλάβετε

3: Bήμα προσδοκίας για κάθε αντικείμενο, υπολογίζει την πιθανότητα κάθε

αντικείμενου να ανήκει σε κάθε κατανομή, δηλαδή υπολογίζει prob (καταανομής j| xj,

Θ).

4: Το βήμα μεγιστοποίησης ,δεδομένων των πιθανοτήτων από το βήμα προσδοκίας,

βρίσκει τις νέες εκτιμήσεις των παραμέτρων που μεγιστοποιούν την αναμενόμενη

πιθανότητα.

5: έως ότου δεν αλλάζουν οι παράμετροι. (Εναλλακτικά, σταμάτημα το αλγορίθμου εάν η

αλλαγή στις παραμέτρους είναι κάτω από ένα ο κατώτατο όριο.)

Page 31: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

31

Ο αλγόριθμος EM είναι παρόμοιος με τον αλγόριθμο Κ-means .Πράγματι, ο αλγόριθμος Κ-

means για ευκλείδεια δεδομένα είναι μια ιδική περίπτωση του αλγορίθμου EM. Το βήμα

προσδοκίας αντιστοιχεί στο βήμα της ανάθεσης κάθε αντικειμένου σε μια συστάδα στον Κ-

means. Αντ' αυτού στον ΕΜ, κάθε αντικείμενο ορίζεται σε κάθε συστάδα (κατανομή) με κάποια

πιθανότητα. Το βήμα μεγιστοποίησης αντιστοιχεί στον υπολογισμό των «centroids» των

συστάδων. Στον ΕΜ, όλες οι παράμετροι των κατανομών, καθώς επίσης και οι παράμετροι

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

απλή, όπως οι παράμετροι υπολογίζονται χρησιμοποιώντας τους τύπους που προέρχονται από

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

η εκτίμηση του μέσου MLE είναι ο μέσος όρος των αντικειμένων στη κατανομή. Στα πλαίσια των

προτύπων μιγμάτων και του αλγορίθμου EM, ο υπολογισμός του μέσου όρου τροποποιείται

ώστε κάθε αντικείμενο να ανήκει σε μια κατανομή με μια ορισμένη πιθανότητα. Αυτό

διευκρινίζετε περαιτέρω στο ακόλουθο παράδειγμα.

Απλό παράδειγμα του αλγορίθμου EM. Αυτό το παράδειγμα παρουσιάζει πώς λειτουργεί ο EM

όταν εφαρμόζετε στα δεδομένα του προηγούμενου παραδείγματος .Για να κρατήσουμε το

παράδειγμα όσο το δυνατόν απλούστερο, υποθέτουμε ότι ξέρουμε ότι η απόκληση και των δύο

κατανομών είναι 2.0 και ότι τα σημεία παρήχθησαν με ίση πιθανότητα και στις δύο κατανομές.

Θα αναφερθούμε στην αριστερή και δεξιά κατανομή ως κατανομές 1 και 2, αντίστοιχα.

Αρχίζουμε τον αλγόριθμο EM με την παραγωγή των αρχικών εικασιών για μ1 και μ2 οπου μ1= -

2 και μ2 = 3. Κατά συνέπεια, οι αρχικές παράμετροι, θ = (μ, σ), για τις δύο κατανομές είναι,

αντίστοιχα, θ1 = (- 2,2) και θ2 = (3,2). Το σύνολο παραμέτρων για ολόκληρο το πρότυπο μιγμάτων

είναι θ = {θ1, θ2}. Για το βήμα προσδοκίας , θέλουμε να υπολογίσουμε την πιθανότητα ένα

σημείο να προήλθε από μια συγκριμένη κατανομή δηλαδή θέλουμε να υπολογίσουμε prob

(διανομή 1|Χi,Θ) και prob (διανομή 2|Xi,Θ). Αυτές οι τιμές μπορούν να εκφραστούν από την

ακόλουθη εξίσωση, η οποία είναι μια απλή εφαρμογή του κανόνα Bayes.

prob(distribution j|xi,θ)= 𝟎,𝟓 𝒑𝒓𝒐𝒃(𝒙𝒋|𝜽𝒋)

𝟎,𝟓𝒑𝒓𝒐𝒃(𝒙𝒊|𝜽𝟏)+𝟎,𝟓𝒑𝒓𝒐𝒃(𝒙𝒊|𝜽𝟐)

όπου 0.5 είναι η πιθανότητα (βάρος) κάθε κατανομής και j είναι 1 ή 2. Για παράδειγμα, υποθέστε

ότι ένα από τα σημεία είναι το 0. Χρησιμοποιώντας την γκαουσσιανή πυκνότητα, υπολογίζουμε

ότι prob {0|θ1) = 0.12 και prob (0|θ2) = 0.06. (Πάλι, υπολογίζουμε στην ουσία τις πυκνότητες

πιθανότητας χρησιμοποιώντας αυτές τις τιμές και την προαναφερθείσα εξίσωση

,διαπιστώνουμε ότι prob (διανομή 1|0, θ) = 0.12/(0.12 + 0.06) = 0.66 και prob {διανομή 2|0, Θ)

=0.06/(0.12 + 0.06) = 0.33. Αυτό σημαίνει ότι το σημείο 0 είναι δύο φορές πιθανότερο να ανήκει

Page 32: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

32

στη κατανομή 1 από ότι στη κατανομή 2 με βάση τις τρέχουσες υποθέσεις για τις τιμές των

παραμέτρων .

Αφού υπολογίσουμε τις πιθανότητες τα δεδομένα να είναι μέλη της κάθε συστάδας και για τα

20.000 σημεία, υπολογίζουμε τις νέες εκτιμήσεις για μ1 και μ2 (χρησιμοποιώντας τις παρακάτω

εξισώσεις) στο βήμα μεγιστοποίησης του αλγορίθμου EM. Παρατηρήστε ότι η νέα εκτίμηση για

το μέσο όρο μιας κατανομής είναι ένας σταθμισμένος μέσος όρος των σημείων, όπου τα βάρη

είναι οι πιθανότητες τα σημεία να ανήκουν στη κατανομή, δηλαδή, οι τιμές prob

(διανομή j|Χi)

μ1=∑ 𝒙𝒊𝒑𝒓𝒐𝒃(𝒅𝒊𝒔𝒕𝒓𝒊𝒃𝒖𝒕𝒊𝒐𝒏 𝟏|𝒙𝒊,𝜣)

∑ 𝒑𝒓𝒐𝒃(𝒅𝒊𝒔𝒕𝒓𝒊𝒃𝒖𝒕𝒊𝒐𝒏 𝟏|𝒙𝒊,𝜣)𝟐𝟎.𝟎𝟎𝟎𝒊=𝟏

𝟐𝟎.𝟎𝟎𝟎𝜾=𝟏

Πρώτες εκτελέσεις του αλγορίθμου ΕΜ για ένα απλό παράδειγμα

Αριθμός επανάληψης

μ1 μ2

0 -2,00 3,00

1 -3,74 4,10

2 -3,94 4,07

3 -3,97 4,04

4 -3,98 4,03

5 -3,98 4,03

μ2=∑ 𝒙𝒊𝒑𝒓𝒐𝒃(𝒅𝒊𝒔𝒕𝒓𝒊𝒃𝒖𝒕𝒊𝒐𝒏 𝟐|𝒙𝒊,𝜣)

∑ 𝒑𝒓𝒐𝒃(𝒅𝒊𝒔𝒕𝒓𝒊𝒃𝒖𝒕𝒊𝒐𝒏 𝟐|𝒙𝒊,𝜣)𝟐𝟎.𝟎𝟎𝟎𝒊=𝟏

𝟐𝟎.𝟎𝟎𝟎𝜾=𝟏

Επαναλαμβάνουμε αυτά τα δύο βήματα μέχρι οι εκτιμήσεις μ1 και μ2 να μην αλλάζουν ή η

αλλαγή να είναι πολύ μικρή. Ο παραπάνω πίνακας δίνει τις πρώτες επαναλήψεις του

αλγορίθμου EM όταν εφαρμόζεται στο σύνολο των 20.000 σημείων. Για αυτά τα δεδομένα,

ξέρουμε ποια κατανομή παρήγαγε ποιο στοιχείο, έτσι μπορούμε να υπολογίσουμε το μέσο όρο

των σημείων από κάθε κατανομή. Τα μέσα είναι μ1 = - 3.98 και μ2 = 4.03.

Ο αλγόριθμος του K-means[22][23][24]

Page 33: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

33

Ο K-means είναι ένας επαναληπτικός αλγόριθμος στον οποίο τα στοιχεία μετακινούνται μεταξύ

των διαφόρων συνόλων συστάδων μέχρι να φτάσουμε στο επιθυμητό σύνολο συστάδων. Ως

τέτοιος, ο k-means μπορεί να θεωρηθεί ως αλγόριθμος τετραγωνικού σφάλματος, παρά το

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

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

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

στοιχείων που ανήκουν σε διαφορετικές συστάδες Ο μέσος της συστάδας (cluster mean) Ki = {ti1,

ti2, ..., tim) ορίζεται ως

Ο ορισμός αυτός υποθέτει ότι κάθε πλειάδα έχει μόνο μία αριθμητική τιμή. Ο αλγόριθμος k-means απαιτεί να υπάρχει κάποιος ορισμός για τον μέσο της συστάδας, δεν χρειάζεται όμως να είναι ο παραπάνω. Στον παραπάνω ορισμό, ο μέσος της συστάδας ορίζεται πανομοιότυπα με το κέντρο βάρους . Ο αλγόριθμος υποθέτει ότι το επιθυμητό πλήθος συστάδων, k, δίνεται ως είσοδος στον αλγόριθμο. Στον παρακάτω αλγόριθμο φαίνονται τα βασικά βήματα του αλγορίθμου. Σημειώστε πως οι αρχικές τιμές για τους μέσους των συστάδων ανατίθενται τυχαία. Η ανάθεση θα μπορούσε να γίνει είτε τυχαία είτε χρησιμοποιώντας τις τιμές των k πρώτων στοιχείων. Το κριτήριο σύγκλισης θα μπορούσε να βασιστεί στο τετραγωνικό σφάλμα, αλλά αυτό δεν είναι απαραίτητο. Για παράδειγμα, ο αλγόριθμος θα μπορούσε να τερματίζει όταν δεν υπάρχει καμία πλειάδα (ή υπάρχουν ελάχιστες) που να ανατίθεται σε διαφορετικές συστάδες. Άλλες τεχνικές τερματισμού απλά τερματίζουν μετά από ένα συγκεκριμένο πλήθος επαναλήψεων. Μπορεί να προβλεφθεί ένας μέγιστος αριθμός επαναλήψεων που να εγγυάται τον τερματισμό του αλγορίθμου ακόμη και όταν δεν συγκλίνει.

Είσοδος

D={t1,……,tn} //σύνολο στοιχείων

κ // επιθυμητός αριθμός συστάδων

Έξοδος

Κ// σύνολα συστάδων

Αλγόριθμος

i=0;

ανάθεσε αρχικές τιμές για τους μέσους m1,……,mk;

Επανέλαβε

Page 34: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

34

ανάθεσε κάθε αντικείμενο ti στην συστάδα στην οποία έχει τον ποιο κοντινό μέσο;

Υπολόγισε νέο μέσο για την κάθε συστάδα;

Μέχρι τα κριτήρια σύγκλισης να επαληθευτούν

Η πολυπλοκότητα χρόνου του k-means είναι O(tkn) όπου t είναι το πλήθος των επαναλήψεων. Ο αλγόριθμος k-means βρίσκει ένα τοπικό βέλτιστο και μπορεί στην πραγματικότητα να χάσει το ολικό βέλτιστο. Ο k-means δε δουλεύει με μη αριθμητικά δεδομένα επειδή ο μέσος θα πρέπει να οριστεί στον τύπο του γνωρίσματος. Επιπλέον, ο k-means παράγει συστάδες κυρτού σχήματος. Επίσης δεν χειρίζεται καλά τα ακραία σημεία. Ο k-modes, μια παραλλαγή του k-means, χειρίζεται μη αριθμητικά δεδομένα. Ο αλγόριθμος αυτός χρησιμοποιεί τις επικρατούσες τιμές (modes) αντί τους μέσους. Οι τυπικές τιμές για το k κυμαίνονται μεταξύ του 2 και του 10.

Microsoft clustering[3]

Ο αλγόριθμος που χρησιμοποιήθηκε στην δική μας εφαρμογή είναι ο Microsoft clustering.O

αλγόριθμος Microsoft clustering είναι ένας αλγόριθμος κατάτμησης που παρέχεται από τις

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

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

σχηματισμοί ομάδων είναι χρήσιμοι για την περεταίρω μελέτη των δεδομένων, όπως τον

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

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

παρατήρησης. Παραδείγματος χάριν, αν και μπορείτε να διακρίνετε ότι οι άνθρωποι που

χρησιμοποιούν το ποδήλατο δεν ζουν σε μεγάλη απόσταση από εκεί που δουλεύουν. Ο

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

που δεν είναι τόσο προφανή. Στο ακόλουθο διάγραμμα, η ομάδα Α αντιπροσωπεύει τα στοιχεία

για τους ανθρώπους που τείνουν να οδηγούν για να πάνε στην εργασία τους, ενώ η συστάδα Β

αντιπροσωπεύει τα στοιχεία για τους ανθρώπους που τείνουν να πηγαίνουν με ποδήλατο στην

δουλειά.

Ο αλγόριθμος συστάδοποίησης διαφέρει από άλλους αλγορίθμους εξόρυξης δεδομένων, όπως

ο αλγόριθμος δέντρων απόφασης, δεδομένου ότι δεν είναι απαραίτητο να υποδείξετε μια

προβλέψιμη στήλη για να είναι σε θέση να δημιουργήσετε ένα πρότυπο. Ο αλγόριθμος

Page 35: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

35

συσταδοποίησης εκπαιδεύει το πρότυπο αυστηρά από τις σχέσεις που υπάρχουν στα στοιχεία

και από τις συστάδες που ο αλγόριθμος προσδιορίζει.

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

που αγοράζουν παρόμοια προϊόντα από την επιχείρηση Adventure Works. Αυτή η ομάδα

ανθρώπων αντιπροσωπεύει μια συστάδα στοιχείων. Διάφορες τέτοιες συστάδες μπορούν να

υπάρξουν σε μια βάση δεδομένων. Με την παρατήρηση των στηλών που αποτελούν μια

συστάδα, μπορείτε να δείτε με σαφήνεια πώς οι εγγραφές σε ένα σύνολο δεδομένων

συσχετίζονται η μία με την ένα άλλη.

Πως δουλεύει ο αλγόριθμος

Ο Microsoft Clustering προσδιορίζει αρχικά τις σχέσεις σε ένα σύνολο δεδομένων και παράγει

μια σειρά συστάδων που βασίζονται σε αυτές. Μια εικόνα με διασπαρμένα σημεία(όπως

φαίνεται στο ακόλουθο διάγραμμα) είναι ένας καλός τρόπος να οπτικοποιηθεί το πώς ο

αλγόριθμος τα ομαδοποιεί . Τα διασπαρμένα σημεία αντιπροσωπεύουν όλες τις περιπτώσεις

που υπάρχουν στα δεδομένα. Οι συστάδες ομαδοποιούν τα σημεία στη γραφική παράσταση και

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

Αφού πρώτα έχουν καθορίσει οι συστάδες, ο αλγόριθμος υπολογίζει πόσο καλά οι συστάδες

αντιπροσωπεύουν τους σχηματισμούς ομάδων των σημείων, και προσπαθεί έπειτα να

επαναπροσδιορίσει τους σχηματισμούς ομάδων για να δημιουργήσει καλύτερες συστάδες με

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

βελτιώσει τα αποτελέσματα περισσότερο με τον επαναπροσδιορισμό των συστάδων. Ο

αλγόριθμος μπορεί να παραμετροποιηθεί ώστε να αλλάξει ο τρόπος που λειτουργεί,

συγκεκριμένα μπορεί να οριστεί η τεχνική συσταδοποίησης, να περιοριστεί ο μέγιστος αριθμός

συστάδων και ο ελάχιστος αριθμός εγγραφών ανά συστάδα.

Ποιο αναλυτικά ο Microsoft Clustering παίρνει τις εξής παραμέτρους:

CLUSTERING_METHOD : ο αλγόριθμος που θα κάνει συσταδοποίηση και παίρνει τιμές

Scalable EM(1), Non-scalable EM(2), Scalable K-Means(3), Non-scalable K-Means(4).Η

προκαθορισμένη τιμή είναι ‘1’ Scalable EM.

CLUSTER_COUNT : Διευκρινίζει κατά προσέγγιση των αριθμό συστάδων που θα

δημιουργηθούν από τον αλγόριθμο. Εάν αυτός ο αριθμός συστάδων δεν μπορεί να

Page 36: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

36

δημιουργηθεί από τα στοιχεία, ο αλγόριθμος δημιουργεί όσο το δυνατόν περισσότερες

συστάδες. Η ρύθμιση του CLUSTER_COUNT σε 0 αναγκάζει τον αλγόριθμο να

χρησιμοποιήσει heuristics για να καθορίσει καλύτερα τον αριθμό συστάδων που θα

χρηστούν. Η προεπιλογή είναι 10.

CLUSTER_SEED : Διευκρινίζει τον αριθμό που χρησιμοποιείται για να παραγάγει τυχαία

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

μπορείτε να αλλαχτεί ο τρόπος όπου δημιουργούνται οι αρχικές συστάδες. Εάν με την

αλλαγή αυτού του αριθμού οι συστάδες δεν αλλάζουν πολύ, το πρότυπο μπορεί να

θεωρηθεί σχετικά σταθερό. Η προεπιλογή είναι 0.

MINIMUM_SUPPORT : Διευκρινίζει τον ελάχιστο αριθμό αντικειμένων που απαιτούνται

για να δημιουργηθεί μια συστάδα. Εάν ο αριθμός αντικειμένων στη συστάδα είναι

χαμηλότερος από αυτόν τον αριθμό, η συστάδα αντιμετωπίζεται ως κενή και

απορρίπτεται. Η προεπιλογή είναι 1.

MODELLING_CARDINALITY : Διευκρινίζει τον αριθμό προτύπων δειγμάτων που

κατασκευάζονται κατά τη διάρκεια της διαδικασίας συγκέντρωσης. Η μείωση του

αριθμού προτύπων μπορεί να βελτιώσει την απόδοση που αλλά με κίνδυνο να χαθούν

μερικά καλά πρότυπα. Η προεπιλογή είναι 10.

STOPPING_TOLERANCE : Διευκρινίζει την τιμή που χρησιμοποιείται για να καθορίσει

πότε η σύγκλιση επιτυγχάνεται και ο αλγόριθμος σταματά. Η σύγκλιση επιτυγχάνεται

όταν είναι η ολική διαφορά στις πιθανότητες των συστάδων είναι λιγότερη από την

παράμετρο STOPPING_TOLERANCE διαιρεμένη με το μέγεθος του προτύπου. Η

προεπιλογή είναι 10.

SAMPLE_SIZE : Διευκρινίζει τον αριθμό περιπτώσεων που ο αλγόριθμος χρησιμοποιεί σε

κάθε πέρασμα, εάν η παράμετρος CLUSTERING_METHOD τίθεται σε μια από τις

εξελικτικές(scalable) μεθόδους συσταδοποίησης. Ο καθορισμός της στο 0 θα εισάγει

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

συνόλου δεδομένων σε ένα ενιαίο πέρασμα μπορεί να προκαλέσει προβλήματα μνήμης

και απόδοσης. Η προεπιλογή είναι 50000.

MAXIMUM_INPUT_ATTRIBUTES : Διευκρινίζει το μέγιστο αριθμό στοιχείων για εισαγωγή

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

γνωρισμάτων. Ο καθορισμός αυτής της τιμής σε 0 διευκρινίζει ότι δεν υπάρχει μέγιστος

αριθμός. Η αύξηση αυτού του αριθμού μπορεί να υποβιβάσει σημαντικά την απόδοση.

Η προεπιλογή είναι 255.

MAXIMUM_STATES : Διευκρινίζει τον μέγιστος αριθμό καταστάσεων των στοιχείων Εάν

ένα στοιχείο έχει περισσότερες καταστάσεις από το μέγιστο, ο αλγόριθμος χρησιμοποιεί

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

καταστάσεων μπορεί να υποβιβάσει σημαντικά την απόδοση. Η προεπιλογή είναι 100.

Page 37: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

37

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

Όταν προετοιμάζονται τα δεδομένα για την εκπαίδευση του αλγορίθμου, πρέπει να του δοθούν

κάποιες παράμετροι σχετικές με αυτά.

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

κειμένου που προσδιορίζει μεμονωμένα κάθε αρχείο. Τα σύνθετα κλειδιά δεν

επιτρέπονται.

Στήλες εισαγωγής. Κάθε πρότυπο πρέπει να περιέχει τουλάχιστον μια εισαγμένη στήλη

που περιέχει τις τιμές που χρησιμοποιούνται για να χτιστούν οι συστάδες. Μπορούν να

υπάρξουν όσες στήλες εισαγωγής απαιτεί η εφαρμογή, αλλά ανάλογα με τον αριθμό των

εγγραφών, η προσθήκη πρόσθετων στηλών μπορεί να αυξήσει το χρόνο που παίρνει για

να εκπαιδευτεί το πρότυπο.

Προαιρετική προβλέψιμη στήλη. Ο αλγόριθμος δεν χρειάζεται μια προβλέψιμη στήλη

για να χτίσει το πρότυπο, αλλά μπορεί να προστεθεί μια σχεδόν οποιουδήποτε είδους

δεδομένων. Οι τιμές της προβλέψιμης στήλης θα θεωρηθούν ως είσοδος στο

συγκεντρωμένο πρότυπο, ή μπορεί να διευκρινιστούν ότι χρησιμοποιούνται για την

πρόβλεψη μόνο. Παραδείγματος χάριν, εάν θέλετε να προβλέψετε το εισόδημα πελατών

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

εισόδημα ως PredictOnly και θα προσθέτατε ως είσοδο όλες τις άλλες στήλες, όπως η

περιοχή ή η ηλικία.

Δημιουργία προβλέψεων [8][10]

Αφότου έχει εκπαιδευθεί το πρότυπο, τα αποτελέσματα αποθηκεύονται ως σύνολο

μοτίβων, το οποίο μπορείτε να μελετηθεί ή να χρησιμοποιηθεί για να γίνουν προβλέψεις.

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

ανήκει κάποιο νέο στοιχείο ή να γίνουν στατιστικές μελέτες για τις συστάδες.

Page 38: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

38

6.Δομή βάσης δεδομένων Στην συνέχεα θα μελετηθεί αναλυτικά η βάση δεδομένων του ιστοτόπου. Για την συγκριμένη

εφαρμογή κρίθηκε ότι τρεις πίνακες είναι αρκετοί, έτσι ο ένας πίνακας περιέχει τα γενικά

δεδομένα, ο δεύτερος περιέχει τα φυσιολογικά δεδομένα και ο τελευταίος τα δεδομένα που

σχετίζονται με τις εικόνες και τις φωτογραφίες.

Ο πινάκας general περιέχει τα γενικά δεδομένα για τους χαμαιλέοντες. Αυτά είναι:

recapture_of τύπου numeric(18, 0) όταν συμπληρωθεί δηλώνει ότι ο χαμαιλέοντας έχει

ξαναπιαστεί και αναφέρει το id του

Date_collected τύπου date, η ημερομηνία που πιάστηκε ο χαμαιλέοντας

Collectors_name τύπου nvarchar(50), το όνομα αυτού που έπιασε τον χαμαιλέοντα

Name_of_site τύπου nvarchar(MAX), το όνομα της περιοχής που πιάστηκε χαμαιλέοντας

Closest_city τύπου nvarchar(50), το όνομα της/του κοντινότερης/ου πόλης/χωριού

Situation_found τύπου nvarchar(50), η κατάσταση στην οποία βρέθηκε ο χαμαιλέοντας

Height_of_ground τύπου nvarchar(50),το ύψος από το έδαφος στο οποίο βρέθηκε ο

χαμαιλέοντας

Perching_Plant τύπου nvarchar(50), τι φυτό έτρωγε ο χαμαιλέοντας

X τύπου real, Y τύπου real ,οι συντεταγμένες του σημείου που βρέθηκε

ID τύπου numeric(18, 0),πρωτεύων κλειδί χαρακτηρίζει μοναδικά την κάθε εγγραφή

Ο πινάκας physiology περιέχει τα φυσιολογικά δεδομένα για τους χαμαιλέοντες. Αυτά είναι:

Head_height τύπου numeric(18, 0), ύψος κεφαλιού

head_length τύπου numeric(18, 0), μήκος κεφαλιού

mouth_length τύπου numeric(18, 0), μήκος στόματος

Eye_diameter τύπου numeric(18, 0), διάμετρος ματιού

crown_height τύπου numeric(18, 0), ύψος στεφάνης

crown_width τύπου numeric(18, 0), πλάτος στεφάνης

front_leg_length τύπου numeric(18, 0), μήκος μπροστινών κνημών

back_leg_length τύπου numeric(18, 0), μήκος οπίσθιων κνημών

Page 39: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

39

front_foot_length τύπου numeric(18, 0), μήκος μπροστινών ποδιών

back_foot_length τύπου numeric(18, 0), μήκος οπίσθιων ποδιών

Snout_vent_length τύπου numeric(18, 0), μήκος ρύγχους

tail_length τύπου numeric(18, 0), μήκος ουράς

total_body_length τύπου numeric(18, 0),συνολικό μήκος σώματος

Body_width τύπου numeric(18, 0), πλάτος σώματος

Body_weight τύπου numeric(18, 0), βάρος

Distinguishing_Features τύπου nvarchar(70), ειδικα χαρακτηριστικά χαμαιλέοντα

ID τύπου numeric(18, 0), πρωτεύων κλειδί χαρακτηρίζει μοναδικά την κάθε εγγραφή

sex τύπου nvarchar(50), φύλο

age τύπου nvarchar(50), ηλικία υπολογισμένη προσεγγιστικά(μωρό ενήλικας κτλ…)

και τέλος ο πινάκας Images με τα δεδομένα για τις εικόνες. Αυτά είναι:

ID τύπου numeric(18, 0) πρωτεύων κλειδί χαρακτηρίζει μοναδικά την κάθε εγγραφή

Image τύπου image, η εικόνα

thumbnail τύπου image, η εικόνα αλλά με προσαρμοσμένο μέγεθος για να εμφανιστεί

στην ιστοσελίδα

Photographer_Name τύπου nvarchar(50),το όνομα του φωτογράφου που τράβηξε την

φωτογραφία

Photographer_email τύπου nvarchar(50) το e-mail του φωτογράφου

Photographer_sex τύπου nvarchar(50) το φύλο του φωτογράφου

Date_taken τύπου date η ημερομηνία που τραβήχτηκε η φωτογραφία

Page 40: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

40

Δομή της βάσης δεδομένων

Όσο αφορά τον Analysis Server εκεί δεν αποθηκεύτηκε κάποιος πίνακας απλά έχει δημιουργηθεί

ένα μοντέλο ώστε να μπορούν να τρέξουν τα ερωτήματα του Clustering. Ο λόγος που δεν γίνετε

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

χρήστη οπότε η αποθήκευση τους θα ήταν άσκοπη σπατάλη χώρου. Έτσι αφού ο Analysis Server

δίνει δυνατότητα in memory process προτιμήθηκε αυτή η λύση.

Page 41: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

41

7.Σχόλια κώδικα [27] Σε αυτό το σημείο θα αναλυθούν κάποια κομμάτια κώδικα τα οποία έχουν ενδιαφέρον.

Συγκεκριμένα θα αναλύσουμε των κώδικα που χρησιμοποιήθηκε για τους χάρτες και για την

εξόρυξη γνώσης .

GoogleMaps[25][26]

Page 42: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

42

Για να χρησιμοποιήσουμε τις υπηρεσίες τoυ gooblemaps πρέπει να βάλουμε στον φάκελο bin

το αρχείο GMaps.dll. Στο αρχείο με κατάληξη .aspx εισάγουμε το αντικείμενο του χάρτη και στις

παραμέτρους του πρέπει να βάλουμε το κλειδί που παρέχει η google.Στη συνέχεια μπορούμε

να παραμετροποιήσουμε τον χάρτη είτε από το γραφικό περιβάλλον είτε γράφοντας κώδικα σε

asp.net Οι πιο χρησιμοποιούμενες παράμετροι είναι:

DataGinfoWingowText: επιλέγει ποιο πεδίο θα εμφανίζεται όταν ο χρήστης κάνει κλικ σε

ένα σημείο

DataSourceID: το όνομα της σύνδεσης από την οποία θα αντλεί ο χάρτης τα στοιχεία που

θα εμφανίζει όταν ο χρήστης κάνει κλικ σε ένα σημείο

DataLatField:ποια στήλη του πίνακα έχει το γεωγραφικό πλάτος

DataLogField: ποια στήλη του πίνακα έχει το γεωγραφικό μήκος

DataSourceType :τι αντιπροσωπεύουν τα σημεία ,για παράδειγμα είναι σημεία, κορυφές

πολυγώνου, σημεία ευθείας ή συνδυασμός αυτών.

EnableContinuousZoom: επιτρέπει το zoom

EnableDoubleClickZoom: επιτρέπει το zoom με διπλό κλικ

EnableRotation :επιτρέπει την περιστροφή του χάρτη

Gzoom :το αρχικό zoom του χάρτη

Height :το ύψος του παραθύρου του χάρτη

width :το πλάτος παραθύρου του χάρτη

Μέχρι στιγμής έχουμε αρχικοποιήσει τον χάρτη. Για να χρησιμοποιηθεί πραγματικά χρειάζεται να γραφτεί κώδικας στο αρχείο με κατάληξη aspx.cs Στις δηλώσεις αυτής της σελίδας πρέπει να εισαχθεί ο εξής κώδικας «using Subgurim.Controles;»για να δηλωθεί η βιβλιοθήκη με τις συναρτήσεις για τους χάρτες. Οι εντολές που χρησιμοποιήθηκαν κυρίως στην δική μας εφαρμογή είναι οι:

Ονομαχαρτη.Reset() η οποία φέρνει τον χάρτη στης αρχικές του ρυθμίσεις

GLatLng ονομα = new GLatLng(Χ, Υ); :δημιουργία αντικειμένου τύπου σημείου και εισαγωγή των συντεταγμένων του.

GMap1.setCenter(σημείο); κεντράρισμα του χάρτη στο συγκεκριμένο σημείο.

GControl control = new GControl(GControl.preBuilt.LargeMapControl);

GMap1.addControl(control); : το σετ αυτών τον δυο εντολών δημιουργεί την μπάρα του zoom και την βάζει στον χάρτη.

GMap1.addControl(new GControl(GControl.extraBuilt.TextualOnClickCoordinatesControl, new GControlPosition(GControlPosition.position.Top_Right))); :εισάγει μια περιοχή κειμένου πάνω δεξιά, στην οποία εμφανίζονται οι συντεταγμένες του σημείου που έκανε κλικ ο χρήστης.

Page 43: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

43

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

GInfoWindowTabs ονομα = new GInfoWindowTabs(); : δημιουργία αντικειμένου με καρτέλες (tabs)

ονομα.point =συντεταγμένες ; :εισαγωγη σημείου για την καρτέλα

System.Collections.Generic.List<GInfoWindowTab> tabs = new System.Collections.Generic.List<GInfoWindowTab>(); tabs.Add(new GInfoWindowTab(“όνομα του tab”,”κείμενο”); : η πρώτη εντολή δημιουργεί μια λίστα για να μπουν οι καρτέλες και με την δεύτερη εισάγουμε την καρτέλα ,σε κάθε λίστα μπορούν να μπουν μια ή και περισσότερες καρτέλες

GMarker icono = new GMarker(σημείο); : δημιουργία σήματος τύπου gmarker σε ένα σημείο για την προβολή στον χάρτη

Tabs.gMarker = icono;:πέρασμα σε ένα tab του συμβόλου icono

GMap1.addInfoWindowTabs(Tabs); : προσθήκη της όλης δομής στον χάρτη(σημειο+Tabs)

Analysis Server[28][29]

Για την χρήση των analysis services πρέπει να υπάρχει στο bin το αρχείο Microsoft.Analysis.Services.AdomdClient.dll. Σε αυτήν την περίπτωση δεν γράφεται καθόλου κώδικας στο αρχείο .aspx αλλά μόνο στο .aspx.cs.όπως και με την sql έτσι και στην adomd.net πρέπει να δημιουργήσουμε μια σύνδεση .Αυτό γίνεται με τον εξής κώδικα:

AdomdConnection conn = new AdomdConnection("Data Source=όνομα server;Integrated Security=SSPI; Initial Catalog=όνομα βάσης; Connect Timeout=διάρκεια σύνδεσης");

conn.Open(); Στη συνέχεα χρειάζονται τρεις εντολές, μια για την σύνδεση με την βάση μια για την εκπαίδευση του αλγορίθμου και μια για την επιστροφή των δεδομένων. Για την συνδεση:

string sindesi = "CREATE SESSION MINING MODEL όνομα μοντέλου" (ονόματα στηλών) USING Microsoft_Clustering(CLUSTER_COUNT=μέγιστος αριθμός cluster MINIMUM_SUPPORT=ελάχιστος πληθυσμός/cluster);

Για την εκπαίδευση

string train = "INSERT INTO " + modelName + (ονόματα στηλών) @inputRowset ;" όπου το @inputRowset είναι ο πίνακας που περιέχει όλα τα δεδομένα για είσοδο. Εδώ να σημειωθεί ότι ο πίνακας αυτός πρέπει να έχει ακριβώς τις ίδιες στήλες και με την ίδια σειρά που αυτές δηλώνονται στις παραπάνω εντολές ώστε να περάσουν στον αλγόριθμο σωστά τα δεδομένα.

Page 44: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

44

Για την επιστροφή των δεδομένων

String clusters = "sql ερώτημα NATURAL PREDICTION JOIN @inputRowset AS T; Η ένωση με τον πίνακα εισόδου(NATURAL PREDICTION JOIN ) γίνεται για να ταυτιστούν οι γραμμές του πίνακα στον analysis server με της γραμμές του πίνακα στην εφαρμογή και να επιστραφούν σωστά τα αποτελέσματα .

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

using (AdomdCommand cmd = new AdomdCommand()) { cmd.Connection = conn; cmd.CommandText = sindesi; cmd.ExecuteNonQuery(); cmd.CommandText = train; cmd.Parameters.Add(new AdomdParameter("inputRowset", όνομα πίνακα)); cmd.ExecuteNonQuery(); και τέλος παίρνουμε τα δεδομένα με την χρήση της συνάρτησης AdomdDataReader rdr = cmd.ExecuteReader(); Με τον εξής τρόπο

cmd.CommandText = clusters; cmd.Parameters.Add(new AdomdParameter("inputRowset", tbl)); AdomdDataReader rdr = cmd.ExecuteReader(); κάθε φορά που γράφουμε rdr.Read() η συνάρτηση επιστρέφει μία γραμμή αποτελεσμάτων.

8.Σενάρια Για την καλύτερη κατανόηση της δομής και της λειτουργίας του ιστοχώρου θα μελετήσουμε 3

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

πρώτο σενάριο θα γίνει χρήση των υπηρεσιών για εισαγωγή και επεξεργασία δεδομένων, στο

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

Εισαγωγή δεδομένων

Page 45: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

45

Ας υποθέσουμε ότι ένα επιστήμονας έχει πιάσει ένα νέο χαμαιλέοντα και θέλει να εισάγει τα

γενικά στοιχεία ,τα φυσιολογικά στοιχεία καθώς και μια φωτογραφία του χαμαιλέοντα.

Ο χρήστης εισέρχεται στον ιστοχώρο.

Αρχική σελίδα

Επιλέγει insert->general data και εμφανίζετε η σελίδα για να συνδεθεί ο χρήστης καθώς

απαγορεύετε η πρόσβαση σε μη εξουσιοδοτημένους χρήστες.

Page 46: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

46

Σελίδα σύνδεσης(Login)

Ο χρήστης εισάγει το όνομα του και τον κωδικό του και ανοίγει η σελίδα για την εισαγωγή των

γενικών δεδομένων. Πάνω υπάρχει ένας χάρτης με όλα τα γενικά δεδομένα αριστερά υπάρχει

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

δεδομένα με δυνατότητες ενημέρωσης και διαγραφής.

Page 47: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

47

Σελίδα εισαγωγής γενικών στοιχείων

Έπειτα ο χρήστης επιλέγει new και συμπληρώνει τα στοιχεία που επιθυμεί. Ας παρατηρήσουμε

ότι προς στιγμήν τα σημεία έχουν χαθεί από τον χάρτη.

Συμπλήρωση δεδομένων

Με το που ο χρήστης επιλέξει insert τα δεδομένα προστίθενται στην βάση και εμφανίζεται ο

ανανεωμένος χάρτης και ο ανανεωμένος πίνακας.

Εμφάνιση νέου σημείου και νέας εγγραφής στον ιστοχώρο

Τώρα ας υποτεθεί ότι ο χαμαιλέοντας 120 πρέπει να διαγραφεί. Ο χρήστης κάνει κλικ στο delete

του χαμαιλέοντα με id 120 και σβήνει τον χαμαιλέοντα.

Page 48: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

48

Διαγραφή χαμαιλέοντα

Με όμοιο τρόπο ο χρήστης εισάγει τα φυσιολογικά δεδομένα στην σελίδα Insert->physiology

data.

Εισαγωγή φυσιολογικών δεδομένων

Ας θεωρηθεί τώρα ότι πρέπει να αλλαχτεί το μήκος του κεφαλιού για τον χαμαιλέοντα 38.

Ο χρήστης κάνει κλικ στο edit του χαμαιλέοντα 38 και εισάγει το νέο μήκος.

Page 49: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

49

Αλλαγή της τιμής του μήκους κεφαλιού του χαμαιλέοντα

Τέλος ο χρήστης πηγαίνει στο insert->Image data, συμπληρώνει τα στοιχεία του φωτογράφου

και της φωτογραφίας και επιλέγει την φωτογραφία που θέλει να ανεβάσει.

Συμπλήρωση δεδομένων φωτογραφίας

Στη συνέχεια πατάει save και η νέα φωτογραφία εμφανίζετε στο κατάλληλο μέγεθος στον

πίνακα με τις φωτογραφίες.

Page 50: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

50

Εμφάνιση των εισαγμένων δεδομένων στον πίνακα

Στο δεύτερο σενάριο θα χρησιμοποιηθούν τα εργαλεία απλής αναζήτησης για την μελέτη των

δεδομένων. Θεωρώντας ότι ο χρήστης είναι είδη συνδεδεμένος κάνει κλικ στο Query General

Data ->All General Data για να δει αναλυτικά όλα τα γενικά δεδομένα. Κάνοντας κλικ πάνω σε

ένα χαμαιλέοντα στον χάρτη έχει την δυνατότητα να δει αναλυτικά τις πληροφορίες για αυτόν

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

τα φυσιολογικά δεδομένα επιλέγοντας Query Physiology Data->All Physiology Data.

Page 51: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

51

Προβολή όλων των γενικών δεδομένων στον χάρτη

Αναζήτηση δεδομένων

Έστω τώρα ότι βολεύει να δούμε τα δεδομένα μόνο μιας συγκεκριμένης μέρας. Κάνοντας κλικ

στο Query General Data->Select by Date και επιλέγοντας ένα χρονικό διάστημα εμφανίζονται

στον πίνακα και τον χάρτη μόνο τα ζητούμενα δεδομένα.

Page 52: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

52

Αναζήτηση με βάση την ημερομηνία

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

πούμε το (37.71648, 26.71394) και σε μια ακτίνα 500μέτρων.Επιλέγωντας στο Query General

Data->Select by distance και συμπληρώνοντας τα κατάλληλα πεδία και πατώντας execute ο

χάρτης εμφανίζει μόνο τους χαμαιλέοντες στην επιθυμητή περιοχή. Παρομοίως ο χρήστης

μπορεί επιλέγοντας Query Physiology Data->Select by Sex να δει μόνο τους αρσενικούς μόνο

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

Επίσης πηγαίνοντας στην καρτέλα Select by Collectors name του μενού Query General Data ο

χρήστης μπορεί να πραγματοποιήσει αναζήτηση με βάση το όνομα του επιστήμονα.

Page 53: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

53

Αποτελέσματα αναζήτησης με βάση την απόσταση

Clustering

Τέλος ας θεωρηθεί ότι ο χρήστης θέλει να πάει την μελέτη του ένα βήμα παραπέρα και να βρει

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

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

και με ελάχιστο αριθμό έναν χαμαιλέοντα ανά ομάδα.

Page 54: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

54

Παραμετροποίηση αλγορίθμου datamining

Ο αλγόριθμος τρέχει και συμπληρώνει μια στήλη στον πίνακα με τα δεδομένα που αναφέρει σε

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

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

ενώ ο χρήστης διάλεξε 5 ομάδες ο αλγόριθμος τελικά δημιούργησε μόνο 4 επειδή αυτός ο

διαχωρισμός αποτελεί βέλτιστη λύση.

Page 55: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

55

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

Έστω τώρα ότι ο χρήστης επιθυμεί την επεξεργασία των ίδιων στηλών αλλά αυτήν την φορά να

γίνουν μόνο τρείς ομάδες οπότε και αλλάζει τον αριθμό των ομάδων σε τρείς και ξανά εκτελεί

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

στήλες που επεξεργάστηκαν είναι ίδιες, με λίγο προσοχή διαπιστώνουμε ότι η μια ομάδα έχει

τους ενήλικες η άλλη τους ανήλικες και η τρίτη αυτούς του χαμαιλέοντες που τους λείπει μια

από τις δύο πληροφορίες.

Page 56: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

56

Λίγα λόγια για το «Αρχιπέλαγος»

Το «Αρχιπέλαγος», είναι ένα Ινστιτούτο Θαλάσσιας Προστασίας. Είναι μη κυβερνητική μη κερδοσκοπική οργάνωση με έντονη δράση στο ελληνικό κομμάτι της Μεσογείου. Από το 2000, οι εγκαταστάσεις του οργανισμού είναι κυρίως στην Ικαρία και την Σάμο αλλά, το πεδίο δράσης καλύπτει το σύνολο των ελληνικών θαλασσών και σταδιακά επεκτείνεται στην ευρύτερη περιοχή της Β.Α. Μεσογείου ξεφεύγοντας από τα σύνορα της Ελλάδας. Το γεγονός ότι δεν υπάρχει μεγάλη δραστηριότητα στην μελέτη των θαλάσσιων οικοσυστημάτων καθώς και οι δυσκολίες που έχει η θαλάσσια έρευνα τράβηξε το ενδιαφέρον της οργάνωσης. Έτσι αποφασίστηκε να δοθεί ιδιαίτερο βάρος στην θαλάσσια μελέτη και μάλιστα ακόμα και με αντίξοες καιρικές συνθήκες ώστε να είναι δυνατή η διεξαγωγή σοβαρών ερευνών καθώς και η προστασία των απειλούμενων οικοσυστημάτων. Το έργο του «Αρχιπελάγους» είναι δύσκολο και εκτείνεται σε πολλά πεδία. Οι δράσεις περιβαλλοντικής προστασίας δεν είναι δυνατό να επικεντρώνονται αποκλειστικά σε μεμονωμένα είδη και επιλεγμένους οικότυπους αφού τα οικοσυστήματα αλληλεπιδρούν μεταξύ τους και δεν είναι δυνατό ένα οικοσύστημα να είναι σε ισορροπία όταν γειτονικά οικοσυστήματα έχουν προβλήματα .Ακόμα η προστασία μόνο των απειλούμενων ειδών, είναι ανώφελη και αναποτελεσματική μακροπρόθεσμα, αφού το οικοσύστημα στο οποίο βιώνουν αυτά τα είδη βάλλεται καθημερινά από τον ανθρωπογενή παράγοντα και από τρίτες περιβαλλοντικές πιέσεις. Το «Αρχιπέλαγος» προσάρμοσε τη ρότα των δράσεων του όχι μόνο στη θαλάσσια έρευνα, αλλά και στην χερσαία, για να μπορέσει να έχει μια ποιο σαφή εικόνα της κατάστασης και να μπορεί να δρα αποτελεσματικά. Και στις δύο περιπτώσεις η καθημερινή και ουσιαστική επαφή με το περιβάλλον είναι επιβεβλημένη για αυτό και επιλέχθηκαν περιοχές δράσης αλλά και εγκατάστασης μακριά από τα αστικά κέντρα. Έχοντας συνείδηση των πραγματικών περιβαλλοντικών αναγκών, της εξειδίκευσης και της συνεχούς δράσης που απαιτείται, το «Αρχιπέλαγος» επέλεξε να μείνει κοντά στα φυσικά οικοσυστήματα και τις τοπικές κοινωνίες, καθ’ όλη τη διάρκεια του χρόνου, μακριά από προσχεδιασμένα περιβαλλοντικά στερεότυπα και ελκυστικά σλόγκαν . Για να καλυφτούν οι ανάγκες του «Αρχιπελάγους» με αυτόν τον τεράστιο όγκο εργασίας και ευθύνης και να εξασφαλιστεί η απαραίτητη επιχειρησιακή λειτουργικότητα, το «Αρχιπέλαγος» έπειτα από πολυετή και καθημερινό αγώνα διαθέτει σήμερα δύο κύριες ερευνητικές βάσεις, στην Ικαρία και στη Σάμο και τέσσερις ερευνητικούς σταθμούς στα νησιά Μαράθι, Αρκιοί, Φούρνοι (Αγ.Μηνάς) και Πάτμο. Στις ερευνητικές βάσεις του «Αρχιπελάγους», εργάζονται όλο τον χρόνο επιστήμονες περιβάλλοντος και άλλων ειδικοτήτων, καθώς και μια δυναμική ομάδα 30-50 εθελοντών

Page 57: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

57

ερευνητών όχι μόνο από την Ελλάδα, αλλά και την Ευρώπη καθώς και από διάφορες γωνιές του κόσμου. Μέσα σε ένα τέτοιο πολύχρωμο πολυεθνικό ψηφιδωτό, που ζει και εργάζεται εθελοντικά χειμώνα-καλοκαίρι στις παρυφές της ελληνικής ακτογραμμής, αναπτύσσονται δράσεις περιβαλλοντικής προστασίας, στόχος των οποίων είναι να αντιστρέψουν το σκηνικό της διαρκούς υποβάθμισης που γνωρίζουν τα θαλάσσια και νησιωτικά οικοσυστήματα της Ελλάδας. Επίσης, για να υλοποιήσει σε υψηλό επιστημονικό επίπεδο την έρευνα και τις δράσεις περιβαλλοντικής προστασίας, το «Αρχιπέλαγος» συνεργάζεται με πανεπιστήμια και ερευνητικά ιδρύματα της Ελλάδας, Βρετανίας, Ιταλίας, Μάλτας, Ρουμανίας και της Τουρκίας, καθώς και με επιστήμονες από άλλες ευρωπαϊκές χώρες. Όλες οι δράσεις του «Αρχιπελάγους» βασίζονται στην πραγματικά εθελοντική και αφιλοκερδή εργασία των επιστημόνων, καθώς και όλων των μελών της οργάνωσης. Για την ευκολότερη προσέγγιση των πεδίων έρευνας στις ελληνικές θάλασσες όλο τον χρόνο, το «Αρχιπέλαγος» διαθέτει επίσης τα ερευνητικά ιστιοφόρα σκάφη «Πηνελόπη» και «Νηρέα» καθώς και δύο βοηθητικά φουσκωτά σκάφη. Για να εξασφαλίσει τη βιωσιμότητα, στις λειτουργικές και ερευνητικές του ανάγκες, το «Αρχιπέλαγος» επέλεξε από την αρχή της σύστασης του να επενδύσει αποκλειστικά στην εκπαιδευτική δραστηριότητα. Η συνεργασία με ξένα ακαδημαϊκά ιδρύματα, η υποδοχή προπτυχιακών και μεταπτυχιακών φοιτητών οι οποίοι εντάσσουν την έρευνα τους στις ερευνητικές δραστηριότητες της οργάνωσης και η διοργάνωση εφαρμοσμένων μαθημάτων πεδίου αποτελούν τις κυριότερες πηγές εσόδων του «Αρχιπελάγους». Μικρή οικονομική ενίσχυση παρέχει επίσης η παραγωγή περιβαλλοντικού υλικού εκπαίδευσης και ευαισθητοποίησης, όπως εκπαιδευτικά βιβλία, παζλ, επιστημονικά σκίτσα κλπ. Η οργάνωση αποφάσισε να μην δέχεται χορηγίες από εταιρίες που πλήττουν με την δράση τους το περιβάλλον, καθώς τέτοιου είδους συνεργασίες κρίθηκαν ως επίφοβες για το έργο μιας οικολογικής οργάνωσης καθώς μπορεί να περιοριστεί η δράση της μέσω οικονομικών εκβιασμών .Επίσης, εκ της σύστασης της, η οργάνωση έχει επιλέξει να μην εξαρτά την επιβίωση της από τη συμμετοχή της σε ευρωπαϊκά προγράμματα και κοινοτικές επιδοτήσεις. Σε αυτόν τον τομέα το «Αρχιπέλαγος» ενεργεί με σύνεση, προσοχή και πάντα με γνώμονα τις πραγματικές ανάγκες του περιβάλλοντος. Η τακτική της αφαίμαξης κοινοτικών κονδυλίων, όχι τόσο για την επιβίωση μίας Μ.Κ.Ο., αλλά κυρίως για τον πλουτισμό ορισμένων καιροσκόπων αποτελούσε και θα αποτελεί πάντα τον εύκολο δρόμο, από τον οποίο η οργάνωση απέχει συνειδητά .Έτσι το «Αρχιπέλαγος» δίνει ιδιαίτερη προσοχή στις συνεργασίες που κάνει καθώς και στην επιλογή των υποστηρικτών του ενώ οι εκάστοτε χορηγίες αφορούν αποκλειστικά σε εμπλουτισμό του υπάρχοντος εξοπλισμού και στην αγορά νέου, ή στη μισθοδοσία θέσεων εργασίας. Στο χερσαίο πεδίο, η έρευνα επικεντρώνεται στην ερπετοπανίδα της Σάμου. Ιδιαίτερη έμφαση δίνεται στον κοινό χαμαιλέοντα (Chameleo chameleon), το μοναδικό πληθυσμό του είδους που έχει απομείνει στην Ελλάδα. Ο κοινός χαμαιλέοντας, ο οποίος συναντάται στη Μάλτα, στη

Page 58: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

58

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

9.Επίλογος

Page 59: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

59

Σύνοψη και συμπεράσματα

Η επιτυχής υλοποίηση αυτής της διπλωματικής όχι μόνο θα βοηθήσει το «Aρχιπέλαγος» στον

δύσκολο αγώνα που κάνει, αλλά αποδεικνύει έμπρακτα τα τεράστια οφέλη που μπορεί να

αποκομίσει κανείς από την εξόρυξη γνώσης ακόμα και σε τομείς που εκ πρώτης όψης δεν

φαίνονται συναφής με αυτήν. Ακόμη εύκολα διαπιστώνουμε ότι μπορεί να φτιαχτούν πληθώρα

παραπλήσιων εφαρμογών όχι μόνο για την προστασία του περιβάλλοντος αλλά και για

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

αστικοποίηση των αποτελεσμάτων μπορεί να γλυτώσει σημαντικό χρόνο εργασίας. Ακόμα η

υλοποίηση μια διαδικτυακής εφαρμογής αυτού του είδους από ένα προπτυχιακό φοιτητή

βοηθάει στην εξάλειψη αυτής της φοβίας που παρατηρείτε στην ελληνική επικράτεια για τις

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

πανεπιστήμια μπορούν να βγάλουν επιστήμονες έτυμους να ανταπεξέλθουν στις σύγχρονες

ανάγκες της κοινωνίας.

Μελλοντικές επεκτάσεις

Αυτή η διπλωματική μπορεί να αποτελέσει τροφή για μια σειρά νέων διπλωματικών οι οποίες

να βοηθήσουν ακόμα περισσότερο τόσο το αρχιπέλαγος όσο και την ακαδημαϊκή κοινότητα.

Μία ενδιαφέρουσα πτυχή είναι η τοποθέτηση πομπών στους χαμαιλέοντες και η συνεχής

παρακολούθηση τους. Αυτό σε συνδυασμό με μια ιστοσελίδα που θα ενημερώνετε αυτόματα

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

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

παρουσίαζε η δημιουργία ενός υποσυστήματος το οποίο θα ενημέρωνε την οργάνωση με sms

ή με e-mail όταν κάποιος χαμαιλέοντας απομακρύνετε από το νησί για να περιοριστεί η

λαθρεμπορία των χαμαιλεόντων .

10.Παράτημα κώδικα

Page 60: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

60

Εδώ έχουν παρατεθεί ενδεικτικά τα ποιο ενδιαφέροντα από άποψη κώδικα κομμάτια τις διπλωματικής

και συγκεκριμένα της σελίδας που κάνει Clustering και της σελίδας που εισάγει και τις φωτογραφίες

Κωδικας Clustering

using System;

using System.Text;

using System.Data;

using System.Data.Common;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using Microsoft.AnalysisServices;

using Microsoft.AnalysisServices.AdomdClient;

using System.Data.SqlClient;

using Subgurim.Controles;

public partial class private_mine_physiology : System.Web.UI.Page

{

string targetClusterNum = "3";//arithmos epithimiton cluster

protected void Page_Load(object sender, EventArgs e)

{ //sql sindesi gia tin antiikatastasi ton NULL me "-" gia ta string h "0" gia tous arithmous

SqlConnection connection = new SqlConnection(

"server=ICSD-DB\\MSSQLSRV2008R2;" +

"Trusted_Connection=yes;" +

Page 61: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

61

"database=ChameleonDB; " +

"connection timeout=40");

connection.Open();

SqlCommand comd = new SqlCommand("update physiology set

Head_height=isnull(Head_height,0),head_length=isnull(head_length,0),mouth_length=isnull(mouth_len

gth,0),Eye_diameter=isnull(Eye_diameter,0),crown_height=isnull(crown_height,0),crown_width=isnull(c

rown_width,0),front_leg_length=isnull(front_leg_length,0),back_leg_length=isnull(back_leg_length,0),b

ack_foot_length=isnull(back_foot_length,0),Snout_vent_length=isnull(Snout_vent_length,0),tail_length

=isnull(tail_length,0),total_body_length=isnull(total_body_length,0),Body_width=isnull(Body_width,0),B

ody_weight=isnull(Body_weight,0),Distinguishing_Features=isnull(Distinguishing_Features,'-

'),sex=isnull(sex,'-'),age=isnull(age,'-')", connection);

comd.ExecuteNonQuery();

connection.Close();

//parametropoiisi tis thesis tou zoom kai tou tipou tou xarti

GMap1.reset();

GLatLng latlong = new GLatLng(37.750629, 26.818314);

GMapType.GTypes maptype = GMapType.GTypes.Hybrid;

GMap1.setCenter(latlong);

//zoom

GControl control = new GControl(GControl.preBuilt.LargeMapControl);

GMap1.addControl(control);

GMap1.GZoom = 10;

//sintetagmenes

GMap1.addControl(new GControl(GControl.extraBuilt.TextualOnClickCoordinatesControl, new

GControlPosition(GControlPosition.position.Bottom_Right)));

GMap1.addControl(new GControl(GControl.preBuilt.MapTypeControl));

}

protected void Button1_Click(object sender, EventArgs e)

{

Page 62: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

62

ListBox1.Items.Clear();

ListBox2.Items.Clear();

ListBox3.Items.Clear();

ListBox4.Items.Clear();

ListBox5.Items.Clear();

ListBox1.Enabled = false;

ListBox2.Enabled = false;

ListBox3.Enabled = false;

ListBox4.Enabled = false;

ListBox5.Enabled = false;

string targetClusterNum;

if (CheckBox1.Checked == true)

{

targetClusterNum = DropDownList1.SelectedItem.Value;

}

else

{

targetClusterNum = "5";

}

string modelName = "dokimi";//onoma montelou ston analysis server

string sindesi = "CREATE SESSION MINING MODEL " + modelName + " ( [ID] LONG KEY"; //arxi tou

string gia tin dimiourgia sindesis

string train = "INSERT INTO " + modelName + "( [ID] "; //arxi tou string gia tin dimiourgia tou train

set

for (int i = 0; i < 20; i++)

if (CheckBoxList1.Items[i].Selected)

Page 63: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

63

{

train = train + "," + CheckBoxList1.Items[i].Text; //eisagogi epithimiton stilon kai "," anamesa se

autes

sindesi = sindesi + "," + CheckBoxList1.Items[i].Value; //eisagogi epithimiton stilon "," anamesa

se autes

}

sindesi = sindesi + ") USING Microsoft_Clustering(CLUSTER_COUNT=" + targetClusterNum + ");";

//telos tou string gia tin dimourgia sindesis

train = train + " ) @inputRowset ;"; //telos tou string gia tin dimourgia train set

String clusters = "SELECT T.[ID], Cluster() from [dokimi] NATURAL PREDICTION JOIN @inputRowset

AS T ; "; //string gia tin epistrofi tou id kai tou cluster sto opoio anikei

//dimiourgia sindesis adomd

AdomdConnection conn = new AdomdConnection("Data Source=ICSD-

DB\\MSSQLSRV2008R2;Integrated Security=SSPI;Initial Catalog=Chapter 16; Connect Timeout=120");

conn.Open();

System.Data.DataTable tbl = new DataTable(); //dimiourgia pinaka gia na apostaloun ta dedomena

ston analisys server

//eisagogi tis stilis id kai ton epilegmenenon stilon kai ton dedomenon tous

tbl.Columns.Add("ID", typeof(int));

int k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows.Add();

tbl.Rows[k]["ID"] =Convert.ToInt16(row.Cells[20].Text);

k++;

}

if (CheckBoxList1.Items[0].Selected)

{

Page 64: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

64

tbl.Columns.Add("Head_height", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["Head_height"] = Convert.ToDouble(row.Cells[0].Text);

k++;

}

}

if (CheckBoxList1.Items[1].Selected)

{

tbl.Columns.Add("head_length", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["head_length"] = Convert.ToDouble(row.Cells[1].Text);

k++;

}

}

if (CheckBoxList1.Items[2].Selected)

{

tbl.Columns.Add("mouth_length", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

Page 65: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

65

tbl.Rows[k]["mouth_length"] = Convert.ToDouble(row.Cells[2].Text);

k++;

}

}

if (CheckBoxList1.Items[3].Selected)

{

tbl.Columns.Add("Eye_diameter", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["Eye_diameter"] = Convert.ToDouble(row.Cells[3].Text);

k++;

}

}

if (CheckBoxList1.Items[4].Selected)

{

tbl.Columns.Add("crown_height", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["crown_height"] = Convert.ToDouble(row.Cells[4].Text);

k++;

}

}

if (CheckBoxList1.Items[5].Selected)

Page 66: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

66

{

tbl.Columns.Add("crown_width", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["crown_width"] = Convert.ToDouble(row.Cells[5].Text);

k++;

}

}

if (CheckBoxList1.Items[6].Selected)

{

tbl.Columns.Add("front_leg_length", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["front_leg_length"] = Convert.ToDouble(row.Cells[6].Text);

k++;

}

}

if (CheckBoxList1.Items[7].Selected)

{

tbl.Columns.Add("back_leg_length", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

Page 67: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

67

tbl.Rows[k]["back_leg_length"] = Convert.ToDouble(row.Cells[7].Text);

k++;

}

}

if (CheckBoxList1.Items[8].Selected)

{

tbl.Columns.Add("front_foot_length", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["front_foot_length"] = Convert.ToDouble(row.Cells[8].Text);

k++;

}

}

if (CheckBoxList1.Items[9].Selected)

{

tbl.Columns.Add("back_foot_length", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["back_foot_length"] = Convert.ToDouble(row.Cells[9].Text);

k++;

}

}

if (CheckBoxList1.Items[10].Selected)

Page 68: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

68

{

tbl.Columns.Add("Snout_vent_length", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["Snout_vent_length"] = Convert.ToDouble(row.Cells[10].Text);

k++;

}

}

if (CheckBoxList1.Items[11].Selected)

{

tbl.Columns.Add("tail_length", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["tail_length"] = Convert.ToDouble(row.Cells[11].Text);

k++;

}

}

if (CheckBoxList1.Items[12].Selected)

{

tbl.Columns.Add("total_body_length", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

Page 69: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

69

tbl.Rows[k]["total_body_length"] = Convert.ToDouble(row.Cells[12].Text);

k++;

}

}

if (CheckBoxList1.Items[13].Selected)

{

tbl.Columns.Add("Body_width", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["Body_width"] = Convert.ToDouble(row.Cells[13].Text);

k++;

}

}

if (CheckBoxList1.Items[14].Selected)

{

tbl.Columns.Add("Body_weight", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["Body_weight"] = Convert.ToDouble(row.Cells[14].Text);

k++;

}

}

if (CheckBoxList1.Items[15].Selected)

Page 70: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

70

{

tbl.Columns.Add("Distinguishing_Features", typeof(String));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["Distinguishing_Features"] = Convert.ToString(row.Cells[15].Text);

k++;

}

}

if (CheckBoxList1.Items[16].Selected)

{

tbl.Columns.Add("sex", typeof(String));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["sex"] = Convert.ToString(row.Cells[16].Text);

k++;

}

}

if (CheckBoxList1.Items[17].Selected)

{

tbl.Columns.Add("age", typeof(String));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

Page 71: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

71

tbl.Rows[k]["age"] = Convert.ToString(row.Cells[17].Text);

k++;

}

}

if (CheckBoxList1.Items[18].Selected)

{

tbl.Columns.Add("Y", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["Y"] = Convert.ToDouble(row.Cells[18].Text);

k++;

}

}

if (CheckBoxList1.Items[19].Selected)

{

tbl.Columns.Add("X", typeof(Double));

k = 0;

foreach (GridViewRow row in GridView1.Rows)

{

tbl.Rows[k]["X"] = Convert.ToDouble(row.Cells[19].Text);

k++;

}

}

Page 72: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

72

using (AdomdCommand cmd = new AdomdCommand())

{

cmd.Connection = conn; //dimiourgia sindesis

cmd.CommandText = sindesi;

cmd.ExecuteNonQuery();

cmd.CommandText = train; //fortoma train set

cmd.Parameters.Add(new AdomdParameter("inputRowset", tbl));

cmd.ExecuteNonQuery();

//Get the clusters of the data points

cmd.CommandText = clusters; //epistrofi apotelesmaton

cmd.Parameters.Add(new AdomdParameter("inputRowset", tbl));

AdomdDataReader rdr = cmd.ExecuteReader();

string clusterName;

int d,ida;

while (rdr.Read()) //perasma apotelesmaton ston pinaka gridview

{

d = Convert.ToInt16(rdr.GetString(0));

clusterName = rdr.GetString(1);

foreach (GridViewRow row in GridView1.Rows)

{

ida = Convert.ToInt16(row.Cells[20].Text);

if (ida==d)

{

row.Cells[21].Text = Convert.ToString(clusterName);

}

Page 73: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

73

}

}

rdr.Close();

conn.Close();

}

//parametropoiisi tis thesis tou zoom kai tou tipou tou xarti

GMap1.reset();

GLatLng latlong = new GLatLng(37.750629, 26.818314);

GMapType.GTypes maptype = GMapType.GTypes.Hybrid;

GMap1.setCenter(latlong);

//zoom

GControl control = new GControl(GControl.preBuilt.LargeMapControl);

GMap1.addControl(control);

GMap1.GZoom = 10;

//sintetagmenes

GMap1.addControl(new GControl(GControl.extraBuilt.TextualOnClickCoordinatesControl, new

GControlPosition(GControlPosition.position.Bottom_Right)));

GMap1.addControl(new GControl(GControl.preBuilt.MapTypeControl));

foreach (GridViewRow row in GridView1.Rows)

{//dimiourgia ton simion ston xarti

double x, y;

string cluster;

x = Convert.ToDouble(row.Cells[19].Text);

Page 74: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

74

y = Convert.ToDouble(row.Cells[18].Text);

cluster = Convert.ToString(row.Cells[21].Text);

string id = Convert.ToString(row.Cells[20].Text);

GLatLng point1 = new GLatLng(x, y);

//dimiourgia ton 3 ipomenou

GInfoWindowTabs iwTabs = new GInfoWindowTabs();

iwTabs.point = point1;

System.Collections.Generic.List<GInfoWindowTab> tabs = new

System.Collections.Generic.List<GInfoWindowTab>();

tabs.Add(new GInfoWindowTab("General", "<br/><b>ID: </b>" + row.Cells[20].Text +

"<br/><b>total body length: </b>" + row.Cells[12].Text

+ "<br/><b>Body width: </b>" + row.Cells[13].Text + "<br/><b>Body weight: </b>" +

row.Cells[14].Text + "<br/><b>sex: </b>" + row.Cells[16].Text +

"<br/><b>age: </b>" + row.Cells[17].Text + "<br/><b>Distinguishing features: </b>" +

row.Cells[15].Text + "<br/><b>X: </b>" + row.Cells[19].Text + "<br/><b>Y: </b>" + row.Cells[18].Text));

tabs.Add(new GInfoWindowTab("Body", "<br/><b>front leg length: </b>" + row.Cells[6].Text

+ "<b> back leg length: </b>" + row.Cells[7].Text + "<br/><b>front foot length: </b>" +

row.Cells[8].Text

+ "<b> back foot length: </b>" + row.Cells[9].Text + "<br/><b>Snout vent length: </b>" +

row.Cells[10].Text

+ "<br/><b>tail length: </b>" + row.Cells[11].Text + "<br/><b>Head height: </b>" +

row.Cells[0].Text + "<b> Head length: </b>" + row.Cells[1].Text +

"<br/><b>Mouth length: </b>" + row.Cells[2].Text + "<br/><b>Eye diameter: </b>" +

row.Cells[3].Text + "<br/><b>Crown height </b>" + row.Cells[4].Text + "<b> Crown width: </b>" +

row.Cells[5].Text));

tabs.Add(new GInfoWindowTab("Image", "<img src=viewimage.aspx?img=" + id + "

border=1>"));

//ta epomena if bazoun diaforetiko simbolo analoga me to cluster tou kathe xameleonta

if (cluster == "Cluster 1")

Page 75: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

75

{

ListBox1.Enabled = true;

ListBox1.Items.Add(row.Cells[20].Text);

/****** INFOWINDOWTAB 2 ******/

GInfoWindowTabs iwTabs2 = new GInfoWindowTabs();

GIcon icon = new GIcon();

icon.image = "/xartis_teliko/images/cluster1.png";

icon.shadow = "/xartis_teliko/images/scluster1.png";

icon.iconSize = new GSize(30, 30);

icon.shadowSize = new GSize(52, 28);

icon.iconAnchor = new GPoint(15, 30);

icon.infoWindowAnchor = new GPoint(15, 0);

GMarkerOptions mOpts = new GMarkerOptions();

mOpts.icon = icon;

GMarker icono = new GMarker(point1, mOpts);

iwTabs2.gMarker = icono;

iwTabs2.tabs = tabs;

GMap1.addInfoWindowTabs(iwTabs2);

}

else if (cluster == "Cluster 2")

{

ListBox2.Enabled = true;

ListBox2.Items.Add(row.Cells[20].Text);

/****** INFOWINDOWTAB 2 ******/

GInfoWindowTabs iwTabs2 = new GInfoWindowTabs();

Page 76: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

76

GIcon icon = new GIcon();

icon.image = "/xartis_teliko/images/cluster2.png";

icon.shadow = "/xartis_teliko/images/scluster1.png";

icon.iconSize = new GSize(30, 30);

icon.shadowSize = new GSize(52, 28);

icon.iconAnchor = new GPoint(15, 30);

icon.infoWindowAnchor = new GPoint(15, 0);

GMarkerOptions mOpts = new GMarkerOptions();

mOpts.icon = icon;

GMarker icono = new GMarker(point1, mOpts);

iwTabs2.gMarker = icono;

iwTabs2.tabs = tabs;

GMap1.addInfoWindowTabs(iwTabs2);

}

else if (cluster == "Cluster 3")

{

ListBox3.Enabled = true;

ListBox3.Items.Add(row.Cells[20].Text);

/****** INFOWINDOWTAB 2 ******/

GInfoWindowTabs iwTabs2 = new GInfoWindowTabs();

GIcon icon = new GIcon();

icon.image = "/xartis_teliko/images/cluster3.png";

icon.shadow = "/xartis_teliko/images/scluster3.png";

icon.iconSize = new GSize(30, 30);

Page 77: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

77

icon.shadowSize = new GSize(52, 28);

icon.iconAnchor = new GPoint(15, 30);

icon.infoWindowAnchor = new GPoint(15, 0);

GMarkerOptions mOpts = new GMarkerOptions();

mOpts.icon = icon;

GMarker icono = new GMarker(point1, mOpts);

iwTabs2.gMarker = icono;

iwTabs2.tabs = tabs;

GMap1.addInfoWindowTabs(iwTabs2);

}

else if (cluster == "Cluster 4")

{

ListBox4.Enabled = true;

ListBox4.Items.Add(row.Cells[20].Text);

/****** INFOWINDOWTAB 2 ******/

GInfoWindowTabs iwTabs2 = new GInfoWindowTabs();

GIcon icon = new GIcon();

icon.image = "/xartis_teliko/images/cluster4.png";

icon.shadow = "/xartis_teliko/images/scluster4.png";

icon.iconSize = new GSize(30, 30);

icon.shadowSize = new GSize(52, 28);

icon.iconAnchor = new GPoint(15, 30);

icon.infoWindowAnchor = new GPoint(15, 0);

GMarkerOptions mOpts = new GMarkerOptions();

mOpts.icon = icon;

Page 78: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

78

GMarker icono = new GMarker(point1, mOpts);

iwTabs2.gMarker = icono;

iwTabs2.tabs = tabs;

GMap1.addInfoWindowTabs(iwTabs2);

}

else if (cluster == "Cluster 5")

{

ListBox5.Enabled = true;

ListBox5.Items.Add(row.Cells[20].Text);

/****** INFOWINDOWTAB 2 ******/

GInfoWindowTabs iwTabs2 = new GInfoWindowTabs();

GIcon icon = new GIcon();

icon.image = "/xartis_teliko/images/cluster5.png";

icon.shadow = "/xartis_teliko/images/scluster5.png";

icon.iconSize = new GSize(30, 30);

icon.shadowSize = new GSize(52, 28);

icon.iconAnchor = new GPoint(15, 30);

icon.infoWindowAnchor = new GPoint(15, 0);

GMarkerOptions mOpts = new GMarkerOptions();

mOpts.icon = icon;

GMarker icono = new GMarker(point1, mOpts);

iwTabs2.gMarker = icono;

iwTabs2.tabs = tabs;

GMap1.addInfoWindowTabs(iwTabs2);

Page 79: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

79

}

}

}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

{

targetClusterNum = DropDownList1.SelectedItem.Value; //perasma tis timis tou xristi gia ton

arithmo ton cluster

}

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)

{

if (CheckBox1.Checked == true)

{

DropDownList1.Enabled = true;

}

else

{

DropDownList1.Enabled = false;

}

}

}

Κώδικας φωτογραφιών using System;

using System.Collections.Generic;

Page 80: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

80

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.ComponentModel;

using System.IO;

using System.Data;

using System.Data.SqlClient;

using System.Configuration;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Drawing.Imaging;

using System.Drawing.Drawing2D;

using System.Drawing;

public partial class private_Image_managment : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void Button1_Click(object sender, EventArgs e)

{ //apothikseusi fotografias sto server kai metatropi sto katalilo megethos

byte[] myimage = new byte[FileUpload2.PostedFile.ContentLength];

HttpPostedFile Image = FileUpload2.PostedFile;

Image.InputStream.Read(myimage, 0, (int)FileUpload2.PostedFile.ContentLength);

System.Drawing.Image imageToBeResized =

System.Drawing.Image.FromStream(FileUpload2.PostedFile.InputStream);

Page 81: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

81

int imageHeight = imageToBeResized.Height;

int imageWidth = imageToBeResized.Width;

int maxHeight = 441;

int maxWidth = 576;

imageHeight = (imageHeight * maxWidth) / imageWidth;

imageWidth = maxWidth;

imageWidth = (imageWidth * maxHeight) / imageHeight;

imageHeight = maxHeight;

Bitmap bitmap = new Bitmap(imageToBeResized, imageWidth, imageHeight);

System.IO.MemoryStream stream = new MemoryStream();

bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);

stream.Position = 0;

byte[] Rimage = new byte[stream.Length + 1];

stream.Read(Rimage, 0, Rimage.Length);

//dimourgia deyteris mikris eikonas

byte[] myimage2 = new byte[FileUpload2.PostedFile.ContentLength];

HttpPostedFile Image2 = FileUpload2.PostedFile;

Image2.InputStream.Read(myimage2, 0, (int)FileUpload2.PostedFile.ContentLength);

System.Drawing.Image imageToBeResized2 =

System.Drawing.Image.FromStream(FileUpload2.PostedFile.InputStream);

int imageHeight2 = imageToBeResized2.Height;

int imageWidth2 = imageToBeResized2.Width;

int maxHeight2 = 184;

int maxWidth2 = 240;

imageHeight2 = (imageHeight2 * maxWidth2) / imageWidth2;

imageWidth2 = maxWidth2;

Page 82: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

82

imageWidth2 = (imageWidth2 * maxHeight2) / imageHeight2;

imageHeight2 = maxHeight2;

Bitmap bitmap2 = new Bitmap(imageToBeResized2, imageWidth2, imageHeight2);

System.IO.MemoryStream stream2 = new MemoryStream();

bitmap2.Save(stream2, System.Drawing.Imaging.ImageFormat.Jpeg);

stream2.Position = 0;

byte[] Rimage2 = new byte[stream2.Length + 1];

stream2.Read(Rimage2, 0, Rimage2.Length);

SqlConnection connection = new SqlConnection(

"server=ICSD-DB\\MSSQLSRV2008R2;" +

"Trusted_Connection=yes;" +

"database=ChameleonDB; " +

"connection timeout=30");

try

{

connection.Open(); //apostoli dedomenon ston server

SqlCommand cmd = new SqlCommand("insert into Images " + "(Image, ID,

thumbnail,Photographer_Name,Photographer_email,Photographer_sex,Date_taken,small_image)

values (@image, @numeric

,@thumbnail,@Photographer_Name,@Photographer_email,@Photographer_sex,@Date_taken,@small

_image)", connection);

cmd.Parameters.Add("@image", SqlDbType.Image, myimage.Length).Value = myimage;

cmd.Parameters.Add("@numeric", txtScanId.Text);

cmd.Parameters.Add("@thumbnail", SqlDbType.Image, Rimage.Length).Value = Rimage;

cmd.Parameters.Add("@Photographer_Name", TextBox1.Text);

cmd.Parameters.Add("@Photographer_email", TextBox2.Text);

cmd.Parameters.Add("@Photographer_sex", DropDownList1.Text);

Page 83: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

83

cmd.Parameters.Add("@Date_taken", Convert.ToDateTime(TextBox3.Text));

cmd.Parameters.Add("@small_image", SqlDbType.Image, Rimage2.Length).Value = Rimage2;

cmd.ExecuteNonQuery();

}

finally

{

connection.Close();

}

GridView1.DataBind();

}

}

Βιβλιογραφία

1. http://en.wikipedia.org/wiki/ASP.NET

2. http://www.stat-athens.aueb.gr/~jpan/diatrives/Marouga/chapter7.pdf

3. http://msdn.microsoft.com/el-gr/library/ms174879.aspx

Page 84: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

84

4. http://www.datamining.gr/el/whatisdatamining.html

5. http://www.datamining.gr/el/dataminingapps.html

6. http://www.wiley.com/legacy/wileychi/ecc/samples/sample06.pdf

7. Analysis Services Overview (White Paper)

8. Data Mining: Εισαγωγικά και προηγμένα Θέματα εξόρυξης Γνώσης από Δεδομένα",

Margaret H. Dunham

9. Environmental Applications of Data Mining,Saso Dzeroski,Department of Knowledge

Technologies, Jozef Stefan Institute, Jamova 39, 1000 Ljubljana, Slovenia

10. Introduction to Data Mining, Pang-Ning Tan, Michigan State University,

Michael Steinbach, University of Minnesota

Vipin Kumar, University of Minnesota

11. http://videolectures.net/learning06_gibert_dmtae/

13. Developments in Integrated Environmental Assessment ,K. Gibert, J. Spate, M. Sànchez-Marrè, Ioannis N. Athanasiadis and J. Comas(Chapter Twelve Data Mining for Environmental Systems)

14. Data Mining and Integration for Environmental Scenarios Viet D. Tran, Ladislav Hluchy, Ondrej Habala

15. Environmental data mining and modeling based on machine learning algorithms and geostatistics,M. Kanevski, R. Parkin, A. Pozdnukhov, , V. Timonin, M. Maignan, V. Demyanov and S. Canue

16. http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=543975&abstractAccess=no&userType

17. http://www.jstor.org/pss/3556144 18. http://www.cs.brown.edu/research/ai/dynamics/tutorial/Documents/ExpectationMaxi

mization.html 19. http://www.isi.edu/natural-language/teaching/cs562/2009/readings/B06.pdf 20. http://www.cedar.buffalo.edu/~srihari/CSE555/Chap3.Part7.pdf 21. http://ai.stanford.edu/~chuongdo/papers/em_tutorial.pdf 22. http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/kmeans.html 23. http://www.cs.cmu.edu/~dpelleg/kmeans.html 24. An Efficient k-Means Clustering Algorithm: Analysis and Implementation Tapas

Kanungo, Senior Member, IEEE, David M. Mount, Member, IEEE, Nathan S. Netanyahu, Member, IEEE, Christine D. Piatko, Ruth Silverman, and Angela Y. Wu, Senior Member, IEEE

25. Beginning ASP.NET 3.5: In C# and VB, Imar Spaanjaars 26. http://en.googlemaps.subgurim.net/ 27. Professional Microsoft SQL Server Analysis Services 2008 with MDX Sivakumar

Harinath, Robert Zare, Sethu Meenakshisundaram, Matt Carroll , Denny Guang-Yeu Lee 28. http://www.asp.net/general/videos 29. http://www.codeproject.com/KB/web-image/PicManager.aspx 30. http://www.techrepublic.com/forum/discussions/13-55484-331337

31. http://www.scielo.br/scielo.php?script=sci_arttext&pid=S1679-87592008000100001

Page 85: 2010-2011 321/2005076€¦ · 2010-2011 Σποξ wασνής ҅ Παπασπξρόποξλος Κφνσναννίνος ... τα μέσα μαζικής ενημέρωσης και

85

32. http://www.haleyaldrich.com/nodes/168.aspx?path=/capabilities/forensic_consulting/data_mining/