Tsitsekidou Maria Ergasia Association Rules

6
Αποθήκες Δεδομένων – Εξόρυξη Πληροφορίας Εαρινό Εξάμηνο 2013-14 Συνδυαστικοί Κανόνες & Παραγωγή Συστάσεων (Δ.Α. Δέρβος) === Εργασία === Επώνυμο φοιτήτριας: Τσιτσεκίδου Όνομα φοιτήτριας: Μαρία Οδηγίες Η παρούσα εργασία αποτελείται από τρία (3) μέρη. Με την ολοκλήρωση και του τρίτου (Γ!) μέρους της εργασίας, ο/η φοιτητής/τρια θα αποστείλει με email ΕΝΑ, ΕΝΙΑΙΟ κείμενο με τις απαντήσεις του/ης, έως και τα μεσάνυχτα της Κυριακής 25/5/2014 προς τη Δευτέρα 26/5/2014. Το παρόν αρχείο MS-Word θα πρέπει να μετονομασθεί σε <onoma>_Ergasia_Association_Rules.doc και ως τέτοιο να επισυναφθεί το οποίο θα έχει ως θέμα (subject) το ΙΔΙΟ κείμενο: <onoma>_Ergasia_Association_Rules και να αποσταλεί στη διεύθυνση [email protected]. ΠΡΟΣΟΧΗ : Στον ονοματισμό του αρχείου της εργασίας που θα υποβληθεί, το “<onoma>” πρέπει να αντικατασταθεί με το ζευγάρι (Επώνυμο_Όνομα) γραμμένο με Λατινικούς χαρακτήρες του/ης φοιτητή/τριας που έχει συντάξει την εργασία. Δηλαδή, στην περίπτωση φοιτητή που ονομάζεται “Αντωνιάδης Γεώργιος” το αρχείο MS-Word με τις απαντήσεις στην παρούσα εργασία πρέπει να έχει ως όνομα το κείμενο: “Antoniadis_Georgios_Ergasia_Association_Rules.doc” και το email που θα στείλει ο φοιτητής στη διεύθυνση [email protected] θα φέρει ως θέμα/subject το κείμενο: “Antoniadis_Georgios_Ergasia_Association_Rules”. ΣΥΜΒΟΥΛΗ : Κρατήστε αντίγραφο (cc:) του email της εργασίας που θα καταθέσετε. Αυτό ώστε να είστε διασφαλισμένοι στην περίπτωση που κάτι δεν πάει καλά και δεν φτάσει εμπρόθεσμα το email σας στον προορισμό του. Μέρος Α! Δίνεται πίνακας ο οποίος συνοψίζει επί των στατιστικών επιβίωσης των επιβατών του ναυαγίου του Τιτανικού (έχουν εξαιρεθεί οι περιπτώσεις αγνοουμένων επιβατών του υπερωκεανίου): Πληροφοριακά στοιχεία Αριθμός Επιβάτες και μέλη του πληρώματος 2201 Επέζησαν 711 Μέλη πληρώματος (ΜΠ) 885 ΜΠ που επέζησαν 212 Επιβάτες πρώτης θέσης (ΕΑΘ) 325 Δ.Α. Δέρβος, 09/05/2014 Σελ. 1 από 6

description

Tsitsekidou Maria Ergasia Association Rules

Transcript of Tsitsekidou Maria Ergasia Association Rules

Page 1: Tsitsekidou Maria Ergasia Association Rules

Αποθήκες Δεδομένων – Εξόρυξη Πληροφορίας Εαρινό Εξάμηνο 2013-14

Συνδυαστικοί Κανόνες & Παραγωγή Συστάσεων (Δ.Α. Δέρβος)

=== Εργασία === Επώνυμο φοιτήτριας: ΤσιτσεκίδουΌνομα φοιτήτριας: Μαρία

Οδηγίες

Η παρούσα εργασία αποτελείται από τρία (3) μέρη. Με την ολοκλήρωση και του τρίτου (Γ!) μέρους της εργασίας, ο/η φοιτητής/τρια θα αποστείλει με email ΕΝΑ, ΕΝΙΑΙΟ κείμενο με τις απαντήσεις του/ης, έως και τα μεσάνυχτα της Κυριακής 25/5/2014 προς τη Δευτέρα 26/5/2014. Το παρόν αρχείο MS-Word θα πρέπει να μετονομασθεί σε <onoma>_Ergasia_Association_Rules.doc και ως τέτοιο να επισυναφθεί το οποίο θα έχει ως θέμα (subject) το ΙΔΙΟ κείμενο: <onoma>_Ergasia_Association_Rules και να αποσταλεί στη διεύθυνση [email protected].

ΠΡΟΣΟΧΗ: Στον ονοματισμό του αρχείου της εργασίας που θα υποβληθεί, το “<onoma>” πρέπει να αντικατασταθεί με το ζευγάρι (Επώνυμο_Όνομα) γραμμένο με Λατινικούς χαρακτήρες του/ης φοιτητή/τριας που έχει συντάξει την εργασία. Δηλαδή, στην περίπτωση φοιτητή που ονομάζεται “Αντωνιάδης Γεώργιος” το αρχείο MS-Word με τις απαντήσεις στην παρούσα εργασία πρέπει να έχει ως όνομα το κείμενο: “Antoniadis_Georgios_Ergasia_Association_Rules.doc” και το email που θα στείλει ο φοιτητής στη διεύθυνση [email protected] θα φέρει ως θέμα/subject το κείμενο: “Antoniadis_Georgios_Ergasia_Association_Rules”.

ΣΥΜΒΟΥΛΗ: Κρατήστε αντίγραφο (cc:) του email της εργασίας που θα καταθέσετε. Αυτό ώστε να είστε διασφαλισμένοι στην περίπτωση που κάτι δεν πάει καλά και δεν φτάσει εμπρόθεσμα το email σας στον προορισμό του.

Μέρος Α!

Δίνεται πίνακας ο οποίος συνοψίζει επί των στατιστικών επιβίωσης των επιβατών του ναυαγίου του Τιτανικού (έχουν εξαιρεθεί οι περιπτώσεις αγνοουμένων επιβατών του υπερωκεανίου):

Πληροφοριακά στοιχεία Αριθμός

Επιβάτες και μέλη του πληρώματος 2201Επέζησαν 711

Μέλη πληρώματος (ΜΠ) 885ΜΠ που επέζησαν 212

Επιβάτες πρώτης θέσης (ΕΑΘ) 325ΕΑΘ που επέζησαν 203

Επιβάτες δεύτερης θέσης (ΕΒΘ) 285ΕΒΘ που επέζησαν 118

Επιβάτες τρίτης θέσης (ΕΓΘ) 706ΕΓΘ που επέζησαν 178

Ενήλικοι επιβάτες (ΕE) 2092ΕE που επέζησαν 654

Ανήλικοι επιβάτες (ΑΕ) 109ΑΕ που επέζησαν 57

Γυναίκες επιβάτες (Γ) 470Γ που επέζησαν 344

Άνδρες επιβάτες (Α) 1731Α που επέζησαν 367

Δ.Α. Δέρβος, 09/05/2014 Σελ. 1 από 4

Page 2: Tsitsekidou Maria Ergasia Association Rules

Χρησιμοποιώντας την πληροφορία του παραπάνω πίνακα, να υπολογιστούν οι τιμές των Υποστήριξη (Support), Εμπιστοσύνη (Confidence), και Ανύψωση (Lift) για τους επόμενους κανόνες:

Κανόνας Support Confidence Lift

ΜΠ => Επέζησε

212/2201 0.096 212/885 0.239 0,239/0,3230(711/2201) 0,739

ΕΑΘ => Επέζησε

203/2201 0.0922 203/325 0.624 0.624/0.3230 1.932

ΕΒΘ => Επέζησε

118/2201 0.053 118/285 0.414 0.414/0.3230 1.282

ΕΓΘ => Επέζησε

178/2201 0.08 178/706 0.252 0.252/0.3230 0.780

ΕΕ => Επέζησε

654/2201 0.297 654/2092 0.312 0.312/0.3230 0.966

ΑΕ => Επέζησε

57/2201 0.025 57/109 0.522 0.522/0.3230 1.616

