ALGORITMA ID3

Iterative Dichotomiser 3 (ID3) merupakan sebuah metode yang digunakan untuk membangkitkan pohon keputusan. Algoritma pada metode ini berbasis pada Occam’s razor: lebih memilih pohon keputusan yang lebih kecil (teori sederhana) dibanding yang lebih besar. Tetapi tidak dapat selalu menghasilkan pohon keputusan yang paling kecil dan karena itu occam’s razor bersifat heuristik. Occam’s razor diformalisasi menggunakan konsep dari entropi informasi. Berikut algoritma dari ID3:

Adapun sample data yang digunakan oleh ID3 memiliki beberapa syarat, yaitu: 1. Deskripsi atribut-nilai. Atribut yang sama harus mendeskripsikan tiap contoh dan memiliki jumlah nilai yang sudah ditentukan. 2. Kelas yang sudah didefinisikan sebelumnya. Suatu atribut contoh harus sudah didefinisikan, karena mereka tidak dipelajari oleh ID3. 3. Kelas-kelas yang diskrit. Kelas harus digambarkan dengan jelas. Kelas yang kontinu dipecah-pecah menjadi kategori-kategori yang relatif, misalnya saja metal dikategorikan menjadi “hard, quite hard, flexible, soft, quite soft”. 4. Jumlah contoh (example) yang cukup. Karena pembangkitan induktif digunakan, maka dibutuhkan test case yang cukup untuk membedakan pola yang valid dari peluang suatu kejadian.

Atribut dengan informasi tertinggi akan dipilih. Berikut gambar skema kriteria yang mempengaruhi kelaiklautan kapal : . pertama-tama digunakanlah ide dari teori informasi yang disebut entropi. Dengan tujuan untuk mendefinisikan gain. Data yang digunakan adalah data register kapal tahun 2006 yang dikeluarkan oleh Biro Klasifikasi Indonesia (BKI) dan data laporan hasil pemeriksaan kelaiklautan kapal serta mekanisme penentuan kelaiklautan kapal yang diatur didalam regulasi baik nasional maupun internasional. Entropi mengukur jumlah dari informasi yang ada pada atribut. Contoh : Obyek penelitian adalah semua tipe kapal berbendera Indonesia diatas 500GT. Gain mengukur seberapa baik suatu atribut memisahkan training example ke dalam kelas target. yang disebut dengan information gain.Pemillihan atribut pada ID3 dilakukan dengan properti statistik.

