• Tidak ada hasil yang ditemukan

II. TINJAUAN PUSTAKA

2.3. Data Mining

2.3.3. Teknik Data Mining

Ada tiga hal pokok yang harus diperhatikan untuk keberhasilan penerapan

data mining , yaitu; teknik data mining, data, dan model data. Teknik adalah

pendekatan umum untuk memecahkan masalah, dan biasanya terdapat banyak cara yang bisa digunakan. Masing -masing cara mempunyai algoritmenya sendiri-sendiri. Istilah teknik digunakan untuk menunjukkan pendekatan konseptual untuk menyaring informasi dari data. Algoritme menunjukkan detil tahap demi tahap dari cara tertentu untuk mengimplementasikan suatu teknik.

Data mining bisa berupa predictive atau descriptive. Perbedaan ini

menunjukkan tujuan dari penggunaan data mining . Tujuan utama predictive data

mining adalah mengotomatisasikan proses pembuatan keputusan dengan membuat

model yang punya kemampuan untuk melakukan prediksi atau mengestimasi suatu nilai. Umumnya hasil dalam predictive data mining akan langsung ditindak lanjuti Sehingga tolok ukur yang paling penting pada model adalah akurasinya.

Data mining sering juga bersifat descriptive. Tujuan utama descriptive data mining adalah untuk menggali pengertian yang mendalam dari apa yang terjadi di

dalam data. Descriptive data mining sering menghasilkan action, tetapi bukan berupa urutan aksi yang bisa diotomatisasikan secara langsung dari hasil model (Berry & Linoff, 2000).

Descriptive mining, yaitu proses untuk menemukan karakteristik penting

dari data dalam suatu basis data. Clustering, Association , dan Sequential mining adalah beberapa contoh dari teknik descriptive mining.

Predictive mining, yaitu proses untuk menemukan pola dari data untuk

membuat prediksi. Classification, Reg ression dan Deviation adalah teknik dalam

predictive mining.

a. Association Rule

Association rule merupakan salah satu teknik data mining yang paling

banyak digunakan dalam penelusuran pola pada sistem pembelajaran

unsupervised . Metodologi ini akan mengambil seluruh kemungkinan pola-pola

yang sering muncul dalam suatu kelompok. Misalnya metodologi ini bisa digunakan untuk menganalisa produk-produk mana saja yang sering dibeli oleh seorang pelanggan secara bersamaan (analisa keranjang belanja). Hasil analisis tersebut bisa digunakan untuk menentukan peletakan produk di toko.

Satu itemset adalah himpunan bagian A dari semua kemungkinan item I. Satu itemset yang mengandung i item disebut i-itemset. Prosentase transaksi yang mengandung itemset disebut support. Untuk suatu itemset yang akan diamati, support-nya harus lebih besar atau sama dengan nilai yang dinyatakan oleh user, sehingga itemset tersebut dikatakan sering muncul (frequent).

Bentuk umum aturan asosiasi adalah A1,A2,…,An → B1,B2,…,Bm, yang berarti jika item Ai muncul, item Bj juga muncul dengan peluang tertentu.

Misalkan X adalah itemset. transaksi T dikatakan mengandung X jika dan hanya jika X ⊆ T. Aturan X ⇒ Y menyatakan himpunan basis data transaksi dengan tingkat kepercayaan (confidence ) C, jika C% dari transaksi dalam D yang mengandung X juga mengandung Y. Rule X Y mempunyai support dalam transaksi set D jika S% dari transaksi dalam basis data berisi X ∪ Y. Tingkat kepercayaan menunjukkan kekuatan implikasi, dan support menunjukkan seringnya pola terjadi dalam rule. Sebagai contoh diberikan aturan : A, B ⇒ C dengan S = 0.01 dan C = 0.8. Hal ini berarti bahwa 80% dari semua pelanggan yang membeli A dan B juga membeli C, dan 1% dari semua pelanggan membeli ketiga item tersebut.

Mining association rule dilakukan dalam dua tahap, yaitu

1. Mencari semua association rule yang mempunyai minimum support Smin dan minimum confidence Cmin. Itemset dikatakan sering muncul (frequent)

jika Support(A) ≥ Smin.

2. Menggunakan itemset yang besar untuk menentukan association rule untuk basis data yang mempunyai tingkat kepercayaan C di atas nilai minimum yang telah ditentukan (Cmin.).

