Senin, 29 April 2013

Algoritma Apriori

Oleh Kelompok 1

IRFAN JUNI (H121 10 251)
NOER NI’MAT (H121 10 260)
MEGAWATI (H121 10 274)
AMANDA (H121 10 284)


A. Pendahuluan

Data mining merupakan suatu proses pendukung pengambil keputusan dimana kita mencari pola informasi dalam data. Pencarian ini dapat dilakukan oleh pengguna, misalnya dengan menggunakan query (dalam kasus ini sangat sulit dilakukan) atau dapat dibantu dengan suatu aplikasi yang secara otomatis mencari pola informasi pada basis data. Pencarian ini disebut discovery. Discovery adalah proses pencarian dalam basis data untuk menemukan pola yang tersembunyi tanpa ide yang didapatkan sebelumnya atau hipotesa tentang pola yang ada. Dengan kata lain aplikasi mengambil inisiatif untuk menemukan pola dalam data tanpa pengguna berpikir mengenai pertanyaan yang relevan terlebih dulu.

Salah satu bentuk pola yang dapat dihasilkan data mining adalah association rule. Association Rule dapat digunakan untuk menemukan: hubungan atau sebab akibat.

 Association rule memiliki bentuk LHS RHS dengan interpretasi bahwa jika setiap item dalam LHS (Left Hand Side) dibeli, maka item dalam RHS (Right Hand Side) juga dibeli. Association rule dapat dihasilkan dengan Algoritma Apriori. Salah satu penggunaan Association rule adalah mendukung pengambilan keputusan dalam bidang pemasaran, misalnya untuk mengetahui pola pembelian pelanggan, penentuan tata letak barang dan lain-lain.


B. Pengertian Association Rule
Association rule  adalah salah satu teknik utama atau prosedur dalam Market Basket Analysis untuk mencari hubungan antat item dalam suatu data set dan menampilkan dalam bentuk association rule (Budhi dkk,2007). Association rule (aturan asosiatif) akan menemukan pola tertentu yang mengasosiasikan data yang satu dengan data yang lain. Untuk mencari association rule dari suatu kumpulan data, tahap pertama yang harus dilakukan adalah mencari  frequent itemset  terlebih dahulu. Frequent itemset adalah  sekumpulan item yang sering muncul secara bersamaan. Setelah semua pola frequent itemset ditemukan, barulah mencari aturan asosiatif atau aturan keterkaitan yang memenuhi syarat yang telah ditentukan.
Jika diasumsikan bahwa barang yang dijual di swalayan adalah semesta, maka setiap barang akan memiliki bolean variabel yang akan menunjukkan keberadaannya atau tidak barang tersebut dalam satu transaksi atau satu keranjang belanja. Pola bolean yang didapat dugunakan untuk menganalisa barang yang sering dibeli secara bersamaan. Pola tersebut dapat dirumuskan dalam sebuah association rule. Sebagai contoh konsumen biasanya akan membeli kopi dan susu yang ditunjukkan sebagai berikut :
Kopi à susu [support =2%, confidence=60%]
            Association rule diperlukan suatu variable ukuran yang ditentukan sendiri oleh user untuk menentukan batasan sejauh mana atau sebanyak apa output yang diinginkan user.
            Support dan confidence adalah sebuah ukuran kepercayaan dan kegunaan suatu pola yang telah ditemukan. Nilai support 2% menunjukkan bahwa keseluruhan dari total transaksi konsumen membeli kopi dan susu secara bersamaan yaitu sebanyak 2%. Sedangkan confidence 60% yaitu menunjukkan bila konsumen membeli kopi dan pasti membeli  susu sebesar 60%.

C. Pengertian Algoritma Apriori
Algoritma Apriori adalah salah satu algoritma yang melakukan pencarian frequent itemset dengan menggunakan teknik association rule (Erwin, 2009). Algoritma Apriori menggunakan pengetahuan frekuensi atribut yang telah diketahui sebelumnya untuk memproses informasi selanjutnya. Pada algoritma Apriori  menentukan kandidat yang mungkin muncul dengan cara memperhatikan minimum support dan minimum confidence. Support adalah nilai pengunjung atau persentase kombinasi sebuah item dalam database.
Rumus support adalah sebagai berikut :

