Data Minning

28
DATA MINNING A. TEKNIK KLUSTERING 1. Algoritma K-means K-means merupakan salah satu algoritma clustering [1].Tujuan algoritma ini yaitu untukmembagi data menjadi beberapa kelompok. Algoritma ini menerima masukan berupa data tanpalabel kelas. Hal ini berbeda dengan supervised learning yang menerima masukan berupa vektor (-x-1 , y1) , (-x-2 , y2) , …, (-x-i , yi), di mana xi merupakan data dari suatu data pelatihan dan yimerupakan label kelas untuk xi.Pada algoritma pembelajaran ini, komputer mengelompokkan sendiri data-data yangmenjadi masukannya tanpa mengetahui terlebih dulu target kelasnya. Pembelajaran ini termasukdalam unsupervised learning. Masukan yang diterima adalah data atau objek dan k buahkelompok (cluster) yang diinginkan. Algoritma ini akan mengelompokkan data atau objek kedalam k buah

description

teknik data minning dan contoh logaritma

Transcript of Data Minning

DATA MINNINGA. TEKNIK KLUSTERING1. Algoritma K-meansK-means merupakan salah satu algoritma clustering [1].Tujuan algoritma ini yaitu untukmembagi data menjadi beberapa kelompok. Algoritma ini menerima masukan berupa data tanpalabel kelas. Hal ini berbeda dengan supervised learning yang menerima masukan berupa vektor (-x-1 , y1) , (-x-2 , y2) , , (-x-i , yi), di mana xi merupakan data dari suatu data pelatihan dan yimerupakan label kelas untuk xi.Pada algoritma pembelajaran ini, komputer mengelompokkan sendiri data-data yangmenjadi masukannya tanpa mengetahui terlebih dulu target kelasnya. Pembelajaran ini termasukdalam unsupervised learning. Masukan yang diterima adalah data atau objek dan k buahkelompok (cluster)yang diinginkan.Algoritma iniakan mengelompokkan dataatau objekkedalam k buah kelompok tersebut. Pada setiap cluster terdapat titik pusat (centroid) yangmerepresentasikan cluster tersebut.Algoritma untuk melakukan K-Means clustering adalah sebagai berikut:- Pilih K buah titik centroid secara acak- Kelompokkan data sehingga terbentuk K buah cluster dengan titik centroid dari setiapcluster merupakan titik centroid yang telah dipilih sebelumnya- Perbaharui nilai titik centroid Ulangi langkah 2 dan 3 sampai nilai dari titik centroid tidak lagi berubahProses pengelompokkan data ke dalam suatu cluster dapat dilakukan dengan caramenghitung jarak terdekat dari suatu data ke sebuah titik centroid. Perhitungan jarak Minkowskidapat digunakan untuk menghitung jarak antar 2 buah data. Rumus untuk menghitung jaraktersebut adalah:

Dimana:g = 1, untuk menghitung jarak Manhattang = 2, untuk menghitung jarak Euclideang = , untuk menghitung jarak Chebychevxi , xj adalah dua buah data yang akan dihitung jaraknyap = dimensi dari sebuah data v

Menurut Hasn & Kamber algoritma KMeans bekerja dengan membagi data ke dalam k buah cluster yang telah ditentukan [12]. Beberapa cara penghitungan jarak yang biasa digunakan yaitu:

Euclidean distance Formula jarak antar dua titik dalam satu, dua dan tiga dimensi secara berurutan ditunjukkan pada formula 1, 2, 3 berikut ini :

Manhattan Distance Manhattan distance disebut juga taxicabdistance.

Chebichev DistanceDi dalam Chebichev distance atau Maximum Metric jarak antar titik didefinisikan dengan cara mengambil nilai selisih terbesar dari tiap koordinat dimensinya.

