LAPORAN DATA MINING ALL WEEK
Oleh : I Wayan Rizky WIjaya 2110175015
PROGRAM STUDI TEKNIK INFORMATIKA DEPARTEMEN DEPARTEMEN TEKNIK INFORMATIKA INFORMATIKA DAN KOMPUTER PILITEKNIK ELEKTRONIKA NEGERI SURABAYA 2018
DAFTAR ISI
DAFTAR ISI ............................................................................................. ............................................................................................................................................... .................................................. 1 PREPROCESSING...................................................................................................................................... ...................................................................................................................................... 3 Data Hilang .................................................................................................... .......................................................................................................................................... ...................................... 3 Normalization...................................................................................................................... Normalization................................................... ................................................................................... ................ 5 Analisa Outlier ............................................................................................... ..................................................................................................................................... ...................................... 7 TUGAS 1 – Data Hilang ........................................................................................................... ...................................................................................................................... ........... 10 TUGAS 3 – Normalization .............................................................................. .................................................................................................................. .................................... 13 TUGAS 4 – Distance D istance Outlier O utlier .............................................................................................................. 20 ASSICIATION RULE .................................................................................. ................................................................................................................................. ............................................... 26 TUGAS 2 – Association rule ............................................................... ............................................................................................................... ................................................ 28 DECISION TREE ...................................................................................................................................... ...................................................................................................................................... 30 TUGAS 5 – Decision Tree ........................................................ ................................................................................................................... ........................................................... 32 NEAREST NEIGHBOR .......................................................................................................................... ............................................................................................................................. ... 47 Jenis Nearest Neighbor (NN)............................................................. ............................................................................................................. ................................................ 47 TUGAS 7 – NN ............................................................. ................................................................................................................................... ...................................................................... 48 VALIDATION MODEL ............................................................................................................... ............................................................................................................................. .............. 55 Holdout Method ..................................................................... ............................................................................................................................... .......................................................... 55 Random Subsampling ............................................................ ....................................................................................................................... ........................................................... 55 K-Fold Cross Validation ..................................................................................................................... ..................................................................................................................... 56 Leave One Out Cross Validation......................................................... Validation........................................................................................................ ............................................... 56 Bootstrap .................................................................... .......................................................................................................................................... ...................................................................... 57 TUGAS 8 – LOO .............................................................................................. .................................................................................................................................. .................................... 58 CLUSTERING .................................................................... .......................................................................................................................................... ...................................................................... 65 Partitioning Clustering ...................................................................................................................... 65 Overlaping Clustering ......................................................................... ........................................................................................................................ ............................................... 65 Hybrid Clustering .................................................................... .............................................................................................................................. .......................................................... 65 Hierarchial Clustering ......................................................................... ........................................................................................................................ ............................................... 65 TUGAS 9 – K-Means .......................................................................................................................... 67 TUGAS 10 – Hierarchi Hierarc hi Clustering (Single Linked) .............................................................................. .............................................................................. 71 CLUSTER ANALYSIS ............................................................................................................................. ................................................................................................................................ ... 74 Variance ........................................................... .............................................................................................................................. ................................................................................. .............. 74 Error Ratio ......................................................................................................................................... ......................................................................................................................................... 75 TUGAS 11 – Analisis Cluster .............................................................................................................. .............................................................................................................. 76 1
TEXT MINING .............................................................................. ......................................................................................................................................... ........................................................... 80 Tahapan Text Mining ............................................................. ........................................................................................................................ ........................................................... 80 Algoritma TF / IDF ............................................................................................................................. ............................................................................................................................. 80 Vector Space Model ...................................................................................... .......................................................................................................................... .................................... 81 TUGAS 6 – Text Mining (Mencari permasalahan, data, metode dan hasil pada journal) ................. 82 TUGAS 12 – Tahapan Text Mining...................................................... Mining..................................................................................................... ............................................... 85 TUGAS 13 – Search Engine ....................................................................................... ................................................................................................................ ......................... 87
2
PREPROCESSING
Preprocessing merupakan tahap awal yang dilakukan pada proses data mining, pada tahap preprocessing ini dilakukan untuk memperbaiki kualitas data, transformasi data, serta tahap interpretasi dan evaluasi yang menghasilkan output berupa pengetahuan baru yang diharapkan memberikan kontribusi yang lebih baik. Adapun tahapan dalam preprocessing ini adalah sebagai berikut:
Mengapa data di proses di awal?
Pembersihan Data Integrasi dan transformasi data
Reduksi data Diskritisasi dan pembuatan konsep hierarki
Data Hilang
Data Hilang adalah data yang tidak selalu tersedia. Misal, banyak tuple atau record tidak memiliki nilai yang tercatat untuk beberapa atribut, seperti customer income dalam data sales. Hilangnya data bisa karenakan: 1. Kegagalan pemakaian peralatan 2. Ketak-konsistenan dengan data tercatat lainnya dan karenanya dihapus 3. Data tidak dimasukkan karena salah pengertian 4. Data tertentu bisa tidak dipandang penting pada saat entry 5. Tidak mencatat history atau tidak mencatat perubahan data Bagaimana Menangani Data Hilang? 1. Mengabaikan tuple atau record: mudah tetapi tidak efektif, dan merupakan metoda terakhir. Biasanya dilakukan saat label kelas hilang
3
Tidak efektif bila persentasi dari nilai-nilai yang hilang per atribut sungguh-
sungguh bervariasi. 2. Mengisi nilai-nilai yang hilang secara manual: Paling baik Membosankan Paling mahal biaya Tidak mungkin dilakukan dalam banyak hal
3. Mengisi nilai-nilai yang hilang secara otomatis menggunakan: Suatu konstanta global: misal, “unknown”, “Null”, atau suatu kelas baru. Suatu
pola yang memuat “unknown” atau “Null” adalah buruk. Gunakan rata-rata atribut. Pengempisan data ke mean/median. Rata-rata atribut untuk seluruh sampel yang masuk ke dalam kelas yang sama,
merupakan metode yang paling baik. Nilai yang paling mungkin: berbasis inferensi seperti regresi, rumus bayesian,
atau pohon keputusan. Klasifikasi untuk mendapatkan nilai yang paling mungkin. Suatu metoda yang baik dengan beberapa overhead. Menggunakan suatu nilai untuk mengisi nilai yang hilang bisa membiaskan
data, nilai bisa salah. Nilai yang paling mungkin adalah yang terbaik. Gunakan informasi yang paling banyak dari data yang ada untuk memprediksi.
4
Normalization
Normalization (normalisasi) adalah proses penskalaan nilai atribut dari data sehingga bisa jatuh pada tange tertentu. Contoh : Pencatatan tingkat kematian penduduk di Indonesia per bulannya berdasarkan jenis umur. Secara sederhana, disana ada 3 dimensi ada 3 dimensi data, yaitu bulan (1-12) umur (0-150 misalnya), dan jumlah kematian (0-jutaan). Kalua kita bentangkan range masing-masing dimensi, maka kita akan mendapatkan ketidak-seimbangan range pada dimensi yang ketiga, yaitu jumlah kematian. Maka dari contoh diatas perlu dilakukan normalisasi data agar setiap range dari setiap dimensi sesuai. Adapun beberapa contoh method dalam normalisasi yaitu:
1. Min-Max Min-Max merupakan metode normalisasi dengan melakukan transformasi linier terhadap data asli. Dapat dicari menggunakan rumus: newdata = (data-min)*(newmax-newmin)/(max-min)+newmin
Keuntungan dari metode ini adalah keseimbangan nilai perbandingan antar data saat sebelum dan sesudah proses normalisasi. Tidak ada data bias yang dihasilkan oleh metode ini. Kekurangannya adalah jika ada data baru, maka metode ini akan memungkinkan terjebak pada “out of bound” error.
2. Z-Score Z-Score merupakan metode normalisasi yang berdasarkan mean (nilai rata-rata) dan standar deviation (deviasi standar) dari data. Dapat dicari menggunakan rumus: newdata = (data-mean)/std
Keuntungan metode ini adalah sangat berguna jika kita tidak mengetahui nilai actual minimum dan maximum dari data.
5
3. Decimal Scaling Decimal Scaling merupakan metode normalisasi dengan menggerakkan nilai decimal dari data ke arah yang diinginkan. Dapat dicari menggunakan rumus: newdata = data / 10i
Dimana I merupakan nilai integer untuk menggerakkan nilai decimal ke arah yang diinginkan.
4. Sigmoidal Sigmoidal normalization merupakan metode yang melakukan normalisasi data secara nonlinier ke dalam range -1 – 1 dengan menggunakan fungsi sigmoid. Dapat dicari menggunakan rumus: newdata = (1-e^(-x))/(1+e^(-x))
dimana: x = (data mean)/std e = nilai eksponensial (2,718281822) Keuntungan dari metode ini adalah ketika data-data yang ada melibatkan data-data outlier. 5. Softmax Metode Softmax merupakan metode pengembangan transformasi secara linier. Output range-nya adalah 0-1. Dapat dicari menggunakan rumus: newdata = 1/(1+e^(-transfdata))
dimana: transfdata = (data-mean)/(x*(std/(2*3.14))) x = respon linier di deviasi standar
6
Analisa Outlier Teknik Statistik
Cara paling sederhana untuk mendeteksi outlier untuk sample satu dimensi adalah berdasarkan statistic. Perlu dilakukan perhitungan nilai rata -rata (mean) dan standart deviasi. Kemudian berdasarkan nilai tersebut dibentuk fungsi threshold berdasarkan fungsi standart deviasi. Semua sample yang berada diluar nilai threshold berpotensi untuk dinyatakan sebagai outlier. Persoalan utama pada metode ini adalah tidak adanya asumsi tentang distribusi data. Pada kasus nyata, seringkali distribusi dari data tidak diketahui. Berikut ini akan diilustrasikan deteksi oulier berdasarkan teknik statistic. Dimisalkan terdapat data set yang merepresentasikan fitur Usia yang memiliki 12 (dua belas) nilai sebagai berikut : Usia = {3,56,23,39,156,41,22,9,28,139,31,55,20,-67,37,11,55,45,37} Kemudian dilakukan perhitungan terhadap nilai mean dan variance : Mean = 39.9 Standard deviation = 45.65 Jika kita nyatakan nilai threshold untuk distribusi normal dari data s ebagai berikut : Threshold = Mean ±2 Standard deviation Maka semua data yang berada diluar range {-51,4, 131.2} dinyatakan sebagai outliers. Pengetahuan (knowledge) tambahan sehubungan dengan karakteristik dari fitur Usia sendiri diketahui bahwa nilainya selalu lebih dari nol sehingga nilai threshold dapat dinyatakan dengan {0,131.2}. Pada contoh data diatas, terdapat tiga nilai yang termasuk outlier karena berada diluar nilai threshold yaitu : 156,139 dan -67. Teknik Jarak (Distance)
Metode yang kedua ini berusaha mengeliminasi keterbatas an dari pendeteksian outlier berdasarkan teknik statistic. Perbedaan paling penting diantara dua metode ini adalah bahwa metode yang kedua ini cocok digunakan untuk data dengan banyak dimensi (multidimensi). Cara yang digunakan pada pendekatan yang kedua ini adalah dengan mengevaluasi nilai jarak (distance) diantara semua sample data set yang berukuran n-dimensi. Dan dinyatakan bahwa sampel si pada data set S adalah outlier jika nilai p dari sample S yang memiliki jarak lebih 7
besar daripada d, nilainya lebih besar daripada nilai threshold yang sudah ditentukan. Dengan kata lain, outlier berdasarkan jarak (distance based outliers) disini mencari data-data yang memiliki jumlah tetangga jauh paling banyak (p) dari jarak d yang sudah ditetapkan. Untuk memperjelas pemahaman tentang metode ini, akan diilustrasikan pendekatan ini dengan cara menganalisa data set S dua dimensi berikut ini dengan parameter p≥4 dan d ≥3 S={s1,s2,s3,s4,s5,s6,s7}={(2,4),(3,2),(1,1),(4,3),(1,6),(5,3),(4,2)} Digunakan jarak Euclidian, d = [(x1-x2) 2 + (y1-y2) 2] ½, seperti yang ada pada tabel di bawah :
S1 S1 S2 S3 S4 S5 S6
s2
s3
s4
s5
s6
s7
2.236
3.162
2.236
2.236
3.162
2.828
2.236
1.414
4.472
2.236
1.000
3.605
5.000
4.472
3.162
4.242
1.000
1.000
5.000
5.000 1.414
8
Kemudian berdasarkan tabel jarak tersebut kita hitung nilai untuk parameter p dengan jarak threshold yang sudah ditetapkan (d=3) untuk setiap sample data.
Hasilnya
perhitungannya seperti ada pada tabel di bawah ini : Sample
p
S1
2
S2
1
S3
5
S4
2
S5
5
S6
3
Dari tabel 2.5 diatas, bisa kita lihat bahwa samples S3 dan S5 adalah outliers (dikarenakan nilai p melebihi dari nilai threshold: p>=4).
9
TUGAS 1 – Data Hilang
Pada tugas ini digunakan data dari hepatitis.csv, dan akan dicari nilai dari data hilang menggunakan rata – rata atribut . Untuk atribut yang digunakan hanya atribut Bilirubin.
Selanjutnya pada tugas ini juga akan dilakukan normalisasi menggunakan data dari hepatitis.csv, selain itu pengerjaan normalisasi ini menggunakan tools Rapid Miner dengan
metode Min Max. Berikut merupakan desain operator yang digunakan :
Di dalam cross validation :
Pengerjaan : 1. Read CSV Digunakan untuk membaca dataset dalam bentu CSV, pada tugas ini dataset yang akan dibaca adalah hepatitis.csv
10
2. Replace Missing Value Digunakan untuk mengganti data hilang pada dataset, pada tugas ini pengisian data hilang akan menggunakan metode average 3. Normalize Digunakan untuk penyamaan range data (melakukan normalisasi pada data ), pada tugas ini digunakan metode range transformation pada rapid miner atay sering disebut min – max, dengan nilai min = 0 dan max = 1. 4. Set Role Digunakan untuk melakukan pengecekan terhadap bagaimana operator lain menangani role pada data set, pada tugas ini atribut yang akan dicek adalah label dari hepatitis.csv yaitu label Class. 5. Cross Validation Digunakan untuk melakukan pengecekan akurasi terhadap example yang dimasukkan, pada tugas ini akan digunakan K-NN untuk training dan Aplly Model serta Performance untuk testing. 6. K-NN Digunakan untuk melakukan klasifikasi data dengan K-NN 7. Apply Model Digunakan untuk mengaplikasikan model pada example set 8. Performance Digunakan untuk melakukan evaluasi performa
Hasil normalisasi data :
11
Hasil Error Performance :
12
TUGAS 3 – Normalization
Tugas normalisasi ini akan melakukan perbandingan antara semua metode normalisasi yang tersedia pada Rapid Miner menggunakan data dari cranecontrol.csv . Berikut merupakan desain operator yang digunakan :
Di dalam cross validation :
Pengerjaan : 1. Read CSV Digunakan untuk membaca dataset dalam bentu CSV, pada tugas ini dataset yang akan dibaca adalah cranecontrol.csv 2. Normalize Digunakan untuk penyamaan range data (melakukan normalisasi pada dat a), pada tugas ini
digunakan
metode
z-transformation,
range
transformation,
proportion
transformation interquartile range dan percobaan tanpa normalisasi. 3. Set Role Digunakan untuk melakukan pengecekan terhadap bagaimana operator lain menangani role pada data set, pada tugas ini atribut yang akan dicek adalah label dari cranecontrol.csv yaitu label Power.
13
4. Detect Outlier (Distance) Digunakan untuk mendeteksi data yang merupakan outlier, pada tugas ini pendeteksian outlier menggunakan metode Euclidian distance. 5. Cross Validation Digunakan untuk melakukan pengecekan akurasi terhadap example yang dimasukkan, pada tugas ini akan digunakan K-NN untuk training dan Aplly Model serta Performance untuk testing. 6. K-NN Digunakan untuk melakukan klasifikasi data dengan K-NN 7. Apply Model Digunakan untuk mengaplikasikan model pada example set 8. Performance Digunakan untuk melakukan evaluasi performa
Hasil normalisasi data : 1. Percobaan dengan normalisasi z-transformation
14
2. Percobaan dengan normalisasi range transformation
15
3. Percobaan dengan normalisasi proportion transformation
16
4. Percobaan dengan normalisasi interquartile range
17
5. Percobaan tanpa menggunakan normalisasi
18
Kesimpulan : Dari ke 5 percobaan di atas dapat disimpulkan bahwa penggunaan normalisasi dan tidak normalisasi memang mempengaruhi hasil yang didapat dari data set yang dimasukkan namun proses normalisasi juga belum tentu dapat menunjukkan hasil yang lebih maksimal dibandingkan dengan tanpa normalisasi begitu juga sebaliknya dalam melakukan proses normalisasi pemilihan normalisasi apa yang digunakan harus sesuai dengan data yang dimasukkan agar hasil yang didapat bisa maksimal. Sehingga berdasarkan keempat percobaan normalisasi di atas dapat disimpulkan bahwa normalisasi yang digunakan adalah normalisasi proportion transformation yang menghasilkan nilai error paling sedikit yaitu : 1. Root_mean_squared_error
root_mean_squared_error: 0.016 +/- 0.014 (mikro: 0.020 +/- 0.000) 2. Squared_error
squared_error: 0.000 +/- 0.000 (mikro: 0.000 +/- 0.000)
19
TUGAS 4 – Distance Outlier
Pada tugas ini akan dilakukan pencarian outlier enggunakan metode jarak (distance) pada data set yang telah disediakan. Dibawah ini merupakan data set yang disiapkan :
Setelah itu kita harus menentukan nilai dari jumlah tetangga paling jauh (p) dan jarak (d), dibawah ini merupakan nilai dari p dan d yang ditetapkan :
Selanjutnya akan dicari jarak dari masing – masing data menggunakan Euclidian distance, berikut merupakan hasil dari perhitungan Euclidian distance :
20
Dari gambar di atas dapat dilihat ada field yang berwarna merah, filed ini merupakan jarak dari data yang melebihi nilai dari d. setelah itu kita harus menghitung jumlah dari filed merah tersebut agar mendapatkan nilai p. Di bawah ini adalah hasil dari p dari setiap data :
Dari gambar di atas kita bandingkan nilai p dengan nilai p yang telah kita tetapkan sehingga mendapatkan data yang merupakan outlier. Di bawah ini merupakan hasil dari data yang melebihi nilai p (data dengan field berwarna kuning).
Dari hasil di atas dapat disimpulkan bahwa data ke 5 dan ke 6 merupakan outlier.
21
Latihan Soal : 1. Diberikan sample empat dimensi dengan missing value sebagai berikut : X1 = {0,1,2,2} X2 = {2,1,_,1} X3 = {_,2,_,_} Jika domain untuk semua atribut [0,1,2] dan missing value dinterprestasikan sebagai “don’t’care value” lengkapi data tersebut sehingga tidak terdapat missing value. Jawab :
Karena nilai yang dinterprestasikan adalah “don’t’care value” maka kemungkinannya adalah : Domain fitur X (0,1,2). X2
X3
2
1
0
1
2
1
1
1
2
1
2
1
0
2
0
0
0
2
0
1
0
2
0
2
0
2
1
0
0
2
1
1
0
2
1
2
0
2
2
0
0
2
2
1
0
2
2
2
1
2
0
0
1
2
0
1
1
2
0
2
1
2
1
0
1
2
1
1
1
2
1
2
1
2
2
0
1
2
2
1
1
2
2
2
2
2
0
0
2
2
0
1
2
2
0
2
2
2
1
0
2
2
1
1
2
2
1
2
2
2
2
0
2
2
2
1
2
2
2
2
22
2. Jumlah anak yang dimiliki oleh pasien pada database rumah sakit dinyatakan dengan vector berikut : C = {2,1,0,3,1,5,6,4,-2,0,0,8,15,6} a. Temukan outliers dalam himpunan C dengan menggunakan standard statistical parameters mean dan variance b. Jika nilai threshold diubah dari ±3 standard deviations ke ±2 standard deviations, ada berapa tambahan data yang menjadi outlier ? Jawab : mean data
3.5
data
x -rata
x -rata^2
2
-1.5
2.25
jumlah data(n)
14
1
-2.5
6.25
sum (x-rata)^2
249.5
0
-3.5
12.25
varian
19.19231
3
-0.5
0.25
stadar deviasi
4.380903
1
-2.5
6.25
5
1.5
2.25
6
2.5
6.25
4
0.5
0.25
-2
-5.5
30.25
0
-3.5
12.25
0
-3.5
12.25
8
4.5
20.25
15
11.5
132.25
6
2.5
6.25
Varian didapatkan dari sum(x-mean)^2 / (jumlah data – 1). Standar deviasi didapat dari akar varian #
batas bawah
batas atas
3xSTD
-9.642707835
16.64270783
2xSTD
-5.261805223
12.26180522
Tabe diatas merupakan hasil dari batas bawah dan batas atas berdasarkan standar deviasi yang didapatkan tadi, dengan cara : Batas bawah : mean - <3 atau 2 standar deviasi> * standar deviasi. Batas atas : mean + <3 atau 2 standar deviasi> * standar deviasi.
23
Jadi data yang termasuk outlier adalah data yang diberi warna kuning : 3x STD
2x STD
2
2
1
1
0
0
3
3
1
1
5
5
6
6
4
4
-2
-2
0
0
0
0
8
8
15
15
6
6
3. Diberikan data set X tiga dimensi sebagai berikut : X=[{1,2,0}, {2,1,4},{2,1,4},{0,1,3},{2,1,3},{4,3,2},{5,2,1},{6,6,6},{0,0,0},{2,3,3}]. Temukan outliers dengan menggunakan distance based technique jika : threshold distance > 4, dan threshold fraction p untuk non-neighbor samples > 3. Jawab : x1
1
2
0
x2
2
1
4
x3
2
1
4
x4
0
1
3
x5
2
1
3
x6
4
3
2
x7
5
2
1
x8
6
6
6
x9
0
0
0
x10
2
3
3
24
Mencari distance dari data tersebut menggunakan Euclidian : #
x1
x2
x1
x3
x4
4.242641 4.242641
x5
3.316625
x6
3.316625
x7
3.741657
4.123106
x2
4.242641
x3
4.242641
x4
3.316625 2. 236068 2. 236068
x5
3.316625
x6
3. 741657 3. 464102 3. 464102 4. 582576
x7
4.123106
x8
8.774964 6.708204 6.708204
x9
2.236068 4.582576 4.582576 3.162278 3.741657 5.385165 5.477226
8.774964
x9
x10
2.236068 3.316625
0 2.236068
1 3.464102 4.358899 6.708204 4.582576 2.236068
2.236068
1 3.464102 4.358899 6.708204 4.582576 2.236068
0
1
x8
1
4.358899 4.358899
2 4. 582576 5.477226 2
5.477226
8.3666 3. 162278 2.828427
3 3.741657 7.071068 3.741657 3 3.741657
2
1. 732051 5. 385165 5. 385165 2. 236068 1.732051
6.480741
8.3666 7.071068 5.385165 6.480741
5.477226 3.741657 10.3923 5.830952
10.3923
4.690416
Keterangan : D>4 P>3 Warna merah merupakan distance yang melebihi D. Jadi data yang termasuk outlier berdasarkan P > 3 adalah data yang berwarna kuning : sample
P
x1
4
x2
4
x3
4
x4
3
x5
1
x6
3
x7
6
x8
9
x9
6
x10
2
25
ASSICIATION RULE
Mencari suatu kaidah keterhubungan dari data, diusulkan oleh Agrawal, Imielinski, and Swami (1993). Input dan problema yang ada pada association rule yaitu: Input: 1. Adanya sejumlah transaksi 2. Setiap transaksi memuat kumpulan item Problema: 1. Bagaimana caranya menemukan association rule yang memenuhi minimum support dan minimum confidence yang kita berikan Manfaat Dapat digunakan untuk Market Basket Analysis (menganalisa kebiasaan customer dengan mencari asosiasi dan korelasi dari data transaksi). 1. Sebagai saran penempatan barang dalam supermarket 2. Sebagai saran produk apa yang dipakai dalam promosi Definisi umum yang terdapat pada association rule ini adalah: 1. Itemset merupakan himpunan dari item-item yang muncul bersama-sama 2. Kaidah asosiasi merupakan peluang bahwa item-item tertentu hadir bersama-sama 3. Support dari suatu itemset X (supp(X)) adalah rasio dari jumlah transaksi dimana itemset muncul dengan total jumlah transaksi 4. Konfidence (keyakinan) dari kaidah X Y, ditulis conf(X Y) adalah
∪
conf(XY) = supp(X Y) / supp(X) Konfindence bisa juga didefinisikan dalam terminologi peluang bersyarat conf(XY) = P(Y|X) = P(X∩Y) / P(X) 5. Database transaksi menyimpan data transaksi. Data transaksi bisa juga disimpan dalam suatu bentuk lain dari suatu database m x n.
26
Ukuran support 1. Misalkan I={I1, I2, …,Im} merupakan suatu himpunan dari literal, yang disebut itemitem. 2. Misalkan D={T1, T2, …, Tn} merupakan suatu himpunan dari n transaksi, dimana untuk
∈ ⊆ Suatu himpunan item X⊆I disebut itemset. setiap transaksi T D, T I.
3.
⊆
4. Suatu transaksi T memuat suatu itemset X jika X T
∈ ⊇
5. Setiap itemset X diasosiasikan dengan suatu himpunan transaksi T X ={T D | T X} yang merupakan himpunan transaksi yang memuat itemset 6. Support dari itemset X supp(X)) : |TX|/|D| 7. Frequent itemset adalah itemset yang memunyai support >= minimum support yang diberikan oleh user. Prinsip Apriori merupakan subset apapun dari suatu frequent itemset harus f requent. Contoh: L3={abc, abd, acd, ace, bcd} Penggabungan sendiri : L3*L *L3 abcd dari abc dan abd acde dari acd dan ace
Pemangkasan Pemangkasan: acde dibuang sebab ade tidak dalam L3
C4 = {abcd} Contoh search space pada appriori:
27
TUGAS 2 – Association rule
Tugas ini mengenai contoh algoritma apriori untuk pencarian Asociate Rule yang menggunakan data set dari suatu market :
Data Set
Min Support & Confident
Langkah 1 : Hitung item item yang muncul dan dibagi dengan jumlah transaksi sehingga mendapatkan nilai support, lalu hilangkan data yang kurang dari minimal support. (data yang kurang dari minimal support berwarna kuning).
28
Langkah 2 : Kombinasikan item dari angkah 1 dan cari kembali nilai supportnya, setelah itu hilangkan lagi item yang tidak sesuai dengan minimal support. (data yang kurang dari minimal support berwarna kuning).
Langkah 3 : Hitung nilai confident dari data yang tersisa dengan menggunakan rumus confident dari kaidah X,Y. (data yang tidak sesuai dengan minimal confident berwarna kuning, hasil dari gambar di bawah telah dikali 100 sehingga mendapatkan dalam jumlah %).
29
DECISION TREE Klasifikasi adalah proses untuk menemukan model atau fungsi yang menjelaskan atau membedakan konsep atau kelas data, dengan tujuan untuk dapat memperkirakan kelas dari suatu objek yang labelnya tidak diketahui. Model itu sendiri bisa berupa aturan “jika-maka”, berupa decision tree, formula matematis atau neural network. (Iko Pramudiono, Modul Pengantar Data Mining, www.ilmukomputer.com). Proses klasifikasi biasanya dibagi menjadi dua fase : learning dan test. Pada fase learning, sebagian data yang telah diketahui kelas datanya diumpankan untuk membentuk model perkiraan. Kemudian pada fase test model yang sudah terbentuk diuji dengan sebagian data lainnya untuk mengetahui akurasi dari model tsb. Bila akurasinya mencukupi model ini dapat dipakai untuk prediksi kelas data yang belum diketahui. Klasifikasi dicirikan dengan data training mempunyai label, berdasarkan label ini proses klasifikasi memperoleh pola attribut dari suatu data. Decision tree adalah mengubah data menjadi pohon keputusan (decision tree) dan aturanaturan keputusan (rule). Konsep data di dalam decision tree yaitu: 1. Data dinyatakan dalam bentuk tabel dengan atribut dan record. 2. Atribut menyatakan suatu parameter yang dibuat sebagai kriteria dalam pembentukan tree. Misalkan untuk menentukan main tenis, kriteria yang diperhatikan adalah cuaca, angin dan temperatur. Salah satu atribut merupakan atribut yang menyatakan data solusi per-item data yang disebut dengan target atribut. 3. Atribut memiliki nilai-nilai yang dinamakan dengan instance. Misalkan atribut cuaca mempunyai instance berupa cerah, berawan dan hujan. Proses dalam decision tree meliputi sbb: 1. Mengubah bentuk data (tabel) menjadi model tree. Dalam Modul ini menggunakan algoritma ID3. 2. Mengubah model tree menjadi rule. 3. Menyederhanakan Rule (Pruning). Definisi Entropy(S) adalah jumlah bit yang diperkirakan dibutuhkan untuk dapat mengekstrak suatu kelas (+ atau -) dari sejumlah data acak pada ruang sample S. Entropy bisa dikatakan 30
sebagai kebutuhan bit untuk menyatakan suatu kelas. Semakin kecil nilai Entropy maka semakin baik untuk digunakan dalam mengekstraksi suatu kelas. Panjang kode untuk menyatakan informasi secara optimal adalah – log2 p bits untuk messages yang mempunyai probabilitas p. Adapun rumus yang digunakan untuk mencari Entropy adalah: Entropy(S) = -p + log2 p+ - p- log2 pDimana: 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. Tahapan pada decision tree: 1. Memilih Node Awal Berdasarkan Entrhopy tiap fitur data 2. Penyusunan Tree Berdasarkan node – node terpilih 3. Menyederhanakan Rule (Pruning) Melakukan penyederhanaan pada rule 4. Menghitung Eror pada Data Perhitungan data yang tidak sesuai dengan rule
31
TUGAS 5 – Decision Tree
Pada tugas ini akan digunakan data dari jantung ID3.xls , yang dimana akan dicari decision tree dari data tersebut, di bawah ini merupakan data dari Jantung ID3.xls : Nama
Us ia
Ke lamin
M erokok
Olah Raga
Jantung
A
Muda
Wanita
Tidak
Ya
Ya
B
Muda
Pria
Tidak
Tidak
Tidak
C
Muda
Pria
Ya
Ya
Tidak
D
Muda
Pria
Tidak
Ya
Ya
E
Muda
Wanita
Ya
Tidak
Ya
F
Tua
Pria
Ya
Ya
Ya
G
Muda
Pria
Ya
Tidak
Ya
H
Muda
Pria
Tidak
Ya
Ya
I
Tua
Pria
Tidak
Ya
Tidak
J
Tua
Pria
Tidak
Tidak
Tidak
K
Tua
Pria
Ya
Tidak
Tidak
L
Tua
Wanita
Ya
Tidak
Tidak
M
Tua
Pria
Ya
Ya
Ya
N
Tua
Wanita
Ya
Tidak
Tidak
O
Muda
Pria
Ya
Ya
Tidak
Untuk mencari node awal, maka kita akan melakukan proses penghitungan Q pada tiap subset dan tiap atribut dari data diatas dengan cara :
P+ pada rumus di atas merupakan pernyataan positif, sedangkan P- dari pernyataan di atas merupakan pernyataan negative. Lalu menghitung entropi dari masing – masing atribut dengan cara :
E = ((Jumlah Subset Subset
(Ke - Y) /
(Ke - X)
/ Jumlah Data Atribut) x Q
Jumlah Data Atribut) x Q
(Ke - x))
+ ((Jumlah
Ke - Y))
32
Langkah kerja : Hasil Pencarian Q dan Entropi Proses 1 :
1. Atribut Usia USIA
JANTUNG
JUMLAH
MUDA
YA
5
MUDA
TIDAK
3
TUA
YA
2
TUA
TIDAK
5
Q
Q1
ENTROPI
0.954434003 0.911821067
Q2
0.863120569
2. Atribut kelamin KELAMIN
JANTUNG
JUMLAH
WANITA
YA
2
Q
Q1 WANITA
TIDAK
2
PRIA
YA
5
PRIA
TIDAK
6
ENTROPI
1 0.995622155
Q2
0.994030211
3. Atribut Merokok MEROKOK
JANTUNG
JUMLAH
YA
YA
4
YA
TIDAK
5
TIDAK
YA
3
Q
Q1
ENTROPI
0.99107606 0.994645636
Q2 TIDAK
TIDAK
1
3
4. Atribut Olahraga OLAH RAGA
JANTUNG
JUMLAH
YA
YA
5
YA
TIDAK
3
TIDAK
YA
2
TIDAK
TIDAK
5
Q
Q1
ENTROPI
0.954434003 0.911821067
Q2
0.863120569
Dari hasil di atas dapat disimpulkan bahwa node awal dapat dimulai dari Usia atau Olah Raga karena kedua atribut tersebut memiliki nilai entropi yang sama – sama paling kecil.
33
Penyusunan Decision Tree Proses 1 :
USIA MUDA
TUA
A – (+)
F – (+)
D – (+)
M – (+)
E – (+)
I – (-)
G – (+)
J – (-)
H – (+)
K – (-)
B – (-)
L – (-)
C – (-)
N – (-)
O – (-)
Hasil Pencarian Q dan Entropi Proses 2 Usia - Muda :
Data : Nama
Kelamin
Merokok
Olah Raga Jantung
A
Wanita
Tidak
Ya
B
Pria
Tidak
Tidak
Tidak
C
Pria
Ya
Ya
Tidak
D
Pria
Tidak
Ya
Ya
E
Wanita
Ya
Tidak
Ya
G
Pria
Ya
Tidak
Ya
H
Pria
Tidak
Ya
Ya
O
Pria
Ya
Ya
Ya
Tidak
1. Atribut Kelamin KELAMIN
JANTUNG
JUMLAH
WANITA
YA
2
WANITA
TIDAK
0
PRIA
YA
3
PRIA
TIDAK
3
Q Q1
ENTROPI 0 0.75
Q2
1
34
2. Atribut Merokok MEROKOK
JANTUNG
JUMLAH
YA
YA
2
YA
TIDAK
2
TIDAK
YA
3
TIDAK
TIDAK
1
Q Q1
ENTROPI 1 0.9056391
Q2
0.8112781
3. Atribut Olahraga OLAH RAGA
JANTUNG
JUMLAH
YA
YA
3
YA
TIDAK
2
TIDAK
YA
2
TIDAK
TIDAK
1
Q Q1
ENTROPI
0.9709506 0.9512051
Q2
0.9182958
Dari hasil di atas dapat disimpulkan bahwa node selanjutnya setelah subset muda adalah kelamin karena kelamin memiliki nilai entropy yang paling kecil.
Penyusunan Decision Tree Proses 2 Usia - Muda :
USIA MUDA
TUA
F – (+)
KELAMIN
M – (+) PRIA
WANITA
I – (-) J – (-)
D – (+)
G – (+) H – (+)
A – (+) E – (+)
K – (-)
L – (-) N – (-)
B – (-) C – (-) O – (-)
35
Penyusunan Decision Tree Proses 2 Usia - Muda :
USIA MUDA
TUA
F – (+)
KELAMIN
M – (+) PRIA
I – (-)
WANITA
J – (-) D – (+)
K – (-)
YA
G – (+)
L – (-)
H – (+)
N – (-)
B – (-) C – (-) O – (-)
Hasil Pencarian Q dan Entropi Proses 2 Usia - Tua :
Data : Nama
Kelamin Merokok
Olah Raga
Jantung Ya
F
Pria
Ya
Ya
I
Pria
Tidak
Ya
Tidak
J
Pria
Tidak
Tidak
Tidak
K
Pria
Ya
Tidak
Tidak
L
Wanita
Ya
Tidak
Tidak
M
Pria
Ya
Ya
Ya
N
Wanita
Ya
Tidak
Tidak
1. Atribut Kelamin KELAMIN
JANTUNG
JUMLAH
WANITA
YA
0
WANITA
TIDAK
2
PRIA
YA
2
PRIA
TIDAK
3
Q Q1
ENTROPI 0 0.6935361
Q2
0.9709506
36
2. Atribut Merokok MEROKOK
JANTUNG
JUMLAH
YA
YA
2
YA
TIDAK
3
TIDAK
YA
0
TIDAK
TIDAK
2
OLAH RAGA
JANTUNG
JUMLAH
YA
YA
2
YA
TIDAK
1
TIDAK
YA
0
TIDAK
TIDAK
4
Q Q1
ENTROPI 0.9709506 0.6935361
Q2
0
3. Atribut Olahraga Q Q1
ENTROPI 0.9182958 0.3935554
Q2
0
Dari hasil di atas dapat disimpulkan bahwa node selanjutnya setelah subset tua adalah olah raga karena olah raga memiliki nilai entropy yang paling kecil.
Penyusunan Decision Tree Proses 2 Usia - Tua :
USIA MUDA
TUA
OLAH RAGA
KELAMIN
YA PRIA
D – (+) G – (+) H – (+)
TIDAK
WANITA
YA
F – (+)
J – (-)
M – (+)
K – (-)
I – (-)
L – (-) N – (-)
B – (-) C – (-) O – (-)
37
Penyusunan Decision Tree Proses 2 Usia - Tua :
USIA MUDA
TUA
OLAH RAGA
KELAMIN
YA
PRIA
TIDAK
WANITA F – (+)
D – (+)
YA
TIDAK
M – (+)
G – (+)
I – (-)
H – (+) B – (-) C – (-) O – (-)
Hasil Pencarian Q dan Entropi Proses 3 Usia – Muda – Kelamin - Pria :
Data : Nama
Merokok
Olah Raga
Jantung
B
Tidak
Tidak
Tidak
C
Ya
Ya
Tidak
D
Tidak
Ya
Ya
G
Ya
Tidak
Ya
H
Tidak
Ya
Ya
O
Ya
Ya
Tidak
1. Atribut Merokok MEROKOK
JANTUNG
JUMLAH
YA
YA
1
YA
TIDAK
2
TIDAK
YA
2
TIDAK
TIDAK
1
Q Q1
ENTROPY
0.9182958 0.918295834
Q2
0.9182958
38
2. Atribut Olahraga OLAH RAGA
JANTUNG
JUMLAH
YA
YA
2
YA
TIDAK
2
TIDAK
YA
1
TIDAK
TIDAK
1
Q Q1
ENTROPY 1 1
Q2
1
Dari hasil di atas dapat disimpulkan bahwa node selanjutnya setelah subset tua adalah merokok karena merokok memiliki nilai entropy yang paling kecil. Penyusunan Decision Tree Proses 3 Usia-Muda-Kelamin-Pria :
USIA MUDA
TUA
OLAH RAGA
KELAMIN
YA PRIA
WANITA F – (+)
MEROKOK
TIDAK
YA
TIDAK
M – (+) I – (-)
YA
TIDAK
G – (+)
D – (+)
C – (-)
H – (+)
O – (-)
B – (-)
39
Hasil Pencarian Q dan Entropi Proses 3 Usia – Tua - Olah Raga - Ya :
Data : Nama
Kelamin
Merokok
Jantung
F
Pria
Ya
Ya
I
Pria
Tidak
M
Pria
Ya
Ya
KELAMIN
JANTUNG
JUMLAH
WANITA
YA
0
WANITA
TIDAK
0
PRIA
YA
2
PRIA
TIDAK
1
MEROKOK
JANTUNG
JUMLAH
YA
YA
2
YA
TIDAK
0
TIDAK
YA
0
TIDAK
TIDAK
1
Tidak
1. Atribut kelamin Q Q1
ENTROPI 0 0.9182958
Q2
0.9182958
2. Atribut Merokok Q Q1
ENTROPI 0 0
Q2
0
Dari hasil di atas dapat disimpulkan bahwa node selanjutnya setelah subset tua adalah merokok karena merokok memiliki nilai entropy yang paling kecil.
40
Penyusunan Decision Tree Proses 3 Usia – Tua - Olah Raga - Ya :
USIA MUDA
TUA
OLAH RAGA
KELAMIN
TIDAK
YA
PRIA
MEROKOK YA
WANITA
YA
MEROKOK YA
TIDAK
F – (+)
I – (-)
TIDAK
TIDAK
G – (+)
D – (+)
C – (-)
H – (+)
O – (-)
B – (-)
M – (+)
41
Penyusunan Decision Tree Proses 3 Usia-Tua-Olah Raga-Ya :
USIA MUDA
TUA
OLAH RAGA
KELAMIN
TIDAK
YA
PRIA
MEROKOK YA
WANITA TIDAK
MEROKOK
YA
TIDAK
YA TIDAK
YA G – (+)
D – (+)
C – (-)
H – (+)
O – (-)
B – (-)
TIDAK
Hasil Pencarian Q dan Entropi Proses 4 Usia – Muda – Kelamin – Pria – Merokok - Ya :
Data : Nama
Olah Raga
C
Ya
G
Tidak
O
Ya
Jantung Tidak Ya Tidak
1. Atribut Olahraga OLAH RAGA
JANTUNG
JUMLAH
YA
YA
0
YA
TIDAK
2
TIDAK
YA
1
TIDAK
TIDAK
0
Q Q1
ENTROPY 0 0
Q2
0
42
Penyusunan Decision Tree Proses Usia – Muda – Kelamin – Pria – Merokok - Ya :
USIA MUDA
TUA
OLAH RAGA
KELAMIN
TIDAK
YA
PRIA
MEROKOK YA
WANITA
YA
MEROKOK YA
YA
TIDAK
TIDAK
TIDAK
YA
OLAH RAGA
TIDAK
TIDAK
D – (+) H – (+) B – (-)
C – (-)
G – (+)
O – (-)
43
Penyusunan Decision Tree Proses Usia – Muda – Kelamin – Pria – Merokok - Ya :
USIA MUDA
TUA
OLAH RAGA
KELAMIN
TIDAK
YA
PRIA
MEROKOK YA
WANITA
YA
MEROKOK YA
TIDAK
TIDAK
YA
TIDAK
D – (+)
OLAH RAGA YA
TIDAK
H – (+)
TIDAK
B – (-) TIDAK
YA
Hasil Pencarian Q dan Entropi Proses 4 Usia – Muda – Kelamin – Pria – Merokok Tidak :
Data : Nama
Olah Raga
Jantung
B
Tidak
Tidak
D
Ya
Ya
H
Ya
Ya
44
1. Atribut Olahraga OLAH RAGA
JANTUNG
JUMLAH
YA
YA
2
YA
TIDAK
0
TIDAK
YA
0
TIDAK
TIDAK
1
Q
ENTROPY
Q1
0 0
Q2
0
Penyusunan Decision Tree Proses Usia – Muda – Kelamin – Pria – Merokok - Tidak :
USIA MUDA
TUA
OLAH RAGA
KELAMIN
TIDAK
YA PRIA
WANITA
MEROKOK YA
YA
MEROKOK YA
YA
TIDAK
TIDAK
YA
TIDAK
TIDAK
YA
OLAH RAGA
TIDAK
TIDAK
OLAH RAGA YA
D – (+)
TIDAK
B – (-)
H – (+)
45
Penyusunan Decision Tree Proses Usia – Muda – Kelamin – Pria – Merokok - Tidak :
USIA MUDA
TUA
OLAH RAGA
KELAMIN
TIDAK
YA
PRIA
WANITA
MEROKOK YA
YA
MEROKOK YA
YA
TIDAK
TIDAK
YA
TIDAK
TIDAK
YA
OLAH RAGA
TIDAK
TIDAK
OLAH RAGA YA
YA
TIDAK
TIDAK
46
NEAREST NEIGHBOR
Merupakan suatu metode untuk mengklasifikasikan suatu data baru berdasarkan similaritas dengan labeled data. Similaritas yang digunakan pada metode ini biasanya memakai metrik jarak dan satuan jarak umumnya dihitung menggunakan euclidian. Jenis Nearest Neighbor (NN)
1. 1-NN Merupakan pengklasifikasian terhadap 1 labeled data terdekat. Adapun beberapa tahapan dalam pengerjaan 1-NN yaitu : a. Hitung jarak antara data baru ke setiap labeled data b. Tentukan 1 labeled data yang mempunyai jarak yang paling minimal c. Klasifikasikan data baru ke dalam labeled data tersebut 2. K-NN Merupakan pengklasifikasian terhadap k labeled data terdekat dan nilai k > 1. Adapun beberapa tahapan dalam pengerjaan K-NN yaitu : a. Tentukan nilai k b. Hitung jarak antara data baru ke setiap labeled data c. Tentukan k labeled data yang mempunyai jarak paling minimal d. Klasifikasikan data baru ke dalam labeled data yang mayoritas
47
TUGAS 7 – NN
Pada tugas ini akan dilakukan pengklasifikasian data menggunakan 3-NN dan data yang akan digunakan adalah data ruspini.csv yang berjumlah 75 data. Persentase data training dan data test yang akan diambil adalah 80% berbanding 20%, sehingga data train akan berjumlah 60 dan data test berjumlah 15. Pengambilan data test pada tugas ini dilakukan secara random. Dibawah ini merupakan dataset dari ruspini.csv : #
X
Y
CLASS
21
28
147
3
1
4
53
1
22
32
149
3
2
5
63
1
23
35
153
3
3
10
59
1
24
33
154
3
4
9
77
1
25
38
151
3
5
13
49
1
26
41
150
3
6
13
69
1
27
38
145
3
7
12
88
1
28
38
143
3
8
15
75
1
29
32
143
3
9
18
61
1
30
34
141
3
10
19
65
1
31
44
156
3
11
22
74
1
32
44
149
3
12
27
72
1
33
44
143
3
13
28
76
1
34
46
142
3
14
24
58
1
35
47
149
3
15
27
55
1
36
49
152
3
16
28
60
1
37
50
142
3
17
30
52
1
38
53
144
3
18
31
60
1
39
52
152
3
19
32
61
1
40
55
155
3
20
36
72
1
41
54
124
3
44
86
132
2
42
60
136
3
45
85
115
2
43
63
139
3
46
85
96
2
61
70
4
4
47
78
94
2
62
77
12
4
48
74
96
2
63
83
21
4
49
97
122
2
64
61
15
4
50
98
116
2
65
69
15
4
51
98
124
2
66
78
16
4
52
99
119
2
67
66
18
4
53
99
128
2
68
58
13
4
54
101
115
2
69
64
20
4
55
108
111
2
70
69
21
4
56
110
111
2
71
66
23
4
57
108
116
2
72
61
25
4
58
111
126
2
73
76
27
4
59
115
117
2
74
72
31
4
60
117
115
2
75
64
30
4
48
Dari dataset di atas data akan dipotong menjadi data train dan data test sesuai dengan persentase yang telah dijabarkan sebelumnya. Berikut ini adalah pembagian data yang dilakukan : Data Train #
X
Y
CLASS
32
44
149
3
33
44
143
3
34
46
142
3
35
47
149
3
36
49
152
3
37
50
142
3
38
53
144
3
1
4
53
1
2
5
63
1
3
10
59
1
4
9
77
1
5
13
49
1
6
13
69
1
39
52
152
3
7
12
88
1
40
55
155
3
8
15
75
1
41
54
124
3
9
18
61
1
42
60
136
3
98
124
2
10
19
65
1
51
11
22
74
1
52
99
119
2
53
99
128
2
54
101
115
2
55
108
111
2
56
110
111
2
12
27
72
1
13
28
76
1
14
24
58
1
15
27
55
1
57
108
116
2
16
28
60
1
58
111
126
2
17
30
52
1
59
115
117
2
21
28
147
3
60
117
115
2
22
32
149
3
65
69
15
4
23
35
153
3
66
78
16
4
67
66
18
4
68
58
13
4
69
64
20
4
70
69
21
4
71
66
23
4
72
61
25
4
24
33
154
3
25
38
151
3
26
41
150
3
27
38
145
3
28
38
143
3
29
32
143
3
73
76
27
4
30
34
141
3
74
72
31
4
31
44
156
3
75
64
30
4
Data Test #
X
Y
CLASS
18
31
60
1
19
32
61
1
20
36
72
1
44
86
132
2
45
85
115
2
46
85
96
2
47
78
94
2
48
74
96
2
49
97
122
2
50
98
116
2
43
63
139
3
61
70
4
4
62
77
12
4
63
83
21
4
64
61
15
4
49
Setelah itu akan dilakukan pencarian distance menggunakan euclidian dari data test ke masing – masing data train yang ada, lalu data akan diurutkan berdasarkan Euclidian yang terkecil ke terbesar. Karena menggunakan 3-NN maka setelah diurutkan 3 data teratas akan dijadikan sebagai acuan pengklasifikasian dari data test. Ket : Kotak merah
: merupakan data yang dijadikan acuan klasifikasi
Kotak biru
: hasil klasifikasi berdasarkan data acuan
Data Test 1 :
Data Test 2 :
Data Test 3 :
50
Data Test 4 :
Data Test 5 :
Data Test 6 :
Data Test 7 :
51
Data Test 8 :
Data Test 9 :
Data Test 10 :
Data Test 11 :
52
Data Test 12 :
Data Test 13 :
Data Test 14 :
Data Test 15 :
53
Dari hasil klasifikasi yang terlihat pada kotak biru, dapat dibuat table perbandingan antara class lama dan class hasil klasifikasi K-NN berikut ini : #
X
Y
CLASS
Hasil K-NN
18
31
60
1
1
19
32
61
1
1
20
36
72
1
1
44
86
132
2
2
45
85
115
2
2
46
85
96
2
2
47
78
94
2
2
48
74
96
2
2
49
97
122
2
2
50
98
116
2
2
43
63
139
3
3
61
70
4
4
4
62
77
12
4
4
63
83
21
4
4
64
61
15
4
4
PERSENTASE ERROR
0%
54
VALIDATION MODEL
Ada beberapa motode yang dapat digunakan untuk validation model seperti : Holdout Method
Merupakan metode yang membagi pengambilan data menjadi 2 kelompok yaitu training set yang digunakan untuk training klasifikasi dan test set yang digunakan untuk estimasi error rate dari klasifikasi yang di train. Berikut merupakan gambar pengambilan data pada holdout method :
Random Subsampling
Metode ini membagi data sebanyak k, yang dimana data yang diambil bersifa t random dari dataset tersebut. Pada random subsampling data di retrain sebanyak k data yang displit menggunakan training example dan melakukan estimasi E i menggunakan test example. Estimasi error rate didapat dari rata – rata estimasi Ei. Berikut merupakan contoh gambar pengambilan data pada random subsampling :
55
K-Fold Cross Validation
Metode ini membagi data kedalam k experiment, lalu menggunakan k – 1 folds untuk melakukan training dan folds yang lainnya sebagai testing. Error rate diestimasi dari rata – rata error rate pada test example. Berikut merupakan contoh gambar pengambilan data pada k-fold cross validation :
Leave One Out Cross Validation
Metode ini merupakan metode turunan dari k-fold cross validation dimana k adalah jumlah total dari dataset. Validation pada metode ini dilakukan dengan cara untuk setiap k data melakukan training terhadap k – 1 data sisanya. Error rate diestimasi dari rata – rata error rate pada test example. Berikut merupakan contoh gambar pengambilan data pada leave one out cross validation :
56
Bootstrap
Metode ini melakukan sampling dengan perubahan pada data sample tersebut. Perulangan training pada metode ini dapat ditentukan sendiri sesuai keinginan, untuk proses training pada metode ini dilakukan dengan cara mel akukan pemilihan random terhadap dataset dan dilakukan perubahan terhadap data random yang diambil tersebut setelah itu data ini akan bertindak sebagai data train dan data yang tidak terpilih sebagai train akan digunakan sebagai testing. Error rate diestimasi dari rata – rata error rate pada test example. Berikut merupakan contoh gambar pengambilan data pada Bootstrap :
57
TUGAS 8 – LOO
Pada tugas ini akan dilakukan pembuatan program dengan menggunakan bahasa pemrograman PHP untuk melakukan proses LOO Validation Model pada dataset iris.csv, dataset ini memiliki 150 record dengan 3 klasifikasi didalamnya yaitu iris-sentosa berjumlah 50 record, iris-versicolor berjumlah 50 record dan iris-virginica berjumlah 50 record. Berikut ini merupakan sample dari dataset iris.csv :
Example data iris-sentosa
Exam le data iris-versicolor
58
Example data iris-virginica
Hasil dari klasifikasi ini nantinya akan dibuat confusion matrix, dan akan dihitung Precission, recall dan F nya dengan rumus :
Berikut ini adalah code yang digunakan untuk pengerjaan LOO Validation Model :
59
60
61
62
Di bawah ini merupakan hasil dari LOO Validation Model dari iris.csv
63
Di bawah ini merupakan hasil dari confusion matrix serta penghitungan precission, Recall dan F pada program :
64
CLUSTERING
Clustering merupakan proses mengorganisir atau menggabungkan suatu object kedalam beberapa kelompok yang dimana tiap anggota kelompok memiliki tingkat kesamaan yang tinggi. Clustering dapat dibagi menjadi beberapa kelompok yaitu : Partitioning Clustering
Partitioning clustering sering disebut sebagai exclusive clustering, yang dimana tiap data harus termasuk ke cluster tertentu. Pada partitioning clustering tiap data dapat masuk kedalam cluster tertentu pada suatu tahapan proses dan pada tahapan berikutnya berpindah ke cluster yang lain. Contoh : K-Means, Resudial Analysis
Overlaping Clustering Pada overlapping clustering tiap data memungkinkan untuk masuk kedalam beberapa cluster dan data tersebut juga memiliki nilai keanggotaan pada beberapa cluster. Contoh : Fuzzy C-Means, Gaussian Mixture
Hybrid Clustering
Clustering jenis ini melakukan pengawinan antara karakteristik dari partitioning, overlapping dan hierarchial clustering. Hierarchial Clustering
Pada clustering ini setiap data harus masuk kedalam suatu cluster tertentu dan data yang sudah masuk pada cluster tertentu pada suatu tahapan proses, tidak dapat berpindah ke cluster lain pada proses selanjutnya. Contoh : 1. Single Linkage Metode ini sangat cocok untuk dipakai pada kasus shape independent clustering, karena kemampuannya untuk membentuk pattern tertentu dari clust er. Untuk kasus condensed
65
clustering, metode ini tidak bagus. Kesamaan anggota pada tiap cluster dite ntukan oleh jarak minimum antar cluster. 2. Centroid Linkage Metode ini baik untuk kasus clustering dengan normal data set distribution. Akan tetapi, metode ini tidak cocok untuk data yang mengandung outlier. Kesamaan anggota pada tiap cluster ditentukan oleh jarak centroid antar cluster. 3. Complete Linkage Metode ini sangat ampuh untuk memperkecil variance within cluster karena melibatkan centroid pada saat penggabungan antar cluster. Metode ini juga baik untuk data yang mengandung outlier. Kesamaan anggota pada tiap cluster ditentukan oleh jarak maksimum antar cluster. 4. Average Linkage Metode ini relatif yang terbaik dari metode-metode hierarchical. Namun, ini harus dibayar dengan waktu komputasi yang paling tinggi dibandingkan dengan metodemetode hierarchical yang lain. Kesamaan anggota pada tiap cluster ditentukan oleh jarak rata - rata antar cluster.
66
TUGAS 9 – K-Means
Pada tugas ini akan dilakukan clustering sebanyak 4 cluster pada dataset ruspini.csv menggunakan K-Means . Jumlah literasi k-means pada tugas ini dibatasi hanya 4 literasi. Berikut ini merupakan sample data dari ruspini.csv : #
X
Y
1
4
53
2
5
63
3
10
59
4
9
77
5
13
49
6
13
69
7
12
88
8
15
75
9
18
61
10
19
65
11
22
74
12
27
72
13
28
76
14
24
58
15
27
55
16
28
60
17
30
52
18
31
60
19
32
61
20
36
72
21
86
132
Sebelum menggunakan dataset dari ruspini, ada baiknya dilakukan normalisasi terlebih dahulu pada data tersebut. Normalisasi yang digunakan untuk tugas ini adalah normalisasi Min – Max, dibawah ini merupakan hasil dari normalisasi dataset ruspini : #
X
Y
1
4
53
2
5
63
3
10
59
4
9
77
5
13
49
6
13
7
# Max
X
Y 117
156
#
X
Y
1
0
0.322368
2
0. 00885
0. 388158
3
0. 053097
0. 361842
4
0. 044248
0. 480263
5
0. 079646
0. 296053
69
6
0. 079646
0. 427632
12
88
7
0. 070796
0. 552632
8
15
75
8
0. 097345
0. 467105
Min Silisih
4
4
113
152
9
18
61
9
0.123894
0.375
10
19
65
10
0.132743
0.401316
11
22
74
11
0.159292
0.460526
12
27
72
12
0. 20354
0. 447368
13
28
76
13
0.212389
0.473684
14
24
58
14
0.176991
0.355263
15
27
55
15
0. 20354
0. 335526
16
28
60
16
0.212389
0.368421
17
30
52
17
0.230088
0.315789
18
31
60
18
0.238938
0.368421
19
32
61
19
0. 247788
0. 375
20
36
72
20
0.283186
0.447368
21
86
132
21
0.725664
0.842105
67
Setelah normalisasi selesai maka lakukanlah penentuan centroid awal yang akan digunakan pada literasi 1 untuk tiap cluster secara random berdasarkan range pada data. Dilanjutkan dengan mencari jarak tiap centroid dengan dataset menggunakan Euclidian. Cluster dari data ditentukan dari jarak terkecil antara centroid dengan data tersebut. Untuk literasi selanjutnya nilai centroid ditentukan dari rata – rata data pada tiap cluster pada literasi sebelumnya. Ket : Kotak biru
: centroid yang memiliki jarak terkecil
Kotak merah : hasil clustering berdasarkan jarak terkecil Literasi 1 :
68
Literasi 2 :
Literasi 3 :
69
Literasi 4 :
Proses literasi pada k-means akan berhenti apabila : 1. Centroid baru sama dengan centroid sebelumnya 2. Jumlah looping yang ditentukan habis
70
TUGAS 10 – Hierarchi Clustering (Single Linked)
Pada tugas ini akan dilakukan Hirerarchi Clustering menggunakan metode Single Linked menggunakan Ms. Excel. Data yang digunakan adalah data ruspini.csv yang telah
dinormalisasi menggunakan metode Min – Max, lalu data yang telah dinormalisasi tersebut dicari nilai euclidiannya (nilai jarak) antar data sehingga membentuk table jarak. Euclidian antara data itu sendiri (missal jarak antara data ke-1 dengan data ke-1) value jaraknya diberikan nilai maksimal (pada tugas ini diisi nilai 100) agar tidak menjadi data dengan nilai kosong. Setelah itu dilakukan confitional formatting bottom dengan rank 1 pada table Euclidian distance sehingga mendapat jarak antar 2 titik yang saling berdekatan. Conditional formatting yang dilakukan pada tugas ini adalah pemberian warna kuning pada titik – titik yang saling berdekatan. Lalu setelah mendapatkan 2 titik yang berdekatan, kedua titik tersebut dicatat dalam tree yang akan menggambarkan history dari tiap titik yang berdekatan. 2 titik yang saling berdekatan yang telah dicatat kedalam tree dicari rata – rata dari X dan Y nya, kemudian pada table Euclidian hapuslah salah satu titik yang berdekatan dan gantikan nilai X dan Y titik satunya dengan nilai rata – rata yang didapatkan. Proses ini akan berulang s ampai mendapatkan 4 cluster dari dataset ruspini. Untuk membuktikan hasil dari clustering menggunakan single linked dapat dilakukan pembuatan grafik scatter . Grafik ini nantinya akan menunjukkan sebaran data pada tiap cluster, sehingga dapat dilakukan pencocokan antara grafik dengan hasil cluster dari single linked.
71
Pengerjaan :
Table dari Euclidian :
Ket : 1. Kotak merah merupakan hasil dari conditional formatting yang dilakukan sehingga didapatkan 2 titik yang berdekatan, yaitu titik dengan kotak berwarna biru. 2. Kedua titik dengan kotak warna biru dicatat pada tree dan di cari rata – rata dari X dan Y nya. 3. Setelah dicata kedalam tree dan dicari rata – rata dari X dan Y nya, maka salah satu dari kotak berwarna biru (titik yang berdekatan) dapat dihapus dan anggota dari kotak yang dihapus dicatat pada kotak berwarna biru / titik yang tidak dihapus. 4. Nilai X dan Y dari kotak berwarna biru yang tidak dihapus / titik yang berdekatan d iganti dengan nilai rata – rata yang telah dicari sebelumnya pada tree. 5. Kotak berwarna cream merupakan jarak antara titik tersebut dengan dirinya sendiri, maka nilainya diset menjadi nilai maksimal (pada gambar diset menjadi 100).
72
Tree dari titik yang berdekatan :
Ket : 1. Kotak berwarna merah merupakan 2 titik yang saling berdekatan yang dicatat kedalam tree. 2. Kotak berwarna biru merupakan hasil rata – rata dari X dan Y kedua titik yang berdekatan tersebut.
Diagram Scatter :
Chart Title 1.2 1
57 4140424348 49525356 38 39 4647 44 45 5051 5455 5960 58
0.8 0.6 4 0.4
2 1
3
5
8
35 36 34 3233 37
23
13 11 12 20 10 9 19 16 18 1415 17
0.2 0 0
30 28 26 2931 27
22 25 24
7 6
21
0.2
0.4
74 73 7275 71 70 69 67 66 63 65 6864 62 61 0.6
0.8
1
1.2
73
CLUSTER ANALYSIS
Cluster analysis dapat dibagi menjadi 2 hal yaitu : Variance
Digunakan untuk mengukur nilai penyebaran dari data – data hasil clustering serta dipakai untuk data yang bertipe unsupervised. Variance dari clustering dapat dibagi menjadi 2 macam yaitu : 1. Variance within cluster 2. Variance between cluster Pada penghitungan variance within cluster (V w) dan variance between cluster (V b), perlu dihitung terlebih dahulu variance per-cluster dengan rumus :
1 2 −1 ( − ̅)2 = Ket :
2
= variance pada cluster c = 1…k, dimana k = jumlah cluster = jumlah data pada cluster c = data ke-i pada suatu cluster = rata – rata dari data pada suatu cluster
Setelah itu untuk mencari V w dapat digunakan rumus :
1 − − 1 2 = Ket :
= variance within cluster = jumlah semua data
74
Dan untuk mencari V b dapat digunakan rumus :
1 −1 ( ̅ − ̅ )2 = Ket :
̅
= variance between cluster = rata – rata dari
̅
Selanjutnya variance dari semua cluster dapat dicari dengan rumus :
Error Ratio
Digunakan untuk mengukur tingkat presisi dari metode clustering dan dipakai jika datas et yang digunakan adalah supervised. Rumus yang digunakan untuk menghitung error ratio yaitu :
ℎ 100%
75
TUGAS 11 – Analisis Cluster
Pada tugas ini akan dilakukan analisis cluster pada dataset yang telah ditentukan. Cluster yang akan dianalisis adalah 2, 3, 4, 5 dan 6 cluster untuk mencari jumlah cluster yang paling baik untuk diterapkan pada dataset tersebut. Clustering yang dilakukan pada data ini menggunakan single linked yang dimana sebelum melakukan clustering pastikan bahwa data telah dinormalisasi terlebih dahulu (normalisasi pada tugas ini menggunakan normalisasi Min - Max). Berikut ini merupakan dataset yang dipakai sebagai tugas analisis cluster beserta hasil
normalisasinya : #
x
y
#
x
y
1
1
1
Max
#
X 10
Y 8
1
0
0
2
2
1
Min
1
1
2
0.111111
0
3
3
1
Silisih
9
7
3
0.222222
0
4
2
2
4
0.111111 0.142857
5
9
2
5
0.888889 0.142857
6
10
2
6
1
0.142857
7
10
3
7
1
0.285714
8
9
3
8
0.888889 0.285714
9
7
6
9
0.666667 0.714286
10
7
7
10
0.666667 0.857143
11
7
8
11
0.666667
12
8
7
12
0.777778 0.857143
1
Setelah clustering selesai maka akan dibuat table untuk penghitungan variance dari masing – masing cluster tersebut dan pada akhir pengerjaan akan dilakukan perbandingan variance antar cluster. Keterangan table : 1. Header cluster merupakan list cluster yang berhasil dibuat 2. Header di merupakan data pada cluster ke i 3. Header nc merupakan jumlah data pada cluster ke c 4. Header di rata - rata merupakan titik tengah X dan Y pada cluster ke i 5. Header (di – di rata rata)^2 merupakan nilai jarak dari data ke i pada cluster ke i dengan titik tengah cluster ke i 6. Header vi^2 merupakan variance^2 dari cluster ke i 7. ni merupakan jumlah data pada cluster ke i 8. Header d merupakan titik tengah X dan Y pada semua cluster 9. (di rata rata - d)^2 merupakan jarak antara titik tengah cluster ke i dengan titik tengah semua cluster 10. Header VW (variance within), VB (variance between) dan V(variance) dapat dicari menggunakan rumus yang ada pada teori. 76
Cluster 6 : cluster 1 2 3
3
4 5
di
x
y
1
1
1
2
2
1
3 4
3 2
1 2
di rata - rata
nc
x
y
2
1.5
1
1 1
3 2
1 2
(di - di rata - rata)^2
(ni - 1)*vi^2
0.5
0.5
58.47222222
0 0
0 0
17.23611111 20.56944444
0.25 0.25 0 0
5
9
2
0.5
6 7
10 10
2 3
0.5 0.666667 0.5
8
9
3
0.5
9 10
7 7
6 7
0.555555556 0.222222222 0.666667
12
8
7
11
7
8
4
3
9.5
2.5
7.333333 6.666667
d
vi^2
x
2
ni*(di rata rata - d)^2
y
6.25
3.583333
46.94444444
1.333333333
32.04166667
0
20.06944444
VW
VB
V
0.638889 39.06667 0.016354
0.555555556 1
7
8
0
0
Cluster 5 : cluster
di
x
y
nc
di rata - rata x y
1
1 2
1 2
1 1
3
1.666667 1.333333
2
4 3
2 3
2 1
5
9
2
6 7
10 10
2 3
8 9
9 7
3 6
4
10 12
7 8
7 7
3
5
11
7
8
1
3
1
3
1
(di - di rata - rata)^2
vi^2
0.555555556 0.222222222 0.666667 0.555555556 0
0
(ni - 1)*vi^2
d x
y
ni*(di rata rata - d)^2
1.333333333
78.20833333
0
17.23611111
VW
VB
V
0.666667
48.625
0.013710368
0.5 4
9.5
2.5
0.5 0.666667 0.5
2
6.25
3.583333
46.94444444
0.5 0.555555556 7.333333 6.666667 7
8
0.222222222 0.666667 0.555555556
1.333333333
32.04166667
0
0
20.06944444
0
77
Cluster 4 : cluster
1
2
3 4
nc
di rata - rata
di
x
y
1
1
1
2
2
1
3
3
1
4
2
2
5 6
9 10
2 2
7
10
3
8
9
3
0.5
9
7
6
0.555555556
10
7
7
12
8
7
11
7
8
x
(di - di rata - rata)^2
y
vi^2
(ni - 1)*vi^2
0.916667
2.75
0.666667
2
d x
y
ni*(di rata rata - d)^2
VW
VB
V
1.0625 4
2
0.0625
1.25
1.0625
94.02777778
0.5625
4
9.5
3
0.5 0.5
2.5
0.5
7. 333333 6.666667
0.222222222 0.666667
6.25
3.583333
1.333333333
46.94444444
0.760417 64.36111 0.011815
32.04166667
0.555555556 1
7
8
0
0
0
20.06944444
Cluster 3 : cluster
1
2
3
nc
di rata - rata
di
x
y
1
1
1
2
2
1
3
3
1
4
2
2
5
9
2
0.5
6
10
2
0.5
7
10
3
8
9
3
0.5
9
7
6
1.0625
10
7
7
11
7
8
12
8
7
x
y
2
1.25
(di - di rata - rata)^2
vi^2
(ni - 1)*vi^2
0.916667
2.75
0.666667
2
0.916667
2.75
d x
y
ni*(di rata rata - d)^2
VW
VB
V
1.0625 4
0.0625 1.0625
94.02777778
0.5625
4
4
9.5
7.25
2.5
7
0.5
0.0625 1.0625
6.25
3.583333
46.94444444
0.833333 95.83333 0.008696
50.69444444
0.5625
78
Cluster 2 : nc
di rata - rata
di
x
y
1
1
1
2
2
1
3
3
1
4 5
2 9
2 2
0.5625 7.953125
6
10
2
10.203125
7
10
3
5.703125
8
9
3
9
7
6
10
7
7
6.953125
11
7
8
12.453125
12
8
7
5.203125
x
y
(di - di rata - rata)^2
vi^2
(ni - 1)*vi^2
0.916667
2.75
d x
y
ni*(di rata rata - d)^2
VW
VB
V
1.0625 4
8
2
8.375
1.25
4.75
0.0625 1.0625
3.453125 3.453125
94.02777778
6.25 7.910714
55.375
3.583333
5.8125
141.0417 0.041211
47.01388889
Hasil Cluster Variance dari semua cluster : jumlah cluster
total varian
2
0.041211226
3
0.008695652
4
0.011814847
5
0.013710368
6
0.016353811
Dari gambar di atas dapat disimpulkan bahwa cluster 3 merupakan cluster yang paling baik untuk dataset ini karena memiliki nilai variance yang paling kecil dan juga pada beberapa percobaan cluster mungkin ada cluster yang hanya memiliki 1 anggota sehingga nilai vi^2 dari cluster tersebut diisi dengan nilai 0 karena hasilnya yang tidak terhingga.
79
TEXT MINING
Text mining memiliki definisi menambang data yang berupa teks dimana sumber data biasanya didapatkan dari dokumen, dan tujuannya adalah mencari kata-kata yang dapat mewakili isi dari dokumen sehingga dapat dilakukan analisa keterhubungan antar dokumen. Tahapan Text Mining
1. Tokenizing Tahap pemotongan string input berdasarkan tiap kat a yang menyusunnya. 2. Filtering Tahap mengambil kata-kata penting dari hasil token. Bisa menggunakan algoritma stop list (membuang kata yang kurang penting) atau word list (menyimpan kata penting). 3. Stemming Tahap mencari root kata dari tiap kata hasil filtering. 4. Tagging Tahap mencari bentuk awal/root dari tiap kata lampau atau kata hasil stemming . 5. Analyzing Tahap penentuan seberapa jauh keterhubungan antar kata-kata antar dokumen yang ada. Algoritma TF / IDF
Formula yang digunakan untuk menghitung bobot (w) masing-masing dokumen terhadap kata kunci yaitu : W
= tf
* IDF
Dimana: d = dokumen ke-d t = kata ke-t dari kata kunci
Setelah bobot (w) masing-masing dokumen diketahui, maka dilakukan proses sorting /pengurutan dimana semakin besar nilai w, semakin besar tingkat similaritas dokumen tersebut terhadap kata yang dicari, demikian sebaliknya.
80
Vector Space Model
Salah satu model matematika yang digunakan pada sistem temu kembali informasi untuk menentukan bahwa sebuah dokumen itu relevan terhadap sebuah informasi adalah pengertian dari Vector Space Model. Model ini menggunakan derajat kesamaan antara setiap dokumen yang disimpan didalam sistem dengan query yang diberikan oleh pengguna. Pada teknik ini, query dan dokumen akan dianggap sebagai vektor-vektor pada ruang dan dimensi, dimana n adalah jumlah dari seluruh term yang terdapat dalam leksikon. Leksikon adalah daftar semua term yang ada dalam indeks. Pada Vector Space Model digunakan rumus untuk mencari nilai cosinus sudut antara kedua vektor dari setiap bobot dokumen yang digunakan (WD) dan bobot dari kata kunci (WK) dengan rumus : t 3
D1
D = dokumen
Q 2
t 2
t = kata di database
t 1
Q = kata kunci
D2
= , , ∑ ∙ (,) ∙‖‖ 2 2 √ ∑= , √ ∑= ,
81
TUGAS 6 – Text Mining (Mencari permasalahan, data, metode dan hasil pada journal)
Pada tugas ini journal yang digunakan adalah jurnal Case based Reasoning Shell Frameworkas Decision Support Tool, yang ditulis oleh Mazin Abed Mohammed, BelalAlKhateeb dan Dheyaa Ahmed Ibrahim. Di bawah ini merupakan hasil pencarian dari kalimat
permasalahan, data, metode dan hasil dari journal tersebut : 1. Permasalahan a. Another problem is settled in view of adjusting arrangements of known comparable problems. b. A past affair is put away as tackled issues (“cases”) in an alleged case base. c. Retrieve procedure in CBR is not quite the same as the procedure in a database. d. Moreover, all situations concerned with the case base must be recognized. e. Decision Support Processes should be adapt to (more explorative) issues where the order objective is characterized amid the problem solving stages(dynamic target definition). 2. Data a. All the four stages are used to control information stream of the CBR to create contemplated result. b. Scripts were then recommended as a structure for calculated memory portraying data and information about stereotypical events. c. The best utilization of CBR is as counseling and meeting frameworks that depend on the client’s execution estimation and adjustment. d. A CBR framework decides the closeness to looking for analogs on fundamental of matching properties that are not precisely comparative. e. To give petrographic investigations, the framework accomplishes its thinking power through the arrangement of past cases consolidated with some other wellspring of learning about a specific area.
82
3. Metode a. Case-Based Reasoning (CBR) is an Artificial Intelligence (AI) strategy that has the thinking capacity by recalling beforehand experienced cases. b. For PC thinking purposes, CBR has been formalized into four primary strides : Retrieve, Reuse, Revise and Retain. c. Case-based thinking (CBR) is the way toward taking finish of new problems in view of the arrangements of comparable past situations. d. CBR is a critical thinking technique or thinking model whose center procedures rotate around four primary strides, wwhich are retrieve, reuse, revise, and retain. e. Retrieve the most comparative case or gathering of cases. f. Reuse the data, learning, and arrangement all things considered to solve of the current issue if there is an impeccable match. g. Revise and adjust the most comparable case or gathering of cases as fit ting if an immaculate match is not found. h. Retain or storage the new experience or case for future recoveries and problem solution, and the case base is redesigned by sparing the recently learned case. 4. Hasil a. It records and archives cases and afterward seeks the fitting cases to decide their helpfulness in settling new cases exhibited to the user. b. This procedure gives CBR capacity to learn and make another solution and another case that ought to be added to the case base. c. The techniques utilized for case base plan incorporate the meaning of the destinations and the particular branches of knowledge fundamental the CBR framework to be produced. d. To propose a framework that can give Genetic Algorithm Case Based Reasoning (GACBR) approach based on the application use reviewed.
83
e. The proposed architecture enables the CBR to select the best sequence of GA operators by referring to the already collected and stored information in the case base and the new solved incidences by the system. f. The research attempt to suggest a proposed system that is the first of its kind to make a decision to choose the best solution that is based on CBR technology. g. In addition, the use of association rules algorithms. h. It also provides the necessary structure for system building in knowledge base. i.
After CBR solves an occurrence, it will make the episode accessible for future episodes.
j.
Thus, IT benefit work area as a second level support (SLS) will resolve the doled out episodes from the FLS by guaranteeing that the occurrence is in the outsourcing degree and still possessed, followed and observed for the duration of its life cycle.
84
TUGAS 12 – Tahapan Tahapan Text Mining
1. Jelaskan konsep dasar text mining dan definisi text mining ! Text mining memiliki definisi menambang data yang berupa teks dimana sumber data biasanya didapatkan dari dokumen, dan tujuannya adalah mencari katakata yang dapat mewakili isi dari dokumen sehingga dapat dilakukan analisa keterhubungan antar dokumen. Proses dari text mining yang dilakukan berbasiskan Web dan WAP, dikenal dengan nama Web Text Mining dan WAP Text Mining . Tahapan yang dilakukan secara umum dalam text mining adalah: tokenizing, filtering, stemming, tagging, dan analyzing. 2. Jelaskan tahapan dalam text mining ! a. Tokenizing Tokenizing adalah proses pemotongan string input berdasarkan tiap kata penyusunnya. b. Filtering Fitering adalah tahap mengambil kata-kata penting dari hasil token. Bisa menggunakan alogaritma stoplist (membuang kata yang kurang penting) atau wordlist (menyimpan kata penting). c. Stemming Stemming adalah tahap mencari kata dasar dari tiap hasil filtering. d. Tagging Tagging adalah tahap mencari bentuk awal dari kata lampau atau kata hasil stemming. e. Analyzing Analyzing merupakan tahap penentuan seberapa jauh keterhubungan antara katakata dari dokumen yang ada. 3. Gunakan TF/IDF untuk menambang data berikut : (Excel) KK : pengetahuan logistik D1 : sistem manajemen pengetahuan D2 : manajemen transaksi logistik D3 : dalam manajemen pengetahuan terdapat pengetahuan logistic
85
token D1 si stem manaj emen pengetahuan
# TERM si stem manaj emen pengetahuan transaksi l ogi sti k
D2 manaj emen transaksi l ogisti k
D3
D1
dalam manaje men pengetahuan terdapat pengetahuan logistik
si stem manajemen pengetahuan
TF KK KK 0 0 1 0 1
D1 1 1 1 0 0
D2 0 1 0 1 1
D3 D3 0 1 2 0 1
filtering D2 manaj emen transaksi l ogi sti k
KK penge tahuan logistik
D3 manaj emen pengetahuan pengetahuan l ogisti k
DF
D/DF D/DF
IDF(l IDF(log og(D (D/D /DF) F)))
1 3 2 1 2
3 1 1.5 3 1.5
0.477121255 0 0.176091259 0.477121255 0.176091259
TOTAL BOBOT
D 3
W KK 0 0 0.176091 0 0.176091 0.352183 0.352183
D1 D2 0.477121255 0 0 0 0.176091259 0 0 0. 0.477121 0 0.176091 0.6532125 0.653212514 14 0.653213 0.653213 0.1760912 0.176091259 59 0.176091 0.176091
D3 0 0 0.352183 0 0.176091 0.528274 0.528274 0.528274 0.528274
4. Buatlah VSM dari soal nomer 3 (Excel) TERM
COSIN
KK^2
D1^2
D2^2
D3^2
KK*D1
KK*D2
KK*D3
si ste m
0
0.228
0
0
0
0
0
D1
D2
D3
manajemen
0
0
0
0
0
0
0
0.245
0.245
0.949
pengetahuan
0.031
0.031
0
0.124
0.031
0
0.062
0
0
0.228
0
0
0
0
0.031
0
0.031 SQRT(DI)
0.031
0
0.031 SUM( KK dot DI)
0.031
0.39 .393700394
0.03 .031
0.03 .031
0.09 .093
transaksi l ogi sti k
SQRT(KK) 0.24 .248997992
0.50 .508920426
0.50 .508920426
5. Contoh kasus yang mengimplementasikan Text Mining Contoh kasus yang menggunakan text mining adalah automated suggestion pada help desk yang ada di beberapa perusahaan beser seperti Microsoft, hanya dengan mengetikkan beberapa kata pada search box yang ada pada help desk mereka, suggestion atas permasalahan yang kita cari akan langsung ditampilkan dan kita dapat memilih permasalahan yang paling sesuai dengan masalah kita sesuai dengan suggestion yang dikeluarkan.
86
TUGAS 13 – Search Search Engine
Pada tugas ini akan dilakukan pembuatan search engine untuk mencari jurnal yang sesuai dengan kata kunci yang dimasukkan oleh user , jurnal yang digunakan adalah jurnal yang berasal dari Tugas 6 Text Mining. Program yang dibuat pada tugas ini melanjutkan program java yang sudah dibuat oleh Bapak Mubtadai, Nur Rosyid, yang dimana program java tersebut telah selesai sampai penghitungan jumlah term pada dokumen. Penambahan pada program java yang dilakukan pada tugas ini adalah, penghitungan TF/IDF, bobot, sorting bobot serta interface dari search en gine. Berikut ini merupakan rincian code yang ditambahkan pada program :
Penambahan Class listDokume li stDokument nt
Class ini digunakan untuk menyimpan object hasil pencarian document serta bobot dari document tersebut, yang nantinya akan dipakai juga dalam proses sorting dokumen berdasarkan bobot yang paling tinggi.
87
Penambahan Method StemKK Pada Class Stemmer
Method ini digunakan untuk melakukan proses stemming pada KK (Kata Kunci) yang dimasukkan oleh user. Sehingga kata yang dicari user sesuai dengan data term yang telah tersimpan.
88
Penambahan JFrame Search
JFrame ini digunakan sebagai interface untuk search engine yang dimana interface ini memiliki kolom search serta JTable yang akan digunakan untuk menampilkan hasil pencarian dari journal yang dilakukan oleh user. Berikut ini merupakan detail isi dari JFrame Search : Design :
Source :
89
90
91
92