• Tidak ada hasil yang ditemukan

BAB II : TINJAUAN PUSTAKA

II. 3 .3. Asosiasi

II. 4. Algoritma Penambangan Aturan Asosiasi Langka

II. 4. Algoritma Penambangan Aturan Asosiasi Langka

Aturan langka dalam sebuah basis data sulit untuk ditemukan, oleh karena itu banyak peneliti yang mencoba mengamati dan mencoba menemukan berbagai macam pendekatan untuk menemukan aturan langka tersebut. Pendekatan yang digunakan untuk melakukan penambangan aturan langka dalam basis data sangatlah beraneka ragam, dimana setiap pendekatan memiliki keunggulan dan

kelemahan masing-masing. Penambangan aturan asosiasi langka memiliki beberapa pendekatan diantaranya:

II. 4.1 Apriori Inverse

Misal I = { } merupakan semesta dari item dan D adalah himpunan transaksi, di mana setiap transaksi T berisi satu set item yang memenuhi aturan T I.

Gambar 2.3. Algoritma Apriori Inverse

Sumber : Koh & Pears (2010)

Rule asosiasi adalah implikasi berbentuk A B dimana A I, B I dan dengan ketentuan A disebut sebagai anteseden dari aturan yang terbentuk, dan B sebagai konsekuen. Aturan A B berlaku dalam transaksi D dengan confidence c % jika c % dari transaksi di D yang mengandung X juga mengandung Y.Aturan A B memiliki support s % dalam transaksi D, jika s % transaksi di D berisi AB. Dalam konteks penambangan aturan asosiasi langka, semua aturan R seperti A B harus memenuhi dua syarat di bawah ini:

C(R) ≥ CLower dimana CLower adalah lower bound confidence threshold

atau biasa disebut sebagai minimum confidence yang didefinisikan nilainya oleh pengguna yang melakukan penambangan data. Minimum confidence

menandakan ambang batas (threshold) dari sebuah aturan asosiasi untuk menentukan aturan asosiasi yang kuat (strong association rule).

S(R) ≤ SUpper dimana SUpper adalah upper bound support threshold atau biasa disebut maximum support threshold yang digunakan sebagai batas atas support dari himpunan item yang ada dalam kandidat aturan.

Maximum support digunakan untuk membatasi nilai support dari aturan yang ada sehingga hanya aturan tertentu saja yang bisa dijadikan atau diputuskan sebagai aturan asosiasi dari sebuah dataset.

Selain yang dijelaskan diatas, dalam algoritma Apriori Inverse juga menerapkan penggunaan support constraint lain, yang disebut MinAbsSup yang didefinisikan sebagai jumlah minimum kemunculan dari itemset (A, B) agar bisa dipertimbangkan dalam prose pembentukan aturan. Batasan (constraint) ini berasal dari fisher test untuk signifikansi co-occurrence darisetiap item.

Karena kita berhadapan dengan kandidat himpunan item yang memiliki nilai support rendah, kemungkinan bahwa suatu itemset muncul akibat suatu ketidaksengajaan lebih tinggi dibandingkan kandidat himpunan item dengan nilai

support yang lebih tinggi. Himpunan item yang terjadi dalam dataset yang disebabkan karena ketidaksengajaan harus dipangkas atau dibersihkan selama proses pembentukan kandidat himpunan item. Karena pembentukan kandidat itemset jangka panjang tidak dapat meningkatkan nilai support dari item tersebut,

maka semua ekstensi nilai support diperbolehkan kecuali yang termasuk di bawah nilai minimum absolut support. Itemset yang masuk dalam pengecualian ini akan dipangkas atau dihapus dari candidate itemset, dan tidak digunakan untuk memperluas himpunan item pada putaran berikutnya. Berikut adalah proses perhitungan MinAbsSup dihitung menggunakan fungsi fisher test. Pertama hitung probabilitas dari dua transaksi (A dan B) dapat terjadi bersamaan secara kebetulan dalam satu waktu tertentu (c) atau dikenal dengan istilah "probability of chance collision". Kita bisa menghitung probabilitas ini menggunakan PCC dalam (2.4). Probabilitas bahwa A dan B akan terjadi bersama-sama persis sebanyak c kali adalah:

