BAB 2 LANDASAN TEORI 2.1. Data Mining Data

advertisement
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
Download