4.3 Contoh Penerapan Algoritma APIC

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 UCI Machine Learning Repository yang berada pada website archive.ics.uci.edumlmachine-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 SuppTRUE = freqTRUE 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 {trueHair}, 2. Support: 0.5742574257425742 {falseHair}, 3. Support: 0.801980198019802 {falseFeathers}, 4. Support: 0.19801980198019803 {trueFeathers}, 5. Support: 0.4158415841584158 {falseEggs}, 6. Support: 0.5841584158415841 {trueEggs}, 7. Support: 0.40594059405940597 {trueMilk}, 8. Support: 0.594059405940594 {falseMilk}, 9. Support: 0.7623762376237624 {falseAirborne}, 10. Support: 0.2376237623762376 {trueAirborne}, 11. Support: 0.6435643564356436 {falseAquatic}, 12. Support: 0.3564356435643564 {trueAquatic}, 13. Support: 0.5544554455445545 {truePredator}, 14. Support: 0.44554455445544555 {falsePredator}, 15. Support: 0.6039603960396039 {trueToothed}, 16. Support: 0.39603960396039606 {falseToothed}, 17. Support: 0.8217821782178217 {trueBackbone}, 18. Support: 0.1782178217821782 {falseBackbone}, 19. Support: 0.7920792079207921 {trueBreathes}, 20. Support: 0.2079207920792079 {falseBreathes}, 21. Support: 0.9207920792079208 {falseVenomous}, 22. Support: 0.07920792079207921 {trueVenomous}, 23. Support: 0.8316831683168316 {falseFins}, 24. Support: 0.16831683168316833 {trueFins}, 25. Support: 0.37623762376237624 {4Legs}, 26. Support: 0.22772277227722773 {0Legs}, 27. Support: 0.26732673267326734 {2Legs}, 28. Support: 0.09900990099009901 {6Legs}, 29. Support: 0.25742574257425743 {falseTail}, 30. Support: 0.7425742574257426 {trueTail}, 31. Support: 0.8712871287128713 {falseDomestic}, 32. Support: 0.12871287128712872 {trueDomestic}, 33. Support: 0.43564356435643564 {trueCatsize}, 34. Support: 0.5643564356435643 {falseCatsize}, 35. Support: 0.40594059405940597 {mammalType}, 36. Support: 0.12871287128712872 {fishType}, 37. Support: 0.19801980198019803 {birdType}, 38. Support: 0.09900990099009901 {invertebrateType}, 39. Support: 0.07920792079207921 {insectType}. 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 FALSEE sebagai kandidat dari 2-large itemset, maka proses awalnya adalah melakukan perhitungan relative support dari masing – masing item, RSX = SUPX SUP Subset X dengan maximum support, karena item TRUE dan FALSEE belum memiliki subset, maka secara otomatis support dari X sekaligus menjadi relative support dari X, maka RSTRUE = Support TRUE = 0.425742574, RS FALSEE = Support FALSEE = 0.415841584. lain halnya jika menghitung relative support dari itemset {TRUE,FALSET}, maka relative support nya dihitung sebagi berikut: RSTRUE,FALSET = SupportTRUE,FALSETsupportTRUE, karena TRUE adalah subset dari itemset gabungan {TRUE,FALSET} 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: RSTRUE,FALSET - RSTRUE, RSTRUE,FALSET - RS FALSEE 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 FALSEE FALSEE Not FALSEE 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, FALSEE} 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-4342101²4342101 + 5- 4359101²4359101 + 4-5842101²5842101 + 54-5859101²5859101 = 67.47937164. Karena nilai dari X² = 3.84, maka kedua item yang akan digabungkan yaitu {TRUE, FALSEE} 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{trueHair, falseEggs} 2. Support: 0.9069767441860466{trueHair, trueMilk} 3. Support: 0.7209302325581396{trueHair, 4Legs} 4. Support: 0.6818181818181818{trueHair, trueCatsize} 5. Support: 0.9069767441860466{trueHair, mammalType} 6. Support: 0.9152542372881357{falseHair, trueEggs} 7. Support: 0.9333333333333335{falseHair, falseMilk}, 8. Support: 0.7586206896551725{falseHair, falseCatsize} 9. Support: 0.6666666666666667{trueFeathers, trueAirborne} 10. Support: 0.5{trueFeathers, falseToothed} 11. Support: 0.7407407407407407{trueFeathers, 2Legs} 12. Support: 1.0{trueFeathers, birdType} 13. Support: 0.9523809523809524{falseEggs, trueMilk} 14. Support: 0.7142857142857143{falseEggs, 4Legs} 15. Support: 0.7045454545454546{falseEggs, trueCatsize} 16. Support: 0.9523809523809524{falseEggs, mammalType} 17. Support: 0.9666666666666667{trueEggs, falseMilk} 18. Support: 0.7796610169491526{trueEggs, falseCatsize} 19. Support: 0.7560975609756097{trueMilk, 4Legs} 20. Support: 0.7272727272727273{trueMilk, trueCatsize} 21. Support: 1.0{trueMilk, mammalType} 22. Support: 0.8{falseMilk, falseCatsize} 23. Support: 0.5499999999999999{trueAirborne, falseToothed} 24. Support: 0.6666666666666666{trueAirborne, 2Legs} 25. Support: 0.6666666666666667{trueAirborne, birdType} 26. Support: 0.5555555555555556{trueAquatic, falseBreathes} 27. Support: 0.47222222222222227{trueAquatic, trueFins} 28. Support: 0.5{trueAquatic, 0Legs} 29. Support: 0.5{falseToothed, 2Legs} 30. Support: 0.5{falseToothed, birdType} 31. Support: 0.33333333333333337{falseBackbone, falseBreathes} 32. Support: 0.5555555555555556{falseBackbone, 6Legs} 33. Support: 0.6538461538461539{falseBackbone, falseTail} 34. Support: 0.5555555555555556{falseBackbone, invertebrateType} 35. Support: 0.4444444444444445{falseBackbone, insectType} 36. Support: 0.6190476190476191{falseBreathes, trueFins} 37. Support: 0.6956521739130435{falseBreathes, 0Legs} 38. Support: 0.6190476190476191{falseBreathes, fishType} 39. Support: 0.33333333333333337{falseBreathes, invertebrateType} 40. Support: 0.6956521739130435{trueFins, 0Legs} 41. Support: 0.7647058823529411{trueFins, fishType} 42. Support: 0.5909090909090909{4Legs, trueCatsize} 43. Support: 0.7560975609756097{4Legs, mammalType} 44. Support: 0.5652173913043478{0Legs, fishType} 45. Support: 0.7407407407407407{2Legs, birdType} 46. Support: 0.38461538461538464{6Legs, falseTail} 47. Support: 0.7999999999999999{6Legs, insectType} 48. Support: 0.7272727272727273{trueCatsize, mammalType} 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{trueFeathers, trueAirborne, falseToothed} 2. Support: 1.0{trueFeathers, falseToothed, 2Legs} 3. Support: 0.888888888888889{trueAirborne, 2Legs, birdType} 4. Support: 0.7499999999999999{trueAquatic, falseBreathes, 0Legs} 5. Support: 0.888888888888889{trueAquatic, trueFins, 0Legs} 6. Support: 1.0{falseToothed, 2Legs, birdType} 7. Support: 0.7000000000000001{falseBackbone, falseBreathes, invertebrateType} 8. Support: 0.7999999999999999{falseBackbone, 6Legs, insectType} 9. Support: 0.8125{falseBreathes, trueFins, 0Legs} 10. Support: 1.0{falseBreathes, trueFins, fishType} 11. Support: 0.8125{falseBreathes, 0Legs, fishType} 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 {TrueF, TRUEA, FALSET}. Transaksi 12 memiliki anggota = {Chicken, FALSE, TRUEF, TRUEE, FALSEM, TRUEA, FALSEAQ, FALSEP, FALSET, TRUEB, TRUEBR, FALSEV, FALSEFI, 2, TRUETA, TRUED, FALSECA, bird}, sedangkan centroid klaster memiliki anggota = {TrueF, TRUEA, FALSET}, maka nilai similarity = jumlah itemset yang sama antara transaksi dan centroid jumlah gabungan itemset anatara transaksi dan centroid – jumlah itemset yang sama antara transaksi dan centroid + 1. Maka similarity = 318-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 1 Anggota klaster 2 Anggota klaster 3 Anggota klaster 4 Anggota klaster 5 Anggota klaster 6 Anggota klaster 7 Anggota klaster 8 Anggota klaster 9 Anggota klaster 10 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 = 1jumlah klaster jumlah rata - rata dari nilai similarity antara transaksi dengan centroid klaster dari setiap klaster yang ada, maka J = 111 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., berikut adalah data lengkap adri ke 8 klaster tersebut: Klaster 1 Klaster 2 Klaster 3 Klaster 4 Klaster 5 Klaster 6 Klaster 7 Klaster 8 Berikut adalah contoh penerapan apriori inverse kedalam dataset zoo 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 sebagai acuan untuk menghasilkan large itemset, akan tetapi pada algoritma ini menggunakan maxsup sebagai pembatas atas nilai support dan MinAbsSup sebagai pembatas bawah nilai support. Berikut adalah pentuan large itemset dan aturan dari setiap klaster. Tentukan nilai maxcount dari klaster diatas dengan cara: maxcount = jumlah transaksi 0.3, dimana 0.3 adalah inisialisasi maxsup yang diberikan dalam sistem pada awal proses penambangan data. Semua itemset yang memiliki support di bawah maxsup atau memiliki jumlah di bawah maxcount akan masuk dalam proses pembentukan aturan. 2. Cari k-large itemsets, dimana k bernilai 2, 3, 4, . .,k. Cara melakukan pencarian k-large itemset sama dengan cara mencari k-large itemset dengan proses apriori hanya saja ada batasan MinAbsSup yang digunakan sebagai pengganti dari minsup, selain itu juga ada maxcount untuk membatasi jumlah dari itemset agar tidak berlebihan. Berikut adalah contoh perhitungan MinAbsSup dari kandidat itemset yang akan digabung pada kandidat 2-large itemset, dengan sebelumnya melakukan perhitungan pcc dari item yang akan digabungkan tersebut sesuai dengan persamaan yang ada dalam langkah 2 proses apriori inverse: Pada itemset gabungan { TRUEAQ,FALSEP}, hitung nilai pcc dari itemset tersebut untuk setiap waktunya berdasar persamaan pcc pada langkah 2 proses apriori inverse. Pcc0|4,1,1 = 10 1-0 4-1 1-04-1 - 1-0 4 1 4-1 = 0.75, begitu seterusnya hingga jumlah nilai Pcc =1-0.001, jika sudah mencapai titik itu, maka perhitungan pcc dihentikan dan waktu pcc terakhir itulah yang dijadikan sebagai MinAbsSup. Semisal perhitungan pcc berhenti pada Pcc1|6,1,1 maka nilai MinAbsSup = 1 untuk gabungan itemset ini, jika nilai support count dari itemset ini dari MinAbsSup dan Maxcount maka itemset ini berhak masuk dalam proses pembentukan aturan. 3. Hapus itemset yang memiliki support count MinAbsSup atau Maxcount. 4. Proses Apriori inverse berhenti jika tidak ada gabungan itemset yang memenuhi syarat perluasan item yaitu support count dari itemset ini dari MinAbsSup dan Maxcount, sehingga semua itemset dalam kandidat harus dihapus dari proses pembentukan aturan asosiasi langka. 5. Jika jumlah itemset memungkinkan untuk melakukan proses perluasan itemset selanjutnya maka lakukan langkah 1, 2, 3 sampai tidak ada itemset yang memenuhi syarat support count dari MinAbsSup dan Maxcount. Tetapi karena itemset yang memenuhi syarat perluasan tidak dapat dipeluas lagi, maka itemset ini digunakan sebagai itemset dalam pembentukan aturan asosiasi langka. 6. Hitung nilai confidence itemset yang memenuhi syarat pada langkah 2. Berdasar pada persamaan yang terdapat pada langkah 5 proses apriori inverse, maka didapat proses perhitungan dibawah ini: 7. Dari kandidat itemset dalam langkah 3, dibentuklah aturan langka dengan cara sama seperti dalam apriori, dengan minconf = 90. Setiap klaster memiliki aturan langka sendiri, dari semua klaster dalam contoh ini ada 2 klaster yang menghasilkan aturan asosiasi langka yaitu klaster 1 dan klaster 5, dimana keduanya menghasilkan aturan yang sama seperti dibawah ini: Atruan 1 TRUEAQ  TRUEFI = supTRUEAQ,TRUEFI supTRUEAQ = 14.28571 21.42857 = 0.666667, Maka aturan ini tidak termasuk langka. Aturan 2 TRUEFI  TRUEAQ = supTRUEAQ,TRUEFI supTRUEFI = 14.28571 14.28571 = 1 = 1100 = 100, maka dari klaster ini terbentuk aturan TRUEFI  TRUEAQ, yang merupakan aturan langka. Aturan 3 TRUEFI0 = supTRUEFI,0 supTRUEFI = 0.75 Aturan4 0TRUEFI = supTRUEFI,0 sup0 = 1 Maka aturan asosiasi langka yang didapat dari klaster 1 dan 5 adalah: TRUEFI  TRUEAQ 0TRUEFI 61

BAB III ANALISA DAN PERANCANGAN

III. 1. Identifikasi dan Analisis Sistem

Asosiasi adalah salah satu teknik yang terkenal dan banyak digunakan. Salah satu kegunaanya adalah mendeteksi item, himpunan item, dan hubungan antar item dalam basis data yang memiliki frekuesi kemunculan tinggi. Fokus dari asosiasi adalah menemukan item dan himpunan item yang sering kali muncul dalam transaksi yang terjadi dalam basis data dan nantinya bisa diolah menjadi data penting yang bisa digunakan sebagai pertimbangan dalam mengambil kebijakan. Dalam aturan asosiasi fokus yang diberikan terhadap item langka sangat kecil, karena item ini terjadi hanya pada lingkup transaksi yang kecil dan terbatas, sehingga bagian ini jarang tereksplorasi dalam proses penambangan aturan asosiasi bahkan item ini dipangkas dari proses penambangan aturan asosiasi. Namun dalam beberapa aplikasi terapan dari aturan asosiasi mulai memperhatikan item langka, karena item yang berjumlah sedikit inilah yang merupakan item penting dan perlu mendapat perhatian khusus. Berdasar pada alasan inilah maka muncul proses penambangan aturan asosiasi langka rare association rule mining yang digunakan untuk mendeteksi item, himpunan item, dan hubungan antar item yang bersifat jarang atau langka.