Support (A) = (jumlah transaksi mengandung A / Total transaksi) x 100% …. (1)

Sedangkan confidence adalah nilai kepastian yaitu kuatnya hubungan antar item dalam sebuah Apriori. Confidence dapat dicari setelah pola frekuensi munculnya sebuah item ditemukan. Rumus untuk menghitung confidence adalah sebagai berikut :
Contoh misalnya ditemukan aturan AàB maka:

…………..………… (2)
Confidence P(B|A) =
Proses utama yang dilakukan dalam algoritma Apriori untuk mendapat frequent itemset yaitu (Erwin, 2009) :
1.        Join (penggabungan)
Proses ini dilakukan dengan cara pengkombinasian item dengan item yang lainnya hingga tidak dapat terbentuk kombinasi lagi.
2.        Prune (pemangkasan)
Proses pemangkasan yaitu hasil dari item yang telah dikombinasikan kemudian dipangkas dengan menggunakan minimum support yang telah ditentukan oleh user.
Pada iterasi ke-k akan ditemukan semua itemset yang memiliki k item, disebut dengan k-itemset. Tiap iterasi terdiri dari dua tahap, yaitu :
-          Gunakan frequent (k-1) itemset untuk membangun kandidat frequent k-itemset
-          Gunakan scan database dan pencocokan pola untuk mengumpulkan hitungan untuk kandidat itemset

secara garis besar cara kerja algoritma apriori adalah:

  1. Pembentukan kandidat itemset, Kandidat k-itemset dibentuk dari kombinasi (k-1)-itemset yang didapat dari iterasi sebelumnya. Satu ciri dari algoritma Apriori adalah adanya pemangkasan kandidat k-itemset yang subset-nya yang berisi k-1 item tidak termasuk dalam pola frekuensi tinggi dengan panjang k-1.
  2. Penghitungan support dari tiap kandidat k-itemset. Support dari tiap kandidat k-itemset didapat dengan men-scan database untuk menghitung jumlah transaksi yang memuat semua item di dalam kandidat k-itemset tsb. Ini adalah juga ciri dari algoritme Apriori dimana diperlukan penghitungan dengan scan seluruh database sebanyak k-itemset terpanjang.
  3. Tetapkan pola frekuensi tinggi. Pola frekuensi tinggi yang memuat k item atau k-itemset ditetapkan dari kandidat k-itemset yang support-nya lebih besar dari minimum support.
  4. Bila tidak didapat pola frekuensi tinggi baru maka seluruh proses dihentikan. Bila tidak, maka k ditambah satu dan kembali ke bagian 1.


Prinsip dari Algoritma Apriori antara lain :
1)      Mengumpulkan item yang tunggal kemudian mencari item yang terbesar.
2)      Dapatkan candidate pairs kemudian hitung large pairs dari masing-masing item.
3)      Temukan candidate triplets dari setiap item dan seterusnya.
4)      Setiap subset dari sebuah frequent itemset harus menjadi frequent. 

D. Contoh dan Implementasi

berikut akan di berikan beberapa contoh dan implementasi algoritma apriori.
1. Contoh sederhana:
Misalkan kita memiliki table transaction seperti berikut ini
Selanjutnya yang akan kita lakukan adalah melihat ketersediaan item dalam setiap transaksi artinya kita melihat ada berapa banyak item1 dalam transaksi di atas begitupula dengan item ke 2 dan seterusnya
Hasilnya adalah
Item ke
banyaknya
1
2
3
4
5
2
3
3
1
3
Selanjutnya kita menentukan minimum support, biasanya dalam apriori, minimum support adalah 50% artinya jika dihitung, nilainya adalah sebesar 2 sebab total transaksi ada 4 (T100,..,T400) sehingga 50% dari 4 adalah 2. Lalu dari table di atas kita akan mengeliminasi item yang tidak mencapai 2 jumlahnya maka hasilnya adalah
Item ke
banyaknya
1
2
3
5
2
3
3
3