b. Algoritme Appriori

Algoritme apriori menghitung seringnya itemset muncul dalam basis data melalui beberapa iterasi. Setiap iterasi mempunyai dua tahapan; menentukan

kandidat dan memilih serta menghitung kandidat. Pada tahap pertama iterasi pertama, himpunan yang dihasilkan dari kandidat itemset berisi seluruh 1-itemset, yaitu seluruh item dalam basis data. Pada tahap kedua, algoritme ini menghitung

support-nya mencari melalui keseluruhan basis data Pada akhirnya hanya i-itemset dengan batas minimum tertentu saja yang dianggap sering muncul

(frequent). Sehingga setelah iterasi pertama, seluruh i-itemset yang sering muncul akan diketahui. Pada iterasi kedua, algoritme appriori mengurangi sekelompok kandidat itemset yang dihasilkan dari iterasi pertama dengan menghapus kandidat

itemset yang tidak sering muncul. Penghapusan ini berdasarkan pengamatan yaitu

apakah itemset tersebut sering muncul atau tidak.

1. k = 1

2. C1 = I (semua item) 3. While Ck > 0

( a ). Sk = Ck

( b ).Ck+1 = Semua himpunan dengan k=1 elemen yang terbentuk dengan menggabungkan dua itemset dalam sk

( c ). Ck+1 = Ck+1 ( d ). S = S + Sk ( e ). k ++ 4. return S

Gambar 5. Algoritme Appriori

Tabel 1. Transaksi Penjualan Barang A B C D E

Pelanggan 1 1 0 1 1 0 Pelanggan 2 0 1 1 0 1 Pelanggan 3 1 1 1 0 1 Pelanggan 4 0 1 0 0 0

Misalkan pada tabel 1, akan dicari seluruh itemset dengan minimal support Smin = 50%. Sehingga itemset dianggap sering muncul jika ia terdapat pada paling

tidak di 50% transaksi. Dalam setiap iterasi, algoritme appriori membentuk kandidat set, menghitung jumlah kejadian dari setiap kandidat dan memilih

itemset didasarkan pada minimum support yang telah ditentukan sebelumnya yaitu

50%.

Pada tahap pertama iterasi pertama, semua item adalah kandidat. Algoritme

appriori hanya menelusuri semua transaksi dalam basis data dan membuat daftar

kandidat, yaitu ;

C1 = A, B, C, D, E

L1 = A, B, C, D, E

Pada tahap berikutnya , algoritme appriori menghitung terjadinya setiap kandidat dan berdasarkan nilai minimum support Smin, kemudian menentukan itemset yang sering muncul, setelah tahap ini kandidat berisi:

L1 = A, B, C, E

D dikeluarkan karena nilai S = 25%, hanya ada satu transaksi dari keseluruhan empat transaksi..

Untuk menelusuri himpunan itemset, karena himpunan bagian (subset) dari

2-itemset juga mempunyai minimum support yang sama, algoritme appriori

menggunakan L1 * L1 untuk membuat kandidat. Operasi * didefinisikan sebagai berikut ;

Lk * Lk =  XUY dimana X,Y Ε Lk, (X∩Y=K-1 , Untuk k =1 ⇒ |L1| . |(L1)-1)/2| = 4 . 3/2 = 6

Pada iterasi kedua kandidat berisi :

C2 = A,B, A,C, A,E, B,C, B,E, C,E.

Pada tahap berikutnya , algoritme appriori menghitung terjadinya setiap kandidat dan berdasarkan nilai minimum support Smin, kemudian menentukan itemset yang sering muncul, setelah tahap ini kandidat berisi:

L2 = A,C, B,C, B,E, C,E

Himpunan 3-itemset dihasilkan dari S2 menggunakan operasi yang sudah ditentukan sebelumnya L2 * L2. Langkah praktisnya, dari L2 dengan item yang pertama sama, yaitu B,C, B,E,dinyatakan pertama. Kemudian algoritme

B,E terdapat pada L2 atau tidak. Karena C,E ada dalam L2, maka  B,C,E 

menjadi kandidat 3 -itemset.

Karena tidak ada kandidat 4 -itemset, maka algoritme ini berakhir. c. Membuat Association Rule berdasarkan Frequent Itemset

Tahap kedua dalam penelusuran assosiation rule didasarkan pada seluruh