.........(2.4)

Dimana :

C = prediksi jumlah minimum kemunculan itemset a dan b dalam transaksi di dataset agar tidak dianggap sebagai kemunculan yang bersifat kebetulan, dengan aturan 0 ≤ c ≤ a.

N = jumlah keseluruhan transaksi dalam dataset, sedangkan a dan b adalah jumlah kemunculan masing – masing items yang akan digabungkan menjadi sebuah itemset baru. Persamaan ini adalah perhitungan biasa untuk probabilitas yang sesuai untuk sebuah table dengan kontingensi 2 × 2.

Dimana :

N = jumlah keseluruhan transaksi dalam dataset.

a dan b = jumlah kemunculan masing – masing item yang akan digabungkan menjadi sebuah itemset baru.

p = memiliki nilai tetap yaitu 0,001,

m dan i = merupakan prediksi jumlah minimum kemunculan itemset a dan b dalam transaksi di dataset agar tidak dianggap sebagai kemunculan yang bersifat kebetulan, dengan aturan 0 ≤ m ≤ a.

Minimum absolute support dihitung berdasarkan nilai pcc dari setiap itemset yang akan digabungkan menjadi large itemset. Perluasan untuk setiap item menggunakan cara yang sama dalam algoritma Apriori. Sebagai contoh, 3-itemset

{1, 3, 4} dan {1, 3, 6} dapat diperluas untuk membentuk 4-itemset {1, 3, 4, 6}, tetapi {1, 3, 4} dan {1, 2, 5} tidak akan menghasilkan 4-itemset karena tidak ada kesamaan prefik pada item kedua.

II. 4.2 Algoritma Apriori Inverse With Clustring (APIC)

Algoritma APIC (Apriori Inverse with Clustering) terdiri dari beberapa proses besar seperti digambarkan pada flowchart dibawah ini:

Dataset Transaction Clustering Apriori Inverse Rare Association Rules Start End

Gambar 2.4. Flow chart Garis Besar Algoritma Apriori Inverse with Clustering (APIC)

Dalam garis besar algoritma APIC (Apriori Inverse with Clustering), setiap tahapnya memiliki urutan langkah yang berbeda, berikut adalah langkah dari setiap tahap dalam algoritma APIC:

A. Transaction Clustering

Proses transaction clustering Terdiri dari dua tahap yaitu seed generation phase dan allocation phase, dimana setiap tahap memiliki langkah kerja yang berbeda. Berikut adalah langkah kerja detil dari setiap tahap dalam proses

transaction clustering: 1. Seed Generation Phase

Tahap seed generation phase terdiri dari beberapa langkah detil yang bertujuan untuk menghasilkan seed sebagai inisialisasi titik pusat awal klaster. Berikut adalah langkah – langkah dari tahap seed generation phase:

a. Cari 1-large itemset sebagai inisialisasi seed yang akan digunakan sebagai kandidat titik pusat klaster dengan cara mencari item dari setiap transaksi dalam dataset yang memiliki support count >=

, dimana:

|D| = jumlah transaksi yang ada dalam dataset,

= minimum support threshold sistem yang memiliki nilai 0< <1. b. Cari k-large itemset dalam transaksi yang ada di dataset yang nantinya akan dijadikan sebagai seed atau centroid dalam klaster.

Dimana k bernilai 2,3,…,k. Proses pencarian large itemset ini sama dengan proses pencarian large item dalam algoritma apriori hanya saja ada tambahan batasan saat melakukan perluasan dari itemset, batasan tersebut dihitung dengan aturan di bawah ini:

.........(2.7) .........…………..(2.8)

.........(2.9) Dimana:

= koefisien korelasi chi square,

= chi square cut-off threshold pada c% confidence level dengan nilai 3,84,

= user - defined support threshold yang nilainya ditetapkan oleh pengguna sistem pada tahap awal penambangan data,

= nilai relative support dari kandidat gabungan itemset baru,

dan = nilai relative support dari masing –

masing item yang akan diperluas menjadi itemset baru.

c. Dapatkan anggota dari k-large itemset terakhir. Anggota large itemset ini merupakan large itemset yang didalamnya terdapat