Dan jika kita kombinasikan maka hasilnya adalah


Item ke
banyaknya
(1,2)
(1,3)
(1,5)
(2,3)
(2,5)
(3,5)
1
2
1
2
3
2
Kolom banyaknya di isi dengan seberapa banyak kombinasi item muncul pada setiap transaksi. Selanjutnya kita kemudian kembali mengeliminasi kombinasi item yang jumlahnya di bawah 2, dan hasilnya adalah
Item ke
banyaknya
 (1,3)
 (2,3)
(2,5)
(3,5)
2
2
3
2
Dan jika kita kombinasikan dimana setiap kombinasi menghasilkan 3 elemen hasilnya adalah
Item ke
banyaknya
 (1,2,3)
 (1,2,5)
(1,3,5)
(2,3,5)
1
1
1
2

Jadi yang memenuhi syarat adalah kombinasi 2,3,5
Kemudian kita menentukan tingkat confidence dari kombinasi 2,3,5
Caranya adalah
Confidence 2,3>5 =confidence 2 + confidence 3 + confidence 5/confidence 2x3x5
                           =2 / (2 x 3)=2/6=0.33 =33%
Jadi dari 33 persen dari total pembelian yang membeli barang 2 dan 3 pasti membeli barang  5 .

2. Implementasi dengan program R language
Suatu supermarket kecil ingin menganalisa hubungan keterikatan antara suatu barang dengan barang lainnya. Berikut adalah data penjualan barang-barang yang ingin di lihat keterikatannya. Data ini diambil dalam durasi penjualan satu hari. Maksud dari I1 adalah mewakili barang 1, I2 mewakili barang 2 dan seterusnya sampai I5 mewakili barang ke 5. Berikut table transaksi dan pembelian setiap itemnya:


Transaksi
Barang
yang dibeli
1
I1,I2,I5
2
I1,I3,I4
3
I1,I2
4
I1,I2,I4
5
I1,I2,I3,I5
6
I2,I3,I5
7
I1,I2,I3
8
I4,I5
9
I1,I4,I5
10
I2,I3
11
I1,I2,I3,I4,I5
12
I2,I3,I5
13
I2,I4,I5
14
I1,I2
15
I1,I2
16
I2,I4,I5
17
I1,I2,I4
18
I1,I2
19
I1,I3,I4
20
I1,I2,I3,I4,I5
Transaksi
Barang
yang dibeli
21
I1,I2,I3
22
I2,I3,I4
23
I1,I2
24
I2,I3,I5
25
I1,I2,I3,I4,I5
26
I2,I3,I4
27
I1,I3,I4
28
I1,I2,I4
29
I1,I2
30
I3,I4,I5
31
I1,I2,I3,I4,I5
32
I2,I3,I4
33
I3,I4,I5
34
I1,I3,I5
35
I2,I4
36
I1,I2,I3
37
I1,I2
38
I2,I3,I4
39
I1,I2,I5
40
I1,I2,I3,I4,I5

Transaksi
Barang
yang dibeli
41
I3,I4,I5
42
I1,I2,I3
43
I3,I4,I5
44
I1,I2
45
I3,I4,I5
46
I1,I2,I3
47
I1,I2,I3,I4
48
I3,I4,I5
49
I1,I2,I3
50
I1,I2
51
I2,I3,I4
52
I1,I3,I4
53
I2,I3,I5
54
I1,I2,I3,I4,I5
55
I2,I3,I4
56
I1,I3,I4
57
I1,I2,I4
58
I1,I2
59
I3,I4,I5
60
I1,I2,I3,I4,I5
Transaksi
Barang
yang dibeli
61
I1,I2,I4
62
I3,I4,I5
63
I2,I3,I4
64
I1,I2
65
I3,I4,I5
66
I1,I3,I5
67
I2,I4
68
I1,I2,I3
69
I2,I4
70
I2,I3,I5
71
I1,I2,I3,I4,I5
72
I2,I3,I4
73
I1,I3,I4
74
I1,I2,I4
75
I1,I2
76
I3,I4,I5
77
I1,I5
78
I3,I4,I5
79
I1,I2
80
I1,I2,I4