i-itemset yang sering muncul, yang didapat dari tahap pertama. Untuk rule yang

mengandung X1, X2, X3 → X4, rule tersebut dianggap bermakna jika kedua

itemset tersebut X1, X2, X3, X4 dan X1, X2, X3 adalah frequent. Sehingga tingkat kepercayaan C dari rule tersebut dihitung sebagai hasil bagi dari support

itemset, yaitu :

C = S(X1, X2, X3, X4) / S(X1, X2, X3).

Strong association rule adalah rule dengan tingkat kepercayaan C diatas Smin. Misalkan dari tabel 1 akan dicek apakah association rule (B,C) E adalah strong

rule.

Pertama harus dipilih hubungan support dari tabel L2 dan L3. S(B,C) = 2, S(B,C,E) = 2

C((B,C) → E ) = S(B,C,E)/S(B,C) = 2/2 = 1 (100%)

Karena tingkat kepercayaan adalah maksimal, maka jika transaksi berisi item B dan C maka transaksi tersebut juga berisi item E.

d. Classification-Based Association

Saat ini, salah satu teknik data mining telah dikembangkan adalah dengan menerapkan konsep association rule mining dalam masalah klasifikasi. Ada beberapa metode yang bisa digunakan, antara lain association rule clustering

system (ARCS) dan associative classification (Han & Kamber, 2001). Metode

ARCS melakukan association rule mining didasarkan pada clustering kemudian menggunakan aturan yang dihasilkan untuk klasifikasi. ARCS, melakukan

association rule mining dalam bentuk Aquant1∧ Aquant2 ⇒ Acat, dimana bentuk Aquant1 dan Aquant2 adalah data test yang atributnya punya rentang nilai, Acat menunjukkan label kelas untuk atribut kategori yang diberikan dari training data .

Metode associative classification mining menghasilkan aturan dalam bentuk

Aturan yang sesuai dengan minimum support tertentu disebut frequent. Rule mempunyai support s jika s% dari sample dalam data set yang mengandung

condset dan memiliki kelas y. Aturan yang sesuai dengan minimum confidence

disebut accurate. Aturan mempunyai confidence c jika c% dari sample dalam data

set yang mengandung condset memiliki kelas y. Jika beberapa rule mempunyai condset yang sama, maka rule dengan confidence tertinggi d ipilih sebagai possible rule (PR). Metode associative classification mining menggunakan

algoritme association rule, seperti algoritme Appriori untuk menghasilkan

association rule, kemudian memilih sekelompok aturan yang mempunyai kualitas

tinggi dan menggunakan aturan tersebut untuk memprediksi data. Associative

classification masih kurang efisien karena seringkali menghasilkan aturan dalam

jumlah yang besar (Yin & Han, 2003).

Metode classification -based association lainnya adalah CPAR

(Classification based on Predictive Association Rule). Algoritme ini mengambil ide dari FOIL (First Order Inductive Leaner) dalam menghasilkan aturan dan mengintegrasikannya dengan associative classification.

e. Classification based on Predictive Association Rules (CPAR)

Klasifikasi pada penelitian ini menggunakan association rule. Menurut Yin & Han (2003) algoritme yang efektif untuk digunakan dalam masalah klasifikasi adalah CPAR. Pada algoritme ini klasifikasi diimplementasikan dalam tiga tahap: rule generation, rule evaluation dan classification.

Pada proses rule generation, CPAR membangun rule dengan menambahkan literal satu persatu. Pada setiap tahapan proses, CPAR menghitung

Gain dari setiap literal. Setelah masing-masing sampel diproses untuk

mendapatkan rule, sampel ini digunakan kembali di dalam perhitungan Gain tetapi dengan mengurangi bobot dengan decay factor. Bobot sampel dikurangi hingga mencapai nilai minimum yang dihitung oleh parameter w yaitu bobot seluruh sampel positif. Bobot seluruh contoh pada awal proses ditetapkan sama dengan 1.

Setelah proses rule generation, CPAR mengevaluasi setiap rule untuk menentukan kekuatan prediksinya. Untuk rule r = p1 p2 ... pn → c, CPAR mendefinisikan ekspektasi akurasi sebagai sebagai berikut :

L.A = (nc+1) / (ntot+f)

