Data Mining, a Course by Blog

Entries categorized as 'άλλο'

Το μέλλον του παρόντος blog

May 13, 2008 · No Comments

 

Το μάθημα πλησιάζει στο τέλος του, ωστόσο το εργαλείο μέσα από το οποίο υλοποιήθηκε -με καινοτομικό για τα ελληνικά και όχι μόνο δεδομένα τρόπο- θα βρίσκεται διαθέσιμο και μετά από τη λήξη του ακαδημαϊκού εξαμήνου. Το ερώτημα λοιπόν είναι ευθύ: Με ποιους τρόπους και σκοπούς θέλετε να συνεχίσει η ύπαρξη του παρόντος blog και μετά την περάτωση του μαθήματος; Θεωρείται κάτι τέτοιο σκόπιμο και πως θα επιθυμούσατε να σας ωφελήσει;

Έχω κάποιες ιδέες στο μυαλό μου, ωστόσο είμαι σίγουρος πως αυτές που θα προκύψουν από τα σχόλια θα είναι αρκετά καλύτερες. Σας ακούω λοιπόν…

Categories: άλλο

The NetFlix Prize

May 13, 2008 · No Comments

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

Με εκατομμύρια πελάτες και τίτλους ταινιών διαθέσιμους, η NetFlix διαθέτει πλείστα ratings ταινιών (1-5 αστέρια), ωστόσο υψηλής σημασίας για αυτήν είναι η πρόβλεψη της βαθμολογίας που θα καταχωρήσει ένας χρήστης σε μία συγκεκριμένη ταινία. Οι χρήσεις για κάτι τέτοιο είναι αρκετές, για παράδειγμα η σύσταση ενός συνόλου ταινιών σε χρήστη με δεδομένο ‘ιστορικό παρακολούθησης’, για μεγιστοποίηση του αριθμού εκείνων που θα επιλέξουν να παρακολουθήσουν τις προτεινόμενες ταινίες. Και, αν μη τι άλλο έχουν ιδιαίτερη αξία. Το τελευταίο αποδεικνύεται από την ενδιαφέρουσα επιλογή της NetFlix, να ανοίξει το πρόβλημα προς το διεθνές ερευνητικό κοινό και, παρέχοντας σχετικό dataset να ζητήσει το βέλτιστο αλγόριθμο και τις προβλέψεις αυτού. Το όνομα του διαγωνισμού: The NetFlix Prize.

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

 

We’re quite curious, really. To the tune of one million dollars.

 

  • Contest begins October 2, 2006 and continues through at least October 2, 2011.
  • Contest is open to anyone, anywhere (except certain countries listed below).
  • You have to register to enter.
  • Once you register and agree to these Rules, you’ll have access to the Contest training data and qualifying test sets.
  • To qualify for the $1,000,000 Grand Prize, the accuracy of your submitted predictions on the qualifying set must be at least 10% better than the accuracy Cinematch can achieve on the same training data set at the start of the Contest.
  • To qualify for a year’s $50,000 Progress Prize the accuracy of any of your submitted predictions that year must be less than or equal to the accuracy value established by the judges the preceding year.
  • To win and take home either prize, your qualifying submissions must have the largest accuracy improvement verified by the Contest judges, you must share your method with (and non-exclusively license it to) Netflix, and you must describe to the world how you did it and why it works.
Upon registration, Participants may access the Contest training data and qualifying test sets. The training data set consists of more than 100 million ratings from over 480 thousand randomly-chosen, anonymous customers on nearly 18 thousand movie titles. The data were collected between October, 1998 and December, 2005 and reflect the distribution of all ratings received by Netflix during this period. The ratings are on a scale from 1 to 5 (integral) stars.
In addition to the training data set, a qualifying test set is provided containing over 2.8 million customer/movie id pairs with rating dates but with the ratings withheld. These pairs were selected from the most recent ratings from a subset of the same customers in the training data set, over a subset of the same movies.

The qualifying set is divided into two disjoint subsets containing randomly selected pairs from the qualifying set. The assignment of pairs to these subsets is not disclosed. The Site will score each subset by computing the square root of the averaged squared difference between each prediction and the actual rating (the root mean squared error or “RMSE”) in the subset, rounded to the nearest .0001.