Transaksi
Barang
yang dibeli
81
I3,I4,I5
82
I1,I2
83
I3,I4,I5
84
I1,I2,I4
85
I3,I4,I5
86
I1,I2,I4
87
I1,I3,I4,I5
88
I1,I3
89
I2,I3,I4
90
I2,I3,I5
91
I1,I2,I4,I5
92
I1,I2,I3,I4,I5
93
I2,I3,I4
94
I1,I5
95
I1,I2,I4
96
I1,I3
97
I2,I3,I5
98
I1,I2,I3,I4,I5
99
I2,I3,I4
100
I1,I3,I4
Transaksi
Barang
yang dibeli
101
I1,I2,I4
102
I1,I2
103
I3,I4,I5
104
I1,I2,I5
105
I1,I3,I4,I5
106
I3,I4,I5
107
I2,I3,I4
108
I3,I4,I5
109
I1,I3
110
I1,I3,I5
111
I1,I3,I4,I5
112
I3,I4,I5
113
I1,I2,I3
114
I3,I4,I5
115
I1,I3,I5
116
I1,I2
117
I2,I4
118
I3,I4,I5
119
I2,I3,I4
120
I1,I2

Transaksi
Barang
yang dibeli
121
I1,I3,I4
122
I3,I4,I5
123
I1,I3,I4,I5
124
I3,I4,I5
125
I1,I3,I5
126
I2,I3,I5
127
I1,I2,I3,I4,I5
128
I2,I3,I4
129
I1,I3,I4
130
I1,I2,I4
131
I1,I2
132
I3,I4,I5
133
I2,I4
134
I1,I2,I4
135
I1,I2,I3,I4
136
I3,I4,I5
137
I3,I4,I5
138
I1,I2,I3,I4
139
I2,I3,I4
140
I3,I4,I5
Transaksi
Barang
yang dibeli
141
I1,I3,I5
142
I2,I4
143
I3,I4,I5
144
I1,I2,I4
145
I1,I2,I3,I4
146
I3,I4,I5
147
I3,I4,I5
148
I1,I5
149
I1,I2,I4
150
I3,I4,I5
151
I1,I2,I3,I4
152
I1,I2,I4
153
I1,I3,I4,I5
154
I1,I2,I3
155
I2,I3,I4
156
I1,I3,I4,I5
157
I1,I3,I4
158
I1,I2,I4
159
I3,I4,I5
160
I2,I3,I5





Transaksi
Barang
Transaksi
Barang
yang dibeli
yang dibeli
161
I1,I2,I3,I4,I5
181
I1,I2,I3,I4,I5
162
I2,I3,I4
182
I2,I3,I5
163
I1,I3,I4
183
I2,I4,I5
164
I1,I2,I4
184
I2,I4,I5
165
I1,I2
185
I1,I2,I3,I4
166
I3,I4,I5
186
I1,I3,I4,I5
167
I1,I3,I4,I5
187
I1,I2,I4
168
I2,I3,I4
188
I1,I3,I4
169
I3,I4,I5
189
I1,I2,I3,I4,I5
170
I1,I3,I4,I5
190
I1,I3,I5
171
I1,I3,I5
191
I3,I4,I5
172
I2,I4
192
I1,I2,I3,I4
173
I1,I2,I3
193
I1,I2,I3
174
I2,I4
194
I3,I4,I5
175
I2,I4,I5
195
I1,I2
176
I2,I4,I5
196
I2,I3,I4
177
I1,I2,I4
197
I1,I3,I4,I5
178
I1,I5
198
I1,I3,I4
179
I1,I3,I4
199
I1,I2,I3
180
I2,I3
200
I1,I3,I4,I5
201
I2,I3,I4
202
I1,I3,I4
Langkah langkah yang akan kita lakukan untuk menentukan hubungan asosiasi (association rule) untuk kasus di atas dengan bantuan software R adalah :