Mesin kemudi d. Alat-alat pemadam e. Keselamatan pelayaran c. atribut klas) dengan 729 record. Untuk kriteria radio : a. Permesinan 3. Untuk kriteria radio terdiri atas 6 kolom atribut (1atribut sampel. 3. Variabel ini menyatakan status kapal yang dikategorikan sebagai kapal yang laik dan tidak laik. Untuk kriteria teknis terdiri atas 8 kolom atribut (1atribut sampel.Variabel bebas (predictor) pada penelitian ini adalah : 1. Alat-alat radio d. 6 atribut bebas. Instalasi radio c. Sumber listrik darurat b. Peralatan pemadam akomodasi & pelayanan 2. Alat-alat keselamatan d. Instalasi kemudi & hidraulik e. Jadi total keseluruhan data yang dianalisa adalah berjumlah 1099 record. Data set disajikan dalam bentuk tabel yang terdiri dari : 1. Sumber tenaga listrik b. Untuk kriteria nautis : a. 2. 1atribut klas) dengan 243 record. Sistem keselamatan dari kebakaran f. Dokumentasi Sedangkan variabel tidak bebasnya (output) adalah status kelaiklautan kapal. . Untuk kriteria nautis terdiri atas 7 kolom atribut (1atribut sampel. 4 atribut bebas. Untuk kriteria teknis : a. Dokumentasi b. 1atribut klas) dengan 127 record. Sistem pencegahan kebakaran akibat listrik c. 5 atribut bebas.

Jika suatu set data mempunyai beberapa pengamatan dengan missing value yaitu record dengan beberapa nilai variabel tidak ada. Sedangkan pada perangkat lunak open source WEKA mempunyai versi sendiri C4. Split untuk atribut diskret A mempunyai bentuk value (A) ε X dimana X ⊂ domain(A).5 dapat menangani data numerik (kontinyu) dan diskret. Algoritma C4. . Split untuk atribut numerik yaitu mengurutkan contoh berdasarkan atribut kontiyu A. Dalam prosedur algoritma ID3.ALGORITMA C4. Ross Quinlan. Algoritma C4. lalu menggabungkan partisi-partisi yang bersebelahan tersebut dengan kelas mayoritas yang sama.[Santosa. Jika jumlah pengamatan terbatas maka atribut dengan missing value dapat diganti dengan nilai rata-rata dari variabel yang bersangkutan.2007].5 Salah satu algoritma induksi pohon keputusan yaitu ID3 (Iterative Dichotomiser 3). Algoritma C4. kemudian membentuk minimum permulaan (threshold) M dari contoh-contoh yang ada dari kelas mayoritas pada setiap partisi yang bersebelahan.5 merupakan pengembangan dari ID3. ID3 dikembangkan oleh J.5 yang dikenal sebagai J48. input berupa sampel training. label training dan atribut. Bentuk pemecahan (split) yang digunakan untuk membagi data tergantung dari jenis atribut yang digunakan dalam split.5 Pohon dibangun dengan cara membagi data secara rekursif hingga tiap bagian terdiri dari data yang berasal dari kelas yang sama.

Entropi(S) sama dengan 1. jika semua contoh pada S berada dalam kelas yang sama.A). jika jumlah contoh positif dan negative dalam S adalah sama.1997]. Pemisahan informasi dihitung dengan cara : bahwa S1 sampai Sc adalah c subset yang dihasilkan dari pemecahan S dengan menggunakan atribut A yang mempunyai sebanyak c nilai. dan yc adalah subset dari y dimana A mempunyai nilai c. Pada algoritma C. Perolehan informasi. gain (y.adalah jumlah yang bersolusi negatif atau tidak mendukung pada data sampel untuk kriteria tertentu. S adalah ruang (data) sampel yang digunakan untuk pelatihan. Sebelum menghitung rasio perolehan. jika jumlah contoh positif dan negative dalam S tidak sama [Mitchell. p+ adalah jumlah yang bersolusi positif atau mendukung pada data sampel untuk kriteria tertentu dan p.45 menggunakan rasio perolehan (gain ratio). ntropi(S) sama dengan 0. perlu menghitung dulu nilai informasi dalam satuan bits dari suatu kumpulan objek.A). dari atribut A relative terhadap output data y adalah: nilai (A) adalah semua nilai yang mungkin dari atribut A.Untuk melakukan pemisahan obyek (split) dilakukan tes terhadap atribut dengan mengukur tingkat ketidakmurnian pada sebuah simpul (node). dinotasikan dengan gain (y. Term pertama dalam persamaan diatas adalah entropy total y dan term kedua adalah entropy sesudah dilakukan pemisahan data berdasarkan atribut A.Entropi split yang membagi S dengan n record menjadi himpunan-himpunan S1 dengan n1 baris dan S2 dengan n2 baris adalah : Kemudian menghitung perolehan informasi dari output data atau variabel dependent y yang dikelompokkan berdasarkan atribut A. Entropi(S) lebih dari 0 tetapi kurang dari 1. Untuk menghitung rasio perolehan perlu diketahui suatu term baru yang disebut pemisahan informasi (SplitInfo). Selanjutnya rasio perolehan (gain ratio) dihitung dengan cara : . Cara menghitungnya dilakukan dengan menggunakan konsep entropi.

dan income. Dapat dilihat pada gambar tersebut. . asset dan income tertentu memiliki good credit risk atau bad credit risk. bahwa target variable dari decision tree tersebut atau variable yang akan diprediksi adalah credit risk dengan menggunakan predictor variable : saving.Contoh Aplikasi Credit Risk Berikut ini merupakan contoh dari salah satu kasus resiko kredit (credit risk) yang menggunakan decision tree untuk menentukan apakah seorang potential customer dengan karakteristik saving. Penentuan apakah diteruskan menuju predictor variable (decision node) atau menuju target variable (leaf node) tergantung pada keyakinan (knowledge) apakah potential customer dengan nilai atribut variable keputusan tertentu memiliki keakuratan nilai target variable 100% atau tidak. Setiap nilai atribut dari predictor variable akan memiliki cabang menuju predictor variable selanjutnya. Misalnya pada kasus di atas untuk saving medium. dan seterusnya hingga tidak dapat dipecah dan menuju pada target variable. asset.

ternyata knowledge yang dimiliki bahwa untuk seluruh potential customer dengan saving medium memiliki credit risk yang baik dengan keakuratan 100%. dengan menyatakan level kepercayaan dari diverse leaf node tersebut. Seharusnya setiap branches diakhiri dengan “pure” leaf node. di mana untuk setiap record dengan nilai predictor variable yang sama ternyata memiliki nilai target variable yang berbeda. Misalnya untuk contoh data berikut ini : Dari training data tersebut kemudian disusunlah alternatif untuk candidate split. terdapat kemungkinan decision node memiliki “diverse” atributes. yaitu leaf node dengan target variable yang bersifat unary untuk setiap records pada node tersebut. di mana untuk setiap nilai predictor variable yang sama akan memiliki nilai target variable yang sama. Tetapi. Sedangkan untuk nilai low asset terdapat kemungkinan good credit risk dan bad credit risk. Kondisi tersebut menyebabkan tidak dapat dilakukan pencabangan lagi berdasarkan nilai predictor variable. yaitu bersifat non‐unary untuk nilai target variablenya. Jika tidak terdapat pemisahan lagi yang mungkin dilakukan. maka algoritma decision tree akan berhenti membentuk decision node yang baru. Sehingga solusinya adalah membentuk leaf node yang disebut “diverse” leaf node. yaitu sebagai berikut: . sehingga setiap nilai untuk predictor variable di atas hanya membentuk 2 cabang.

di mana Adapun contoh hasil perhitungannya adalah sebagai berikut : Dapat dilihat dari contoh perhitungan di atas. Untuk penentuan pencabangan.64275. high} masih terdapat 2 nilai. yaitu split dengan : assets = low dengan assets = {medium. bahwa yang memiliki nilai goodness of split * Φ(s/t) + yang terbesar. dapat dilihat bahwa dengan assets=low maka didapatkan pure node leaf. yaitu split 4 dengan nilai 0. high}. Sedangkan untuk assets = {medium.Kemudian untuk setiap candidate split di atas. yaitu good credit risk dan bad credit . yaitu : . Oleh karena itu split 4 lah yang akan digunakan pada root node. yaitu bad risk (untuk record 2 dan 7). Adapun variabel‐variabel tersebut. dihitung variabel‐variabel berikut berdasarkan training data yang dimiliki.

Sehingga pencabangan untuk assets = {medium.risk. Demikian seterusnya hingga akhirnya dibentuk leaf node dan membentuk decision tree yang utuh (fully grown form) seperti di bawah ini : . record 2 dan 7. high} memiliki decision node baru. yaitu dengan menyusun perhitungan nilai Φ(s/t) yang baru tanpa melihat split 4. Adapun pemilihan split yang akan digunakan.

beisi data variabel yang dapat mempengaruhi kesimpulan diagnosis dari pasien-pasien yang ada. Proses akuisisi pengetahuan yang secara biasanya dalam sistem pakar dilakukan oleh sistem pakar. Gejala_1 s/d gejala_n.Sistem Pakar Diagnosa Penyakit (Kusrini) Dalam aplikasi ini terdapat tabel-tabel sebagai berikut: • • • Tabel Rekam_Medis. Daerah_Tinggal. Tabel Aturan. Umur. Selain itu dalam tabel ini juga memiliki field Hasil_Diagnosis. misalnya Jenis Kelamin. dalam sistem ini akan dillakukan dengan urutan proses ditunjukkan pada gambar berikut: Hasil pembentukan pohon keputusan bisa seperti pohon keputusan yang tampak pada gambar: . berisi aturan hasil ekstrak dari pohon keputusan. Hasil_Tes_1 s/d Hasi_Tes_n. berisi data asli rekam medis pasien Tabel Kasus.

Jika pengetahuan yang terbentuk beruka kaidah produksi dengan format: Jika Premis Maka Konklusi Node-node akar akan menjadi Premis dari aturan sedangkan node daun akan menjadi bagian konklusinya. Jika Atr_1 = N_1 Dan Atr_2 = N_4 Dan Atr_3 = N_10 Dan Atr_4 = N_11 Maka H_2 . dapat dibentuk aturan sebagai berikut: 1.Lambang bulat pada pohon keputusan melambangkan sebagai node akar atau cabang (bukan daun) sedangkan kotak melambangkan node daun. Jika Atr_1 = N_1 Dan Atr_2 = N_4 Dan Atr_3 = N_9 Maka H_1 2. Dari gambar pohon keputusan pada gambar 4.

Dalam penentuan diagnosis penyakit belum diimplementasikan derajat kepercayaan terhadap hasil diagnosis tersebut. Aturan yagn dihasilkan system ini mampu digunakan untuk mendiagnosis penyakit didasarkan pada data-data pasien. Jika Atr_1 = N_3 Dan Atr_5 = N_7 Maka H_7 8. Jika Atr_1 = N_3 Dan Atr_5 = N_8 Maka H_8 Model case based reasoning dapat digunakan sebagai metode akuisisi pengetahuan dalam aplikasi system pakar diagnosis penyakit. Jika Atr_1 = N_3 Dan Atr_5 = N_6 Maka H_6 7. Jika Atr_1 = N_2 Maka H_5 6. Jika Atr_1 = N_1 Dan Atr_2 = N_5 Maka H_4 5. Jika Atr_1 = N_1 Dan Atr_2 = N_4 Dan Atr_3 = N_10 Dan Atr_4 = N_12 Maka H_2 4. .3.

Sv}. yaitu ID3 dan C4. m). 2003): S adalah sebuah himpunan yang terdiri dari s data sampel. Sij adalah jumlah sample pada class Ci dalam sebuah subset Sj.0 memiliki fitur penting yang membuat algoritme ini menjadi lebih unggul dibandingkan dengan algoritme terdahulunya dan mengurangi kelemahan . Dimana pi adalah proporsi kelas dalam output seperti pada kelas Ci dan diestimasikan dengan si /s. yang khususnya diterapkan pada teknik decision tree. Dalam algoritme C5. …. Secara heuristik akan dipilih atribut yang menghasilkan simpul yang paling bersih (purest). Kriteria yang digunakan adalah information gain. Ukuran information gain digunakan untuk memilih atribut uji pada setiap node di dalam tree. Atribut A memiliki nilai tertentu {a1. Atribut A dapat digunakan pada partisi S ke dalam v subset. adalah jumlah subset j yang dibagi dengan jumlah sampel pada S. Untuk mendapatkan informasi nilai subset dari atribut A tersebut maka digunakan formula. pemilihan atribut yang akan diproses menggunakan information gain. maka subset ini akan berhubungan pada cabang dari node himpunan S.0. si adalah jumlah sampel pada S dalam class Ci. Jika A dipilih sebagai atribut tes (sebagai contoh atribut terbaik untuk split). Jadi dalam memilih atribut untuk memecah obyek dalam beberapa kelas harus kita pilih atribut yang menghasilkan information gain paling besar. Diketahui atribut class adalah m dimana mendefinisikan kelas-kelas di dalamnya. ….0 merupakan penyempurnaan algoritme terdahulu yang dibentuk oleh Ross Quinlan pada tahun 1987.0 adalah salah satu algoritme yang terdapat dalam klasifikasi data mining disamping algoritme CART. selanjutnya digunakan formula C5.ALGORITMA C5 Algoritme C5. {S1. C5. Formula untuk information gain adalah (Kantardzic.1). Ukuran ini digunakan untuk memilih atribut atau node pada pohon. Atribut dengan nilai information gain tertinggi akan terpilih sebagai parent bagi node selanjutnya. ….5. Kalau dalam cabang suatu decision tree anggotanya berasal dari satu kelas maka cabang ini disebut pure. Ci (for i= 1. a2. S2. dimana Sj berisi sample pada S yang bernilai aj pada A. untuk mengklasifikasikan sampel yang digunakan maka diperlukan informasi dengan menggunakan aturan seperti di atas (2. av}. maka untuk mendapatkan nilai gain.

C5. Contoh Dalam hal ini jumlah data/tetangga terdekat ditentukan oleh user yang dinyatakan dengan k. C5.0 mudah digunakan dan tidak membutuhkan pengetahuan tinggi tentang statistik atau machine learning. 2 dan 3 tetangga data terhadap data baru x (Pramudiono. Lalu periksa output atau labelnya masing-masing.…. 2007). pada Tabel 1 berikut ini disajikan contoh penerapan rumus Euclidean.yang ada pada algoritme decision tree sebelumnya. maka dapat disimpulkan bahwa output dengan label kelas 1 adalah yang paling banyak. Misalkan dalam kasus klasifikasi dengan 3 kelas.yi dan I merepresentasikan nilai atribut serta n merupakan dimensi atribut (Han & Kamber. Sebanyak tiga data yang sudah .0 disajikan dalam dua bentuk. maka klasifikasi C5. 3.xi dan y=y1.x2. Gambar 4 berikut ini adalah bentuk representasi K-NN dengan 1. lima data tadi terbagi atas tiga data dengan output kelas 1.y2. pada empat data klasifikasi kualitas baik dan tidak baik sebuah kertas tisu yang dinilai berdasarkan daya tahan kertas tersebut dan fungsinya. Lalu masukkan suatu data testing ke kelompok dengan output paling banyak. 2003). Sebagai ilustrasi. dimana x=x1. Untuk memaksimumkan tingkat penafsiran pengguna terhadap hasil yang disajikan. 2. Untuk mendefinisikan jarak antara dua titik yaitu titik pada data training (x) . Misalkan ditentukan k=5. 2004) : 1. Fitur tersebut adalah (Quinlan. maka setiap data testing dihitung jaraknya terhadap data training dan dipilih 5 data training yang jaraknya paling dekat ke data testing.dan titik pada data testing (y) maka digunakan rumus Euclidean. dengan d adalah jarak antara titik pada data training x dan titik data testing y yang akan diklasifikasi. satu data dengan output kelas 2 dan satu data dengan output kelas 3. kemudian tentukan output mana yang frekuensinya paling banyak. Maka data baru tadi dapat dikelompokkan ke dalam kelas 1.0 telah dirancang untuk dapat menganalisis basis data subtansial yang berisi puluhan sampai ratusan record dan satuan hingga ratusan field numerik dan nominal. 2001). menggunakan pohon keputusan dan sekumpulan aturan IF-then yang lebih mudah untuk dimengerti dibandingkan neural network. Prosedur ini dilakukan untuk semua data testing (Santosa.….

untuk menemukan kelas yang sesuai dengan berdasarkan pada data tetangga terdekatnya yang sudah terklasifikasi. 2006). . Tingkat ketepatan klasifikasi terhadap data dari kedua algoritma yang digunakan menjadi titik fokus analisa dalam penelitian.terklasifikasi yaitu data no 1. Teknik ini akan diujicobakan terhadap dataset akademik yang belum terklasifikasi atau data yang belum dikenal. Tabel klasifikasi kualitas baik atau tidak baik sebuah kertas tisu No 1 2 3 4 Fungsi 7 7 3 1 Daya Tahan 7 4 4 4 Klasifikasi Tidak baik Tidak baik Baik ? Berikut ini disajikan pula perhitungan yang dilakukan terhadap tiga data yang sudah terklasifikasi dengan data yang belum terklasifikasi pada Tabel 1 di atas. Tabel 1. dan 3 masing-masing data dihitung jaraknya ke data no 4 untuk mendapatkan kelas yang sesuai bagi data no 4 maka k=1 (Teknomo.2. Jarak data no satu ke data no empat: Dari hasil perhitungan di atas diperoleh jarak antara data no tiga dan data no empat adalah jarak yang terdekat maka kelas data no empat adalah baik.

Secara garis besar ada beberapa kategori algoritma clustering yang dikenal yaitu: a. MAFIA. dan skalabilitas terhadap penambahan ukuran dimensi dan record dataset. Namun. sedangkan objek-objek data biasanya direpresentasikan sebagai sebuah titik dalam ruang multidimensi. Clustering dalam data mining berguna untuk menemukan pola distribusi di dalam sebuah data set yang berguna untuk proses analisa data. karena pada data multidimensi kemungkinan terdapat dimensidimensi yang tidak relevan yang dapat membingungkan algoritma clustering sehingga bisa mengaburkan cluster sebenarnya yang seharusnya dapat ditemukan. tidak akan didapatkan cluster yang optimal. ENCLUE). yang menghasilkan cluster yang bersarang artinya suatu data dapat memiliki cluster lebih dari satu. b. dapat diidentifikasi daerah yang padat. Dalam data mining usaha difokuskan pada metode-metode penemuan untuk cluster pada basisdata berukuran besar secara efektif dan efisien. Dengan menggunakan clustering.CLUSTERING Clustering adalah proses mengelompokkan objek berdasarkan informasi yang diperoleh dari data yang menjelaskan hubungan antar objek dengan prinsip untuk memaksimalkan kesamaan antar anggota satu kelas dan meminimumkan kesamaan antar kelas/cluster. Metode Partisi. Tujuannya menemukan cluster yang berkualitas dalam waktu yang layak. cluster hasil yang dapat dianalisa. Banyaknya pendekatan clustering menyulitkan dalam menentukan ukuran kualitas yang universal. Contohnya: algoritma K-Means. dimana pemakai harus menentukan jumlah k partisi yang diinginkan lalu setiap data dites untuk dimasukkan pada salah satu partisi sehingga tidak ada data yang overlap dan satu data hanya memiliki satu cluster. Kesamaan objek biasanya diperoleh dari kedekatan nilai-nilai atribut yang menjelaskan objek-objek data. Kelemahan metode ini adalah bila salah satu penggabungan/pemecahan dilakukan pada tempat yang salah. Metode ini terbagi menjadi dua yaitu buttom-up yang menggabungkan cluster kecil menjadi cluster lebih besar dan topdown yang memecah cluster besar menjadi cluster yang lebih kecil. . beberapa hal yang perlu diperhatikan adalah input parameter yang tidak menyulitkan user. PROCLUS). Contohnya: Agglomerative (FINDIT. Metode Hierarki. Divisive Hierarchical Clustering (CLIQUE. polapola distribusi secara keseluruhan dan keterkaitan yang menarik antara atribut-atribut data. Subspace Clustering Subspace clustering adalah suatu teknik clustering yang mencoba menemukan cluster pada dataset multidimensi dengan pemilihan dimensi yang paling relevan untuk setiap cluster.

Jika konsep ini diterapkan dalam kasus di Gambar di bawah. karena masingmasing dimensi menjadi bagian dari satu buah cluster. semakin banyak dimensi yang digunakan. Pada Gambar diatas. Dengan menggunakan metode subspace clustering. dua cluster yang terbentuk pada Gambar 2-3 diharapkan dapat diperoleh karena teknik clustering ini dapat menemukan cluster dengan subspace yang berbeda dalam dataset. z). metode reduksi dimensi dan feature selection tidak mampu memperoleh kembali semua struktur cluster. Dengan cara ini. dimensionalitas dataset dikurangi dengan menghilangkan beberapa dimensi.Masalah lainnya. Cara yang sudah dikenal untuk mengatasi peningkatan jumlah dimensi adalah menggunakan teknik reduksi dimensi atau feature selection. y) dan (x. pendekatan ini berakibat pada hilangnya beberapa informasi dan sekaligus mengurangi efektifitas penemuan cluster yang mungkin melibatkan dimensi yang dihilangkan tersebut. cluster akan sulit ditemukan. Berdasarkan strategi pencariannya algoritma susbsapce clustering dapat dikatagorikan ke dalam dua kategori yaitu metode top down search iterative dan metode bottom up search grid based. mengilustrasikan bagaimana peningkatan jumlah dimensi mengakibatkan terpecahnya titik pada dataset. cluster dapat saja berada dalam subspace yang berbeda. dimana setiap subspace dibentuk dari kombinasi dimensi yang berbeda-beda. Untuk dataset seperti ini. karena setiap dimensi merupakan salah satu subspace cluster yang terbentuk. berakibat hilangnya satu atau dua cluster yang seharusnya ada. Subspace clustering secara otomatis akan menemukan unit-unit yang padat pada tiap subspace. satu cluster berada di bidang (x. Algoritma . Akibatnya. Misalnya ada suatu dataset 3-dimensi yang mempunyai 2 cluster.

calon dense unit berdimensi-k ditentukan dengan menggunakan prosedur candidate generation. Lemma 1 (monotonicity): Jika kumpulan titik S merupakan cluster dalam ruang dimensi–k maka S juga merupakan bagian suatu cluster dalam ruang proyeksi dimensi-(k-1) Penjelasan: Suatu cluster C yang berdimensi-k memasukkan titik yang jatuh di dalam gabungan dense unit berdimensi-k yang masing-masing memiliki selectivity minimal. . Algoritma berhenti jika tidak ada dense unit yang dibangkitkan. Prosedur candidat generation menyatakan Dk-1 sebagai kumpulan dense unit berdimensi (k-1). Setelah menentukan dense unit berdimensi-k-1.MAFIA termasuk algoritma yang menggunakan strategi metode bottom up search grid based. proyeksi titik dalam cluster C yang berdimensi-k juga berada dalam cluster yang sama pada proyeksi dimensi-(k-1). Karena semua unit dalam cluster terhubung. menentukan calon dense unit berdimensi 1 dengan melakukan pass over data. Prosedur ini mengembalikan superset kumpulan calon dense unit berdimensi-k yang akan di bandingkan dengan density treshold apakah layak atau tidak digunakan sebagai penentu cluster. Pertama-tama. Algoritma diproses level demi level. maka proyeksinya juga terhubung. Contoh : Buttom-up Subspace Search Grid Method Algoritma Bottom-up ini menggunakan prinsip yang serupa dengan algoritma Apriori untuk menghasilkan rule asosiasi. Artinya. Proyeksi setiap unit u dalam C harus memiliki selectivity minimal agar bersifat padat.