Ada beberapa kelebihan pada algoritma k-means, yaitu:a. Mudah untuk diimplementasikan dan dijalankan.b. Waktu yang dibutuhkan untuk menjalankan pembelajaran ini relatif cepat.c. Mudah untuk diadaptasi.d. Umum digunakan.Algoritma k-means memiliki beberapa kelebihan, namun ada kekurangannya juga. Kekurangandari algoritma tersebut yaitu :a. Sebelum algoritma dijalankan, k buah titik diinisialisasi secara random sehinggapengelompokkandatayangdihasilkandapatberbeda-beda.Jikanilairandomuntukinisialisasi kurang baik, maka pengelompokkan yang dihasilkan pun menjadi kurangoptimal.b. Dapat terjebak dalam masalah yang disebut curse of dimensionality. Hal ini dapat terjadijika data pelatihan memiliki dimensi yang sangat tinggi (Contoh jika data pelatihan terdiridari 2 atribut maka dimensinya adalah 2 dimensi. Namun jika ada 20 atribut, maka akanada 20 dimensi). Salah satu cara kerja algoritma ini adalah mencari jarak terdekat antarak buah titik dengan titik lainnya. Jika mencari jarak antar titik pada 2 dimensi, masih mudah dilakukan. Namun bagaimana mencari jarak antar titik jika terdapat 20 dimensi.Hal ini akan menjadi sulit.c. Jika hanya terdapat beberapa titik sampel data, maka cukup mudah untuk menghitungdan mencari titik terdekat dengan k titik yang diinisialisasi secara random. Namun jikaterdapat banyak sekali titik data (misalnya satu milyar buah data), maka perhitungan danpencariantitikterdekatakanmembutuhkanwaktuyanglama.Prosestersebutdapatdipercepat, namun dibutuhkan struktur data yang lebih rumit seperti kD-Tree atauhashing.2. Algoritma Expectation Maximazation (EM)Menurut (Kusrini & Luthfi, 2009)Algoritma Expectation Maximization sering digunakan untuk menemukan nilai estimasiMaximum Likelihood (ML) dari parameterdalam sebuah model probabilistic, dimanamodel juga tergantung pada latent variabelyang belum diketahui. Dalam algoritma ini, ada dua hal yang digunakan secara bergantian yaitu E step yang menghitung nilai ekspektasi dari likelihood termasuk latent variabel seolah-olah seperti mereka ada, dan M step menghitung nilai estimasi ML dari parameter dengan memaksimalkan nilai ekspektasi dari likelihood yang ditemukan pada E step.Expectation Maximisation Algorithm (EM Algorithm) adalah algoritma yang sering digunakan untuk menemukan nilai estimasi Maximum Likelihood (ML) dari parameter dalam sebuah model probabilistic, dimana model juga tergantung pada latent variabel yang belum diketahui. Dalam algoritma ini, ada dua hal yang dilakukan secara bergantian yaitu E step yang menghitung nilai ekspektasi dari likelihood termasuk laten variabel seolah-olah seperti mereka ada, dan M step menghitung nilai estimasi ML dari parameter dengan memaksimalkan nilai ekspektasi dari likelihood yang ditemukan pada E step. Latent variabel adalah variabel yang tidak terobservasi, yang dapat juga disamakan dengan missing data, missing measurements, dan hidden variabel. Dalam kasus mixture model, latent variabel juga mengacu pada jumlah komponen dari suatu mixture model. Kalau y dianggap incomplete data dan terdiri dari nilai variabel yang sudah terobservasi dan z adalah missing data, maka y dan z akan membentuk complete data. Kalau p(y,z|theta) adalah joint probability density (mass) function, maka p(y,z|theta) bisa dianggap sebagai likelihood dari suatu complete data. Mengikuti teori Bayesian, selanjutnya conditional distribution dari missing data dengan berbasis pada data yang sudah terobservasi dapat diekspresikan sebagai: p(z|y,theta) = p(y,z|theta)/p(y|theta) = p(y|z,theta)*p(z|theta)/(INT p(y|z_est,theta)*p(z_est|theta)dz_estSelanjutnya, EM algorithm secara iterative memperbaiki nilai estimasi dengan mengikuti proses estimasi seperti di bawah ini:theta_(n+1) = arg max_theta Q(theta)dimana Q(theta) = SUM(z) p(z|y,theta_n) log p(y,z|theta) atau dengan bentuk yang lebih umum Q(theta) = E_z[log p(y,z|theta)|y] merupakan nilai ekspektasi dari likelihood yang berbasis pada variabel yang sudah diobservasi (yang juga tergantung pada nilai estimasi sebelumnya).Di sini, log likelihood digunakan sebagai ganti likelihood karena akan mempermudah formula. Perubahan ini tetap akan menghasilkan suatu nilai maksimum pada suatu bagian dari likelihood. Yang perlu diperhatikan di sini adalah nilai z tergantung pada nilai theta_n bukan theta_(n+1).Berdasarkan pada persamaan di atas, nilai estimasi yang baru, theta_(n+1), akan didapatkan dengan mencari nilai estimasi yang memaksimalkan (M Step) nilai conditional expectation (E Step) dari log likelihood dari complete data yang berbasis pada variabel yang sudah terobservasi dan nilai paremeter terdahulu. Sebagai catatan, bentuk continuous dari expectation Q(theta) adalah :Q(theta) = INT(-infty to infty) p(z|y,theta_n) log p(y,z|theta) dz3. Algoritma Hirarki DivinsiveLangkah awal yang dilakukan dalam algoritma hirarki divisive adalah membentuk satu cluster besar yang dapat ditempati oleh semua obyek data. Pada langkah berikutnya, satu cluster besar tersebut dipisah pisahkan menjadi beberapa cluster yang lebih kecil dengan karakteristik data yang mempunyai lebih besar kesamaan satu dengan yang lainnya, sehingga data yang tidak memiliki kemiripan yang cukup besar berada pada cluster yang terpisah.Hasil-hasil dari metode agglomerative dan metoda divisive bisa ditampilkan dalam bentuk diagram yang disebut dendrogram. Akan kita lihat bahwa dendrogram menggambarkan penggabungan atau pembagian yang akan dibuat pada tingkat-tingkat yang berurutan.Langkah-langkah dalam algoritma clustering hirarki agglomerative untuk mengelompokkan N objek (item/variabel):1. Mulai dengan N cluster, setiap cluster mengandung entiti tunggal dan sebuahmatriks simetrik dari jarak (similarities) D = {dik} dengan tipe NxN.2. Cari matriks jarak untuk pasangan cluster yang terdekat (paling mirip).Misalkan jarak antara cluster U dan Vyang paling mirip adalah duv.3. Gabungkan cluster U dan V. Label cluster yang baru dibentuk dengan (UV). Update entries pada matrik jarak dengan cara :a. Hapus baris dan kolom yang bersesuaian dengan cluster U dan Vb. Tambahkan baris dan kolom yang memberikan jarak-jarak antara cluster (UV) dan cluster-cluster yang tersisa.4. Ulangi langkah 2 dan 3 sebanyak (N-1) kali. (Semua objek akan berada dalam cluster tunggal setelah algoritma berahir). Catat identitas dari cluster yang digabungkan dan tingkat-tingkat (jarak atau similaritas) di mana penggabungan terjadi.5. Algoritma K-medoidsAlgoritma k-medoids adalah algoritma pengelompokan yang berkaitan dengan algoritma k-means dan algoritma medoidshift. Kedua k-means dan k-medoids algoritma partitional(memecah dataset ke dalam kelompok) dan keduanya berupaya untuk meminimalkan jarakantara titik berlabel ke dalam cluster dan titik yang ditunjuk sebagai pusat cluster tersebut.Berbeda dengan algoritma k-means, k-medoids memilih datapoints sebagai pusat (medoids ataueksemplar) dan bekerja dengan arbitrary matrix jarak antara datapoints. Metode ini diusulkanpada tahun 1987..k-medoid adalah teknik partisi klasik clustering yang mengcluster kumpulan data objek n kedalam kelompok k dikenal dengan apriori. Sebuah alat yang berguna untuk menentukan k adalahsiluet.Hal ini lebih kuat noise dan outliernya dibandingkan dengan k-means karena meminimalkansejumlah dissimilarities berpasangan bukannya jumlah kuadrat jarak Euclidean.Sebuah medoid dapat didefinisikan sebagai objek cluster, yang perbedaan rata-rata untuk semua objek dalam cluster minimal yaitu merupakan titik paling berlokasi dicluster.6. Algoritma K-medoids /PAM (Partitioning Around Medoids)Realisasi yang paling umum dari pengelompokan k-medoid adalah Partisi Sekitar Medoids(PAM) algoritma dan adalah sebagai berikut:Inisialisasi: acak memilih (tanpa penggantian) k dari n datapoins sebagai medoids.Mengasosiasikan setiap titik data ke medoid terdekat. ("paling dekat" di sini didefinisikanmenggunakan metrik jarak yang valid, paling sering jarak Euclidean, Manhattan jarak atau jarakMinkowski)Untuk setiap m medoidUntuk setiap non-medoid data titik oTukar m dan o dan menghitung total biaya konfigurasiPilih konfigurasi dengan biaya terendah.Ulangi langkah 2 sampai 4 sampai tidak ada perubahan dalam medoid tersebut.Algoritma PAM dikembangkan oleh Leonard Kaufman dan Peter J. Rousseeuw, dan algoritmaini sangat mirip dengan K-means, terutama karena keduanya algoritma partitional, dengan katalain, keduanya memecahdataset menjadi kelompok-kelompok, dan keduanya bekerja berusahauntuk meminimalkan kesalahan, tapi PAM bekerja dengan Medoids, yang merupakan entitasdari dataset yang mewakili kelompok di mana ia dimasukkan, dan K-means bekerja denganSentroid, yang artifisial diciptakan entitas yang mewakili cluster.Algoritma K-medoids atau dikenal pula dengan PAM (Partitioning Around Medoids) menggunakan metode partisi clustering untuk mengelompokkan sekumpulan n objek menjadi sejumlah k cluster. Algoritma ini menggunakan objek pada kumpulan objek untuk mewakilisebuah cluster. Objek yang terpilih untuk mewakili sebuah cluster disebut medoid. Clusterdibangun dengan menghitung kedekatan yang dimiliki antara medoid dengan objek non-medoid.Menurut Han dan Kamber (2006, hal 406) algoritma K-medoids adalah sebagai berikut : 1. Secara acak pilih k objek pada sekumpulan n objek sebagai medoid.2. Ulangi:3.Tempatkan objek non-medoid ke dalam cluster yang paling dekat dengan medoid.4. Secara acak pilih oacak: sebuah objek non-medoid.5. Hitung total biaya, S, dari pertukaran medoid oj dengan orandom.6. Jika S < 0 maka tukar oj dengan oacak untuk membentuk sekumpulan k objek barusebagai medoid.7. Hingga tidak ada perubahan.Bagian ini menunjukkan K-medoids pengelompokkan dengan fungsi pam () dan pamk ().K-medoids sangat mirip dengan K-means dan perbedaan utama diantara mereka adalah jika clusterdiwakili dengan pusat dari cluster pada K-means, sedangkan pada K-medoids, cluster diwakilioleh objek terdekat dari pusat cluster.

B. TEKNIK KETERKAITAN / ASOSIASI1. Algoritma AprioriAlgoritma apriori merupakan algoritma pertama dan sering digunakan untuk menemukan aturan asosiasi di dalam aplikasi data mining dengan teknik aturan asosiasi. Tujuan dari algoritma apriori adalah untuk menemukan aturan (rule) yang memenuhi minimum support yang telah ditetapkan sebelumnya dan memenuhi nilai confidence yang disyaratkan. Tugas dari algoritma apriori dalam menemukan aturan asosiasi dapat dibagi menjadi dua fase, yang pertama untuk menemukan itemsets dan kemudian membentuk aturan (rule) dari itemsets yang ditemukan. Potongan pseudo code dari algoritma apriori ditunjukkan pada Gambar di bawah ini.

Algoritma Apriori termasuk jenis aturan asosiasi pada datamining. Algoritma Apriori yang bertujuan untuk menemukanfrequent itemsetsdijalankan pada sekumpulan data. Pada iterasi ke -k, akan ditemukan semua itemsets yang memiliki k items, disebut dengan k -itemsets. Tiap iterasi berisi dua tahap. Misal Oracle Data Mining Fk merepresentasikan himpunan dari frequent k -itemsets, dan Ck adalah himpunancandidatek-itemsets (yang potensial untuk menjadi frequent itemsets).Konsep utama dari algoritma Apriori adalah sebagai berikut:1. Setiap subset dari frequent itemset adalah frequentitemset2. Himpunan itemset dengan panjang k disebut Ck3. Himpunan itemset yang memenuhi batasan minimumsupport disebut sebagai Lk , Lk adalah kandidat himpunanyang digunakan untuk tahap selanjutnya.4. Ck+1 dibangkitkan dengan menggabungkan Lk dan dirinyasendiri. Itemset-itemset yang memenuhi kriteria masingmasing memiliki lebih satu elemen dari itemsetsebelumnya. Lk kemudian dihasilkan dengan menghilangkan dari elemen-elemen yang tidak memenuhi aturan minimumsupport. Sebab, kandidat sequence yang dibangkitkandimulai dengan ukuran sequence terkecil dan secarabertahap ukuran sequence meningkat yang disebut denganpendekatan breadth first search.Algoritma apriori sebagai proses utama dari association rules mining dimulai dengan proses pembentukan kandidat itemset, dan akan dilanjutkan dengan pruning yang dimaksudkan untuk menemukan frequent itemset. Pada proses pembentukan kandidat itemset yang pertama ini cukup sederhana, yaitu semua itemset yang terdapat didalam data transaksi dapat menjadi kandidat itemset. Kemudian kandidat itemset yang tidak memenuhi nilai minimum support akan dihapus. Setelah proses penggabungan itemset dilakukan, kemudian lakukan proses pruning itemset. Proses pruning itemset dilakukan dengan mengecek kandidat itemset (C k ) dengan L k1 . Apabila pada C k terdapat itemset yang tidak terdapat di L k1 , maka kandidat tersebut tidak akan dibentuk menjadi C k.2. Algoritma CBA (Classification Based Assoiciation)Algoritma CBA merupakan algoritma pengklasifikasi yang sedikit lebih akurat dan efektif berdasarkan pendekatan assosiatif. Konsep utama dari algoritma CBA terbagi dalamdua tahap.a. CBA-RGCBA-RG atau yang bisa disebut dengan sebuah rulegenerator dibangun berdasarkan algoritma Apriori untukmenemukan aturan asosiasi. CBA-RG digunakan untukmenemukan semua ruleitems yang memenuhi minsup. adalah sebuah ruleitem dimana condset adalah set dari items, Yy adalah label kelas. CondsupCountadalah jumlah case di dataset D yang mengandung condset.RulesupCount adalah jumlah case di D yang mengandungcondset dan berlabel kelas y. Setiap ruleitem merepresentasikan sebuah rule ycondset , dimanasup support *100%D rule Count dan *100% sup sup cond Countrule Count confidence dimana D || adalah jumlah / ukuran dataset. Rule item yang memiliki nilai support kebih dari nilai minsup disebut frequent ruleitems, sedangkan yang nilai supportnya lebih kecil disebut infrequent itemsets. Ruleitem yang confident tertinggi dipilih sebagai possible rule yang merepresentasikan set dari ruleitem.Kalau ada lebih dari 1 ruleitem yang punya confident tertinggi, maka dipilih secara acak. CBA-RG menggenerate semua frequent rule item melalui banyak tahap. Pada tahap pertama, hitung support dari rule item individual dan tentukan status frequentnya. Di setiap subsequence yang mempunyai nilai support lebih besar dari minsup, pasti merupakan ruleitem yang frequent.di tahap sebelumnya. Rule item yang frequent digunakan untuk mengenerate set possibly frequent ruleitems baru yang disebut candidate ruleitem. Support dari candidate ruleitems tersebut dicari untuk menentukan candidate ruleitem yang mempunyai nilai support lebih besar dari minsup. Akhir dari tahap, menentukan candidate ruleitem yang frequent. Dari setfrequent ruleitem ini, diproduksi rules nya (CARs).b. CBA-CB CBA-CB adalah sebuah classifier builder menggunakan CARs atau prCARs. Untuk memproduksi classifier yang paling baik dari set rules akan mengevaluasi semua possible subset di data training dan memilih subset dengan rulesequence yang tepat yaitu yang mempunyai error palingsedikit. Defini sebuah total order dari generated rules adalahdiberikan dua rules, r r i j rrji dan dimana jika nlaiconfidence dari r ri j lebih besar dari atau nilai confidence mereka sama, tetapi nilai support dari ri lebih besar darirj atau nilai dari confidence dan support mereka sama tetapir ri j lebih dulu dibuat dari pada rj.3. ALGORITMAAISFungsi Association Rules seringkali disebut dengan "market basket analysis", yang digunakan untuk menemukan relasi atau korelasi diantara himpunan item-item. Market Basket Analysis adalah Analisis dari kebiasaan membeli customer dengan mencari asosiasi dan korelasi antara item-item berbeda yang diletakkan customer dalam keranjang belanjaannya. Fungsi ini paling banyak digunakan untuk menganalisa data dalam rangka keperluan strategi pemasaran, desain katalog, dan proses pembuatan keputusan bisnis. Tipe association rule bisa dinyatakan sebagai misal : "70% dari orangorang yang membeli mie, juice dan saus akan membeli juga roti tawar".Pada Association Rules dikenal Blok Sistem AR Mining, seperti gambar di bawah ini:

Dari bagan di atas terdapat suatu masalah pada bagian Large Itemset yaitu Bagaimana melakukan pencarian semua large itemsets secara efisien? Untuk memecahkan masalah tersebut perlu digunakan suatu Algoritma yang salah satu algoritma dinamakanAlgoritma AIS. Algoritma AIS akan digunakan untuk mencari itemset dari suatu database. Bentuk Algoritma AIS adalah :

Contoh Penerapan Algoritma AIS:Perhatikan bahwa: jika {modem, laptop} adalah sebuah large itemset, maka masing-masing {madem} dan {laptop} dapat dipastikan anggota large itemsets juga. Hal ini Berarti: Jika sebuah itemsets tidak large / tidak frequent, (seperti {pulsa}) maka tidaklah mungkin akan terdapat large itemset yang memuat pulsa seperti {pulsa, laptop}. Asumsikan bahwa itemsets dengan ukuran 1 (itemsets-1) berikut telah diketahui merupakan large itemsets dengan ukuran 1 (large itemsets-1): {Modem},{Laptop},{ Pulsa}Karena {cooling pad} bukan merupakan large itemsets-1 {cooling pad, pulsa} tidak mungkin akan menjadi large itemsets-2. Hanya jika {cooling pad} dan {pulsa} keduanya adalah large itemsets-1, maka {Cooling pad, Pulsa} bisa menjadi large itemsets-2. Sehingga logika kerjanya secara umum adalah:1. Dapatkan semua large itemsets-1.2. Untuk mendapatkan semua large itemsets-2, hitunglah frekuensi (counting) dari itemsets-2 yang mengandung 2 dari item-item berikut: Modem, Laptop, Pulsa4. AlgoritmaFP-GrowthAlgoritma FP-Growth merupakan salah satualternatif algoritmayang cukupefektif untukmencari himpunan data yang paling sering muncul (frequent itemset) dalam sebuah kumpulan data yang besar. Algoritma FP-Growth merupakan algoritmaAssociationRules yang cukup sering dipakai. Algoritma FP-Growth ini dikembangkan dari algoritma apriori. Algoritma apriori menghasilkan kombinasi yang sangat banyak sehingga sangat tidak efisien. Algoritma FP-Growth ini merupakan salah satu solusi dari algoritma apriori yang memakan waktu yang sangat lamakarena harus melakukan patternmatching yang secara berulang-ulang. Sedangkan dalam proses Algoritma-Growth terdapat banyak kelebihan yang terbukti sangat efisien karena hanya dilakukan pemetaan data atau scan database sebanyak 2 kali untuk membangun struktur tree Maka dari itu, Algoritma FP-Growth dikenal juga dengan sebutan algoritm FP-Tree. Dengan menggunakan struktur FP-Tree, algoritma FP-Growth dapat langsung mengekstrakfrequentitemsetdari susunan FP-Tree yang telah terbentuk.