Α => Επέζησε 367/2201 0.166 367/1731 0.212 0.212/0.3230 0.656Γ => Επέζησε 344/2201 0.156 344/470 0.731 0.731/0.3230 2.263

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

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

1) Lift(Γ => Επέζησε) 2,263

2) Lift(ΕΑΘ => Επέζησε) 1.932

3) Lift(ΑΕ => Επέζησε) 1.616

4) Lift(ΕΒΘ => Επέζησε) 1.282

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

συμπεράσματά μας.

Με βάση λοιπόν τους κανόνες που κρατήσαμε, καταλήγουμε στα εξής:

o Οι περισσότεροι επιζήσαντες του ναυαγίου του Τιτανικού ήταν Γυναίκες, επιβάτες της Α και Β θέσης,

με αυτές στην Α να είναι περισσότερες από τις επιζήσασες της Β θέσης.

o Οι επόμενοι στον αριθμό επιζήσαντες ήταν ανήλικοι επιβάτες.

Μέρος Β!

1. Στο περιβάλλον IBM DB2 Express-C της εικονικής μηχανής DBTechNet DebianDB, δημιουργήστε μία νέα βάση με όνομα “mydb”, ως χρήστης db2inst1 (password: “password”)

2. Στη βάση mydb, δημιουργήστε ένα σχήμα με όνομα “Retail” Create Table me to onoma tou sximatos3. Στο σχήμα Retail, δημιουργήστε τον πίνακα rulebodies (αρχείο: rb_table_create.db2)4. Στο σχήμα Retail, δημιουργήστε τον πίνακα retail_assoc_rules (αρχείο ar_table_create.db2)5. Φορτώστε δεδομένα στον πίνακα retail.rulebodies μέσω του αρχείου rb_table (μορφοποίηση:

IBM .IXF)6. Φορτώστε δεδομένα στον πίνακα retail.assoc_rules μέσω του αρχείου ar_table (μορφοποίηση:

IBM .IXF)

Τα αρχεία retail.rulebodies και retail.assoc_rules, με τα δεδομένα που καταχωρούν, αντιστοιχούν στις όψεις retail.rulebodies και retail.assoc_rules της θεωρίας του μαθήματος.

Μέρος Γ!

Δ.Α. Δέρβος, 09/05/2014 Σελ. 2 από 4

Page 3: Tsitsekidou Maria Ergasia Association Rules

Να δημιουργηθεί πίνακας retail.transactions και να εισαχθούν σε αυτόν τα στοιχεία των συναλλαγών με κωδικούς 11111, 11115 και 11120 που περιέχονται στο αρχείο transactions . txt . Στη συνέχεια να δημιουργηθεί πίνακας retail.product_recommendations στον οποίο να καταχωρηθούν το σύνολο των συστάσεων προς παράγονται για τις τρεις συναλλαγές 11111. 11115 και 11120.

1. Πόσες συστάσεις προκύπτουν συνολικά για κάθε μία από τις τρεις συναλλαγές της άσκησης;

Με τη εντολή:

select transid, count(*) from retail.product_recommendations group by transid;

παίρνουμε τα εξής αποτελέσματα:

153 135 172 που αντιστοιχούν στις συναλλαγές 11111 11112 11120

2. Σε μία προσπάθεια εντοπισμού των πλέον σημαντικών/ισχυτών συστάσεων που προκύπτουν για κάθε μία από τις συναλλαγές της άσκησης, συντάσσεται ο ακόλουθος 'κορμός' κώδικα SQL:

WITH A_view (transid, recomm_item, msupp, mconf, avglift, times) AS(SELECT transid, recomm_item, MAX(support), MAX(confidence), AVG(lift), COUNT(*)FROM retail.product_recommendationsGROUP BY transid, recomm_item),

B_view (transid, recomm_item, msupp, mconf, avglift, times) AS(SELECT AV1.transid, AV1.recomm_item, AV1.msupp, AV1.mconf, AV1.avglift, times FROM A_view AV1 WHERE AV1.times = (SELECT MAX(AV2.times) FROM A_view AV2 WHERE AV2.transid=AV1.transid)),

C_view (transid, recomm_item, msupp, mconf, avglift, times) AS(SELECT BV1.transid, BV1.recomm_item, BV1.msupp, BV1.mconf, BV1.avglift, times FROM B_view BV1 WHERE BV1.avglift = (SELECT MAX(BV2.avglift) FROM B_view BV2 WHERE BV2.transid=BV1.transid))

Περιγράψτε, με λίγα και απλά λόγια, το είδος της αξιολόγησης/επιλογής της πλέον σημαντικής σύστασης κατηγορίας προϊόντων που εφαρμόζει ο παραπάνω κώδικας-κορμός για κάθε μία από τις τρεις συναλλαγές της άσκησης.

A_view (transid, recomm_item, msupp, mconf, avglift, times) AS(SELECT transid, recomm_item, MAX(support), MAX(confidence), AVG(lift), COUNT(*)FROM retail.product_recommendationsGROUP BY transid, recomm_item),

H παραπάνω όψη για κάθε transid και recomm_item του retail.product_recommendations, υπολογίζουμε το μέγιστο support, το μέγιστο confidence και το μέσο όρο του lift από το retail.product_recommendations.

B_view (transid, recomm_item, msupp, mconf, avglift, times) AS(SELECT AV1.transid, AV1.recomm_item, AV1.msupp, AV1.mconf, AV1.avglift, times FROM A_view AV1 WHERE AV1.times = (SELECT MAX(AV2.times) FROM A_view AV2 WHERE AV2.transid=AV1.transid)),

Με την παραπάνω όψη μπορούμε να υπολογίσουμε για κάθε transid, το recomm_item με τη μέγιστη συχνότητα εμφάνισης.

Δ.Α. Δέρβος, 09/05/2014 Σελ. 3 από 4

Page 4: Tsitsekidou Maria Ergasia Association Rules

C_view (transid, recomm_item, msupp, mconf, avglift, times) AS(SELECT BV1.transid, BV1.recomm_item, BV1.msupp, BV1.mconf, BV1.avglift, times FROM B_view BV1 WHERE BV1.avglift = (SELECT MAX(BV2.avglift) FROM B_view BV2 WHERE BV2.transid=BV1.transid))

Στην παραπάνω όψη φιλτράρουμε την όψη Β, κρατάμε το μεγαλύτερο avglift και στη συνέχεια συστήνουμε ένα recomm_item για κάθε transid όταν υπάρχουν max times.

3. Επεκτείνετε/συμπληρώστε τον παραπάνω κώδικα-κορμό ώστε να εντοπιστεί(-ούν) η(οι) συναλλαγή(-ές) της(-ων) οποίας(-ων) η πρώτη επιλογή σύστασης έχει τη μεγαλύτερη τιμή AVG(lift) και τη μεγαλύτερη τιμή times (= πλήθος κανόνων/διαδρομών με τους οποίους γίνεται η πρώτη σύσταση) από όλες τις υπόλοιπες συναλλαγές στη βάση.

D_view (transid, recomm_item, msupp, mconf, avglift, times) AS

(SELECT CV1.transid, CV1.recomm_item, CV1.msupp, CV1.mconf, CV1.avglift, times

FROM C_view CV1 WHERE CV1.avglift = (SELECT MAX(CV2.avglift)

FROM C_view CV2)and times = (Select MAX(CV2.times FROM C_view CV2)select * from D_view;

transid recomm_item msupp mconf avglift times

11120 MILK,CHEESE,EGGS 18.6255 92.3261 2.2062 19

4. Επεκτείνετε/συμπληρώστε τον παραπάνω κώδικα-κορμό ώστε αυτός να εντοπίζει την(-ις) κατηγορία(-ες) προϊόντων που συνιστάται(-ώνται) ως πρώτη επιλογή στις περισσότερες από τις συναλλαγές για τις οποίες παράγονται οι συστάσεις.

items (recomm_item, times) AS

(SELECT C_view.recomm_item, COUNT(*)FROM C_view GROUP BY recomm_item),

E_view (recomm_item, times) AS

(SELECT I1.recomm_item, I1.times FROM items I1WHERE I1.times = (SELECT MAX(I2.times)FROM items I2))

SELECT * FROM E_view;

recomm_item times

MILK,CHEESE,EGGS 2

Δ.Α. Δέρβος, 09/05/2014 Σελ. 4 από 4