The RMSE for the first “quiz” subset will be reported publicly on the Site; the RMSE for the second “test” subset will not be reported publicly but will be employed to qualify a submission as described below. The reported RMSE scores on the quiz subset provide a public announcement that a potential qualifying score has been reached and provide feedback to Participants on both their absolute and relative performance.

Τo qualify for the Grand Prize the RMSE of a Participant’s submitted predictions on the test subset must be less than or equal to 90% of 0.9525, or 0.8572 (the “qualifying RMSE”). 

Contest Prizes:

  1. Grand Prize: $1,000,000 (USD) Cash
  2. Progress Prizes: $50,000 (USD) Cash each award

Categories: άλλο

Η βαθμολόγησή σας έως τώρα

May 13, 2008 · No Comments

Ακολουθεί η βαθμολόγηση που έχει συμπληρώσει ως τώρα ο καθένας από εσάς, με βάση τις Εργασία01/Εργασία02/Εργασία03/Εργασία04/Εργασία05/Εργασία06

  • Μάνος Ανδρουλάκης: 5/5/5/5/0/5 (25)
  • Γιώργος Δοντάς: 5/5/0/5/15/0 (30)
  • Ηρώ Ζαχαρίδου: 5/5/6/5/0/5 (26)
  • Ελευθερία Καναβού: 5/5/5/5/0/6 (26)
  • Ειρήνη Λυγκώνη: 5/5/5/5/0/5 (25)
  • Λίνα Μάσσου: 5/5/5/5/0/5 (25)
  • Αθηνά Πανδή: 6/5/5/5/0/5 (26)
  • Θεώνη Πετράτου: 5/5/5/5/0/5 (25)
  • Άννα Σκούντζου: 5/5/5/5/0/0 (20)
  • Ειρήνη Σπαρτινού: 4/4/5/0/0/5 (18 )

Αν παρατηρήσετε κάποιο λάθος, ενημερώστε με σχόλιο.

Πηγές:

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

Categories: άλλο

ΕΡΓΑΣΙΑ06: ΚΑΝΑΒΟΥ ΕΛΕΥΘΕΡΙΑ

May 12, 2008 · 1 Comment

Σε αυτήν την εργασία πρέπει να αναρτήσουμε τη διαδικασία με την οποία μετατρέπουμε nominal attributes ή class σε numeric και αντιστρόφως.

Σε εμένα έχει ανατεθεί το αρχείο με τα δεδομένα iris.arff

Σε αυτά τα data έχουμε numeric attributes και nominal class.

Έστω ότι θέλουμε να κάνουμε classification.

Πηγαίνοντας classify -> rules βλέπουμε ότι δεν τρέχουν οι αλγόριθμοι M5Rules και Prism.

O M5Rules επεξεργάζεται μόνο numeric class,

οπότε για να τρέξει στα δεδομένα μας πρέπει να μετατρέψουμε τη nominal class σε numeric. Ο μόνος τρόπος να γίνει αυτό είναι να την κάνουμε binary μέσω του φίλτρου NominalToBinary (Preprocess->choose->filters->unsupervised->attribute->NominalToBinary) και αλλάζοντας τη μεταβλήτη στόχο (Class) από class σε sepallength - για παράδειγμα (μετά επαναφέρουμε το αρχικό class).

 

Τότε όμως χάνεται η πληροφορία που είχαμε στη μεταβλητή στόχο καθώς το φίλτρο αυτό τη σπάει σε τρεις διαφορετικές numeric (binary) atributes (όσο δηλαδή και το distinct της αρχικής μας nominal class).

 

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

 Καταλήγουμε λοιπόν στο συμπέρασμα πως δεν έχει νόημα η μετατροπή της nominal class σε numeric, απλά δεν θα χρησιμοποιήσουμε τον αλγόριθμο αυτό.

 

O αλγόριθμος Prism δεν δέχεται numeric attributes,

 

οπότε πρέπει να μετατρέψουμε τις numeric attributes σε nominal. Αυτό γίνεται μέσω του φίλτρου NumericToNominal (Preprocess->choose->filters->unsupervised->attribute->NumericToNominal).

