Presentation is loading. Please wait.

Presentation is loading. Please wait.

pTrees predicate Tree technologies

Similar presentations


Presentation on theme: "pTrees predicate Tree technologies"— Presentation transcript:

1 pTrees predicate Tree technologies
provide fast, accurate horizontal processing of compressed, data-mining-ready, vertical data structures. Applications: PINE Podium Incremental Neighborhood Evaluator uses pTrees for Closed k Nearest Neighbor Classification. FAUST Fast Accurate Unsupervised, Supervised Treemining uses pTtrees for classification and clustering of spatial data. 13 12 1 document 2 3 4 5 course Text person Enroll Buy MYRRH ManY-Relationship-Rule Harvester uses pTrees for association rule mining of multiple relationships. PGP-D Pretty Good Protection of Data protects vertical pTree data. 5,54 | 7,539 | 87,3 | 209,126 | 25,896 | 888,23 | ... key=array(offset,pad) ConCur Concurrency Control uses pTrees for ROCC and ROLL concurrency control. DOVE DOmain VEctors Uses pTrees for database query processing.

2 MYRRH A hop is a relationship, R, hopping from one entity, E, to another entity, F. Strong Rule Mining (SRM) finds all frequent and confident rules, AC. R(E,F) 1 2 3 4 E F 5 Frequency can lower bound the antecedent, consequent or both (ARM: A,CE, Its justification is the elimination of insignificant cases. Its purpose is the tractability of SRM. ct(&eACRe)  mnsp) Confidence lower bounds the frequency of both over the antecedent frequency: ct(&eARe &eCRe) / ct(&eARe)mncf The crux of SRM is frequencies. To compare frequencies meaningfully, they must be on the same entity (the focus entity). SRMs are categorized by the number of hops, k, whether transitive or non-transitive and by the focus entity. ARM is 1-hop, non-transitive (A,CE), F-focused SRM (1nF) (note: non-transitivity is difficult to define in multi-hop SRM??) 1-hop, transitive (AE,CF), F-focused SRM (1tF) APRIORI: ct(&eARe)  mnsp ct(&eARe &PC) / ct(&eARe)  mncf 1. (antecedent downward closure) If A is frequent, all of its subsets are frequent. Or, if A is infrequent, then so are all of its supersets. Since frequency involves only A, we can mine for all qualifying antecedents efficiently using downward closure. 2. (consequent upward closure) If AC is non-confident, then so is AD for all subsets, D, of C. So  frequent antecedent, A, use upward closure to mine for all of its' confident consequents. The theorem we demonstrate throughout this section is: For transitive (a+c)-hop Apriori strong rule mining with a focus entity which is a hops from the antecedent and c hops from the consequent, if a/c is odd/even then one can use downward/upward closure on that step in the mining of strong (frequent and confident) rules. In this case A is 1-hop from F (odd, use downward closure). C is 0-hops from F (even, use upward closure). We will be checking more examples to see if the Odddownward Evenupward theorem seems to hold. 1-hop, transitive, E-focused rule, AC SRM (1tE) |A|=ct(PA)  mnsp ct(PA&fCRf) / ct(PA)  mncf 1. (antecedent upward closure) If A is infrequent, then so are all of its subsets. 2. (consequent downward closure) If AC is non-confident, then so is AD for all supersets, D, of C. In this case A is 0-hops from E (even, use upward closure). C is 1-hop from E (odd, use downward closure).