itemset yang akan digunakan sebagai titik pusat (centroid) awal untuk klaster. Untuk langkah tahap seed generation phase secara sederhana dapat dilihat dalam pseudo code yang diambil dari jurnal (Koh & Pears,2010) di bawah ini:

2. Allocation Phase

Tahap allocation phase terdiri dari beberapa langkah detil yang bertujuan untuk menempatkan transaksi dalam dataset kedalam klaster sehingga menghasilkan klaster secara optimum dengan anggota kelompok yang tepat dan sesuai dengan titik pusat dari setiap klaster yang tersedia. Berikut adalah langkah – langkah dari tahap allocation phase:

a. Berdasar inti dari klaster yang telah terbentuk dalam tahap seed generation phase, lakukan alokasi semua transaksi dalam dataset kedalam setiap klaster dengan cara melakukan penghitungan

similarity antara titik pusat (centroid) dari klaster dengan seluruh transaksi dalam dataset menggunakan persamaan similarity

dibawah ini :

......... (2.10)

Dimana :

t = transaksi dalam dataset,

Cĸ = titik pusat dari klaster,

|t Cĸ| = jumlah item yang sama antara transaksi dengan item dalam titik pusat klaster,

|t Cĸ| = jumlah gabungan dari item yang ada di dalam transaksi dengan item yang ada dalam titik pusat klaster.

Semakin besar nilai similarity antara centroid dan transaksi maka transaksi akan dialokasikan kedalam klaster yang memiliki

centroid tersebut. Klaster yang tidak memiliki anggota langsung dihapus dalam langkah ini.

b. Hitung nilai optimum dari klaster yang dihasilkan dengan menggunakan persamaan di bawah ini :

Dimana :

J = nilai fitness function, k = banyaknya klaster,

sim(t, cj) = nilai similarity antara transaksi dalam dataset dengan

centroid yang ada dalam setiap klaster,

|Cj| = jumlah item dalam centroid dalam klaster.

Perhitungan ini menggunakan rata - rata nilai similarty terhadap

centroid dari klaster. Nilai optimum awal sebelumnya

dideklarasikan dengan nilai 0 pada putaran pertama.

c. Bandingkan nilai optimum yang didapat dalam langkah 2, Jika nilai optimum sekarang <= nilai optimum sebelumnya proses pengelompokan transaksi (allocation transaksi) berhenti, jika nilai optimum sekarang > nilai optimum sebelumnya, maka dilakukan tahap pengubahan centroid. Centroid lama digantikan dengan

centroid yang baru yang berasal dari 1-large itemset yang ada dalam transaksi dari masing – masing klaster dengan cara mencari item dalam transaksi yang ada dalam klaster yang memiliki support count >= , dimana :

|D| = jumlah transaksi yang ada dalam klaster,

= minimum support threshold sistem yang memiliki nilai 0< <1. d. Lakukan langkah 1 sampai 3, hingga syarat dalam langkah 3 yaitu

proses alokasi transaksi berhenti dan simpan semua klaster yang dihasilkan dalam tahap alokasi transaksi.

Untuk lebih jelasnya berikut adalah pseudo code dari langkah –

langkah pada tahap allocation phase yang diambil dari jurnal (Koh & Pears,2010):

B. Apriori Inverse

Proses Apriori inverse hampir sama dengan proses pada apriori, yang membedakan adalah nilai minimum support diganti dengan minimum absolute support, selain itu terdapat maximum support sebagai pembatas perluasan item pada proses apriori inverse. Apriori inverse adalah langkah lanjutan setelah proses

transaction clastering. Algoritma apriori inverse diterapkan kedalam setiap klaster yang ada, sehingga aturan langka dapat dihasilkan dari setiap klaster.

itemset dan membatasi agar tidak terjadi pembengkakan jumlah itemset, dan menggunakan MinAbsSup untuk melakukan pemangkasan itemset yang tidak diperlukan dalam proses pembentukan aturan.

Berikut adalah langkah kerja detil dari setiap tahap dalam proses apriori inverse:

1. Cari 1-large itemset dengan cara mencari item dari setiap transaksi dalam dataset yang memiliki support count <= |D| x Maxsup, dimana :