οπότε μπορούμε, πλέον, να εφαρμόσουμε τον αλγόριθμο Prism.

Categories: άλλο · εργασίες

Διάλεξη 06: Αλγόριθμοι εκμάθησης Μέρος Β: Bayes, Κανόνες Συσχέτισης, Αδρανής Εκμάθηση & Ομαδοποίηση (live)

May 6, 2008 · No Comments

Categories: άλλο

Ένα διαφορετικό δένδρο απόφασης

April 24, 2008 · No Comments

Ακολουθεί μία απόπειρα μορφοποίησης της διαδικασίας απόφασης που φαίνεται πως ακολουθούν μέχρι στιγμής οι αμερικανοί ψηφοφόροι των δημοκρατικών. Ο στόχος της παράθεσης δεν επεκτείνεται πέραν της παρουσίασης ενός αρκετά ‘διαφορετικού’ των συνηθισμένων δένδρου, επίσης, μην αποπειραθείτε να με ρωτήσετε τον ‘αλγόριθμο’ που έδωσε το αποτέλεσμα :)

πηγή

Categories: άλλο

Farecast: Μία τυπική εφαρμογή data mining, και η αξία της

April 18, 2008 · No Comments

H Farecast συλλέγει καθημερινά εκατομμύρια δεδομένων περί πτήσεων: ώρες, διαθεσιμότητα και, κυρίως, τιμές. Πηγή των δεδομένων αποτελεί αρχικά το ομοιογενές αρχείο δεδομένων της αντίστοιχης αμερικανικής ‘Υπηρεσίας Πολιτικής Αεροπορίας’, η οποία μάλλον είναι και η μοναδική που διαθέτει πληθώρα ιστορικών στοιχείων σχετικά με τα μεγέθη αυτά (αυτός είναι και ο λόγος που η υπηρεσία δεν έχει κατορθώσει να επεκταθεί πλήρως εκτός ΗΠΑ ακόμα), επίσης δε και στις ιστοσελίδες των ίδιων των αεροπορικών εταιρειών.

Αφού λοιπόν υπάρχουν διαθέσιμα τα δεδομένα αυτά, η Farecast  τα χρησιμοποιεί (για μαντέψτε, σωστά) για να τρέξει διάφορα μοντέλα data mining και να επιστρέψει, εκτός από πίνακα συσχέτισης τιμών με ώρες πτήσης, επίσης και κυρίως την πρόβλεψή της εάν οι τιμές ανέβουν ή πέσουν, οπότε συμφέρει κανείς να αγοράσει τώρα τα εισητήριά του ή να περιμένει (δείτε τα ακόλουθα δύο σχήματα, επίσης ‘our technology‘ & ‘how it works‘).

Γιατί σας τα αναφέρω όλα αυτά; Επειδή, πέρα του ότι είμαι σίγουρος πως, αν είχατε διαθέσιμα αντίστοιχα δεδομένα, θα μπορούσατε να ανταπεξέλθετε επιτυχώς στο ‘farecast task’ (χμμ, ίσως είναι καλή ιδέα κάτι τέτοιο για την εξέτασή σας στο τέλος του εξαμήνου..), κάνω την αναφορά καθώς σήμερα ανακοινώθηκε πως η Microsoft αγοράζει την Farecast αντί ποσού $115Μ.

Ιδού λοιπόν, μία σχετικά απλοϊκή και εφικτή εφαρμογή data mining, ωστόσο εξαιρετικά εκτελεσμένη (προσέξτε πως ο τελικός χρήστης δεν αντιλαμβάνεται τι τρέχει από πίσω, απλά λαμβάνει κάποια αποτελέσματα, εξαιρετικά απλά, πχ κόκκινα ή πράσινα βελάκια ανόδου ή πτώσης, που με άλλες τεχνικές δεν θα μπορούσε να διαθέτει. αυτό οφείλει να είναι μπούσουλας για εσάς όταν επιχειρείτε χρήση των τεχνικών του μαθήματος εκτός ακαδημαϊκών χώρων), η εφαρμογή και η αξία της. Ποιος είναι ο επόμενος;

Categories: άλλο

Προσοχή, ‘wekas’

April 16, 2008 · No Comments

Η ένδειξη απευθύνεται σε όσους πρόκειτια να ασχοληθούν αποκλειστικά με το μάθημα κατά τη διάρκεια των διακοπών, δεν συνίσταται! :-)

Σημείωση: Το weka είναι πτηνό, χωρίς πτητική ικανότητα, που ενδημεί στη Νέα Ζηλανδία, ‘πατρίδα’ και του ‘δικού μας’ λογισμικού weka που δημιουργήθηκε από το τοπικό πανεπιστήμιο.

photo by Andrew Turner on flickr, CC

Categories: άλλο

Εργασία 03: Άννα Σκούντζου

April 9, 2008 · 5 Comments

Προεπεξεργασία και επιλογή δεδομένων από το training set.

Για να πάρουμε μία αρχική εικόνα για τα δεδομένα δημιουργούμε τα ιστογράμματα των μεταβλητών. Από τα διαγράμματα αυτά παρατηρούμε ότι το attribute 38 είναι περιττό στην ανάλυση των δεδομένων, καθώς έχει σταθερή τιμή και ίση με μηδέν, όπως και τα attributes 34 και τα 36 είναι περιττά, αφού εμφανίζουν μόνο μία φορά τιμή διάφορη του μηδενός. Μπορούμε να εξαιρέσουμε τα περιττά attributes ακολουθώντας τα εξής βήματα:

Παρατηρούμε επίσης, ότι για την πλειοψηφία των attributes οι περισσότερες τιμές βρίσκονται σε ένα διάστημα γύρω από την ελάχιστη τιμή. Σκόπιμο λοιπόν είναι, η διακριτοποίηση των χαρακτηριστικών αυτών, η μετατροπή τους δηλαδή, από αριθμητικά χαρακτηριστικά σε ονομαστικά. Για παράδειγμα, έστω ότι θέλουμε να μετατρέψουμε σε ονομαστικό χαρακτηριστικό το attribute 39, το οποίο λαμβάνει μόνο τις τιμές 0 και 1. Ακολουθούμε τα παρακάτω βήματα:

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

Επιπλέον, το WEKA παρέχει τη δυνατότητα επιλογής ενός υποσυνόλου attributes. Για παράδειγμα, χρησιμοποιώντας όλο το training set, επιλέγουμε ως μέθοδο διήθησης τη CfsSubsetEvalC και ως μέθοδο αναζήτησης τη GeneticSearch και προκύπτει ένα υποσύνολο με τα 9 attributes που εμφανίζονται στην ακόλουθη εικόνα.

Categories: άλλο · εργασίες

Πώς να αυξήσετε τη μνήμη του weka

April 8, 2008 · 4 Comments

Αρκετές φορές, εργαζόμενοι με μεγάλα datasets, μάλλον και αυτό του θέματος, θα διαπιστώσετε πως το weka θα κάνει quit λόγω έλλειψης μνήμης, για παράδειγμα κατά τη διάρκεια τρεξίματος ενός απαιτητικού αλγορίθμου. Αυτό οφείλεται στο ότι η αρχική ρύθμιση χρήσης μνήμης από τη java είναι αρκετά μικρή, συνήθως στα 256MB. Οι τρόποι για να το αλλάξετε αυτό είναι οι ακόλουθοι:

way #1 (the easy one):
open RunWeka.bat (located on weka’s folder in program files) with Notepad
and change -Xmx___ to 1024

way#2 (the hard one):
start\control panel\system\advanced\Environment variables\System variables:
change variable “CLASSPATH” to “C:\Program Files\Java\j2re1.4.2_12\bin” (the directory java is installed)
then,
command prompt:
change directory to classpath, namely
cd C:\Program Files\Java\j2re1.4.2_12\bin

and type: java -Xmx1024m -jar “C:\Program Files\Weka-3-4\weka.jar

(this solution is temporary, just for the running weka session)

Note: this is checked on windows xp, if there are any problems on vista or any proposals for other operating systems, just let me know.

Categories: άλλο