3 ct(&eARe &gCSg) / ct(&eARe)  mncf
2-hop transitive F-focused (focus on middle entity, F) AC strong if: ct(&eARe)  mnsp and C G S(F,G) ct(&eARe &gCSg) / ct(&eARe)  mncf 1 4 1 3 1. (antecedent downward closure) If A is infrequent, so are all of its supersets. 1 2 1 1 2. (consequent downward closure) If AC is non-confident, so is AD for all supersets, D. 3. Apriori for 2-hops: Find all freq antecedents, A, using downward closure. For each: find C1G, the set of g's s.t. A{g} is confident. Find C2G, the set of C1G pairs that are confident consequents for antecedent, A. Find C3G, the set of triples (from C2G) s.t. all subpairs are in C2G (ala Apriori), etc. 1,1 odd so down, down correct. 2 3 4 5 F 2,0 even so up,up is correct. 0,2 even so up,up is correct. 4 1 3 1 2 1 Does standard ARM give the same info after collapsing R and S into T via, 1 2 3 4 G T(E,G) E A  C T(e,g) = 1 iff (&eARe)g = 1 NO! Standard ARM has A and C both subsets of E (or G) If G=E and S(F,E)=transposeR(E,F) then it is standard ARM? What if G=E=F and T is collapsed? Think about the facebook case (where G=E=people, R and S are directional friendships...? ct(&flist&eAReSf)mnsp  mncf ct(&flist&eAReSf & PC) / &flist&eAReSf 1 1 A  E R(E,F) 2-hop trans G-foc ct(&fl&eAReSf)mnsp  mncf ct(&f&eAReSf & PC) / &f&eAReSf 1. (antecedent upward closure) If A is infrequent, then so for are all subsets. 2. (consequent upward closure) If AC is non-confident, so is AD for all subsets, D. 2-hop trans E-foc ct(PA)mnsp  mncf ct(PA&f&gCSgRf ) / ct(PA) 1. (antecedent upward closure) If A is infrequent, so are all subsets. 2. (consequent upward closure) If AC is non-confident, so is AD for all subsets, D. We can for multi-hop relationships from the cards of 1-hop relationships Does this open up a new area of text mining? TDP=2 TDP=1 1 2 3 4 D T 5 A  C TDP=2 TDP=1 1 2 3 4 T D 5 A  C 1 2 9 Term 3 D DTPe k=1..7 TDRolodexCd 1 2 7 Pos 3 D DTPe k=1..9 PDCd 1 2 7 Pos 9 T DTPe k=1..3 PTCd

4 RoloDex Model: Relational Model: |0 0| 1 |0 1| 1 |1 0| 1 |2 0| 2
2 Entities many relationships 1 customer rates movie as 5 card One can form multi-hops with any of these cards. Are there any that provide and interesting setting for ARM data mining?  Customer 1 2 3 4 Item cust item card 1 5 people 2 3 4 items terms DataCube Model for 3 entities, items, people and terms. 1 2 3 4 Author 5 6 7 People  movie 2 3 1 5 4 customer rates movie card 2 3 4 5 PI 2 3 4 5 PI 4 3 2 1 Course Enrollments 1 Doc termdoc card authordoc card 1 3 2 Doc 1 2 3 4 Gene genegene card (ppi) docdoc People  term  7 6 5 4 3 Gene 1 2 3 4 G 5 6 7 6 5 4 3 2 t 1 termterm card (share stem?) 1 3 Exp expPI card expgene card genegene card (ppi) Items: i1 i2 i3 i4 i5 |0 001|0 |0 11| |1 001|0 |1 01| |2 010|1 |0 10| People: p1 p p3 p4 |0 100|A|M| |1 001|T|M| |2 010|S|F| |3 011|B|F| |4 100|C|M| Terms: t1 t2 t3 t4 t5 t6 |1 010|1 101|2 11| |2 001|0 000|3 11| |3 011|1 001|3 11| |4 011|3 001|0 00| Relationship: p1 i1 t1 |0 0| 1 |0 1| 1 |1 0| 1 |2 0| 2 |3 0| 2 |4 1| 2 |5 1|_2 Relational Model:

5 ct(&eARe ct(&eARe &g&hCThSg) / ct(&eARe ct(&f&eAReSf) &hCTh)
3-hop Collapse T: TC≡ {gG|T(g,h) hC} That's just 2-hop case w TCG replacing C. ( can be replaced by  or any other quantifier. The choice of quantifier should match that intended for C.). Collapse T and S: STC≡{fF |S(f,g) gTC} Then it's 1-hop w STC replacing C.  mnsup ct(&eARe S(F,G) R(E,F) 1 2 3 4 E F 5 G A C T(G,H) H Focus on F  mncnf ct(&eARe &g&hCThSg) / ct(&eARe antecedent downward closure: A infreq. implies supersets infreq. A 1-hop from F (down consequent upward closure: AC noncnf implies AD noncnf. DC. C 2-hops (up  mnsp ct(&f&eAReSf) Focus on G  mncnf &hCTh) ct(&f&eAReSf / ct(&f&eAReSf) antecedent upward closure: A infreq. implies all subsets infreq. A 2-hop from G (up) consequent downward closure: AC noncnf impl AD noncnf. DC. C 1-hops (down) ct( &g=1,3,4 Sg ) /ct(1001) ct( &1001&1000&1100) / 2 ct( ) / = 1/2 Focus on F Are they different? Yes, because the confidences can be different numbers Focus on G. ct(&eARe &glist&hCThSg ) /ct(&eARe &hCTh) ct(&flist&eAReSf / ct(&flist&eAReSf) ct(&f=2,5Sf &1101 ) / ct(&f=2,5Sf ct(1101 & & / ct(1101 & ) ct(0001 ) / ct(0001) = 1/1 =1 ct(PA & Rf) f&g&hCThSg / ct(PA)  mncnf  mnsup ct(PA) Focus on E antecedent upward closure: A infreq. implies subsets infreq. A 0-hops from E (up) consequent downward closure: AC noncnf implies AD noncnf. DC. C 3-hops (down) Focus on H antecedent downward closure: A infreq. implies all subsets infreq. A 3-hops from G (down) consequent upward closure: AC noncnf impl AD noncnf. DC. C 0-hops (up) ct(& Tg & PC) g&f&eAReSf mncnf /ct(& Tg) ct(& Tg) mnsp

6 * ct(&iCUi) ) ct(&f&eAReSf) ct( &f&eAReSf &h&iCUiTh )
4-hop S(F,G) R(E,F) 1 2 3 4 E F 5 G A C T(G,H) H U(H,I) I Focus on G? Replace C by UC; A by RA as above (not different from 2 hop?) Focus on H (RA for A, use 3-hop) or focus on F (UC for C, use 3-hop). Another focus on G (the main way)  mnsup ct(&f&eAReSf)  mncnf ct( &f&eAReSf &h&iCUiTh ) / ct(&f&eAReSf) ... R(E,G) 1 2 3 4 E G 5 A Sn(G,G) S1(G,G) U(G,I) C I F=G=H=genes and S,T=gene-gene intereactions. More than 3, S1, ..., Sn? &iCUi))+ (ct(S1(&eARe mncnf / ( (ct(&eARe))n * ct(&iCUi) ) &iCUi))+... ct(S2(&eARe &iCUi)) ) ct(Sn(&eARe If the S cube can be implemented so counts can be can be made of the 3-rectangle in blue directly, calculation of confidence would be fast. 4-hop APRIORI focus on G:  mnsup ct(&f&eAReSf)  mncnf ct(&f&eAReSf &h&iCUiTh) / ct(&f&eAReSf) 1. (antecedent upward closure) If A is infrequent, then so are all of its subsets (the "list" will be larger, so the AND over the list will produce fewer ones) Frequency involves only A, so mine all qualifying antecedents using upward closure. 2. (consequent upward closure) If AC is non-confident, then so is AD for all subsets, D, of C (the "list" will be larger, so the AND over the list will produce fewer ones) So  frequent antecedent, A, use upward closure to mine out all confident consequents, C.

7 ct(&f&eAReSf) ct( &f&eAReSf &h(& )UiTh ) / ct(&f&eAReSf)
S(F,G) R(E,F) 1 2 3 4 E F 5 G A C T(G,H) H U(H,I) I V(I,J) J 5-hop Focus on G:  mnsup ct(&f&eAReSf) ct( &f&eAReSf &h(& )UiTh ) / ct(&f&eAReSf)  mncnf i(&jCVj) 5-hop APRIORI focus on G: 1. (antecedent upward closure) If A is infrequent, then so are all of its subsets (the "list" will be larger, so the AND over the list will produce fewer ones) Frequency involves only A, so mine all qualifying antecedents using upward closure. 2. (consequent downward closure) If AC is non-confident, then so is AD for all supersets, D, of C. So  frequent antecedent, A, use downward closure to mine out all confident consequents, C.

8 ct( &f(& )ReSf) ct( &f(& )ReSf &h(& )UiTh) / ct( &f(& )ReSf )
6-hop S(F,G) R(E,F) 1 2 3 4 E F 5 G A C T(G,H) H U(H,I) I V(I,J) J D Q(D,E) The conclusion we have demonstrated (but not proven) is: for (a+c)-hop transitive Apriori ARM with focus the entity which is a hops from the antecedent and c hops from the consequent, if a/c is odd/even use downward/upward closure on that step in the mining of strong (frequent and confident) rules. Focus on G: ct( &f(& )ReSf)  mnsup e(&dDQd) ct( &f(& )ReSf &h(& )UiTh) / e(&dDQd) i(&jCVj) ct( &f(& )ReSf )  mncnf e(&dDQd) 6-hop APRIORI: 1. (antecedent downward closure) If A is infrequent, then so are all of its supersetsbsets. Frequency involves only A, so mine all qualifying antecedents using downward closure. 2. (consequent downward closure) If AC is non-confident, then so is AD for all supersets, D, of C. So  frequent antecedent, A, use downward closure to mine out all confident consequents, C.

9 Given any 1-hop labeled relationship (e. g
Given any 1-hop labeled relationship (e.g., cells have values from {1,2,…,n} then there is: 1. a natural n-hop transitive relationship, A implies D, by alternating entities for each specific label value relationship. 2. cards for each entity consisting of the bitslices of cell values. E.g., in netflix, Rating(Cust,Movie) has label set {0,1,2,3,4,5}, so in 1. it generates a bonafide 6-hop transitive relationship. In 2. an alternative is to bitmap each label value (rather than bitslicing them). Below Rn-i can be bitslices or bitmaps R3(C,M) R2(M,C) 1 2 3 4 M C 5 A D R4(M,C) R5(C,M) R0(M,C) R1(C,M) R0(E,F) Rn-2(E,F) Rn-1(E,F) F 2 3 4 5 1 E A  ... D E.g., equity trading on a given day, QuantityBought(Cust,Stock) w labels {0,1,2,3,4,5} (where n means n thousand shares) so that generates a bonafide 6-hop transitive relationship: E.g., equity trading - moved similarly, (define moved similarly on a day --> StockStock(#DaysMovedSimilarlyOfLast10) E.g., equity trading - moved similarly2, (define moved similarly to mean that stock2 moved similarly to what stock1 did the previous day.Define relationship StockStock(#DaysMovedSimilarlyOfLast10) E.g., Gene-Experiment, Label values could be "expression level". Intervalize and go! Has Strong Transitive Rule Mining (STRM) been done? Are their downward and upward closure theorems already for it? Is it useful? That is, are there good examples of use: stocks, gene-experiment, MBR, Netflix predictor,...

10 ct(&iABBi &tDBt) / ct(&iABBi)  mncf
Let Types be an entity which clusters Items (moves Items up the semantic hierarchy), E.g., in a store, Types might include; dairy, hardware, household, canned, snacks, baking, meats, produce, bakery, automotive, electronics, toddler, boys, girls, women, men, pharmacy, garden, toys, farm). Let A be an ItemSet wholly of one Type, TA, and l et D by a TypesSet which does not include TA. Then: 1 Buys(C,T) BoughtBy(I,C,) Items Customers 2 3 4 5 Types (of Items) A  D 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 AD might mean If iA s.t. BB(i,c) then tT, B(c,t) AD might mean If iA s.t. BB(i,c) then tT, B(c,t) AD might mean If iA s.t. BB(i,c) then tT, B(c,t) AD might mean If iA s.t. BB(i,c) then tT, B(c,t) AD confident might mean ct(&iABBi &tDBt) / ct(&iABBi)  mncf ct(&iABBi | tDBt) / ct(&iABBi)  mncf ct( | iABBi | tDBt) / ct( | iABBi)  mncf ct( | iABBi &tDBt) / ct( | iABBi)  mncf AD frequent might mean ct(&iABBi)  mnsp ct( | iABBi)  mnsp ct(&tDBt)  mnsp ct( | tDBt)  mnsp ct(&iABBi &tDBt)  mnsp, etc.

11 ct(&iABBi &tDBt) / ct(&iABBi)  mncf
Let Types be an entity which clusters Items (moves Items up the semantic hierarchy), E.g., in a store, Types might include; dairy, hardware, household, canned, snacks, baking, meats, produce, bakery, automotive, electronics, toddler, boys, girls, women, men, pharmacy, garden, toys, farm). Let A be an ItemSet wholly of one Type, TA, and l et D by a TypesSet which does not include TA. Then: 1 Buys(C,T) BoughtBy(I,C,) Items Customers 2 3 4 5 Types (of Items) A  D 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 AD might mean If iA s.t. BB(i,c) then tT, B(c,t) AD might mean If iA s.t. BB(i,c) then tT, B(c,t) AD might mean If iA s.t. BB(i,c) then tT, B(c,t) AD might mean If iA s.t. BB(i,c) then tT, B(c,t) AD confident might mean ct(&iABBi &tDBt) / ct(&iABBi)  mncf ct(&iABBi | tDBt) / ct(&iABBi)  mncf ct( | iABBi | tDBt) / ct( | iABBi)  mncf ct( | iABBi &tDBt) / ct( | iABBi)  mncf AD frequent might mean ct(&iABBi)  mnsp ct( | iABBi)  mnsp ct(&tDBt)  mnsp ct( | tDBt)  mnsp ct(&iABBi &tDBt)  mnsp, etc.

12 A thought on impure pTrees (i. e
A thought on impure pTrees (i.e., with predicate, 50%ones) the previous analysis using the IRIS dataset was, in hind sight, not fair. The reason it was not fair is that the training set was already re-ordered by class (all setosa's came first, then all versicolor then all virginica) so that level_1 pTrees did not span class boundaries [much]. Take an images as a better example. If the classes are RedCars, WhiteCars, BlueCars, ParkingLot, Grass, Trees, etc., and if Peano ordering is used, what if a class spans Peano squares completely? Just as it we now create pTrees from many different predicates, we could created pTreeSets for many orderings. This would also be a one time expense and would consume much more space, but space is no longer an issue. In fact, with the many more pTrees, our PGP-D protection scheme would automatically be more secure by doing so. So move the first column values to the far right for the 1st additional Peano pTreeSet: Move the 1st 2 columns to the right for 2nd Peano pTreeSet, 1st 3 for 3rd Peano pTreeSet..

13 Move the last column to the left for the 4th, the last 2 left for the 5th, the last 3 left for the 6th additional Peano pTreeSet. For each of these 6 additional Peano pTreeSets, make the same moves vertically (36 additional Peano pTreeSets in all), e.g., the 25th would be (starting with the 4th horizontal, directly above). For each of these 6

14 Looking at the vertical expansions of the 2nd additional pTreeSet (the 13th and 14th additional pTreeSets, respectively?) If we're given only pixel reflectance values for GreenCar, then we have to rely on individual pixel reflectances, right? In that case, we might as well just analyze each pixel for GreenCar characteristics. And then we would not benefit from this idea except that we might be able to data mine GreenCars using level_2 only?? Question: How are the training set classes given to us in Aurora, etc.? My question is, are we just given a set of pixels that we're told are GreenCar pixels? Or are we given anything that would allow us to use shapes of GreenCars to identify em? That is, are we given a traning set of GreenCar pixels together with their relative positions to one another - or anything like that? The green car is now centered in a level_2 pixel, assuming the level_2 stride is 16 (and the level_1 stride is 4).

15 MYRRH pTree-based ManY-Relationship-Rule Harvester
RoloDex Model: 2 Entities many relationships MYRRH pTree-based ManY-Relationship-Rule Harvester uses pTrees for ARM of multiple relationships. Supp(A) = CusFreq(ItemSet) Conf(AB) =Supp(AB)/Supp(A) 5 6 16 ItemSet ItemSet antecedent 1 2 3 4 5 6 16 itemset itemset card 1 5 people 2 3 4 items terms DataCube Model for 3 entities, items, people and terms.  Customer 1 2 3 4 Item 1 customer rates movie as 5 card cust item card 5 6 7 People  1 2 3 4 Author movie 2 3 1 5 4 customer rates movie card 2 3 4 5 PI 2 3 4 5 PI 4 3 2 1 Course Enrollments 1 Doc termdoc card authordoc card 1 3 2 Doc 1 2 3 4 Gene genegene card (ppi) docdoc People  term  7 6 5 4 3 Gene 1 2 3 4 G 5 6 1 3 Exp 7 6 5 4 3 2 t 1 termterm card (share stem?) expPI card expgene card genegene card (ppi) Items: i1 i2 i3 i4 i5 |0 001|0 |0 11| |1 001|0 |1 01| |2 010|1 |0 10| People: p1 p p3 p4 |0 100|A|M| |1 001|T|M| |2 010|S|F| |3 011|B|F| |4 100|C|M| Terms: t1 t2 t3 t4 t5 t6 |1 010|1 101|2 11| |2 001|0 000|3 11| |3 011|1 001|3 11| |4 011|3 001|0 00| Relationship: p1 i1 t1 |0 0| 1 |0 1| 1 |1 0| 1 |2 0| 2 |3 0| 2 |4 1| 2 |5 1|_2 Relational Model:

16 APPENDIX: MYRRH_2e_2r (standard pARM is MYRRH_2e_1r )
e.g., Rate5(Cust,Book) or R5(C,B), Purchase(Book,Cust) or P(B,C) pre-computed  BpTtreec 1-counts 3 2 1 2 3 1 BpTtreeb 1-cts  1 P(B,C) (S(E,F)) 1 If cust, c, rates book, b as 5, then c purchase b. For bB, {c| rate5(b,c)=y}{c| purchase(c,b)=y} ct(R5pTreei & PpTreei) / ct(R5pTreei)  mncnf ct(R5pTreei) / sz(R5pTreei)  mnsp 1 1 4 3 Speed of AND: R5pTreeSet & PpTreeSet? (Compute each ct(R5pTreeb&PpTreeb).) Slice counts, bB, ct(R5pTreeb & PpTreeb) w AND? 2 3 4 5 C (E) 2 1 1 pre-comR5pTtreeb 1-cts  1 R5(C,B) (R(E,F)) B (F) 1 1 Given eE, If R(e,f), then S(e,f) ct(Re & Se)/ct(Re)mncnf, ct(Re)/sz(Re)mnsp 1 If eA R(e,f), then eB S(e,f) R5pTtreec 1-cts 1 2 ct( &eARe &eBSe) / ct(&eARe)  mncnf. ... Schema: size(C)=size(R5pTreeb)=size(BpTreeb)=4 size(B)= size(R5pTreec)=size(BpTreec)=4 If eA R(e,f), then eB S(e,f) ct( &eARe OReBSe) / ct(&eARe)  mncnf. ... If eA R(e,f), then eB S(e,f) ct( OReARe &eBSe) / ct(OReARe)  mncnf. ... 1 R5(C,B) 1 R5pTtreeb&PpTreeb 1-counts 1 P(B,C) If eA R(e,f), then eB S(e,f) ct( OReARe OReBSe) / ct(OReARe)  mncnf. ... Consder 2 Customer classes, Class1={C=2|3} and Class2={C=4|5}. Then P(B,C) is TrainingSet: C\B Book=4 is very discriminative of Class1 and Class2, e.g., Class1=salary>$100K Then the DiffSup table is: B=1 B=2 B=3 B=4 P1={B=1|2} P2={B=3|4} C C DS P1 [and P2, B=2 and B=3] is somewhat discriminative of the classes, whereas B=1 is not.. Are "Discriminative Patterns" covered by ARM? E.g., does the same information come out of strong rule mining? Does "DP" yield information across multiple relationships? E.g., determining the classes via the other relationship?

17 MYRRH_2e_3r Rate1(Cust,Book) or R5(C,B), Purchase(Book,Cust) or P(B,C)
Sell(Cust,Book) or S(B,C) Cust,c. Rates book,b as 1, and c Purchases b, likely c Sells b at term end For bB, {c| R1(c,b)=y & P(c,b)=y}  {c| S(c,b)=y} ct(R1pTreeb & PpTreeb & SpTreeb) / ct(R1pTreeb & PpTreeb)  minconf 1 R1(C,B) 2 3 4 P(B,C) B C 5 S(B,C) 1 R5(S,C) 2 3 PHC(B,S) B S 4 C 5 Rate5(Student,Course), PurchHardCov(Book,Stu) If a student, s, rates any course as 5, then s Purchases a HardCover book. 3e_2r 3e_3r Students who buy b and courses using b, student enrolls in the course? {(s,c)| Buy(s,b)=y & Text(b,c)=y){(s,c)|Enroll(s,c)=y}. cnt(EpTreeSubSet(BpTreeb×TpTreeb))/(cnt(BpTreeb)*(cnt(TpTreeb)>mncf 13 12 1 book 2 3 4 5 course Text student Enroll Buy 13 12 1 book 2 3 4 5 course Text student Enroll Buy offering Location If s enrolls in c, And c is Offered at L And L uses Text=b, Then s Buys b 4e_4r Any 2 adjacent relationships can be collapsed into 1: R(c,b) and P(b,e) iff RP(c,e). By doing so, we have a whole new relationship to analyze Given c, {b|R(c,b)} is List(PR.c) For b in List(PR,c), {eC|P(b,e)} is List(PP,b) Therefore {e|RP(c,e)}=ORbListPR,cPP,b 1 R(C,B) 2 3 4 P(B,C) B C 5 1 RP(C,C) 2 3 4 5 C

18 PTc = ORbListTcPb PEc = ORsListEcPs ETs = ORcListEsTc
PT=PURCHASE_TEXT(S,C) 1 E=ENROLL(S,C) S=STUDENT 2 3 4 5 C=COURSE PTc = ORbListTcPb also PTs = ORbListPsTb P=PURCHASE(S,B) 1 E=ENROLL(S,C) 2 3 4 B=BOOK S=STUDENT 5 C=COURSE T=TEXT(C,B) Let Tc=C-pTree of T for C=c with list={b|T(c,b)} PE=PURCHASE_ENROLL(C,B) 1 2 3 4 B=BOOK C=COURSE T=TEXT(C,B) PEc = ORsListEcPs also PEb = ORsListPbEs P=PURCHASE(S,B) 1 ET=ENROLL_TEXT(S,B) 2 3 4 B=BOOK S=STUDENT 5 ETs = ORcListEsTc also ETb=ORcListTbEc Interesting 2-hop examples? Good 2-hop transitive relationships to study include: WebpageWasVisitedByCustomerPurchasedItem. (earlier rendition of 3 that may or may not be useful?): If {g} is the consequent of no confident rules, then no superset C of g is either. So it would make sense to consider singleton C's first. g we can replicate Sg and AND it into R making T. If ct(&eATe)=ctTA is small and the conf is high, ct(&eARe) is small also. If ctTA is small, then ctTB is smaller BA. So we can start with A=E and work down. As soon as we find A too small, then we need not look at any of its subsets... In general, how can we speed up 2-hop Apriori? PTreeSet ANDs? Better algorithm?

19 Let ASL be {6,7} and CPW be {1,2}
stride=10 level-1 val SL SW PL PW setosa setosa setosa setosa setosa versicolor versicolor versicolor versicolor versicolor virginica virginica virginica virginica virginica SL SW PL rnd(PW/10) Making 3-hops: Use 4 feature attributes of an entity. For IRIS(SL,SW,PL,PW). L(SL,PL), P(PL,PW), W(PW,SW) Let ASL be {6,7} and CPW be {1,2} SW= S PW P PL= PL= L SL

20 ct(&bAPb &cDEc) / ct(&bAPb)  minconf
2-hop transitive rules (specific examples) E(S,C) P(B,S) 1 2 3 4 B S 5 C A   D AD: If bA P(b,s), then cD E(s,c) is a strong rule if: ct(&bAPb)  minsupp ct(&bAPb &cDEc) / ct(&bAPb)  minconf 2-hop Enroll Book If a student Purchases every book in A, then that student is likely to enroll in every course in D, and lots of students purchase every book in A. In short, P(A,s) E(s,D) is confident and P(A,s) is frequent PJ(C,I) PD(I,C) 1 2 3 4 I C 5 A   D 2-hop Purchase Dec/Jan AD: If iA PD(i,c), then iD PJ(c,i) is a strong rule if: ct(&iAPDi)  minsupp ct(&iAPDi &iDPJi) / ct(&iAPDi)  minconf If a customer Purchases every item in A in December, then that customer is likely to purchase every item in D in January, and lots of customers purchase every item in A in December: PD(A,c)PJ(c,D) conf and PD(A,c) freq. B(P,I) O(E,P) 1 2 3 4 E P 5 I A   D 2-hop Event Buy AD: If eA O(e,p), then iD B(p,i) is a strong rule if: ct(&eAOe)  minsupp ct(&eAOe &iDBi) / ct(&eAOe)  minconf If every Event in A occurred in a person's life last year, then that person is likely to buy every item in D this year, and lots of people had every Event in A occur last year: O(A,p)B(p,D) conf and O(A,p) freq.

21 ct(&eAOe &mDTm) / ct(&eAOe)  minconf
2-hop stock trading T(S,M) O(E,S) 1 2 3 4 E S 5 M A   D AD: If eA O(e,s), then mD T(s,m) is a strong rule if: ct(&eAOe)  minsupp ct(&eAOe &mDTm) / ct(&eAOe)  minconf If every Event in A occurs for a company in time period 1, then the price of that stock experienced every move in D time period 2, and lots of companies had every Event in A occur in period 1: O(A,s)T(s,D) conf and O(A,s) freq. (T=True; e.g., m=1 down a lot, m=2 down a little, m=3 up a little, m=4 up a lot.) T(C,M) O(E,C) 1 2 3 4 E C 5 M A   D AD: If eA O(e,c), then mD T(c,m) is a strong rule if: 2-hop commodity trading ct(&eAOe)  minsupp ct(&eAOe &mDTm) / ct(&eAOe)  minconf If every Event in A occurs for a commodity in time period 1, then the price of that commodity experienced every move in D time period 2, and lots of commodities had every Event in A occur in period 1: O(A,c)T(c,D) conf and O(A,c) freq. B(P,I) F(P,P) 1 2 3 4 P 5 I A   D AD: If pA P(p,q), then iD B(p,i) is a strong rule if: 2-hop facebook friends buying ct(&pAFp)  minsupp ct(&pAFp &iDBi) / ct(&pAFp)  minconf F(p,q)=1 iff q is a facebook friend of p. B(p,i)=1 iff p buys item i. People befriended by everyone in A (= &pAFp denoted FA for short ) likely buy everything in D. And FA is large. So every time a new person appears in FA that person is sent ads for items in D.

22 ct(&aAAOa&gCB'g)/ct(&aAAOa)mncf ct( AOa=4)mnsp
How do we construct interesting 2-hop examples? Method-1: Use a feature attribute of a 1-hop entity. Start with a 1-hop, e.g., customers buy items, stocks have prices or people befriend people then focus on one feature attribute of one of the entities. The relationship is the projection of that entity table onto the feature attribute and the entity id attribute (key) e.g. Age, Gender, Income Level, Ethnicity, Weight, Height... of people or customer entity These are not bonafide 2-hop transitive relationships since they are many-to-one relationships, not a many-to-many (because the original entity is the primary key of its feature table). Thus, we don't get a fully transitive relationship since collapsing the original entity leaves nearly the same information as the transitive situation was intended to add. Here is an example. If, from the new transitive relationship, AgeIsAgeOfCustomerPurchasedItem, Customer is collapsed we have AgePurchaseItem and the Customer-to-Age info is still available to us in the Cust table. The relationship between Customers and Items is lost, but presumably, the reason for mining, AgeIsAgeOfCustomerPurchaseItem is to find AgePurchaseItem rules independent of the Customers involved. Then when a high confidence Age implies Item rule is found, the Customers who are of that age can be looked up from the Customer feature table and sent a flyer for that item. Also, in CustomerPurchaseItem, the antecedent, A, could have been chosen to be an age-group. So most AgePurchaseItem info would come out of CustomerPurchaseItem directly. Given a 1-hop relationship, R(E,F) and a feature attribute, A of E, if there is a pertinent way to raise E up the semantic hierarchy (cluster it) producing E', then the relationship between A and E ' is many-to-many, e.g., cluster Customers by Income Level, IL. Then AgeIsAgeOfIL is a many-to-many relationship. Note, what we're really doing here is using the many-to-many relationship between two feature attributes in one of the entity tables and then replacing the entity by the second feature. E.g., if B(C,I) is a relationship, and IL is a feature attribute in the entity table C(A,G,IL,E,W,H), then clustering (Classifying) C by IL produces a relationship, B'(IL,I), given by B'(il,i)=1 iff B(c,i)=1 for  50% of cil, which is many-to-many provided IL is not a candidate key. So from the 1-hop relationship, CB(C,I)I, we get a bonafide 2-hop relationship, AAO(A,IL)ILB'(IL,I)I. ct(&aAAOe)mnsp ct(&aAAOa&gCB'g)/ct(&aAAOa)mncf I B(C,I) 1 C A IL 2 3 4 5 1 2 3 4 I B'(IL,I) IL ct( AOa=4)mnsp ct(AOa=4 &g=3,4B'g )/ct(AOa= )mncf C ct( )mnsp ct( &100&110)/ ct(010) mncf 1 mnsp 0 / mncf Bil=2 = Bc=3OR Bc=5 Bil=1 = Bc=2 Bil=3 = Bc=4 4 5 I AO(A,IL) 1 ct(&cC(A)Bc)mnsp ct(&cC(A)Bc &IC)/ct(&cC(A)Bc)mncf ct( Bc= )mnsp ct(Bc= &0011)/ct(Bc= )mncf A ct( )mnsp ct( &0011)/ct( )mncf So these are different rules. 2 mnsp 1 / mncf

23 ct(&aALa&cCPc)/ct(&aALa)  mncf
stride=10 level-1 val SL SW PL PW setosa setosa setosa setosa setosa versicolor versicolor versicolor versicolor versicolor virginica virginica virginica virginica virginica SL SW PL rnd(PW/10) Method-2: Use 3 feature attribute of an entity. Start with an Entity (e.g., IRIS(SL,SW,PL,PW). Take 3 attributes SL,PL,PW; form 2 many-to-many relationships L(SL,PL) and P(PL,PW) in which a cell value is 1 iff there is a IRIS sample with those values (Could also cluster IRIS on SW first then add PL and PW, so that the key, IRIS-ID is involved.) Let ASL be {6,7} and CPW be {1,2} ct(&aALa) mnsp ct(&aALa&cCPc)/ct(&aALa)  mncf ct( )mnsp ct( & )/ct( )mncf 1  mnsp 1 / 1  mncf PW= PL= So, with very high confidence, SL[55,74] PL PW[5,24], however the support of this rule is very low. What about the 1-hop version? (aA)(SLPWaC) sup conf=ct(ORaASLPWa&pTreeC) / ct(ORaASLPWa) PW= SL= conf=ct( & ) / ct( ) conf= 2/2 = Supp=2 PL= SL= What's the difference? The 1-hop says "if SLA then PW will likely C. 2-hop says "If all SL in A are related to a PL then that PL is likely to be related to all PW in C." These are different. 2-hop seems convoluted. Why? 2-hops from one table may always make less sense than the corresponding direct 1-hop. How do you mine out all confident (or all strong) rules?


Download ppt "pTrees predicate Tree technologies"

Similar presentations


Ads by Google