|D| = jumlah transaksi yang ada dalam klaster,

Maxsup = maximum support threshold sistem yang nilainya ditentukan oleh pengguna.

2. Cari k-large itemset dalam transaksi yang ada di dalam klaster, dimana k

bernilai 2,3,…,k. Cara mencari k-large itemset ini sama dengan proses pencarian large item dalam algoritma apriori, hanya saja nilai support digantikan dengan nilai MinAbsSup dengan menggunakan persamaan di bawah ini:

... (2.5)

Dimana :

N = jumlah keseluruhan transaksi dalam dataset,

a dan b = jumlah kemunculan masing – masing items yang akan digabungkan menjadi sebuah itemset baru,

m dan I = merupakan prediksi jumlah minimum kemunculan itemset a dan b dalam transaksi di dataset agar tidak dianggap sebagai kemunculan yang bersifat kebetulan, dengan aturan 0 ≤ m ≤ a.

Untuk menghitung MinAbsSup lakukan perhitungan pcc dari setiap pasangan item yang akan digabungkan menjadi itemset baru dengan menggunakan persamaan dibawah ini:

.........(2.4)

Dimana :

C = prediksi jumlah minimum kemunculan itemset a dan b dalam transaksi di dataset agar tidak dianggap sebagai kemunculan yang bersifat kebetulan, dengan aturan 0 ≤ c ≤ a.

N = jumlah keseluruhan transaksi dalam dataset, sedangkan a dan b adalah jumlah kemunculan masing – masing items yang akan digabungkan menjadi sebuah itemset baru

3. Hapus Semua itemset yang memiliki nilai support count < MinAbsSup dan memiliki nilai support count > maximum support.

4. Lakukan langkah 2, 3, dan 4 sampai tidak ada item yang dapat diperluas menjadi itemset baru. Untuk penggambaran secara detil dari setiap langkah proses apriori inverse, berikut adalah pseudo code dari proses apriori inverse yang diambil dari jurnal (Koh & Pears,2010):

5. Dapatkan semua k-large itemset yang memenuhi syarat perluasan item pada langkah 2, dan hitung nilai confidence masing – masing itemset

dalam setiap large itemset dengan persamaan dibawah ini :

...(2.3). Dimana confidence dari aturan asosiasi adalah rasio dari record

yang mengandung dengan total record yang mengandung .

6. Simpan itemset dengan nilai confidence >= minimum confidence yang ditentukan oleh pengguna.

II. 4.3 Contoh Penerapan Algoritma APIC (Apriori Inverse with Clustering)

Berikut akan ditunjukkan cara kerja algoritma APIC untuk menemukan himpunan item langka dan pembangkitan aturan asosiasi langka menggunakan dataset zoo yang didapat dari UCIMachine Learning Repository yang berada pada

website archive.ics.uci.edu/ml/machine-learning-databases. Pengaturan awal

Minsup dan minconf yang ditentukan berturut – turut 10% dan 90%. Sedangkan minsup threshold awal dan Maxsup ditentukan berturut - turut 9% dan 30%.

Dataset zoo terdiri dari 101 transaksi, dan 18 atribut. Dataset zoo

merupakan dataset yang berisi data tentang hewan. Berikut adalah proses penambangan data pada dataset zoo menggunakan algoritma APIC:

A. Transaction Clustering

1. Seed Generation Phase

Hasil dari setiap langkah dalam tahap seed generation phase adalah: a. Cari 1-large itemsets dengan nilai minimum support threshold

( ) = 0.04950495. Sebagai contoh item TRUE, memiliki jumlah dalam transaksi sebanyak 43 transaksi sehingga memiliki support sebesar 0.425742574 yang berasal dari Supp(TRUE) = freq(TRUE) / Jumlah transaksi yaitu 101, maka hasilnya adalah 0.425742574 dan item TRUE masuk menjadi anggota 1-Large itemset. Semua itemset yang memiliki nilai

support <= 0.04950495 dihapus dari kandidat Frequent

1-Itemsets. Dengan demikian didapat anggota Frequent

1-Itemsets seperti dibawah ini:

Frequent 1-Itemsets: 1. Support: 0.42574257425742573 {true(Hair)}, 2. Support: 0.5742574257425742 {false(Hair)}, 3. Support: 0.801980198019802 {false(Feathers)}, 4. Support: 0.19801980198019803 {true(Feathers)}, 5. Support: 0.4158415841584158 {false(Eggs)}, 6. Support: 0.5841584158415841 {true(Eggs)},

7. Support: 0.40594059405940597 {true(Milk)}, 8. Support: 0.594059405940594 {false(Milk)}, 9. Support: 0.7623762376237624 {false(Airborne)}, 10. Support: 0.2376237623762376 {true(Airborne)}, 11. Support: 0.6435643564356436 {false(Aquatic)}, 12. Support: 0.3564356435643564 {true(Aquatic)}, 13. Support: 0.5544554455445545 {true(Predator)}, 14. Support: 0.44554455445544555 {false(Predator)}, 15. Support: 0.6039603960396039 {true(Toothed)}, 16. Support: 0.39603960396039606 {false(Toothed)}, 17. Support: 0.8217821782178217 {true(Backbone)}, 18. Support: 0.1782178217821782 {false(Backbone)}, 19. Support: 0.7920792079207921 {true(Breathes)}, 20. Support: 0.2079207920792079 {false(Breathes)}, 21. Support: 0.9207920792079208 {false(Venomous)}, 22. Support: 0.07920792079207921 {true(Venomous)}, 23. Support: 0.8316831683168316 {false(Fins)}, 24. Support: 0.16831683168316833 {true(Fins)}, 25. Support: 0.37623762376237624 {4(Legs)}, 26. Support: 0.22772277227722773 {0(Legs)}, 27. Support: 0.26732673267326734 {2(Legs)}, 28. Support: 0.09900990099009901 {6(Legs)}, 29. Support: 0.25742574257425743 {false(Tail)},

30. Support: 0.7425742574257426 {true(Tail)}, 31. Support: 0.8712871287128713 {false(Domestic)}, 32. Support: 0.12871287128712872 {true(Domestic)}, 33. Support: 0.43564356435643564 {true(Catsize)}, 34. Support: 0.5643564356435643 {false(Catsize)}, 35. Support: 0.40594059405940597 {mammal(Type)}, 36. Support: 0.12871287128712872 {fish(Type)}, 37. Support: 0.19801980198019803 {bird(Type)}, 38. Support: 0.09900990099009901 {invertebrate(Type)}, 39. Support: 0.07920792079207921 {insect(Type)}.

Frequent 1-Itemsets ini akan dianggap sebagai seed cluster 1. b. Cari k-large itemset dimana nilai k = 2, 3, 4,..,k dan nilai user

define support threshold = 10% . Sebagai contoh terdapat dua item yang akan digabungkan yaitu item TRUE dan FALSE(E) sebagai kandidat dari 2-large itemset, maka proses awalnya adalah melakukan perhitungan relative support dari masing –

masing item, RS(X) = SUP(X) / SUP (Subset X dengan

maximum support), karena item TRUE dan FALSE(E) belum memiliki subset, maka secara otomatis support dari X sekaligus menjadi relative support dari X, maka RS(TRUE) = Support