Dimana L.A adalah Laplace accuracy, f adalah jumlah kelas, ntot adalah ju mlah total sampel yang memenuhi body dari aturan, nc adalah jumlah sampel yang memenuhi kelas c.

Klasifikasi berupa sekumpulan aturan untuk setiap kelas, CPAR menggunakan s aturan terbaik setiap kelas, yang dipilih berdasarkan Laplace

accuracy.

Ide dasar CPAR berasal dari FOIL yang menggunakan algoritme greedy untuk mempelajari aturan yang membedakan contoh positif dengan contoh negatif. FOIL secara berulang mencari aturan terbaik dan memindahkan seluruh contoh positif yang dicakup oleh aturan sampai seluruh contoh positif dalam data

set tercakup. Algoritme FOIL diperlihatkan pada Gambar 6 (Yin & Han ,2003).

Masukan: Training set D = P ∪ N. (P dan N adalah himpunan contoh positif dan contoh negatif)

Keluaran: Himpunan aturan untuk memprediksi label kelas dari contoh. Procedure FOIL

rule set R ←Φ

while |P| > 0 N’ ← N, P’ ← P rule r ← empty_rule

while |N| > 0 and r.length < max_rule_length

find the literal p that brings most Gain according to P’ and N’ append p to r

remove from P’ all examples not satisfying r remove from N’ all examples not satisfying r end

R ← R ∪{r}

Remove from p all examples satisfying r’s body end

return R

Gambar 6. Algoritme FOIL Definisi

Literal p adalah pasangan nilai atribut, dalam bentuk (Ai,v), dimana Ai adalah atribut dan v adalah nilai atribut Ai. Tuple t memenuhi literal p = (Ai,v) jika dan hanya jika ti = v, dimana ti adalah nilai atribut ke-i.

• Aturan r, berbentuk “p1∧p2∧ ... ∧pt c,” Tuple t memenuhi body dari aturan r jika dan hanya jika tuple tersebut memenuhi setiap literal dalam rule. Jika t memenuhi body dari r, r memprediksi bahwa t adalah dari kelas c.

Algoritme FOIL pertama kali membaca data masukan berupa himpunan contoh positif dan contoh negatif, menghasilkan keluaran berupa aturan -aturan yang berguna untuk memprediksi label kelas dari contoh positif atau contoh negatif. Pada awal proses himpunan aturan R ditetapkan kosong. Proses pembentukan aturan terus berulang selama jumlah contoh positif lebih besar dari 0, dan selama proses pembentukan aturan algoritme FOIL melakukan penyalinan contoh positif ke contoh positif sementara, contoh negatif ke contoh negatif sementara, membaca atribut contoh positif satu persatu dan menambahkan ke rule

list jika nilai Gain sesui dengan yang ditetapkan.

