Kelas C Kelompok 4 Rahmat Al Aziz 105060800111055 Win Anggita C. 105060801111048 Sri Hardianingsih 105060800111097
PROGRAM STUDI TEKNIK INFORMATIKA PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA MALANG 2014
BAB I Data Reduction
1.1 Introduction Data Reduction yaitu langkah untuk mereduksi dimensi, atribut ataupun jumlah data. Yang akan dilakukan antara lain agregasi data cube, reduksi dimensi, diskretisasi, dan kompresi data.[1] Sebuah database / data warehouse dapat menyimpan terabyte data. Analisis data yang kompleks dapat memakan waktu yang sangat lama untuk berjalan di set data lengkap. Untuk itu diperlukan data reduction agar data yang kompleks tersebut di buat lebih sederhana dan tidak memakan waktu lama jika di jalankan. [2]
1.2 Algorithm Method 1. Principal Component Analysis (PCA) PCA atau dikenal juga dengan nama Karhunen-Loeve Transformation (KLT) merupakan salah metode ekstraksi fitur secara statistik dan telah dikenal sejak 30 tahun dalam dunia pengenalan pola. PCA merupakan sebuah cara untuk mengidentifikasi pola dalam kumpulan data untuk mencari persamaan dan perbedaannya. PCA sangat cocok untuk menemukan pola dalam data berdimensi tinggi. Dalam konteks pengenalan wajah, PCA mencari eigen face yang merupakan kumpulan dari eigenvector. Eigenface adalah principal component (ciri-ciri penting) dari distribusi citra wajah yang didapatkan dari eigenvector dengan eigenvalue terbesar. Untuk mendapatkan eigenface, PCA melakukan perhitungan matrik kovarian dari kumpulan citra wajah latih setelah dilakukan normalisasi. Eigenface tersebut akan menjadi dasar perhitungan face space yang merepresentasikan nilai bobot individu yang mewakili satu atau lebih citra wajah. Nilai bobot inilah yang digunakan untuk mengenali citra wajah uji dengan mencari jarak nilai bobot citra wajah uji dengan nilai bobot citra wajah latih. Dalam tugas akhir ini, perhitungan jarak nilai bobot dilakukan dengan perhitungan jarak Euclidian (Euclidian Distance).[3] Adapun langkah pembentukan PCA dapat digambarkan seperti diagram aliran pada gambar berikut.
Gambar 1.1 Flowchart Pembentukan PCA
Ide dasar, dideskripsikan sebagai berikut: sekumpulan vector sampel berdimensi n X={x1, x2, x3, , xm} ditransformasikan ke himpunan lain Y = {y1, y2, y3, , ym} dengan dimensi yg sama, tetapi y ,memiliki property yg paling informatif isinya disimpan dalam dimensi pertama. Transformasi didasarkan atas asumsi bahwa informasi yg tinggi berhubungan dengan varian yg tinggi. Sehingga jika mereduksi ke satu dimensi dari matrik X ke matrik Y dapat dituliskan : Y= A X, Pemilihan A sehingga Y mempunyai varian terbesar dari data set yg diberikan. Dimensi tunggal dari Y diperoleh dari transformasi ini disebut first principal component. Maka untuk menentukan matrix A, dihitung dahulu covariance matrix S sebagai tahap awal dari transformasi fitur.
Dimana :
Eigen values & Eigen vector Eigenvalues dari matrix covariance S : 1 2 n 0 Eigenvectors v1,v2, vn berhubungan dengan eigenvalues 1 2 n dan disebut principal axes. Kriteria untuk seleksi fitur didasarkan atas rasio penjumlahan eigenvalue terbesar S ke nilai seluruh S, sehingga dapat dituliskan:
Ketika nilai rasio R cukup besar (lebih besar dari nilai threshold), seluruh analisa dari subset atas fitur m merepresentasikan estimasi awal yg baik dari n dimensi ruang Nilai eigen value diperoleh dengan mengetahui nilai covariance sehingga dituliskan: det (S ) = 0 ; dimana S= matrix covariance Sedangkan nilai eigen vector (v) diperoleh dengan rumusan berikut: v = Sv
2. Value Reduction Suatu reduksi jumlah nilai-nilai diskrit untuk figure yg diberikan didasarkan atas teknik diskritisasi. Tujuannnya adalah untuk mendiskritisasi nilai fitur kontinu menuju sejumlah kecil interval, yg mana setiap interval dipetakkan ke simbol diskrit. Keuntungannya diskripsi data disederhanakan sehingga data dan hasil-hasil data-mining mudah dimengerti, juga kebanyakan teknik data mining dapat diaplikasikan dengan nilai fitur diskrit.
3. Feature Discretization ChiMerge: suatu algoritma diskritisasi yang menganalisi kualitas interval atas fitur yg diberikan dengan menggunakan statistik X 2. Algoritma menentukan kesamaan antara distribusi data dalam interval yg berdekatan berdasarkan klasifikasi output sample. Jika kesimpulan dari X2 test ini adalah class output yg independen maka interval harus digabungkan, sebaliknya jika perbedaannya terlalu besar maka tidak digabung. Algoritma ChiMerge berisi 3 tahap untuk diskritisasi: 1. Sort data atas fitur yg diberikan secara urut naik 2. Definisikan inisial awal interval sehingga setiap nilai dalam interval terpisah 3. Ulangi hingga tidak ada x2 dari 2 interval yg berdekatan lebih kecil dari nilai threshold.
Dimana: k= jumlah kelas Aij=jumlah contoh dalam interval ke-i, kelas ke-j Eij =frekuensi yg diharapkan dari Aij, yg mana dihitung (Ri.Cj)/N Ri= jumlah contoh dalam interval ke i Cj = jumlah contoh dalam kelas ke j N= jumlah total dari contoh
1.3 Example Contoh 1 Kumpulan nilai dari fitur f adalah {5, 1, 8, 2, 2, 9, 2, 1, 8, 6}. Split ke dalam 3 bin (k=3), dimana bin2 akan direpresentasikan dengan mode-nya. Sorted nilai2 fitur f : { 1, 1, 2, 2, 2, 5, 6, 8, 8, 9} Inisialisasi bin (k=3) BIN1 BIN2 BIN3 Modes untuk ketiga bin terpilih : {1, 2, 8}. Maka total error : ER = 0 + 0 + 1+ 0 + 0 + 3 + 2 + 0 + 0 + 1 = 7 Setelah memindahkan 2 elemen dari BIN2 ke BIN1 dan 1 elemen dari BIN3 ke BIN2, maka diperoleh ER yg lebih kecil dan distribusi akhir menjadi: Final bins f= { 1, 1, 2, 2, 2, 5, 6, 8, 8, 9} BIN1 BIN2 BIN3 Modesnya: {2, 5, 8}, dan total error ER diminimisasi menjadi 4. Distribusi akhir, dengan median-median sebagai representative akan didapatkan masalah reduksi nilai.
Contoh 2
Berdasarkan tabel di atas didapatkan: E11 = 2/2 = 1 E12 0/2 0.1 E21 = 2/2 = 1 dan E22 = 0/2 0.1
X2 = (1-1)2/1+(0-0.1)2/0.1 +(1-1)2/1 +(0-0.1)2/0.1 = 0.2 Oleh karena lebih kecil dari threshold (2.706 untuk distribusi dg =0.1, maka dilakukan penggabungan.
E 11 = 12/5 = 2.4 E 12 = 3/5 = 0.6 E 21 = 8/5 = 1.6 E 22 = 2/5 = 0.4 X 2 = 0.834
E 11 = 2.78, E 12 = 2.22, E 21 = 2.22, E 22 = 1.78, dan 2 = 2.72 Oleh karena dihasilkan > dari threshold (2.706), maka tidak diperlukan lagi penggabungan
BAB II Clustering
2.1 Introduction Analisis cluster merupakan salah satu teknik data mining yang bertujuan untuk mengidentifikasi sekelompok obyek yang mempunyai kemiripan karakteristik tertentu yang dapat dipisahkan dengan kelompok obyek lainnya, sehingga obyek yang berada dalam kelompok yang sama relatif lebih homogen daripada obyek yang berada pada kelompok yang berbeda. Jumlah kelompok yang dapat diidentifikasi tergantung pada banyak dan variasi data obyek. Tujuan dari pengelompokan sekumpulan data obyek ke dalam beberapa kelompok yang mempunyai karakteristik tertentu dan dapat dibedakan satu sama lainnya adalah untuk analisis dan interpretasi lebih lanjut sesuai dengan tujuan penelitian yang dilakukan. Model yang diambil diasumsikan bahwa data yang dapat digunakan adalah data yang berupa data interval, frekuensi dan biner. Set data obyek harus mempunyai peubah dengan tipe yang sejenis tidak campur antara tipe yang satu dengan lainnya. Analisis cluster dapat diterapkan pada bidang apa saja. Namun pemakaian teknik ini lebih familiar pada bidang pemasaran karena memang salah satu kegiatan yang dilakukan dalam pemasaran adalah pengelompokan, yang disebut segmentasi pasar. Adapun tujuan utama teknik klaster : 1. Pengelompokan sejumlah data/obyek ke dalam klaster (grup) sehingga dalam setiap klaster akan berisi data yang semirip mungkin. 2. Ukuran kemiripan biasanya dihitung dengan jarak. 3. Jarak dalam satu klaster dibuat sedekat mungkin dan jarak antar klaster diusahakan untuk sejauh mungkin 4. Jadi dalam satu klaster harus semirip mungkin dan dengan klaster yang lain harus berbeda.
2.2 Algorithm Method & Example Dalam clustering terdapat dua metode yaitu metode hirarki clustering dan metode non -hirarki clustering. Berikut ini beberapa metode clustering.
2.2.1 Metode Hirarki Clustering Teknik hirarki (hierarchical methods) adalah teknik clustering membentuk kontruksi hirarki atau berdasarkan tingkatan tertentu seperti struktur pohon (struktur pertandingan). Dengan demikian proses pengelompokkannya dilakukan secara bertingkat atau bertahap. Hasil dari pengelompokan ini dapat disajikan dalam bentuk dendogram. Metode-metode yang digunakan dalam teknik hirarki: 1) Agglomerative Methods Metode ini dimulai dengan kenyatan bahwa setiap obyek membentuk clusternya masing masing. Kemudian dua obyek dengan jarak terdekat bergabung. Selanjutnya obyek ketiga akan bergabung dengan cluster yang ada atau bersama obyek lain dan membentuk cluster baru. Hal ini tetap memperhitungkan jarak kedekatan antar obyek. Proses akan berlanjut hingga akhirnya terbentuk satu cluster yang terdiri dari keseluruhan obyek. Ada beberapa teknik dalam Agglomerative methods yaitu: a) Single linkage (nearest neighbor methods) Metode ini menggunakan prinsip jarak minimum yang diawali dengan mencari dua obyek terdekat dan keduanya membentuk cluster yang pertama. Pada langkah selanjutnya terdapat dua kemungkinan, yaitu : obyek ketiga akan bergabung dengan cluster yang telah terbentuk, atau dua obyek lainnya akan membentu cluster baru. Proses ini akan berlanjut sampai akhirnya terbentuk cluster tunggal. Pada metode ini jarak antar cluster didefinisikan sebagai jarak terdekat antar anggotanya. Contoh : Terdapat matriks jarak antara 5 buah obyek, yaitu :
Langkah penyelesaiannya : Mencari obyek dengan jarak minimum A dan B mempunyai jarak terdekat, yaitu 1.0 maka obyek A dan A bergabung menjadi satu cluster. Menghitung jarak antara cluster AB dengan obyek lainnya. D(AB)C = min {dAC, dBC}= dBC = 3.0 D(AB)D = min {dAD, dBD}= dAD = 6.0 D(AB)E = min {dAE, dBE}= dBE = 7.0 Dengan demikian terbentuk matriks jarak yang baru
Mencari obyek dengan jarak terdekat D dan E mempunyai jarak yang terdekat yaitu 2.0 maka obyek D dan E bergabung menjadi satu cluster. Menghitung jarak antara cluster dengan obyek lainnya. D(AB)C = 3.0 D(AB)(DE = min {dAD, dAE, dBD, dBE} = dAD = 6.0 D(DE)C = min {dCD, dCE} = dCD = 4.0 Mencari jarak terdekat antara cluster dengan obyek dan diperoleh obyek C bergabung dengan cluster AB Pada langkah yang terakhir, cluster ABC bergabung dengan DE sehingga terbentuk cluster tunggal.
b) Complete linkage (furthest neighbor methods) Metode ini merupakan kebalikan dari pendekatan yang digunakan pada single linkage. Prinsip jarak yang digunakan adalah jarak terjauh antar obyek. Contoh : Terdapat matriks jarak antara lima buah obyek yaitu :
Langkah penyelesaiannya : Mencari obyek dengan jarak minimum A dan B mempunyai jarak terdekat yaitu 1.0 maka obyek A dan B bergabung menjadi satu cluster. Menghitung jarak antara cluster AB dengan obyek lainnya. D(AB)C = max {dAC, dBC} = dAC = 5.0 D(AB)D = max {dAD, dBD}= dBD = 8.0 D(AB)E = max {dAE, dBE} = dAE = 8.0 Dengan demikian terbentuk matriks jarak yang baru
Mencari obyek dengan jarak terdekat. D dan E mempunyai jarak terdekat yaitu 2.0 maka obyek D dan E bergabung menjadi satu cluster Menghitung jarak antar cluster dengan obyek lainnya. D(AB)C = 5.0 D(AB)(DE) = max {dAD, dAE, dBD, dBE} = dAE = dBD = 8.0 D(DE)C = max {dCD, dCE} = dCE = 6.0
Maka terbentuklah matriks jarak yang baru, yaitu :
Mencari jarak terdekat antara cluster dengan obyek dan diperoleh obyek C bergabung dengan cluster AB Pada langkah yang terakhir cluster ABC bergabung dengan DE sehingga terbentuk cluster tunggal.
c) Average linkage methods ( between groups methods) Metode ini mengikuti prosedur yang sama dengan kedua metode sebelumnya. Prinsip ukuran jarak yang digunakan adalah jarak rata-rata antar tiap pasangan obyek yang mungkin. Contoh : Terdapat matriks jarak antara 5 buah obyek, yaitu :
Langkah penyelesaiannya : Mencari obyek dengan jarak minimum A dan B mempunyai jarak terdekat, yaitu 1,0 maka obyek A dan B bergabung menjadi satu cluster. Menghitung jarak antara cluster AB dengan obyek lainnya d(AB)C = max {dAC, dBC} = dAC = 5,0 d(AB)D = max {dAD, dBD} = dBD = 8,0 d(AB)E = max {dAE, dBE} = dAE = 8,0 Dengan demikian terbentuk matriks jarak yang baru :
Mencari obyek dengan jarak terdekat. D dan E mempunyai jarak terdekat, yaitu 2,0 maka obyek D dan E bergabung menjadi satu cluster. Menghitung jarak antara cluster dengan obyek lainnya. d(AB)C = 4,0 d(AB)(DE) = 1/2{dAD, dAE, dBD, dBE}= 7,25 d(DE)C = 1/2{dCD, dCE,} = dCE = 5,00
Maka terbentuklah matrik jarak yang baru, yaitu :
Mencari jarak terdekat antara cluster dengan obyek dan diperoleh obyek C bergabung dengan clster AB. Pada langkah yang terakhir, cluster ABC bergabung dengan DE sehingga terbentuk cluster tunggal.
2) Divisive Methods Metode divisive berlawanan dengan metode agglomerative. Metode ini pertama-tama diawali dengan satu cluster besar yang mencakup semua observasi (obyek). Selanjutnya obyek yang mempunyai ketidakmiripan yang cukup besar akan dipisahkan sehingga membentuk cluster yang lebih kecil. Pemisahan ini di lanjutkan sehinggamecapai sejumlah cluster yang di inginkan. a) Splinter average distance methods Metode ini didasarkan pada perhitungan jarak rata-rata masing- masing obyek dengan obyek pada grup splinter dan jarak rata-rata obyek tersebut dengan obyek lain pada grupnya. Contoh : Terdapat matriks jarak antara 5 buah obyek, yaitu :
Perhitungan : 1. Menghitung jarak rata-rata antar obyek A = (12+9+32+31) = 21 D = (32+25+23+9) = 22.25 B = (12+9+25+27) = 18.25 E = (31+27+24+9) = 22.75 C = (9+9+23+24) = 16.25 Terlihat bahwa E mempunyai nilai jarak terjauh, yaitu 22.75, maka E dipisahkan dari group utama dan membentuk group splinter. 2. Menghitung jarak rata-rata obyek dengan group utama dengan group splinter.
Pada D, jarak rata-rata dengan group splinter lebih dekat daripada dengan group utama. Dengan demikian D harus dikeluarkan dari group utama dan masuk ke group splinter.
3. Perhitungan jarak rata-rata
Karena jarak semua obyek ke group utama sudah lebih besar daripada jaraknya ke group splinter, maka komposisinya sudah stabil.
2.2.2 Metode Non-Hirarki Berbeda dengan metode hirarkikal, prosedur non hirarkikal (K-means Clustering) dimulai dengan memilih sejumlah nilai cluster awal sesuai dengan jumlah yang diinginkan dan kemudian obyek digabungkan ke dalam cluster-cluster tersebut.
1) K-Means Clustering Metode ini bekerja dengan mengelompokkan data-data dengan kriteria yang sama ke dalam cluster yang sama, dan data dengan kriteria yang berbeda ke dalam cluster yang berbeda pula, dengan tujuan untuk meminimalkan variasi dalam satu cluster yang sama dan memaksimalkan variasi antar cluster. a) Kelebihan K-Means Selalu konvergen atau mampu melakukan clusterisasi Tidak membutuhkan operasi matematis yang rumit, bisa dibilang operasinya sederhana Beban komputasi relatif lebih ringan sehingga clusterisasi bisa dilakukakn dengan cepat walaupun relatif tergantung pada banyak jumlah data dan jumlah cluster yang ingin dicapai
b) Model matematik Cara memilih anggota dari suatu cluster adalah: = _() ((,_ )) X adalah data yang akan ditentukan masuk ke cluster-cluster yang ada. _ adalah nilai rata-rata dari cluster ke k. K adalah jumlah cluster. Jadi cluster T merupakan cluster yang paling cocok untuk data X karena cluster T memiliki selisih terkecil.
Untuk menghitung selisih dapat digunakan metode seperti Eucledian distance, Mahalanobis distance, Manhattan distance, Normalised Cosines distance. Metode yang paling populer adalah dengan menggunakan Eucledian distance.
c) Algoritma Tentukan K Tentukan _ untuk semua cluster dengan memilih secara acak (random) dari data yang ada Update keanggotaan dari setiap cluster Update _ beradasarkan anggota yang baru saja di update Lakukan langkah 3 dan 4, sampai tidak ada perubahan keanggotaan dari setiap cluster Hasil dari setiap eksekusi tidak selalu sama, karena adanya unsur random, maka ada kemungkinan algoritma akan menghasilkan hasil yang berbeda.
d) Contoh Penggunaan Algoritma K-means Dengan menggunakan algoritma K-Means tentukan cluster dari masing-masing data dengan K=2 M1=(2,5) ; M2=(2,5.5) ; M3=(5,3.5) ; M4=(6.5,2.2) ; M5=(7,3.3) ; M6=(3.5,4.8) ; M7=(4,4.5)
Iterasi 1 a. Menghitung Euclidean distance dari semua date ke tiap titik pusat pertama
Dengan cara yang sama hitung jara tiap titik ke titik pusat ke dan kita akan mendapatkan D 21 = 4.12, D 22 =4.27, D 23 = 1.18, D 24 = 1.86, D 25 =1.22, D 26 =2.62, D 27 =2.06 b. Dari penghitungan Euclidean distance, kita dapat membandingkan : M 1 M 2 M 3 M 4 M 5 M 6 M 7
jarak ke C 1 1.41 1.80 2.06 3.94 4.06 0.94 1.12 C 2 4.12 4.27 1.18 1.86 1.22 2.62 2.06 {M 1 , M 2 , M 6 , M 7 } anggota C 1 and {M 3 , M 4 , M 5 } anggota C 2 c. Hitung titik pusat baru
Iterasi ke 2 Hitung Euclidean distance dari tiap data ke titik pusat yang baru dengan cara yang sama dengan iterasi pertama kita akan mendapatkan perbandingan sebagai berikut: M 1 M 2 M 3 M 4 M 5 M 6 M 7
Jarak ke C 1 0.76 0.96 2.65 4.62 4.54 0.76 1.31 C 2 4.62 4.86 1.27 0.86 0.88 3.22 2.63 Dari perbandingan tersebut didapatkan {M1, M2, M6, M7} anggota C1 dan {M3, M4, M5} anggota C2 Karena anggota kelompok tidak ada yang berubah maka titik pusat pun tidak akan berubah. Kesimpulan : {M 1 , M 2 , M 6 , M 7 } anggota C 1 dan {M 3 , M 4 , M 5 } anggota C 2.
Bab III ID3 (I terative Dichotomize 3)
3.1 Introduction ID3 (Iterative Dichotomicer 3) adalah algoritma decision tree learning (algoritma pembelajaran pohon keputusan) yang paling dasar. Algoritma ini melakukan pencarian secara menyeluruh (greedy) pada semua kemungkinan pohon keputusan. Algoritma ini ditemukan oleh J. Ross Quinlan, dengan memanfaatkan Teori Informasi atau Information Theory milik Shanon.Idenya, adalah membuat pohon dengan percabangan awal adalah atribut yang paling signifikan. Maksudnya signifikan adalah yang paling bisa mempartisi antara iya dan tidak. Karakteristik ID3 dalam membangun pohon keputusan adalah secara top-down dan divide-and- conquer. Top-down artinya pohon keputusan dibangun dari simpul akar ke daun, sementara divide-and-conquer artinya training data secara rekursif dipartisi ke dalam bagian-bagian yang lebih kecil saat pembangunan pohon. Perhatikan ilustrasi berikut :
Gambar 3.1 Ilustrasi ID3
Bisa dilihat, bahwa atribut patron membagi 3, dimana hasil pembagiannya cukup ideal. Maksudnya ideal adalah setiap cabang terdiri dari hijau saja atau merah saja. Memang, untuk cabang full tidak satu warna (hijau saja atau merah saja). Tapi, pemilihan atribut patron jelas lebih baik daripada atribut type. Untuk menentukan atribut mana yang lebih dahulu dipergunakan untuk membuat cabang pohon, digunakanlah teori informasi. Gain mengukur seberapa baik suatu atribut memisahkan training example ke dalam kelas target. Atribut dengan informasi tertinggi akan dipilih. Dengan tujuan untuk mendefinisikan gain, pertama-tama digunakanlah ide dari teori informasi yang disebut entropi. Entropi mengukur jumlah dari informasi yang ada pada atribut. Adapun sample data yang digunakan oleh ID3 memiliki beberapa syarat, yaitu: Deskripsi atribut-nilai. Atribut yang sama harus mendeskripsikan tiap contoh dan memiliki jumlah nilai yang sudah ditentukan. Kelas yang sudah didefinisikan sebelumnya. Suatu atribut contoh harus sudah didefinisikan, karena mereka tidak dipelajari oleh ID3. Kelas-kelas yang diskrit. Kelas harus digambarkan dengan jelas. Kelas yang kontinu dipecah-pecah menjadi kategori-kategori yang relatif, misalnya saja metal dikategorikan menjadi hard, quite hard, flexible, soft, quite soft. Jumlah contoh (example) yang cukup. Karena pembangkitan induktif digunakan, maka dibutuhkan test case yang cukup untuk membedakan pola yang valid dari peluang suatu kejadian.
3.2 Algorithm Method Algoritma Pohon Keputusan ID3 atau Iterative Dichotomiser 3 (ID3) merupakan sebuah metode yang digunakan untuk membuat pohon keputusan yang telah dikembangkan oleh J. Ross Quinlan sejak tahun 1986. Algoritma pada metode ini menggunakan konsep dari entropy informasi. Algoritma ini melakukan pencarian secara rakus/menyeluruh (greedy) pada semua kemungkinan pohon keputusan . Secara ringkas, langkah kerja Algoritma ID3 dapat digambarkan sebagai berikut : Hitung Entropy dan Information gain dari setiap atribut dengan menggunakan rumus:
Dimana: S = ruang (data) sample yang digunakan untuk training. P+ = jumlah yang bersolusi positif (mendukung) pada data sample untuk kriteria tertentu. P- = jumlah yang bersolusi negatif (tidak mendukung) pada data sample untuk kriteria tertentu.
Dimana: S = ruang (data) sample yang digunakan untuk training. A = atribut. V = suatu nilai yang mungkin untuk atribut A. Nilai(A) = himpunan yang mungkin untuk atribut A. |Sv| = jumlah sample untuk nilai V. |S| = jumlah seluruh sample data. Entropy(Sv) = entropy untuk sample-sample yang memiliki nilai V. Tujuan dari pengukuran nilai information gain adalah untuk memilih atribut yang akan dijadikan cabang pada pembentukan pohon keputusan. Pilih atribut yang memiliki nilai information gain terbesar. Bentuk simpul yang berisi atribut tersebut. Ulangi proses perhitungan information gain yang akan terus dilaksanakan sampai semua data telah termasuk dalam kelas yang sama. Atribut yang telah dipilih tidak diikutkan lagi dalam perhitungan nilai information gain.
ID3 berhenti jika atribut sempurna mengklasifikasikan training sets. Atau secara rekursif mengoperasikan nilai n, dimana n adalah banyaknya nilai kemungkinan dari suatu untuk mendapatkan atribut terbaik.
3.3 Example Berikut ini merupakan contoh dari salah satu kasus resiko kredit (credit risk) yang menggunakan decision tree untuk menentukan apakah seorang potential customer dengan karakteristik saving, asset dan income tertentu memiliki good credit risk atau bad credit risk.
Gambar 3.2 Cart Decision Tree
Dapat dilihat pada gambar tersebut, bahwa target variable dari decision tree tersebut atau variable yang akan diprediksi adalah credit risk dengan menggunakan predictor variable : saving, asset, dan income. Setiap nilai atribut dari predictor variable akan memiliki cabang menuju predictor variable selanjutnya, dan seterusnya hingga tidak dapat dipecah dan menuju pada target variable. Misalnya untuk contoh data berikut ini :
Gambar 3.3 Contoh Data Credit Risk
Dari training data tersebut kemudian disusunlah alternatif untuk candidate split, sehingga setiap nilai untuk predictor variable di atas hanya membentuk 2 cabang, yaitu sebagai berikut:
Gambar 3.4 Candidate Split Kemudian untuk setiap candidate split di atas, dihitung variabelvariabel berikut berdasarkan training data yang dimiliki. Adapun variabelvariabel tersebut, yaitu :
,dimana :
Adapun contoh hasil perhitungannya adalah sebagai berikut :
Gambar 3.5 Hasil Perhitungan
Dapat dilihat dari contoh perhitungan di atas, bahwa yang memiliki nilai goodness of split * (s/t) + yang terbesar, yaitu split 4 dengan nilai 0.64275. Oleh karena itu split 4 lah yang akan digunakan pada root node, yaitu split dengan : assets = low dengan assets = {medium, high}. Untuk penentuan pencabangan, dapat dilihat bahwa dengan assets=low maka didapatkan pure node leaf, yaitu bad risk (untuk record 2 dan 7). Sedangkan untuk assets = {medium, high} masih terdapat 2 nilai, yaitu good credit risk dan bad credit risk. Sehingga pencabangan untuk assets = {medium, high} memiliki decision node baru. Adapun pemilihan split yang akan digunakan, yaitu dengan menyusun perhitungan nilai (s/t) yang baru tanpa melihat split 4, record 2 dan 7.
Gambar 3.6 Iterasi pertama root node
Demikian seterusnya hingga akhirnya dibentuk leaf node dan membentuk decision tree yang utuh (fully grown form) seperti di bawah ini :
Gambar 3.7 Fully Grown Form Cart Decision Tree BAB IV APRIORI
4.1 Introduction 1) 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%. Penelitian ini akan menganalisis frekuensi wisatawan yang datang ke setiap objek wisata di Propinsi Yogyakarta. Hasil asosiasi dari penelitian ini dapat digunakan oleh para pemilik tour and travel dalam membuat paket perjalanan wisata. Pengetahuan mengenai pola kebiasaan wisatawan dalam berwisata bila dimanfaatkan dengan baik akan dapat menaikkan laba bisnisnya dengan membuat paket dengan objek wisata yang sering dikunjungi wisatawan. Namun dapat juga dengan membuat paket wisata yang berisi kombinasi antara objek yang sering dikunjungi dan yang jarang dikunjungi. Jumlah support dan confidence didapatkan dari data perjalanan wisata yang telah dilakukan tour and travel dalam jangka waktu tertentu.
4.2 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 AB maka: 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.
....... (2)
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.
4.3 Example 1. Tahapan pertama dalam perhitungan Algoritma Apriori untuk menemukan association rules yaitu menuliskan data transaksi yang terjadi dalam periode tertentu. Data transaksi yang dimisalkan yaitu seperti dalam tabel berikut :
Tabel 4.1 Daftar kunjungan wisata Transaksi Objek yang dikunjungi 0001 Kraton Yogyakarta, Gembiraloka, Pantai Parangtritis, Goa Cermai 0002 Kraton Yogyakarta 0003 Kraton Yogyakarta, Gembiraloka, Goa Cermai 0004 Kraton Yogyakarta, Pantai Parangtritis, Museum Benteng Vredenburg 0005 Kraton Yogyakarta, Museum Benteng Vredenburg 0006 Kraton Yogyakarta, Pantai Parangtritis, Museum Benteng Vredenburg 0007 Kraton Yogyakarta, Gembiraloka, Pantai Parangtritis, Museum Benteng Vredenburg 0008 Kraton Yogyakarta, Gembiraloka, Pantai Parangtritis, Goa Cermai 0009 Kraton Yogyakarta, Gembiraloka, Pantai Parangtritis, Museum Benteng Vredenburg 0010 Kraton Yogyakarta, Pantai Parangtritis, Museum Benteng Vredenburg
2. Tahapan berikutnya adalah membuat tabel tabular untuk melakukan perhitungan jumlah kunjungan di masing-masing objek wisata. Tabel 4.2. Tabulasi Kunjungan Wisata ID Transaksi Kraton Yogyakarta Gembiraloka Pantai Parangtritis Museum Benteng Vredenburg Goa Cermai 0001 1 1 0 0 1 0002 1 0 0 0 0 0003 1 1 0 0 1 0004 1 0 1 1 0 0005 1 0 0 1 0 0006 1 0 1 1 0 0007 1 1 1 1 0 0008 1 1 1 0 1 0009 1 1 1 1 0 0010 1 0 1 1 0 Jumlah 10 5 6 6 3
3. Langkah berikutnya adalah membuat kombinasi 2 itemsets pada setiap objek wisata dan frekuensi masing-masing kombinasi dihitung sesuai dengan data tabular pada tabel. Pola kombinasi yang didapatkan dapat dilihat pada tabel 4.3 : Tabel 4.3. Pola Kombinasi 2 Itemsets Pola Kombinasi 2 Itemsets Qty Kraton Yogya Gembiraloka 5 Kraton Yogya Pantai Parangtritis 6 Kraton yogya Museum Benteng Vredenburg 6 Kraton Yogya Goa Cermai 3 Gembiraloka Pantai Parangtritis 3 Gembiraloka Museum Benteng Vredenburg 2 Gembiraloka Goa Cermai 3 Pantai Parangtritis Museum Benteng Vredenburg 5 Pantai Parangtritis Goa Cermai 1 Museum Benteng Vredenburg Goa Cermai 0
4. Setelah frekuensi masing-masing itemsets ditemukan, langkah selanjutnya menyeleksi frekuensi yang lebih besar atau sama dengan batas minimal yang telah ditentukan. Misalnya ditentukan batas minimal support 3.
Tabel 4.4. Seleksi Kombinasi Itemsets Pola Kombinasi 2 Itemsets Qty Kraton Yogya Gembiraloka 5 Kraton Yogya Pantai Parangtritis 6 Kraton yogya Museum Benteng Vredenburg 6 Kraton Yogya Goa Cermai 3 Gembiraloka Pantai Parangtritis 3 Gembiraloka Museum Benteng Vredenburg 2 Gembiraloka Goa Cermai 3 Pantai Parangtritis Museum Benteng Vredenburg 5 Pantai Parangtritis Goa Cermai 1 Museum Benteng Vredenburg Goa Cermai 0
5. Tahapan selanjutnya adalah menganalisa tabel 4.4, terdapat beberapa baris yang diberi arsir, garis tersebut adalah itemsets yang tidak memenuhi batas minimum dari jumlah frekwensi yang telah ditentukan. Langkah berikutnya adalah dengan membuat 3 itemset yang sesuai dengan susunan kombinasi yang baru atau dapat dilihat dalam tabel 4.5 :
Tabel 4.5 Calon 3 Itemsets Pola Kombinasi 2 Itemsets Qty Kraton Yogya Gembiraloka 5 Kraton Yogya Pantai Parangtritis 6 Kraton yogya Museum Benteng Vredenburg 6 Kraton Yogya Goa Cermai 3 Gembiraloka Pantai Parangtritis 3 Gembiraloka Goa Cermai 3 Pantai Parangtritis Museum Benteng Vredenburg 5
6. Tabel kombinasi 2 itemsets pada table 4.5 adalah kombinasi yang memenuhi batas minimal support. Berdasarkan tabel diatas maka tahap selanjutnya adalah membuat kombinasi 3 itemsets seperti terlihat pada tabel 4.6 berikut :
Tabel 4.6. Kombinasi 3 Itemsets Pola Kombinasi 3 Itemsets Qty Jika ke Kraton Jogja dan ke Gembiraloka, maka ke Pantai Parangtritis 3 Jika ke Kraton Jogja dan ke Gembiraloka, maka ke Museum Benteng Vredenburg 2 Jika Ke Kraton Jogja dan ke Gembiraloka, maka ke Goa Cermai 3 Jika ke Gembiraloka dan ke Pantai Parangtritis maka ke Museum Benteng Vredenburg 2 Jika ke Gembiraloka dan ke Pantai Parangtritis, maka ke Goa Cermai 1 Jika ke Parangtritis dan ke Museum Benteng Vredenburg maka ke Goa Cermai 0
7. Kombinasi 3 itemset yang memenuhi adalah kombinasi Kraton Jogja-Gembiraloka- Pantai Parangtritis dan kombinasi Kraton Jogja-Gembiraloka-Goa Vredenburg karena kombinasi tersebut memenuhi syarat support 3. Berdasarkan tabel 4.6 maka persentase confidence yang terbentuk adalah : Tabel 4.7. Persentase Confidence 3 itemsets No Aturan Confidence 1 Jika ke Kraton Jogja dan Gembiraloka, maka ke Pantai Parangtritis 3/5 60% 2 Jika ke Kraton Jogja dan Pantai Parangtritis, maka ke Gembiraloka 3/6 50% 3 Jika ke Pantai Parangtritis dan Gembiraloka, maka ke Kraton Jogja 3/3 100% 4 Jika ke Kraton Jogja dan Gembiraloka, maka ke Goa Cermai 3/5 60% 5 Jika ke Kraton Jogja dan Goa Cermai, maka ke Gembiraloka 3/3 100% 6 Jika ke Goa Cermai dan Gembiraloka, maka ke Kraton Jogja 3/3 100%
Jumlah confidence dari pola kombinasi 2 itemsets yang memenuhi minimal support yaitu terlihat dari tabel 4.8 : Tabel 4.8. Seleksi Minimum Confidence No Pola Kombinasi 2 Itemsets Confidence 1 Jika ke Kraton Yogya maka Gembiraloka 5/10 50% 2 Jika ke Gembiraloka maka ke Kraton Yogya 5/5 100% 3 Jika ke Kraton Yogya maka ke Pantai Parangtritis 6/10 60% 4 Jika ke Pantai Parangtritis maka ke Kraton Yogya 6/6 100% 5 Jika ke Kraton Yogya maka ke Museum Benteng Vredenburg 6/10 60% 6 Jika ke Museum Benteng Vredenburg maka ke Kraton Yogya 6/6 100% 7 Jika ke Kraton Yogya maka ke Goa Cermai 3/10 30% 8 Jika ke Goa Cermai maka ke Kraton Yogya 3/3 100% 9 Jika ke Gembiraloka maka ke Pantai Parangtritis 3/5 60% 10 Jika ke Pantai Parangtritis maka ke Gembiraloka 3/6 50% 11 Jika ke Gembiraloka maka ke Goa Cermai 3/5 60% 12 Jika ke Goa Cermai maka keGembiraloka 3/3 100% 13 Jika ke Pantai Parangtritis maka ke Museum Benteng Vredenburg 5/5 100% 14 Jika ke Museum Benteng Vredenburg maka ke Pantai Parangtritis 5/6 83%
8. Misalkan ditetapkan nilai confidence minimal adalah 60% maka terlebih dahulu kita menyeleksi jumlah minimal confidence. Dari tabel diatas maka dapat dihitung aturan asosiasi finalnya, yaitu Support Confidence seperti pada tabel 4.9 :
Tabel 4.9. Final Association Rule No Aturan Supp Conf Support Confidence 1 Jika ke Gembiraloka maka ke Kraton Yogya 50% 100% 50,0% 2 Jika ke Kraton Yogya maka ke Pantai Parangtritis 60% 60% 36,0% 3 Jika ke Pantai Parangtritis maka ke Kraton Yogya 60% 100% 60,0% 4 Jika ke Kraton Yogya maka ke Museum Benteng Vredenburg 60% 60% 36,0% 5 Jika ke Museum Benteng Vredenburg maka ke Kraton Yogya 60% 100% 60,0% 6 Jika ke Goa Cermai maka ke Kraton Yogya 30% 100% 30,0% 7 Jika ke Gembiraloka maka ke Pantai Parangtritis 30% 60% 18,0% 8 Jika ke Gembiraloka maka ke Goa Cermai 30% 60% 18,0% 9 Jika ke Goa Cermai maka keGembiraloka 30% 100% 30% 10 Jika ke Pantai Parangtritis maka ke Museum Benteng Vredenburg 50% 100% 50,0% 11 Jika ke Museum Benteng Vredenburg maka ke Pantai Parangtritis 50% 83% 41,5% 13 Jika ke Kraton Jogja dan Gembiraloka, maka ke Goa Cermai 50% 60% 30,0% 14 Jika ke Karton Jogja dan Gembiraloka maka ke Goa Cermai 30% 60% 18%
Tabel final association rule menjelaskan tentang support dan confidence dari masing-masing kombinasi 2 itemsets dan 3 itemsets. Hasil perhitungan support pada table final association rule didapatkan dari jumlah kunjungan dengan kombinasi objek A dan B dibagi dengan total kunjungan ke objek A. Sedangkan confidence didapatkan dari jumlah kunjungan kombinasi A dan B dibagi dengan total transaksi yang ada. Hasil perkalian support dan confidence itulah yang menjadi hasil akhir dari algoritma apriori.
BAB V KNN (K-Nearest Neighbor)
5.1 Introduction Algoritma k-nearest neighbor (k-NN atau KNN) adalah sebuah metode untuk melakukan klasifikasi terhadap objek berdasarkan data pembelajaran yang jaraknya paling dekat dengan objek tersebut. Data pembelajaran diproyeksikan ke ruang berdimensi banyak, dimana masing-masing dimensi merepresentasikan fitur dari data. Ruang ini dibagi menjadi bagian-bagian berdasarkan klasifikasi data pembelajaran. Sebuah titik pada ruang ini ditandai kelas c jika kelas c merupakan klasifikasi yang paling banyak ditemui pada k buah tetangga terdekat titk tersebut. Dekat atau jauhnya tetangga biasanya dihitung berdasarkan jarak Euclidean. Pada fase pembelajaran, algoritma ini hanya melakukan penyimpanan vektor-vektor fitur dan klasifikasi dari data pembelajaran. Pada fase klasifikasi, fitur-fitur yang sama dihitung untuk data test (yang klasifikasinya tidak diketahui). Jarak dari vektor yang baru ini terhadap seluruh vektor data pembelajaran dihitung, dan sejumlah k buah yang paling dekat diambil. Titik yang baru klasifikasinya diprediksikan termasuk pada klasifikasi terbanyak dari titik-titik tersebut. Nilai k yang terbaik untuk algoritma ini tergantung pada data; secara umumnya, nilai k yang tinggi akan mengurangi efek noise pada klasifikasi, tetapi membuat batasan antara setiap klasifikasi menjadi lebih kabur. Nilai k yang bagus dapat dipilih dengan optimasi parameter, misalnya dengan menggunakan cross- validation. Kasus khusus di mana klasifikasi diprediksikan berdasarkan data pembelajaran yang paling dekat (dengan kata lain, k = 1) disebut algoritma nearest neighbor. Ketepatan algoritma k-NN ini sangat dipengaruhi oleh ada atau tidaknya fitur-fitur yang tidak relevan, atau jika bobot fitur tersebut tidak setara dengan relevansinya terhadap klasifikasi. Riset terhadap algoritma ini sebagian besar membahas bagaimana memilih dan memberi bobot terhadap fitur, agar performa klasifikasi menjadi lebih baik. Terdapat beberapa jenis algoritma pencarian tetangga terdekat, diantaranya : Linear scan Pohon kd Pohon Balltree Pohon metrik Locally-sensitive hashing (LSH) Algoritma k-NN ini memiliki konsistensi yang kuat. Ketika jumlah data mendekati tak hingga, algoritma ini menjamin error rate yang tidak lebih dari dua kali Bayes error rate (error rate minimum untuk distribusi data tertentu).
5.2 Algoritm Method Contoh-contoh pelatihan adalah vektor-vektor dalam ruang fitur multidimensi , masing-masing dengan label kelas . Tahap pelatihan algoritma terdiri hanya menyimpan vektor fitur dan label kelas dari sampel pelatihan . Pada tahap klasifikasi , k adalah user-defined konstan , dan vektor berlabel ( query atau titik uji ) diklasifikasikan dengan menetapkan label yang paling sering di antara sampel k pelatihan terdekat ke titik query. Sebuah metrik jarak yang biasa digunakan untuk variabel kontinyu adalah jarak Euclidean. Untuk variabel diskrit , seperti untuk klasifikasi teks , metrik lain dapat digunakan , seperti metrik tumpang tindih ( atau jarak Hamming ).Seringkali , akurasi klasifikasi k-NN dapat ditingkatkan secara signifikan jika metrik jarak dipelajari dengan algoritma khusus seperti Margin Besar Nearest Neighbor atau analisis komponen sekitar . Kelemahan dari dasar "mayoritas suara" klasifikasi terjadi ketika distribusi kelas miring. Artinya, contoh kelas lebih sering cenderung mendominasi prediksi contoh baru, karena mereka cenderung umum di antara k tetangga terdekat karena sejumlah besar mereka[3]. Salah satu cara untuk mengatasi masalah ini adalah dengan berat klasifikasi , dengan mempertimbangkan jarak dari titik uji untuk masing-masing k tetangga terdekatnya . Kelas ( atau nilai , dalam masalah regresi ) dari masing-masing k poin terdekat dikalikan dengan berat badan proporsional dengan kebalikan dari jarak dari titik ke titik uji . Cara lain untuk mengatasi condong adalah dengan abstraksi dalam representasi data. Misalnya dalam mengatur dirinya sendiri peta ( SOM ) , setiap node merupakan perwakilan ( pusat) dari sekelompok poin yang sama , terlepas dari kepadatan mereka dalam data pelatihan asli . KNN kemudian dapat diterapkan untuk SOM . Algoritma metode KNN sangatlah sederhana, bekerja berdasarkan jarak terpendek dari query instance ke training sample untuk menentukan KNN-nya. Training sample diproyeksikan ke ruang berdimensi banyak, dimana masing-masing dimensi merepresentasikan fitur dari data. Ruang ini dibagi menjadi bagian-bagian berdasarkan klasifikasi training sample. Sebuah titik pada ruang ini ditandai kelac c jika kelas c merupakan klasifikasi yang paling banyak ditemui pada k buah tetangga terdekat dari titik tersebut. Dekat atau jauhnya tetangga biasanya dihitung berdasarkan Euclidean Distance yang direpresentasikan sebagai berikut :
dimana matriks D(a,b) adalah jarak skalar dari kedua vektor a dan b dari matriks dengan ukuran d dimensi. 5.3 Example Terdapat beberapa data yang berasal dari survey questioner tentang klasifikasi kualitas kertas tissue apakah baik atau jelek, dengan objek training menggunakan dua attribute yaitu daya tahan terhadap asam dan kekuatan. [4]
Gambar 5.1 Data klasifikasi kualitas tissue
Akan diproduksi kembali kertas tissue dengan attribute X1=7 dan X2=4 tanpa harus mengeluarkan biaya untuk melakukan survey, maka dapat diklasifikasikan kertas tissue tersebut termasuk yang baik atau jelek. [4]
Gambar 5.2 Perhitungan jarak Euclidean
Gambar 5.3 Klasifikasi nearest neighbor
BAB VI SEQUENTIAL PATTERN
6.1 Introduction Sequential Pattern merupakan metode atau cara untuk mencari dan menemukan hubungan antar item yang ada pada suatu dataset.program sequential pattern mining bertujuan untuk menemukan informasi antar item yang slaing berhubungan kedalam benuk rule. Inputan yang digunakan merupakan sekumpulan sequence yang disebut data- sequence. Suatu sequential-pattern juga terdiri daftar dari sekumpulan item. Pola sekuensial adalah daftar urutan dari sekumpulan item. Sebuah pola sekuensial dikatakan maksimum apabila tidak mengandung pola sekuensial lainnya (Zaki 2001). Sebuah pola sekuensial dengan k-item disebut k-sequence. Sebagai contoh, (A BC) merupakan sebuah sequence dengan 3-sequence. Panjang sebuah pola sekuensial adalah jumlah item yang terdapat pada pola sekuensial tersebut yang dilambangkan dengan |s|. Sebuah subsequence s dari s dilambangkan dengan s s. Misalkan, sebuah pola sekuensial a = (a1,a2,...an) merupakan subsequence dari b = (b1,b2,...bm) dengan integer i1 < i2 < ...in, 1 ik m, sehingga a1 b1, a2 b2, ..., an bm. Sebagai contoh, (ABC) merupakan subsequence dari (ADEBC) atau (DABBC) tetapi bukan subsequence dari (ABC) atau (BCA). Misalkan merupakan sebuah sequence dan D merupakan sebuah database. Apabila diberikan sebuah user-specified threshold yang disebut dengan minimum support, maka sebuah sequence dikatakan frequent jika (, D) minimum support. Misalkan D merupakan sebuah database dan merupakan kumpulan dari semua frequent sequences dalam database D. Sebuah frequent sequence disebut maximal frequent sequence jika untuk masing-masing , , dan bukan merupakan .
6.2 Algorithm Method Sebuah sequence adalah urutan dari elemen-elemen (transaksi)
Setiap elemen terdiri dari kumpulan kejadian-kejadian (item)
Setiap elemen merupakan atribut yang dihubungkan dengan suatu lokasi atau waktu tertentu (spesifik) Panjang Sequence, |s|, adalah banyaknya unsur-unsur sequence yang diberikan. A k-sequence adalah sebuah sequence yang terdiri dari k kejadian (item) Berikut ini adalah tabel contoh dari sequential pattern mining :
Model data sequence dalam bentuk cluster dengan memanfaatkan teori probabilitas dapat dilakukan dengan dua cara yaitu : 1. Menganggap data sequence yang ada sebagai model Markov Chain 2. Dengan memanfaatkan metode Hidden Markov Model sebagai model dari data sequence yang ada. Untuk kasus yang pertama, sequential pattern dapat dimodel dengan Markov Chain, dimana order dari Markov Chain ini menentukan berapa banyak feature yang akan menentukan nilai dari feature yang akan datang. Umumnya Markov Chain yang digunakan adalah Markov Chain dengan order satu, dimana satu feature sebelumnya saja yang menentukan nilai feature yang akan datang beserta probabilitasnya. Markov Chain dengan order n, berarti bahwa sebanyak n feature sebelumnya yang menentukan nilai feature yang akan datang dan probabilitasnya. Untuk kasus yang kedua, sequential pattern dapat dimodel menggunakan Hidden Markov Model yang merupakan perkembangan dari Markov Chain model. Hidden Markov Model mempunyai suatu variabel tambahan dibandingkan dengan Markov Chain yaitu berupa hidden variabel yang berfungsi untuk memodel jumlah dan jenis sumber darimana bagian-bagian dari sequence tersebut berasal. Mixture modelling terhadap data sequence dilakukan dengan memodel Markov Chain model atau Hidden Markov Model yang didapatkan dari data sequence yang bersangkutan. Distance measure yang digunakan adalah log-likelihood dari sequence yang bersangkutan ke model sequence representasi dari cluster yang terbentuk. Dari pemodelan ini, akan didapatkan jumlah cluster yang paling sesuai, jenis data yang masuk di dalam masing-masing cluster dan juga proporsi (relative size) dari masing-masing cluster. Beberapa variasi dari sequence analisis juga didapatkan dalam bioinformatics dimana proses sequence alignment juga perlu untuk dilaksanakan, untuk memastikan ada tidaknya mutasi dari suatu gen ke gen yang lain. Dalam penganalisaan web sequence juga sering didapatkan bahwa suatu sequence adalah mirip dengan sequence yang lain dimana satu bagian dari salah satu sequence tidak terdapat pada sequence lainnya.
BAB VII NAVE BAYES
7.1 Introduction Naive bayesian klasifikasi adalah suatu klasifikasi berpeluang sederhana berdasarkan aplikasi teorema Bayes dengan asumsi antar variabel penjelas saling bebas (independen). Dalam hal ini, diasumsikan bahwa kehadiran atau ketiadaan dari suatu kejadian tertentu dari suatu kelompok tidak berhubungan dengan kehadiran atau ketiadaan dari kejadian lainnya. Naive Bayesian dapat digunakan untuk berbagai macam keperluan antara lain untuk klasifikasi dokumen, deteksi spam atau filtering spam, dan masalah klasifikasi lainnya. Dalam hal ini lebih disorot mengenai penggunaan teorema Naive Bayesian untuk spam filtering. Teorema Naive Bayesian memiliki beberapa kelebihan dan kekurangan yaitu sebagai berikut : Keuntungan Naive Bayesian : a. Menangani kuantitatif dan data diskrit b. Kokoh untuk titik noise yang diisolasi, misalkan titik yang dirata ratakan ketika mengestimasi peluang bersyarat data. c. Hanya memerlukan sejumlah kecil data pelatihan untuk mengestimasi parameter (rata rata dan variansi dari variabel) yang dibutuhkan untuk klasifikasi. d. Menangani nilai yang hilang dengan mengabaikan instansi selama perhitungan estimasi peluang e. Cepat dan efisiensi ruang f. Kokoh terhadap atribut yang tidak relevan
Kekurangan Naive Bayesian : a. Tidak berlaku jika probabilitas kondisionalnya adalah nol, apabila nol maka probabilitas prediksi akan bernilai nol juga b. Mengasumsikan variabel bebas
7.2 Algorithm Method Nave Bayes Classifier merupakan sebuah metoda klasifikasi yang berakar pada teorema Bayes. Ciri utama dari Nave Bayes Classifier ini adalah asumsi yang sangat kuat (naf) akan independensi dari masing-masingkondisi/kejadian. Sebelum menjelaskan Nave Bayes Classifier ini, akan dijelaskan terlebih dahulu Teorema Bayes yang menjadi dasar dari metoda tersebut. Pada teorema Bayes, bila terdapat dua kejadian yang terpisah (misalkan A dan B), maka teorema Bayes dirumuskan sebagai berikut:
(1) Teorema Bayes sering pula dikembangkan mengingat berlakunya hukum probabilitas total, menjadi seperti berikut:
dimana A1U A2 U ...U An = S (2) Untuk menjelaskan teorema Nave Bayes, perlu diketahui bahwa proses klasifikasi memerlukan sejumlah petunjuk untuk menentukan kelas apa yang cocok bagi sampel yang dianalisis tersebut. Karena itu, teorema Bayes di atas disesuaikan sebagai berikut:
(3) Dimana variabel C merepresentasikan kelas, sementara variabel F1... Fn merepresentasikan karakteristik- karakteristik petunjuk yang dibutuhkan untuk melakukan klasifikasi. Maka rumus tersebut menjelaskan bahwa peluang masuknya sampel dengan karakteristik tertentu dalam kelas C (posterior) adalah peluang munculnya kelas C (sebelum masuknya sampel tersebut, seringkali disebutprior), dikali dengan peluang kemunculan karakteristik- karakteristik sampel pada kelas C (disebut jugalikelihood), dibagi dengan peluang kemunculankarakteristik-karakteristik sampel secara global (disebut juga evidence). Karena itu, rumus (3) dapat pula ditulis secara sederhana sebagai berikut:
(4) Nilai evidence selalu tetap untuk setiap kelas pada satu sampel. Nilai dari Posterior tersebut yang nantinya akan dibandingkan dengan nilai-nilai Posterior kelas lainnya untuk menentukan ke kelas apa suatu sampel akan diklasifikasikan. Penjabaran lebih lanjut rumus Bayes tersebut dilakukan dengan menjabarkan P(F1,...,Fn|C) menggunakan aturan perkalian, menjadi sebagai berikut:
(5) Dapat dilihat bahwa hasil penjabaran tersebut menyebabkan semakin banyak dan semakin kompleksnyafaktor-faktor syarat yang mempengaruhi nilai probabilitas, yang hampir mustahil untuk dianalisa satu-persatu.Akibatnya, perhitungan tersebut menjadi sulit untuk dilakukan. Di sinilah digunakan asumsi independensi yang sangat tinggi (naf), bahwa masing- masing petunjuk (F1, F2 ... Fn) saling bebas (independen) satu sama lain. Dengan asumsi tersebut, maka berlaku suatu kesamaan sebagai berikut:
Dari persamaan di atas dapat disimpulkan bahwa asumsi independensi naf tersebut membuat syarat peluang menjadi sederhana, sehingga perhitungan menjadi mungkin untuk dilakukan. Selanjutnya, penjabaran P(F1,...,Fn|C) dapat disederhanakan menjadi seperti berikut:
Dengan kesamaan di atas, persamaan teorema Bayes dapat dituliskan sebagai berikut:
(8) Persamaan di atas merupakan model dari teorema Nave Bayes. Adapun Z merepresentasikan evidence yang nilainya konstan untuk semua kelas pada satu sampel.
7.3 Example Perhitungan Sederhana Nave Bayes untuk Predeksi Kelulusan Tabel 7.1 Data Training NO JENIS KELAMIN STATUS MAHASISWA STATUS PRENIKAHAN IPK Semester 1-6 STATUS KELULUSAN 1 LAKI - LAKI MAHASISWA BELUM 3.17 TEPAT 2 LAKI - LAKI BEKERJA BELUM 3.30 TEPAT 3 PEREMPUAN MAHASISWA BELUM 3.01 TEPAT 4 PEREMPUAN MAHASISWA MENIKAH 3.25 TEPAT 5 LAKI - LAKI BEKERJA MENIKAH 3.20 TEPAT 6 LAKI - LAKI BEKERJA MENIKAH 2.50 TERLAMBAT 7 PEREMPUAN BEKERJA MENIKAH 3.00 TERLAMBAT 8 PEREMPUAN BEKERJA BELUM 2.70 TERLAMBAT 9 LAKI - LAKI BEKERJA BELUM 2.40 TERLAMBAT 10 PEREMPUAN MAHASISWA MENIKAH 2.50 TERLAMBAT 11 PEREMPUAN MAHASISWA BELUM 2.50 TERLAMBAT 12 PEREMPUAN MAHASISWA BELUM 3.50 TEPAT 13 LAKI - LAKI BEKERJA MENIKAH 3.30 TEPAT 14 LAKI - LAKI MAHASISWA MENIKAH 3.25 TEPAT 15 LAKI - LAKI MAHASISWA BELUM 2.30 TERLAMBAT
Jika seorang mahasiswa dengan data sebagai berikut: Tabel 7.2 Data Testing KELAMIN STATUS PRENIKAHAN IPK KETERANGAN LAKI - LAKI MAHASISWA BELUM 2.70 ???
Jawab : Tahap 1 menghitung jumlah class/label : P(Y= TEPAT) = 8/15 jumlah data TEPAT pada komom STATUS KELULUSAN dibagi jumlah data. P(Y= TERLAMBAT) = 7/15 jumlah data TERLAMBAT pada komom STATUS KELULUSAN dibagi jumlah data.
Tahap 2 menghitung jumlah kasus yang sama dengan class yang sama P(JENIS KELAMIN = LAKI - LAKI | Y= TEPAT) = 5/8 jumlah data jenis kelamin laki-laki dengan keterangan TEPAT dibagi jumlah data TEPAT. P(JENIS KELAMIN = LAKI - LAKI | Y= TERLAMBAT) = 3/7 jumlah data jenis kelamin laki-laki dengan keterangan TERLAMBAT dibagi jumlah data TERLAMBAT.
P(STATUS MAHASISWA = MAHASISWA | Y= TEPAT) = 5/8 jumlah data dengan status mahasiswa dengan keterangan TEPAT dibagi jumlah data TEPAT P(STATUS MAHASISWA = MAHASISWA | Y= TERLAMBAT) = 3/7 jumlah data dengan status mahasiswa dengan keterangan TERLAMBAT dibagi jumlah data TERLAMBAT
P(STATUS PRENIKAHAN = BELUM| Y= TEPAT) = 4/8 jumlah data dengan status pernikahan Belum menikah dan keterangan TEPAT dibagijumlah data TEPAT P(STATUS PERNIKAHAN = BELUM| Y= TERLAMBAT) = 4/7 jumlah data dengan status pernikahan Belum menikah dan keterangan TERLAMBATdibagi jumlah data TERLAMBAT
P(IPK = 2.70| Y= TEPAT) = 0/8 jumlah data IPK 2.70 dengan keterangan TEPAT dibagi jumlah data TEPAT P(IPK = 2.70| Y= TERLAMBAT) = 1/7 jumlah data IPK 2.70 dengan keterangan TERLAMBAT dibagi jumlah data TERLAMBAT
Tahap 4 Bandingkan hasil class TEPAT & TERLAMBAT Karena hasil (P|TERLAMBAT) lebih besar dari (P|TERLAMBAT) maka keputusannya adalah TERLAMBAT. Tabel 7.3 Hasil Keputusan KELAMIN STATUS PRENIKAHAN IPK KETERANGAN LAKI - LAKI MAHASISWA BELUM 2.70 TERLAMBAT
BAB VIII ALGORITMA C4.5
8.1 Introduction Algoritma merupakan kumpulan perintah yang tertulis secara sistematis guna menyelesaikan permasalahan logika dari matematika. Pengertian Algoritma C4.5 merupakan algoritma yang digunakan untuk membentuk pohon keputusan. Sedang pohon keputusan dapat diartikan suatu cara untuk memprediksi atau mengklarifikasi yang sangat kuat. Pohon keputusan dapat membagi kumpulan data yang besar menjadi himpunan-himpunan record yang lebih kecil dengan menerapkan serangkaian aturan keputusan. 8.2 Algorithm Method Dalam algoritma C4.5 untuk membangun pohon keputusan hal pertama yang dilakukan yaitu memilih atribut sebagai akar. Kemudian dibuat cabang untuk tiap-tiap nilai didalam akar tersebut. Langkah berikutnya yaitu membagi kasus dalam cabang. Kemudian ulangi proses untuk setiap cabang sampai semua kasus pada cabang memiliki kelas yang sama. Untuk memilih atribut dengan akar, didasarkan pada nilai gain tertinggi dari atribut- tribut yang ada. Untuk menghitung gain digunakan rumus sebagai berikut : Rumus 1 :
Keterangan: S : himpunan kasus A : Atribut N : jumlah partisi atribut A : jumlah kasus pada partisi ke-i : jumlah kasus dalam S
Sehingga akan diperoleh nilai gain dari atribut yang paling tertinggi. Gain adalah salah satu atribute selection measure yang digunakan untuk memilih test atribute tiap node pada tree. Atribut dengan information gain tertinggi dipilih sebagai test atribut dari suatu node. Sementara itu, penghitungan nilai entropi dapat dilihat pada persamaan : Rumus 2 :
Keterangan : S : himpunan kasus A : Atribut N : jumlah partisi S : proporsi dari terhadap S
8.3 Example Tabel 8.1. Tabel Keputusan Bermain Tenis
Dalam kasus yang tertera pada Tabel 8.1, akan dibuat pohon keputusan untuk menentukan main tenis atau tidak dengan melihat keadaan cuaca (outlook), temperatur, kelembaban (humidity) dan keadaan angin (windy). Secara umum algoritma C4.5 untuk membangun pohon keputusan adalah sebagai berikut: 1. Pilih atribut sebagai akar 2. Buat cabang untuk masing-masing nilai 3. Bagi kasus dalam cabang 4. Ulangi proses untuk masing-masing cabang sampai semua kasus pada cabang memiliki kelas yang sama. Untuk memilih atribut sebagai akar, didasarkan padanilai gain tertinggi dari atribut- atribut yang ada. Untuk menghitung gain digunakan rumus seperti tertera dalam Rumus Gain dan Entropi di atas. Berikut ini adalah penjelasan lebih rinci mengenai masing-masing langkah dalam pembentukan pohon keputusan dengan menggunakan algoritma C4.5 untuk menyelesaikan permasalahan. a. Menghitung jumlah kasus, jumlah kasus untuk keputusan Yes, jumlah kasus untuk keputusan No, dan Entropy dari semua kasus dan kasus yang dibagi berdasarkan atribut OUTLOOK,TEMPERATURE, HUMIDITY dan WINDY. Setelah itu lakukan penghitungan Gain untuk masingmasing atribut. Hasil perhitungan ditunjukkan oleh Tabel 8.2. Tabel 8.2. Perhitungan Node
Baris TOTAL kolom Entropy pada Tabel 8.2 dihitung dengan rumus 2, sebagai berikut :
Sedangkan nilai Gain pada baris OUTLOOK dihitung dengan menggunakan rumus 1, sebagai berikut:
Dari hasil pada Tabel 8.2 dapat diketahui bahwa atribut dengan Gain tertinggi adalah HUMIDITY yaitu sebesar 0.37. Dengan demikian HUMIDITY dapat menjadi node akar. Ada 2 nilai atribut dari HUMIDITY yaitu HIGH dan NORMAL. Dari kedua nilai atribut tersebut, nilai atribut NORMAL sudah mengklasifikasikan kasus menjadi 1 yaitu keputusan-nya Yes, sehingga tidak perlu dilakukan perhitungan lebih lanjut, tetapi untuk nilai atribut HIGH masih perlu dilakukan perhitungan lagi. Dari hasil tersebut dapat digambarkan pohon keputusan sementara seperti Gambar 8.1.
Gambar 8.1 Pohon Keputusan Hasil Perhitungan Node 1
b. Menghitung jumlah kasus, jumlah kasus untuk keputusan Yes, jumlah kasus untuk keputusan No, dan Entropy dari semua kasus dan kasus yang dibagi berdasarkan atribut OUTLOOK, TEMPERATURE dan WINDY yang dapat menjadi node akar dari nilai atribut HIGH. Setelah itu lakukan penghitungan Gain untuk masing-masing atribut. Hasil perhitungan ditunjukkan oleh Tabel 8.3. Tabel 8.3. Perhitungan Node 1.1
Dari hasil pada Tabel 8.3 dapat diketahui bahwa atribut dengan Gain tertinggi adalah OUTLOOK yaitu sebesar 0.67. Dengan demikian OUTLOOK dapat menjadi node cabang dari nilai atribut HIGH. Ada 3 nilai atribut dari OUTLOOK yaitu CLOUDY, RAINY dan SUNNY. Dari ketiga nilai atribut tersebut, nilai atribut CLOUDY sudah mengklasifikasikan kasus menjadi 1 yaitu keputusan-nya Yes dan nilai atribut SUNNY sudah mengklasifikasikan kasus menjadi satu dengan keputusan No, sehingga tidak perlu dilakukan perhitungan lebih lanjut, tetapi untuk nilai atribut RAINY masih perlu dilakukan perhitungan lagi. Pohon keputusan yang terbentuk sampai tahap ini ditunjukkan pada gambar 8.2.
Gambar 8.2 Pohon Keputusan Hasil Perhitungan Node 1.1 c. Menghitung jumlah kasus, jumlah kasus untuk keputusan Yes, jumlah kasus untuk keputusan No, dan Entropy dari semua kasus dan kasus yang dibagi berdasarkan atribut TEMPERATURE dan WINDY yang dapat menjadi node cabang dari nilai atribut RAINY. Setelah itu lakukan penghitungan Gain untuk masing-masing atribut. Hasil perhitungan ditunjukkan oleh Tabel 8.4. Tabel 8.4. Perhitungan Node 1.1.2
Dari hasil pada tabel 4 dapat diketahui bahwa atribut dengan Gain tertinggi adalah WINDY yaitu sebesar 1. Dengan demikian WINDY dapat menjadi nodecabang dari nilai atribut RAINY. Ada 2 nilai atribut dari WINDY yaitu FALSE dan TRUE. Dari kedua nilai atribut tersebut, nilai atribut FALSE sudah mengklasifikasikan kasus menjadi 1 yaitu keputusan-nya Yes dan nilai atribut TRUE sudah mengklasifikasikan kasus menjadi satu dengan keputusan No, sehingga tidak perlu dilakukan perhitungan lebih lanjut untuk nilai atribut ini. Pohon keputusan yang terbentuk sampai tahap ini ditunjukkan pada Gambar 8.3.
Gambar 8.3 Pohon Keputusan Hasil Perhitungan Node 1.1.2
Dengan memperhatikan pohon keputusan pada Gambar 8.3, diketahui bahwa semua kasus sudah masuk dalam kelas. Dengan demikian, pohon keputusan pada Gambar 8.3 merupakan pohon keputusan terakhir yang terbentuk.
BAB IX FP-Growth (Frequent Pattern Growth)
9.1 Introduction Algoritma FP-Growth (Frequent Pattern Growth). Algoritma ini merupakan perluasan dari algoritma apriori yang telah ada sebelumnya, oleh karena setiap melakukan kombinasi item apriori akan menscan database berulang kali menyebabkan banyaknya waktu yang dibutuhkan untuk melakukan scanning database tersebut, apalagi bila jumlah datanya cukup besar, selain itu dibutuhkan generate candidate yang besar untuk mendapatkan kombinasi item dari database. FP-Growth hadir untuk menyelesaikan masalah tersebut, karena algoritma ini hanya melakukan 2 kali proses scanning database untuk menentukan frequent itemset dan juga tidak membutuhkan generate candidate seperti yang ada di apriori. Sebagai gantinya FP-Growth menggunakan konsep pembangunan tree disebut dengan FP-Tree dalam pencarian frequent itemset, sehingga pemrosesan pun lebih cepat karena frequent itemset dapat langsung diekstrak dari hasil tree tadi. 9.2 Algorithm Method The frequent- pola pohon ( FP - tree ) adalah struktur kompak yang menyimpan informasi kuantitatif tentang pola sering dalam database.Han mendefinisikan FP - tree sebagai struktur pohon didefinisikan di bawah : Salah satu akar label sebagai " nol " dengan satu set subpohon item- prefix sebagai anak-anak , dan meja sering -item - header ; Setiap node di subtree item- prefix terdiri dari tiga bidang : Item- name : register item yang diwakili oleh node ; Menghitung : jumlah transaksi diwakili oleh bagian dari jalur mencapai node ; Node -link : link ke node berikutnya dalam FP -tree membawa item yang sama - nama , atau null jika tidak ada.
Setiap entri dalam tabel sering -item - header yang terdiri dari dua bidang, yaitu : Item- name : sebagai sama untuk node ; Kepala simpul -link : pointer ke node pertama dalam FP - tree membawa item- name . Selain meja sering -item - header dapat memiliki dukungan count untuk item . Gambar 1 di bawah ini menunjukkan contoh dari FP - tree .
9.3 Example Bagian ini menyajikan contoh sederhana untuk menggambarkan bagaimana algoritma sebelumnya bekerja. Pertimbangkan transaksi di bawah ini dan dukungan minimum sebagai 3:
Untuk membangun FP-Tree, sering item support pertama kali dihitung dan diurutkan dalam urutan menurun mengakibatkan dalam daftar berikut: {B (6), E (5), A (4), C (4), D (4)} . Setelah itu, FP-Tree iteratif dibangun untuk setiap transaksi, menggunakan daftar diurutkan item seperti yang ditunjukkan pada Gambar 2.
Seperti terlihat pada Gambar 3, panggilan awal untuk FP-Growth menggunakan FP-Tree diperoleh dari Algoritma 1, disajikan pada Gambar 2 (f), untuk memproses pohon diproyeksikan dalam panggilan rekursif untuk mendapatkan pola yang sering terjadi dalam transaksi disajikan sebelum . Menggunakan strategi depth-first pohon diproyeksikan bertekad untuk item D, C, A, E dan B, masing-masing. Pertama pohon diproyeksikan untuk D rekursif diproses, memproyeksikan pohon untuk DA, DE dan DB. Dengan cara yang sama item yang tersisa diproses. Pada akhir proses itemset sering adalah: {DAE, DAEB, DAB, DEB, CE, CEB, CB, AE, AEB, AB, EB}.
DAFTAR PUSTAKA
[1] http://bow-masbow.blogspot.com/2010/11/data-preparation-pengertian-alasan-dan.html diakses pada tanggal 04 Januari 2014. [2] http://kuliah.permataweb.com/wp-content/uploads/2012/10/03Preprocessing.pdf diakses pada tanggal 04 Januari 2014. [3]http://digilib.ittelkom.ac.id/index.php?option=com_content&view=article&id=1008:pri ncipal-component-analysis-pca&catid=13:rpl&Itemid=14 diakses pada tanggal 04 Januari 2014. [4] http://charitasfibriani.wordpress.com/2012/10/16/a-priori/ diakses pada tanggal 04 Januari 2014. [5] http://www.scribd.com/doc/57208138/Metode-Algoritma-KNN diakses pada tanggal 03 Januari 2014. [6] http://id.wikipedia.org/wiki/KNN diakses pada tanggal 04 Januari 2014. [7] http://fiqihsofiana.blogspot.com/2012/01/algoritma-c45.html diakses pada tanggal 04 Januari 2014.