(TRUE) = 0.425742574, RS (FALSE(E) = Support

relative support dari itemset {TRUE,FALSE(T)}, maka

relative support nya dihitung sebagi berikut:

RS(TRUE,FALSE(T)) =

Support(TRUE,FALSE(T))/support(TRUE), karena TRUE

adalah subset dari itemset gabungan {TRUE,FALSE(T)} yang memiliki nilai support paling besar. Setelah nilai dari relative support ditetapkan cek nilai relative support apakah lebih dari

user define support threshold atau tidak dengan cara

mengurangkan nilai dari relative support himpunan item gabungan dengan nilai relative support dari subset nya, hasil pengurangan ini harus lebih besar dari nilai support threshold

yang dimasukan. Sebagai contoh pembandingan relative support dengan user define support threshold adalah sebagai berikut:

RS(TRUE,FALSE(T)) - RS(TRUE), RS(TRUE,FALSE(T)) - RS (FALSE(E) hasilnya harus lebih besar dari user define support threshold yaitu > 0.1. Setelah proses pengecekan ini maka proses berikutnya adalah mengukur tingkat korelasi asosiasi dari dua item yang akan digabungkan menjadi itemset

dengan menggunakan persamaan chisquare correlation. Berikut adalah cara perhitungannya:

Uji Chi square FALSE(E)

FALSE(E) Not FALSE(E) total

TRUE 38 5 43

NOT TRUE 4 54 58

total 42 59 101

X² 67.47937164

status Chi Yes Cut off 3.84

Hitung berapa kali itemset {TRUE, FALSE(E)} muncul, berapa kali masing – masing subset dari itemset gabungan muncul dalam transaksi. Setelah itu lakukab perhitungan dengan rumus dibawah ini:

, dari rumus ini maka dapat dihitung X² = ((38-43*42/101)²/(43*42/101)) + ((5-43*59/101)²/(43*59/101)) + ((4-58*42/101)²/(58*42/101)) + ((54-58*59/101)²/(58*59/101)) = 67.47937164.

Karena nilai dari X² >= 3.84, maka kedua item yang akan digabungkan yaitu {TRUE, FALSE(E)} memiliki hubungan asosiasi yang kuat dan bisa dimasukan dalam proses pembentukan aturan. Sebuah Itemset yang telah digabung dianggap memiliki hubungan asosiasi yang kuat apabila nilai dari korelasi chisquare lebih dari atau sama dengan nilai cutoff chisquare yaitu 3.84. Berikut adalah hasil 2-large itemset

setelah mengalami proses perhitungan dan penerapan batasan dalam setiap gabungan itemset.

Frequent 2-Itemsets:

1. Support: 0.8837209302325582{true(Hair), false(Eggs)} 2. Support: 0.9069767441860466{true(Hair), true(Milk)} 3. Support: 0.7209302325581396{true(Hair), 4(Legs)} 4. Support: 0.6818181818181818{true(Hair), true(Catsize)} 5. Support: 0.9069767441860466{true(Hair), mammal(Type)} 6. Support: 0.9152542372881357{false(Hair), true(Eggs)} 7. Support: 0.9333333333333335{false(Hair), false(Milk)}, 8. Support: 0.7586206896551725{false(Hair), false(Catsize)} 9. Support: 0.6666666666666667{true(Feathers),

true(Airborne)}

10. Support: 0.5{true(Feathers), false(Toothed)}

11. Support: 0.7407407407407407{true(Feathers), 2(Legs)} 12. Support: 1.0{true(Feathers), bird(Type)}

13. Support: 0.9523809523809524{false(Eggs), true(Milk)} 14. Support: 0.7142857142857143{false(Eggs), 4(Legs)} 15. Support: 0.7045454545454546{false(Eggs), true(Catsize)} 16. Support: 0.9523809523809524{false(Eggs),

mammal(Type)}

17. Support: 0.9666666666666667{true(Eggs), false(Milk)} 18. Support: 0.7796610169491526{true(Eggs), false(Catsize)}

19. Support: 0.7560975609756097{true(Milk), 4(Legs)} 20. Support: 0.7272727272727273{true(Milk), true(Catsize)} 21. Support: 1.0{true(Milk), mammal(Type)}

22. Support: 0.8{false(Milk), false(Catsize)} 23. Support: 0.5499999999999999{true(Airborne), false(Toothed)}

24. Support: 0.6666666666666666{true(Airborne), 2(Legs)} 25. Support: 0.6666666666666667{true(Airborne), bird(Type)} 26. Support: 0.5555555555555556{true(Aquatic),

false(Breathes)}

27. Support: 0.47222222222222227{true(Aquatic), true(Fins)} 28. Support: 0.5{true(Aquatic), 0(Legs)}

29. Support: 0.5{false(Toothed), 2(Legs)} 30. Support: 0.5{false(Toothed), bird(Type)}

31. Support: 0.33333333333333337{false(Backbone), false(Breathes)}

32. Support: 0.5555555555555556{false(Backbone), 6(Legs)} 33. Support: 0.6538461538461539{false(Backbone), false(Tail)} 34. Support: 0.5555555555555556{false(Backbone), invertebrate(Type)} 35. Support: 0.4444444444444445{false(Backbone), insect(Type)}

36. Support: 0.6190476190476191{false(Breathes), true(Fins)} 37. Support: 0.6956521739130435{false(Breathes), 0(Legs)} 38. Support: 0.6190476190476191{false(Breathes),

fish(Type)}

39. Support: 0.33333333333333337{false(Breathes), invertebrate(Type)}

40. Support: 0.6956521739130435{true(Fins), 0(Legs)} 41. Support: 0.7647058823529411{true(Fins), fish(Type)} 42. Support: 0.5909090909090909{4(Legs), true(Catsize)} 43. Support: 0.7560975609756097{4(Legs), mammal(Type)} 44. Support: 0.5652173913043478{0(Legs), fish(Type)} 45. Support: 0.7407407407407407{2(Legs), bird(Type)} 46. Support: 0.38461538461538464{6(Legs), false(Tail)} 47. Support: 0.7999999999999999{6(Legs), insect(Type)} 48. Support: 0.7272727272727273{true(Catsize),

mammal(Type)}

Frequent 2-Itemsets ini akan dianggap sebagai seed cluster 2. c. Pada 3-large itemset, proses penerapan batasan dan

perhitungannya sama dengan perhitungan dan penerapan batasan pada Frequent 2-Itemsets. Berikut adalah hasil dari

Frequent 3-Itemsets:

1. Support: 0.7999999999999999{true(Feathers), true(Airborne), false(Toothed)}

2. Support: 1.0{true(Feathers), false(Toothed), 2(Legs)} 3. Support: 0.888888888888889{true(Airborne), 2(Legs), bird(Type)}

4. Support: 0.7499999999999999{true(Aquatic), false(Breathes), 0(Legs)}

5. Support: 0.888888888888889{true(Aquatic), true(Fins), 0(Legs)}

6. Support: 1.0{false(Toothed), 2(Legs), bird(Type)} 7. Support: 0.7000000000000001{false(Backbone), false(Breathes), invertebrate(Type)}

8. Support: 0.7999999999999999{false(Backbone), 6(Legs), insect(Type)}

9. Support: 0.8125{false(Breathes), true(Fins), 0(Legs)} 10. Support: 1.0{false(Breathes), true(Fins), fish(Type)} 11. Support: 0.8125{false(Breathes), 0(Legs), fish(Type)}

Frequent 3-Itemsets ini akan dianggap sebagai seed cluster 3 Penggabungan itemset akan berhenti jika tidak ada itemset yang akan diperluas yang memenuhi syarat batasan yang ditentukan, yang terdapat pada langkah 2 pada tahap seed generation phase. Pada contoh ini, proses penggabungan itemset hanya sampai pada 3-large itemset, karena pada 4-large itemset tidak ada pasangan itemset yang memenuhi syarat batasan yang ditentukan. Anggota dari 3-large itemset inilah yang nantinya

akan menjadi centroid dalam setiap klaster. Banyaknya klaster tergantung pada banyaknya anggota dari large itemset terakhir, pada contoh ini terletak pada jumlah anggota dari 3-large itemset yaitu 11 klaster.

2. Allocation Phase

Tahap berikutnya adalah tahap allocation phase, yaitu tahap melakukan alokasi transaksi dalam dataset kedalam klaster. Berikut adalah contoh penerapan langkah tahap allocation phase kedalam dataset zoo.

a. Lakukan alokasi transaksi kedalam setiap klaster yang tersedia, tahap ini dilakukan dengan menghitung nilai similarity antara transaksi dalam dataset dengan centroid dari klaster. Perhitungan similarity menggunakan persamaan pada langkah 1 tahap allocation phase.

Berikut adalah contoh perhitungan similarity antara transaksi ke 12 dalam dataset dengan centroid {True(F), TRUE(A), FALSE(T)}.

Transaksi 12 memiliki anggota = {Chicken, FALSE, TRUE(F), TRUE(E), FALSE(M), TRUE(A), FALSE(AQ), FALSE(P), FALSE(T), TRUE(B), TRUE(BR), FALSE(V), FALSE(FI), 2, TRUE(TA), TRUE(D), FALSE(CA), bird}, sedangkan

centroid klaster memiliki anggota = {True(F), TRUE(A),

antara transaksi dan centroid) / ( jumlah gabungan itemset

anatara transaksi dan centroid – jumlah itemset yang sama antara transaksi dan centroid + 1).

Maka similarity = (3)/(18-3+1) = 0.1875. Perhitungan

similarity dilakukan terhadap semua transaksi terhadap semua

centroid dari klaster, transaksi akan dialokasikan terhadap semua klaster yang memberikan nilai similarity tertinggi dibandingkan klaster lainnya. Berikut adalah hasil dari alokasi transaksi pada putaran pertama.

Anggota klaster 2

Anggota klaster 4

Anggota klaster 6

Anggota klaster 7

Anggota klaster 9

Anggota klaster 11

b. Hitung nilai optimum klaster menggunakan fitness function

yang terdapat pada langkah 2 dalam tahap allocation phase. Dari 11 klaster yang terbentuk, dihitung nilai optimum klasternya dengan persamaan pada (2.11). nilai optimum klaster awal dinisialisasi dengan nilai 0. Berikut adalah contoh perhitungan nilai optimum dari klaster pada putaran ini:

J = (1/jumlah klaster) * ( jumlah rata - rata dari nilai similarity

antara transaksi dengan centroid klaster dari setiap klaster yang ada), maka J = (1/11) * ((0.1722222222222222) + (0.15576923076923072) + (0.15555555555555556) + (0.13967391304347826) + (0.14044444444444443) + (0.15576923076923072) + (0.16458333333333336) + (0.1875) + (0.16916666666666666) + (0.1875) + (0.16916666666666666)) = 0.16339556940643896, dimana 11 adalah jumlah klaster, dan 0.1722222222222222,

0.15576923076923072, 0.15555555555555556, 0.13967391304347826, 0.14044444444444443, 0.15576923076923072, 0.16458333333333336, 0.1875, 0.16916666666666666, 0.1875, 0.16916666666666666 adalah nilai rata - rata similarity dari setiap klaster.

c. Bandingkan nilai optimum klaster yang terbentuk dengan nilai optimum klaster sebelumnya. Dari putaran pertama ini didapat bahwa nilai optimum awal dibandingkan nilai optimum sekarang adalah lebih kecil sehingga perlu dilakukan perombakan centroid dari setiap klaster pada iterasi berikutnya, dengan cara mengganti centroid klaster dengan large itemset

yang dimiliki oleh transaksi pada setiap klaster. Perhitungan

large itemset dari setiap klaster memiliki proses yang sama dengan awal tahap inisial 1-large itemset pada tahap seed generation phase yang membedakan adalah |D|, nilai |D| dalam langkah ini adalah banyaknya transaksi yang terdapat dalam klaster yang akan diperbaharui centroid nya bukan jumlah transaksi dalam dataset.

d. Pada setiap iterasinya, hapus klaster yang tidak memiliki anggota

e. Lakukan langkah a sampai langkah d hingga syarat dalam langkah c yaitu nilai optimum sekarang <= nilai optimum awal terpenuhi.

f. Setelah proses transaction clustering selesai dengan terpenuhinya syarat dalam langkah c yaitu nilai optimum sekarang <= nilai optimum awal, maka klaster yang terbentuk pada putaran terakhir inilah yang akan digunakan sebagai klaster yang akan di tambang datanya sehingga dapat menghasilkan aturan asosiasi langka.

B. Apriori Inverse

Proses apriori inverse diterapkan terhadap semua klaster yang terbentuk pada proses transaction clustering, sehingga akan terbentuk aturan asosiasi langka dari masing-masing klaster. Jumlah klaster yang terbentuk setelah proses transaction clustering selesai adalah 8 klaster.,

Klaster 1

Klaster 3

Klaster 4

Klaster 6

Klaster 7

Klaster 8

Berikut adalah contoh penerapan apriori inverse kedalam datasetzoo yang telah mengalami proses transaction clustering:

Untuk setiap klaster, lakukan langkah dibawah ini:

1. Cari 1-large itemset, langkahnya sama seperti dalam algoritma apriori yaitu mencari large itemset akan tetapi terdapat perbedaan, pada inisialisasi awal large itemset. Dalam apriori menggunakan minsup

Dokumen terkait