Pada saat memilih literal, FOIL Gain digunakan untuk mengukur informasi yang diperoleh dari penambahan literal tersebut ke current rule. Misalkan terdapat |P| conto h positif dan |N| contoh negatif memenuhi body dari aturan r. Setelah literal p ditambahkan ke r, terdapat |P*| contoh positif dan |N*| contoh negatif yang memenuhi body dari aturan r yang baru. FOIL Gain p didefinisikan sebagai berikut (Yin & Han, 2003).

    + − + = | N | | P | | P | log | * N | | * P | | * P | log | * P | ) p ( Gain

dimana |P| dan |N| adalah jumlah contoh positif dan jumlah contoh negatif yang memenuhi body dari aturan r. |P*| dan |N*| adalah jumlah contoh positif dan jumlah contoh negatif yang memenuhi body dari aturan r yang baru, yang dihasilkan dengan menambahkan p ke r.

Predictive Rule Mining (PRM) adalah suatu algoritme yang memodifikasi

setelah contoh yang benar tercakup dalam aturan, selain mengeluarkannya, bobotnya dikurangi dengan faktor perkalian. Algoritme PRM diperlihatkan pada Gambar 7 (Yin & Han, 2003).

Masukan: Training set D = P ∪ N. (P dan N adalah himpunan contoh positif dan contoh negatif)

Keluaran: Himpunan aturan untuk memprediksi label kelas dari contoh.

Procedure Predictive Rule Mining Set the weight of every example to 1 Rule set R ←φ

Totalweight ← TotalWeight(P) A ← Compute PNArray from D While TotalWeight(P) > δ. totalWeight N’ ← N, P’← P, A’ ← A

Rule r ← emptyrule While true

Find best literal p according to A’ If Gain(p) < min_Gain then break Append p to r

For each example t in P’ ∪ N’ not satifying r’s body Remove t from P’ or N’

Change A’ according to the removal of t End

End

R ← R ∪{r}

For each example t in P satisfying r’s body t.weight ←α.t.weight

change A according to the weight decreased end

end return R

Gambar 7. Algoritme PRM

Algoritme CPAR merupakan pengembangan dari algoritme PRM. Perbedaan diantara CPAR dan PRM adalah selain hanya memilih atribut yang mempunyai gain terbaik pada setiap iterasi, CPAR dapat memilih sejumlah atribut yang nilai gain-nya hampir sama. Pemilihan atribut tersebut dilakukan dengan menghitung dan menerapkan gain_similarity_ratio. Semua atribut dengan nilai

lebih lanjut. Algoritme CPAR diperlihatkan pada Gambar 8 dan Gambar 9 (Coenan, 2004).

Method : startCPAR Parameters : none Global access to : R, C

generate an empty global attributes array A For each c in C

generate global P and N example arrays generate global PN array

determine minimum total weight threshold

while (total weight P > minimum total weight threshold) A’ ? A, N’ ? N, P’ ? P, PN’ ? PN

If no attributes exist with weightings that can produce a gain above minimum break cparGeneration

end loop end loop

Gambar 8. Metoda startCPAR

Method : cparGeneration

Parameters : parameters ante (antecedent) and Cons (consequent) for current rule.

For each a in A

If (a not in antecedent) calculated gain using

information in PN array and add to attribute array End loop

I = “available” column in A with best gain If (A[i][0] <= MIN_BEST_GAIN ) return

loop through attribute array and find attribute a’ with best gain If (best gain <= MIN_BEST_GAIN)

add antecedent ? c to rule list

for all records in P reduce weighting by decay factor and adjust PN array accordingly

return

gainThreshold = bestGain×GAIN_SIMILARITY_RATIO for each a in A

if a available and a.gain > gainThreshold

tempP’ ? P’, tempN’ ? N’, tempA’ ? A’, tempNP’ ? NP’ add a’ to antecedent

remove examples from N’ and P’ that do not contain antecedent and adjust NP array accordingly if (N’ == {})

add antecedent ? c to rule list

for all records in P reduce weighting by decay factor and adjust NP array accordingly

else prmGeneration(antecedent,c)

P’ ? tempP, N’ ? tempN’, A’ ? tempA’, NP’ ? tempNP’ End loop

Gambar 9. Metoda cparGeneration

Pada metoda startCPAR proses dimulai dengan membaca data berupa sekumpulan bilangan array dua dimensi yang setiap kolomnya diberi atribut A dan atribut terakhir menunjukkan kelas. Data masukan selanjutnya dikelompokkan menjadi contoh positif P dan contoh negative N sesuai dengan kelasnya. Bobot contoh positif |P| dan bobot contoh negative |N| setiap atribut dijumlahkan untuk membentuk PN array, berupa array dua dimensi berisi daftar semua atribut, bobot contoh positif, dan bobot contoh negative. Total weight

threshold (TWT) dihitung dengan mengalikan jumlah bobot positif dengan

konstanta yang selama percobaan ditetapkan sama dengan 0.05.

Proses pembentukan aturan dilakukan berulang-ulang sampai jumlah bobot contoh positif lebih kecil dari TWT. Pada setiap proses dilakukan penyalinan P, N, A dan PN ke P’, N’, A’ dan PN’. Menghitung Gain dan menyisipkan aturan ke rule list. Pada percobaan yang dilakukan konstanta minimum gain adalah 0.7, dan decay factor 1/3.

Membuat Rule Dalam CPAR

Dalam PRM, setiap aturan di-generate dari dataset yang tersisa, memilih hanya literal yang terbaik dan mengabaik an seluruh literal lainnya. CPAR membuat rule s dengan menambahkan literal satu per satu, yang mirip dengan PRM. Pada CPAR setelah menemukan literal terbaik p, literal lainnya q yang

Gain-nya mirip dengan p (misalnya hanya berbeda 1%) akan dicari. Selain terus

membangun rule dengan menambahkan p ke r, q juga ditambahkan ke current

rule r untuk membuat rule baru r’

Dokumen terkait