1.      Input data di atas ke dalam program R dengan terlebih dahulu meload package arules, package ini berfungsi untuk menganalisis hubungan suatu data dengan algoritma apriori dalam program R. untuk meloadnya cukup ketikan script seperti gambar di bawah ini :
2.      Mulai menginput data sesuai format berikut ini
>a_list <- list(c(item ke-1 yang dibeli, item ke-2 yang dibeli, …)
Lebih lengkapnya script adalah sebagai berikut
> a_list <-list(
+ c("I1","I2","I5"),
+ c("I2","I3","I4"),
+ c("I1","I2"),
+ c("I1","I2","I4"),
+ c("I1","I2","I3","I5"),
+ c("I2","I3","I5"),
+ c("I1","I2","I3"),
+ c("I4","I5"),
+ c("I1","I4","I5"),
+ c("I2","I3"),
+ c("I1","I2","I3","I4","I5"),
+ c("I2","I3","I5"),
+ c("I2","I4","I5"),
+ c("I1","I2"),
+ c("I1","I2"),
+ c("I2","I4","I5"),
+ c("I1","I2","I4"),
+ c("I1","I2"),
+ c("I1","I3","I4"),
+ c("I1","I2","I3","I4","I5"),
+ c("I1","I2","I3"),
+ c("I2","I3","I4"),
+ c("I1","I2"),
+ c("I2","I3","I5"),
+ c("I1","I2","I3","I4","I5"),
+ c("I2","I3","I4"),
+ c("I1","I3","I4"),
+ c("I1","I2","I4"),
+ c("I1","I2"),
+ c("I3","I4","I5"),
+ c("I1","I2","I3","I4","I5"),
+ c("I2","I3","I4"),
+ c("I3","I4","I5"),
+ c("I1","I3","I5"),
+ c("I2","I4"),
+ c("I1","I2","I3"),
+ c("I1","I2"),
+ c("I2","I3","I4"),
+ c("I1","I2","I5"),
+ c("I1","I2","I3","I4","I5"),
+ c("I3","I4","I5"),
+ c("I1","I2","I3"),
+ c("I3","I4","I5"),
+ c("I1","I2"),
+ c("I3","I4","I5"),
+ c("I1","I2","I3"),
+ c("I1","I2","I3","I4"),
+ c("I3","I4","I5"),
+ c("I1","I2","I3"),
+ c("I1","I2"),
+ c("I2","I3","I4"),
+ c("I1","I3","I4"),
+ c("I2","I3","I5"),
+ c("I1","I2","I3","I4","I5"),
+ c("I2","I3","I4"),
+ c("I1","I3","I4"),
+ c("I1","I2","I4"),
+ c("I1","I2"),
+ c("I3","I4","I5"),
+ c("I1","I2","I3","I4","I5"),
+ c("I1","I2","I4"),
+ c("I3","I4","I5"),
+ c("I2","I3","I4"),
+ c("I1","I2"),
+ c("I3","I4","I5"),
+ c("I1","I3","I5"),
+ c("I2","I4"),
+ c("I1","I2","I3"),
+ c("I2","I4"),
+ c("I2","I3","I5"),
+ c("I1","I2","I3","I4","I5"),
+ c("I2","I3","I4"),
+ c("I1","I3","I4"),
+ c("I1","I2","I4"),
+ c("I1","I2"),
+ c("I3","I4","I5"),
+ c("I1","I5"),
+ c("I3","I4","I5"),
+ c("I1","I2"),
+ c("I1","I2","I4"),
+ c("I3","I4","I5"),
+ c("I1","I2"),
+ c("I3","I4","I5"),
+ c("I1","I2","I4"),
+ c("I3","I4","I5"),
+ c("I1","I2","I4"),
+ c("I1","I3","I4","I5"),
+ c("I1","I3"),
+ c("I2","I3","I4"),
+ c("I2","I3","I5"),
+ c("I1","I2","I4","I5"),
+ c("I1","I2","I3","I4","I5"),
+ c("I2","I3","I4"),
+ c("I1","I5"),
+ c("I1","I2","I4"),
+ c("I1","I3"),
+ c("I2","I3","I5"),
+ c("I1","I2","I3","I4","I5"),
+ c("I2","I3","I4"),
+ c("I1","I3","I4"),
+ c("I1","I2","I4"),
+ c("I1","I2"),
+ c("I3","I4","I5"),
+ c("I1","I2","I5"),
+ c("I1","I3","I4","I5"),
+ c("I3","I4","I5"),
+ c("I2","I3","I4"),
+ c("I3","I4","I5"),
+ c("I1","I3"),
+ c("I1","I3","I5"),
+ c("I1","I3","I4","I5"),
+ c("I3","I4","I5"),
+ c("I1","I2","I3"),
+ c("I3","I4","I5"),
+ c("I1","I3","I5"),
+ c("I1","I2"),
+ c("I2","I4"),
+ c("I3","I4","I5"),
+ c("I2","I3","I4"),
+ c("I1","I2"),
+ c("I1","I3","I4"),
+ c("I3","I4","I5"),
+ c("I1","I3","I4","I5"),
+ c("I3","I4","I5"),
+ c("I1","I3","I5"),
+ c("I2","I3","I5"),
+ c("I1","I2","I3","I4","I5"),
+ c("I2","I3","I4"),
+ c("I1","I3","I4"),
+ c("I1","I2","I4"),
+ c("I1","I2"),
+ c("I3","I4","I5"),
+ c("I2","I4"),
+ c("I1","I2","I4"),
+ c("I1","I2","I3","I4"),
+ c("I3","I4","I5"),
+ c("I3","I4","I5"),
+ c("I1","I2","I3","I4"),
+ c("I2","I3","I4"),
+ c("I3","I4","I5"),
+ c("I1","I3","I5"),
+ c("I2","I4"),
+ c("I3","I4","I5"),
+ c("I1","I2","I4"),
+ c("I1","I2","I3","I4"),
+ c("I3","I4","I5"),
+ c("I3","I4","I5"),
+ c("I1","I5"),
+ c("I1","I2","I4"),
+ c("I3","I4","I5"),
+ c("I1","I2","I3","I4"),
+ c("I1","I2","I4"),
+ c("I1","I3","I4","I5"),
+ c("I1","I2","I3"),
+ c("I2","I3","I4"),
+ c("I1","I3","I4","I5"),
+ c("I1","I3","I4"),
+ c("I1","I2","I4"),
+ c("I3","I4","I5"),
+ c("I2","I3","I5"),
+ c("I1","I2","I3","I4","I5"),
+ c("I2","I3","I4"),
+ c("I1","I3","I4"),
+ c("I1","I2","I4"),
+ c("I1","I2"),
+ c("I3","I4","I5"),
+ c("I1","I3","I4","I5"),
+ c("I2","I3","I4"),
+ c("I3","I4","I5"),
+ c("I1","I3","I4","I5"),
+ c("I1","I3","I5"),
+ c("I2","I4"),
+ c("I1","I2","I3"),
+ c("I2","I4"),
+ c("I2","I4","I5"),
+ c("I2","I4","I5"),
+ c("I1","I2","I4"),
+ c("I1","I5"),
+ c("I1","I3","I4"),
+ c("I2","I3"),
+ c("I1","I2","I3","I4","I5"),
+ c("I2","I3","I5"),
+ c("I2","I4","I5"),
+ c("I2","I4","I5"),
+ c("I1","I2","I3","I4"),
+ c("I1","I3","I4","I5"),
+ c("I1","I2","I4"),
+ c("I1","I3","I4"),
+ c("I1","I2","I3","I4","I5"),
+ c("I1","I3","I5"),
+ c("I3","I4","I5"),
+ c("I1","I2","I3","I4"),
+ c("I1","I2","I3"),
+ c("I3","I4","I5"),
+ c("I1","I2"),
+ c("I2","I3","I4"),
+ c("I1","I3","I4","I5"),
+ c("I1","I3","I4"),
+ c("I1","I2","I3"),
+ c("I1","I3","I4","I5"),
+ c("I2","I3","I4"),
+ c("I1","I3","I4")
+ )
Angka I1,I2,I3,I4,I5 menyatakan item yang dibeli setiap transaksi
3.      Selanjutnya kita menambahkan angka T dan akhiran 0 untuk setiap transaksi agar transaksinya mudah kita analisis dalam table R, kita ketikan
>names(a_list)<-paste("T",c(1:202),"0",sep="")
a_list adalah nama list dari daftar transaksi yang telah kita buat tadi
untuk melihat hasilnya kita ketikan\
>a_list

4.      Selanjutnya kita membuat table transaksi dan menganalisisnya, kita ketikan
> tabel1<-as(a_list,"transactions") pada console R

5.      Selanjutny untuk melihat deskripsi dari table transaksi tadi kita ketikan

> summary(tabel1)
transactions as itemMatrix in sparse format with
 202 rows (elements/itemsets/transactions) and
 5 columns (items) and a density of 0.609901

most frequent items:
     I4      I3      I2      I1      I5 (Other)
    139     138     125     119      95       0

element (itemset/transaction) length distribution:
sizes
  2   3   4   5
 38 130  20  14

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
   2.00    3.00    3.00    3.05    3.00    5.00

includes extended item information - examples:
  labels
1     I1
2     I2
3     I3

Dari hasil di atas kita ketahui bahwa item ke 4 (I4) paling sering muncul dalam pembelian dimana item tersebut muncul sebanyak 139 kali sementara item yang paling sedikit muncul adalah item k 5 demana item ini muncul 95 kali

6.      Selanjutnya kita menghitung frekuensi absolut dan frekuensi relative setiap item, kita ketikan
> itemFrequency(tabel1, type="relative")

Hasilnya adalah

       I1        I2        I3        I4        I5
0.5891089 0.6188119 0.6831683 0.6881188 0.4702970

> itemFrequency(tabel1, type="absolute")

Hasilnya adalah

I1  I2  I3  I4  I5
119 125 138 139  95

7.      Selanjutnya kita membuat proses algoritma apriorinya kita ketikan
>rules <-apriori(tabel1)
Lalu kita ketikan
>inspect(rules)
Hasilnya adalah sebagai berikut
lhs     rhs    support confidence     lift
1 {I5} => {I3} 0.3910891  0.8315789 1.217239
2 {I4,                                     
   I5} => {I3} 0.2970297  0.8695652 1.272842
3 {I1,                                     
   I4,                                     
   I5} => {I3} 0.1237624  0.9259259 1.355341

Arti dari output di atas dapat kita analogikan sebagai berikut

Body → Head [Support, Confidence]

Untuk output pertama kita dapatkan
(I5)=>(I3)(0.39=39%,0.8=80%)

Artinya dalam 39% dari keseluruhan semua transaksi item 5 dan item 3 dibeli secara bersamaan dan dalam setiap 80% dari pembelian item 5 pasti membeli item 3

Untuk output ke 2 kita dapatkan
(I4,I5)=>(I3)(29%,86%)

Artinya dalam 29% dari keseluruhan semua transaksi item 4 dan item 5 serta item 3 dibeli secara bersamaan dan dalam setiap 86% dari pembelian item 4 dan item 5 pasti membeli item 3

Untuk output ke 3 kita dapatkan

(I1,I4)=>(I5)(12%,92%)
Artinya dalam 29% dari keseluruhan semua transaksi item 1 dan item 4 serta item 5 dibeli secara bersamaan dan dalam setiap 92% dari pembelian item 1 dan item 4 pasti membeli item 5.

E. Kesimpulan
setelah memahami seluk beluk algoritma apriori dapat disimpulkan beberapa hal yaitu:


  1. kelebihan dari algoritma apriori ini adalah lebih sederhana dan dapat menangani data yang besar. Sedangkan algoritma lainnya memiliki kelemahan dalam penggunaan memori saat jumlah data besar, tentunya berpengaruh terhadap banyaknya item yang diproses serta mudah di pahami struktur kerja dan implementasinya
  2. Apriori memiliki kelemahan karena harus melakukan scan database setiap kali iterasi, sehingga waktu yang diperlukan bertambah dengan makin banyak iterasi


F. Daftar Pustaka


2 komentar: