Th ut toán AprioriTID 1 Gi i thi u

Một phần của tài liệu Tìm hiểu khai phá luật kết hợp mining association rules (Trang 33 - 38)

IV. KHÁM PHÁ CÁC TP PH BIN (Large Itemsets)

3. Th ut toán AprioriTID 1 Gi i thi u

3.1. Gi i thi u

Thu t toán AprioriTID đ c c i ti n t thu t toán Apriori nh m c i ti n vi c duy t database quá nhi u l n đ đ m s l n xu t hi n c a các t p ng viên trong các giao tác.

Thu t toán AprioriTID s d ng t p まk đ tính đ ng h cho các ph n t c a t p Ck khi k>1 thay cho vi c duy t CSDL. M i ph n t c a t p まk có d ng <TID, X> v i X là t p các ng viên thu c Ck t ng ng v i giao tác t có mã TID hay ta có th vi t <t.TID, {c∈Ck | c có trong t}>. N u giao tác t không ch a m t t p ng viên nào (Xk = ∅) thì giao tác t không đ c đ a vào まk. Do đó, s ph n t c a まk có th nh h n s

- 34 -

l ng các giao tác trong CSDL, đ c bi t khi k l n. Khi s ph n t c a まk nh h n s l ng các giao tác trong CSDL thì vi c duy t まkđ tính đ ng h cho t ng ph n t c a Ck ph c v cho vi c xác đnh Lk s nhanh h n duy t CSDL

1) L1 = { large 1-itemsets}; 2) C1 = database D;

3) for ( k = 2; Lk-1 != 0; k++) do begin

4) Ck = apriori-gen( Lk-1); // ng viên m i – xem ph n 1.2 5) Ck = 0;

6) forall entries t ∈ Ck – 1 do begin

7) // tìm nh ng t p thu c tính ng viên trong Ck trong giao tác v i id t.TID Ct = { c ∈ Ck | ( c - c[k]) ∈ t.set-of-itemsets ∧ ( c - c[k -1]) ∈ t.set-of- Ct = { c ∈ Ck | ( c - c[k]) ∈ t.set-of-itemsets ∧ ( c - c[k -1]) ∈ t.set-of- itemsets}; 8) forall candidates c ∈ Ctdo 9) c.count ++; 10) if ( Ct != 0) then Ck+= < t.TID, Ct >; 11) end 12) L k = { c ∈ Ck | c.count ≥ minsup } 13) end 14) Answer = Uk Lk;

3.2. Ví d tìm t p ph bi n Lk theo thu t toán AprioriTID

Hình 9: Ví d thu t toán Apriori-Tid

k=2; C2=apriori-gen(L1),

C2: {{1,2},{1,3},{1,5},{2,3},{2,5},{3,5}}

C2={}

For t=1; t.TID=100; t.set-of-itemsets={{1},{3},{4}}

C’100={{1,3}}; {1,3}.count=1; C2={{100, {{1,3}}} For t=2; t.TID=200; t.set-of-itemsets={{2},{3},{5}}

C’200={{2,3},{2,5},{3,5}};

{2,3}.count=1, {2,5}.count=1, {3,5}.count=1;

C2={{100,{{1,3}}},{200,{{2,3},{2,5},{3,5}}}

For t=3; t.TID=300; t.set-of-itemsets={{1},{2},{3},{5}}

C’300={{1,2},{1,3},{1,5},{2,3},{2,5},{3,5}};

- 36 -

{2,3}.count=2, {2,5}.count=2, {3,5}.count=2;

C2={{100,{{1,3}}},{200,{{2,3},{2,5},{3,5}},{300,{{2,3},{2,5},{3,5}}} For t=4; t.TID=400; t.set-of-itemsets={{2},{5}}

C’200={{2,5}}; {2,5}.count=3; C2 ={{100,{{1,3}}},{200,{{2,3},{2,5},{3,5}},{300,{{2,3},{2,5},{3,5}}, {400,{{2,5}}}} L2={{1,3}, {2,3}, {2,5}, {3,5}} k=3; C3=apriori-gen(L2),

Itemset with the same first item are used: {2,3} and {2,5}

C3: {{2,3,5}}

C3={}

For t=1; t.TID=100; t.set-of-itemsets={{1,3}}

C’100={}; C3={}

For t=2; t.TID=200; t.set-of-itemsets={{2,3}, {2,5}, {3,5}}

C’200={{2,3,5}}; {2,3,5}.count=1; C3={{200, {{2,3,5}}}

For t=3; t.TID=300;

t.set-of-itemsets={{1,2}, {1,3}, {1,5}, {2,3}, {2,5}, {3,5}}

C’300={{2,3,5}}; {2,3,5}.count=2;

For t=4; t.TID=400; t.set-of-itemsets={{2,5}}

C’400={}; C3={{200, {{2,3,5}}, {300, {{2,3,5}}}}

L3={{2,3,5}}

k=4, C4=∅, exit the loop

Return {{1,3}, {2,3}, {2,5}, {3,5}, {2,3,5}}

3.3. Nh n xét

- V i k=1, s ph n t c a ま1 b ng s giao tác trong CSDL; t p X ( ng m i ph n t c a ま1) có s l ng thành viên b ng s item trong giao tác t ng ng trong CSDL.

- V i k nh (k>1), s l ng ph n t c a まk b ng ho c nh h n không

đáng k so v i s giao tác trong CSDL; t p X ( ng m i ph n t c a まk) có th có s l ng thành viên l n h n s item trong giao tác t ng ng trong CSDL vì s ph n t c a Ck nhi u khi k nh và kh n ng các ng viên c a t p Ck có trong giao tác là l n (trong ví d trên t p X trong giao tác có TID 300 có s thành viên là 6 trong khi trong CSDL ch có 4 item).

- V i k l n, s l ng ph n t c a まk nh h n so v i s giao tác trong CSDL; t p X ( ng m i ph n t c a まk) có th có s l ng thành viên nh h n s item trong giao tác t ng ng trong CSDL vì s ph n t c a Ck không nhi u khi k l n và kh n ng các ng viên c a t p Ck có trong giao tác là nh .

- 38 -

Một phần của tài liệu Tìm hiểu khai phá luật kết hợp mining association rules (Trang 33 - 38)

Tải bản đầy đủ (PDF)

(54 trang)