BAB 2 LANDASAN TEORI 2.1. Data Mining Data mining merupakan disiplin ilmu yang mempelajari metode untuk mengekstrak pengetahuan atau menemukan pola dari suatu data (Han and Kamber, 2006). Data mining sering juga disebut knowledge discovery in database (KDD), adalah kegiatan yang meliputi pengumpulan, pemakaian data historis untuk menemukan keteraturan, pola atau hubungan dalam set data berukuran besar. Keluaran dari data mining ini bisa dipakai untuk memperbaiki pengambilan keputusan di masa depan (Santosa, 2007). 2.1.1. Tugas Utama Data Mining Secara umum data mining memiliki empat tugas utama (Sahu, et al. 2011): 1. Klasifikasi (Classification) Klasifikasi bertujuan untuk mengklasifikasikan item data menjadi satu dari beberapa kelas standar. Sebagai contoh, suatu program email dapat mengklasifikasikan email yang sah dengan email spam. Beberapa algoritma klasifikasi antara lain pohon keputusan, nearest neighbor, naïve bayes, neural networks dan support vector machines. 2. Regresi (Regression) Regresi merupakan pemodelan dan investigasi hubungan dua atau lebih variabel. Dalam analisis regresi ada satu atau lebih variabel independentt / prediktor yang biasa diwakili dengan notasi x dan satu variabel respon yang biasa diwakili dengan notasi y (Santosa, 2007). Universitas Sumatera Utara 3. Pengelompokan (Clustering) Clustering merupakan metode pengelompokan sejumlah data ke dalam klaster (group) sehingga dalam setiap klaster berisi data yang semirip mungkin. 4. Pembelajaran Aturan Asosiasi (Association Rule Learning) Pembelajaran aturan asosiasi mencari hubungan antara variabel. Sebagai contoh suatu toko mengumpulkan data kebiasaan pelanggan dalam berbelanja. Dengan menggunakan pembelajaran aturan asosiasi, toko tersebut dapat menentuan produk yang sering dibeli bersamaan dan menggunakan informasi ini untuk tujuan pemasaran. 2.1.2. Proses Data Mining Proses dari data mining mempunyai prosedur umum dengan langkah-langkah sebagai berikut (Kantardzic, 2003): 1. Merumuskan permasalahan dan hipotesis Pada langkah ini dispesifikasikan sekumpulan variabel yang tidak diketahui hubungannya dan jika memungkinkan dispesifikasikan bentuk umum dari keterkaitan variabel sebagai hipotesis awal. 2. Mengoleksi data Langkah ini menitikberatkan pada cara bagaimana data dihasilkan dan dikoleksi. Secara umum ada dua kemungkinan yang berbeda. Yang pertama adalah ketika proses pembangkitan data dibawah kendali dari ahli. Pendekatan ini disebut juga dengan percobaan yang dirancang (designed experiment). Kemungkinan yang kedua adalah ketika ahli tidak memiliki pengaruh pada proses pembangkitan data, dikenal sebagai pendekatan observasional. 3. Pra pengolahan data Pra pengolahan data melibatkan dua tugas utama yaitu: a. Deteksi dan pembuangan data asing (outlier) Data asing merupakan data dengan nilai yang tidak dibutuhkan karena tidak konsisten pada sebagian pengamatan. Biasanya data asing dihasilkan dari kesalahan pengukuran, kesalahan pengkodean dan pencatatan dan beberapa nilai abnormal yang wajar. Ada dua strategi untuk menangani data asing, yang pertama mendeteksi dan berikutnya membuang data asing sebagai bagian dari fase pra pengolahan. Yang kedua adalah Universitas Sumatera Utara mengembangkan metode pemodelan yang kuat yang tidak merespon data asing. b. Pemberian skala, pengkodean dan seleksi fitur Pra pengolahan data menyangkut beberapa langkah seperti memberikan skala variabel dan beberapa jenis pengkodean. Sebagai contoh, satu fitur dengan range [0, 1] dan yang lain dengan range [-100, 100] tidak akan memiliki bobot yang sama pada teknik yang diaplikasikan dan akan berpengaruh pada hasil akhir data mining. Oleh karena itu, disarankan untuk pemberian skala dan membawa fitur-fitur tersebut ke bobot yang sama untuk analisis lebih lanjut. 4. Mengestimasi model Pemilihan dan implementasi dari tehnik data mining yang sesuai merupakan tugas utama dari fase ini. Proses ini tidak mudah, biasanya dalam pelatihan, implementasi berdasarkan pada beberapa model dan pemilihan model yang terbaik merupakan tugas tambahan. 5. Menginterpretasikan model dan menarik kesimpulan Pada banyak kasus, model data mining akan membantu dalam pengambilan keputusan. Metode data mining modern diharapkan akan menghasilkan hasil akurasi yang tinggi dengan menggunakan model dimensi-tinggi. Pengetahuan yang baik pada keseluruhan proses sangat penting untuk kesuksesan aplikasi. Tidak perduli seberapa kuat metode data mining yang digunakan, hasil dari model tidak akan valid jika pra pengolahan dan pengkoleksian data tidak benar atau jika rumusan masalah tidak berarti. 2.2. Klasifikasi (Classification) Salah satu tugas utama dari data mining adalah klasifikasi. Klasifikasi digunakan untuk menempatkan bagian yang tidak diketahui pada data ke dalam kelompok yang sudah diketahui. Klasifikasi menggunakan variabel target dengan nilai nominal. Dalam satu set pelatihan, variabel target sudah diketahui. Dengan pembelajaran dapat ditemukan hubungan antara fitur dengan variabel target. Ada dua langkah dalam proses klasifikasi (Han and Kamber, 2006): Universitas Sumatera Utara a. Pembelajaran (learning) : pelatihan data dianalisis oleh algoritma klasifikasi. b. Klasifikasi: data yang diujikan digunakan untuk mengkalkulasi akurasi dari aturan klasifikasi. Jika akurasi dianggap dapat diterima, aturan dapat diterapkan pada klasifikasi data tuple yang baru. Classification Algorithm Training Data name age income loan decision _______________________________________________ Sandy Jones young low risky Bill Lee young low risky Caroline Fox middle_aged low safe Rick Field middle_aged low risky Susan Lake senior low safe Claire Phips senior medium safe Joe Smith middle_aged high safe ... ... ... ... Classification Rules IF age = youth THEN loan_decision = risky IF income = high THEN loan_decision = safe IF age = middle_aged AND income = low THEN loan_decision = risky Classification Rules Training Data name age income loan decision _______________________________________________ Juan Bello senior low safe Silvia Crest middle_aged low risky Anne Yee middle_aged high safe ... ... ... ... New Data (John Henry, middle_aged, low) Loan decision? risky Gambar 2.1 Langkah Proses Klasifikasi (Han and Kamber, 2006) Universitas Sumatera Utara 2.2.1. Information Gain Information gain menggunakan entropy untuk menentukan atribut terbaik. Entropy merupakan ukuran ketidakpastian dimana semakin tinggi entropy, maka semakin tinggi ketidakpastian. Rumus dari entropy (Slocum, 2012): π πΈ(π) = − οΏ½ ππ (π) log 2 ππ (π) π=1 Dimana: • E(S) adalah informasi entropy dari atribut S • n adalah jumlah dari nilai-nilai yang berbeda pada atribut S • fs(j) adalah frekuensi dari nilai j pada S • log2 adalah logaritma biner Information gain dari output data atau variabel dependent y yang dikelompokkan berdasarkan atribut A, dinotasikan dengan gain(y,A). Information gain, gain(y,A), dari atribut A relatif terhadap output data y adalah (Santosa, 2007): ππππ(π¦, π΄) = πΈππ‘ππππ¦(π¦) − οΏ½ π∈πππππ(π΄) π¦π πππ‘ππππ¦ (π¦π ) π¦ dimana nilai(A) adalah semua nilai yang mungkin dari atribut A, dan yc adalah subset dari y dimana A mempunyai nilai c. Term yang pertama pada rumus information gain di atas adalah entropy total y dan term kedua adalah entropy sesudah dilakukan pemisahan data berdasarkan atribut A. Konsep dari perhitungan entropy dan informasi gain dapat dijelaskan dengan menggunakan contoh yang terdapat pada data sebagai berikut: Universitas Sumatera Utara Tabel 2.1 Data Set Untuk Resiko Penyakit Jantung (Slocum, 2012) Age <50 <50 <70 <60 <60 <60 <70 <50 <50 <60 <50 <70 <70 <60 Trestbps <120 <120 <120 <140 <160 <160 <160 <140 <160 <140 <140 <140 <120 <140 Chol <200 <200 <200 <200 >200 >200 >200 <200 >200 >200 >200 <200 >200 <200 Gender Male Female Male Male Male Female Female Male Male Male Female Female Male Female Heart No No Yes Yes Yes No Yes No Yes Yes Yes Yes Yes No Dari tabel di atas ditetapkan jumlah “No” dan jumlah “Yes” pada kolom keputusan untuk menghitung entropy yang ditunjukkan pada tabel di bawah: Tabel 2.2 Pembagian Hasil “Yes”dan “No” (Slocum, 2012) Age <50 <50 <60 <50 <60 Total No <70 <60 <60 <70 <50 <60 <50 <70 <70 Total Yes Trestbps <120 <120 <160 <140 <140 Chol <200 <200 >200 <200 <200 Gender male female female male female <120 <140 <160 <160 <160 <140 <140 <140 <120 <200 <200 >200 >200 >200 >200 >200 <200 >200 male male male female male male female female male Heart No No No No No 5 Yes Yes Yes Yes Yes Yes Yes Yes Yes 9 Universitas Sumatera Utara Pada contoh di atas, total entropy adalah: E = ((-5/14)log2(5/14)) + ((-9/14)log2(9/14)) = 0.94 Selanjutnya dilakukan perhitungan information gain di masing-masing kolom. Dimulai dari kolom Gender, tinjau nilai Male dan Female dan dihitung entropy “Yes” dan “No” dimana diperoleh Gender/Female (6/14) dan Gender/Male (8/14) dan dikurangi dari total entropy yang sudah dihitung sebelumnya. 3 3 3 3 Entropy female = Entropy[3, 3] = − log 2 − log 2 = 1 6 6 6 6 2 6 2 6 Entropy male = Entropy[6, 2] = − log 2 − log 2 = 0,811 Gain 8 8 8 8 = TotalEntropy – (6/14 x (EntropyFemale)) – (8/14 x (EntropyMale)) = 0.048 2.2.2. Naive Bayes Naive Bayes merupakan algoritma klasifikasi yang sederhana dimana setiap atribut bersifat independent dan memungkinkan berkontribusi terhadap keputusan akhir (Xhemali, et al. 2009). Dasar dari teorema Naïve Bayes yang dipakai dalam pemrograman adalah rumus bayes yaitu sebagai berikut (Han and Kamber, 2006) : π(π»|π) = π(π|π»)π(π») π(π) dimana P(H|X) merupakan probabilitas H di dalam X atau dengan bahasa lain P(H|X) adalah persentase banyaknya H di dalam X, P(X|H) merupakan probabilitas X di dalam H, P(H) merupakan probabilitas prior dari H dan P(X) merupakan probabilitas prior dari X. Konsep dari perhitungan Naive Bayes dapat dijelaskan dengan menggunakan contoh yang terdapat pada data sebagai berikut: Universitas Sumatera Utara Tabel 2.3 Data Cuaca dan Keputusan Main atau Tidak (Santosa, 2007) Cuaca X1 Cerah Cerah Mendung Hujan Hujan Hujan Mendung Cerah Cerah Hujan Cerah Mendung Mendung Hujan Temperatur X2 Panas Panas Panas Sedang Dingin Dingin Dingin Sedang Dingin Sedang Sedang Sedang Panas Sedang Kelembaban X3 Tinggi Tinggi Tinggi Tinggi Normal Normal Normal Tinggi Normal Normal Normal Tinggi Normal Tinggi Angin X4 Kecil Besar Kecil Kecil Kecil Besar Besar Kecil Kecil Kecil Besar Besar Kecil Besar Main atau Tidak y Tidak Tidak Ya Ya Ya Tidak Ya Tidak Ya Ya Ya Ya Ya Tidak Naive Bayes akan menentukan kelas dari data baru berikut: (Cuaca = Cerah, Temperatur = Dingin, Kelembaban = Tinggi, Angin = Besar) P(main) = 9 14 = 0.64 P(tidak) = 3 P(Angin = Besar | main) = = 0.33 5 14 = 0.36 9 3 P(Angin = Besar | tidak) = = 0.60 5 P(main) P(Cerah/main) P(Dingin/main) P(Tinggi/main) P(Besar/main) = 9οΏ½14 ∗ 2οΏ½9 ∗ 3οΏ½9 ∗ 3οΏ½9 ∗ 3οΏ½9 = 0.0053 P(tidak) P(Cerah/tidak) P(Dingin/tidak) P(Tinggi/tidak) P(Besar/tidak) = 5οΏ½14 ∗ 3οΏ½5 ∗ 1οΏ½5 ∗ 4οΏ½5 ∗ 3οΏ½5 = 0.0206 Dari data baru tersebut dapat disimpulkan tidak main, berdasarkan estimasi probabilitas yang dipelajari dari data training. Universitas Sumatera Utara Implementasi dari Naive Bayes pada data pasien dengan menghitung korelasi antara target dan variabel lainnya, dapat digambarkan sebagai berikut (Subbalakshmi, et al. 2011): Data Set Masukkan Data Medis Pasien Naive Bayes Hitung Probabilitas Setiap Atribut Hitung Probabilitas Ya dan Tidak Tampilkan Resiko Gambar 2.2 Implementasi Naive Bayes pada data pasien (Subbalakshmi, et al. 2011) 2.3. Diskritisasi Beberapa data memiliki format yang kompleks dimana terdapat penggabungan tipe data numerik dan diskrit. Data diskrit lebih dekat ke tingkat pengetahuan representasi manusia dan terkadang lebih efisien. (Yul, 2010). Diskritisasi merupakan peralihan dari data kontinu menjadi data diskrit (kategori) (Gorunescu, 2011). Diskritisasi juga dapat digunakan untuk mengubah atribut dengan nilai numerik menjadi nilai nominal / kategorikal (Sullivan, 2014). Terdapat dua bentuk diskritisasi yaitu diskritisasi yang tidak diawasi (unsupervised) dan diskritisasi yang diawasi (supervised). Diskritisasi yang tidak diawasi diperuntukkan untuk tugas data mining clustering sedangkan diskritisasi yang diawasi diperuntukkan untuk tugas data mining regresi dan klasifikasi (Yul, 2010). Universitas Sumatera Utara Berikut contoh diskritisasi dengan menggunakan informasi Gain: A A A A A A A A B B A B C A B C A A A A A B A A B C C C B C C B C B C 114 116 117 118 120 122 123 126 127 131 132 133 134 135 136 137 138 141 147 Gambar 2.3 Data Kontinu dengan Pasangan Nilai Kategorikal Dari gambar di atas terlihat data kontinu dari nilai 114 sampai dengan 147 yang memiliki pasangan nilai kategorikal yaitu A, B dan C. Informasi dari data set: P[Y=A]=17/35, P[Y=B]=9/35, P[Y=C]=9/35 Info(Data set) = 17/35 x log2(17/35) + 9/35 x log2 (9/35) + 9/35 x log2 (9/35) = 1.51 Gambar 2.4 Pemisahan dengan Informasi Gain Informasi dari data set setelah pemisahan pada 121: P[Y=A | kiri]=7/7, P[Y=B |kiri]=0/7, P[Y=C |kiri]=0/7 P[Y=A | kanan]=10/28, P[Y=B |kanan]=9/28, P[Y=C |kanan]=9/28 Universitas Sumatera Utara Info(Data set |pemisahan) = 7/35 x Info (data set kiri) + 28/35 x Info (data set kanan) = 7/35 x 0 + 28/35 x 1.58=1.26 Info (data set kanan) =10/28 x log2 (10/28) + 2 x 9/28 x log2 (9/28) =1.58 Informasi Gain setelah pemisahan pada 121 = 1.51 – 1.26 = 0.25 Gambar 2.5 Pemisahan dengan Informasi Gain Terbaik Dari gambar di atas dapat dilihat bahwa informasi Gain maksimum terdapat pada titik potong 129. Gain untuk pemotongan baru 126,5 sampai [114, 129]: [114, 126.5], [126.5, 129] adalah: Info(Y | [114, 129]) = -16/18 x log2(16/18) – 2/18 x log2(2/18) = 0.503 Info(Y | [114, 126.5]) = -15/18 x log2(15/18) – 1/16 x log2(1/16) = 0.337 Info(Y | [126.5, 129]) = -1/2 x log2(1/2) – 1/2 x log2(1/2) = 1 = Info (Y | [114, 129]) – 16/18 x Info (Y | [114, 126.5]) – 2/18 x Info (Y | [126.5, 129]) = 0,503 – 16/18 x 0,337 – 2/18 x 1 = 0.092 Dari hasil perhitungan di atas gain yang tertinggi terdapat pada 129 dan titik ini dijadikan sebagai titik pemisah. Universitas Sumatera Utara 2.4. Ukuran Kinerja Percobaan dari penelitian dievaluasi dengan pengukuran akurasi, presisi, recall dan fmeasure. Pengukuran dilakukan dengan menggunakan tabel klasifikasi yang bersifat prediktif, disebut juga dengan Confusion Matrix (Xhemali, et al. 2009). Tabel 2.4 Confusion Matrix (Xhemali, et al. 2009) Prediksi Sakit Tidak Aktual Sakit TP FN (sebenarnya) Tidak FP TN dimana: TP (True Positive) ο Jumlah prediksi yang benar dari data yang sakit. FP (False Positive) ο Jumlah prediksi yang salah dari data yang tidak sakit. FN (False Negative) ο Jumlah prediksi yang salah dari data yang sakit. TN (True Negative) ο Jumlah prediksi yang benar dari data yang tidak sakit. Dari Confusion Matrix dapat diukur akurasi, presisi dan recall untuk menganalisa kinerja dari algoritma dalam melakukan klasifikasi untuk mendeteksi penyakit. Akurasi merupakan persentase dari prediksi yang benar. Presisi adalah ukuran dari akurasi dari suatu kelas tertentu yang telah diprediksi. Recall merupakan persentase dari data dengan nilai positif yang nilai prediksinya juga positif. Adapun perhitungannya adalah sebagai berikut: Akurasi Presisi Recall = (TP+TN) / (TP+FP+TN+FN) = TN / (FP+TN) = TP / (TP+FN) Universitas Sumatera Utara