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.

Contoh : Obyek penelitian adalah semua tipe kapal berbendera Indonesia diatas 500GT. pertama-tama digunakanlah ide dari teori informasi yang disebut entropi. Gain mengukur seberapa baik suatu atribut memisahkan training example ke dalam kelas target. yang disebut dengan information gain. Dengan tujuan untuk mendefinisikan gain.Pemillihan atribut pada ID3 dilakukan dengan properti statistik. Atribut dengan informasi tertinggi akan dipilih. Entropi mengukur jumlah dari informasi yang ada pada atribut. 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. Berikut gambar skema kriteria yang mempengaruhi kelaiklautan kapal : .

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

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

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

. Misalnya pada kasus di atas untuk saving medium.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. bahwa target variable dari decision tree tersebut atau variable yang akan diprediksi adalah credit risk dengan menggunakan predictor variable : saving. dan income. dan seterusnya hingga tidak dapat dipecah dan menuju pada target variable. Dapat dilihat pada gambar tersebut. Setiap nilai atribut dari predictor variable akan memiliki cabang menuju predictor variable selanjutnya. 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. asset dan income tertentu memiliki good credit risk atau bad credit risk. asset.

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

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

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

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

Dari gambar pohon keputusan pada gambar 4. Jika Atr_1 = N_1 Dan Atr_2 = N_4 Dan Atr_3 = N_9 Maka H_1 2.Lambang bulat pada pohon keputusan melambangkan sebagai node akar atau cabang (bukan daun) sedangkan kotak melambangkan node daun. 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. dapat dibentuk aturan sebagai berikut: 1. Jika Atr_1 = N_1 Dan Atr_2 = N_4 Dan Atr_3 = N_10 Dan Atr_4 = N_11 Maka H_2 .

. Jika Atr_1 = N_1 Dan Atr_2 = N_4 Dan Atr_3 = N_10 Dan Atr_4 = N_12 Maka H_2 4. Dalam penentuan diagnosis penyakit belum diimplementasikan derajat kepercayaan terhadap hasil diagnosis tersebut. Jika Atr_1 = N_1 Dan Atr_2 = N_5 Maka H_4 5. 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. Aturan yagn dihasilkan system ini mampu digunakan untuk mendiagnosis penyakit didasarkan pada data-data pasien. Jika Atr_1 = N_2 Maka H_5 6.3. Jika Atr_1 = N_3 Dan Atr_5 = N_6 Maka H_6 7. Jika Atr_1 = N_3 Dan Atr_5 = N_7 Maka H_7 8.

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

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

2.terklasifikasi yaitu data no 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. Teknik ini akan diujicobakan terhadap dataset akademik yang belum terklasifikasi atau data yang belum dikenal. Tabel 1. 2006). 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. . Tingkat ketepatan klasifikasi terhadap data dari kedua algoritma yang digunakan menjadi titik fokus analisa dalam penelitian. 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. untuk menemukan kelas yang sesuai dengan berdasarkan pada data tetangga terdekatnya yang sudah terklasifikasi.

Kelemahan metode ini adalah bila salah satu penggabungan/pemecahan dilakukan pada tempat yang salah. tidak akan didapatkan cluster yang optimal. Tujuannya menemukan cluster yang berkualitas dalam waktu yang layak. Banyaknya pendekatan clustering menyulitkan dalam menentukan ukuran kualitas yang universal. Dalam data mining usaha difokuskan pada metode-metode penemuan untuk cluster pada basisdata berukuran besar secara efektif dan efisien. Contohnya: algoritma K-Means. polapola distribusi secara keseluruhan dan keterkaitan yang menarik antara atribut-atribut data. Metode Hierarki. dan skalabilitas terhadap penambahan ukuran dimensi dan record dataset. karena pada data multidimensi kemungkinan terdapat dimensidimensi yang tidak relevan yang dapat membingungkan algoritma clustering sehingga bisa mengaburkan cluster sebenarnya yang seharusnya dapat ditemukan. dapat diidentifikasi daerah yang padat. Dengan menggunakan clustering. 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.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. Subspace Clustering Subspace clustering adalah suatu teknik clustering yang mencoba menemukan cluster pada dataset multidimensi dengan pemilihan dimensi yang paling relevan untuk setiap cluster. ENCLUE). MAFIA. 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. Metode Partisi. Divisive Hierarchical Clustering (CLIQUE. Namun. PROCLUS). cluster hasil yang dapat dianalisa. 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. . beberapa hal yang perlu diperhatikan adalah input parameter yang tidak menyulitkan user. Secara garis besar ada beberapa kategori algoritma clustering yang dikenal yaitu: a. b. Contohnya: Agglomerative (FINDIT. Kesamaan objek biasanya diperoleh dari kedekatan nilai-nilai atribut yang menjelaskan objek-objek data. yang menghasilkan cluster yang bersarang artinya suatu data dapat memiliki cluster lebih dari satu.

Cara yang sudah dikenal untuk mengatasi peningkatan jumlah dimensi adalah menggunakan teknik reduksi dimensi atau feature selection. semakin banyak dimensi yang digunakan. dua cluster yang terbentuk pada Gambar 2-3 diharapkan dapat diperoleh karena teknik clustering ini dapat menemukan cluster dengan subspace yang berbeda dalam dataset. Akibatnya. Dengan menggunakan metode subspace clustering. Jika konsep ini diterapkan dalam kasus di Gambar di bawah. karena masingmasing dimensi menjadi bagian dari satu buah cluster.Masalah lainnya. Dengan cara ini. karena setiap dimensi merupakan salah satu subspace cluster yang terbentuk. Misalnya ada suatu dataset 3-dimensi yang mempunyai 2 cluster. metode reduksi dimensi dan feature selection tidak mampu memperoleh kembali semua struktur cluster. Subspace clustering secara otomatis akan menemukan unit-unit yang padat pada tiap subspace. 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. satu cluster berada di bidang (x. z). Algoritma . dimensionalitas dataset dikurangi dengan menghilangkan beberapa dimensi. dimana setiap subspace dibentuk dari kombinasi dimensi yang berbeda-beda. pendekatan ini berakibat pada hilangnya beberapa informasi dan sekaligus mengurangi efektifitas penemuan cluster yang mungkin melibatkan dimensi yang dihilangkan tersebut. Untuk dataset seperti ini. y) dan (x. cluster akan sulit ditemukan. Pada Gambar diatas. berakibat hilangnya satu atau dua cluster yang seharusnya ada. cluster dapat saja berada dalam subspace yang berbeda.

Contoh : Buttom-up Subspace Search Grid Method Algoritma Bottom-up ini menggunakan prinsip yang serupa dengan algoritma Apriori untuk menghasilkan rule asosiasi. Setelah menentukan dense unit berdimensi-k-1. proyeksi titik dalam cluster C yang berdimensi-k juga berada dalam cluster yang sama pada proyeksi dimensi-(k-1). 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. menentukan calon dense unit berdimensi 1 dengan melakukan pass over data. Karena semua unit dalam cluster terhubung. Pertama-tama.MAFIA termasuk algoritma yang menggunakan strategi metode bottom up search grid based. Artinya. Algoritma diproses level demi level. . 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. maka proyeksinya juga terhubung. Proyeksi setiap unit u dalam C harus memiliki selectivity minimal agar bersifat padat. calon dense unit berdimensi-k ditentukan dengan menggunakan prosedur candidate generation. Prosedur candidat generation menyatakan Dk-1 sebagai kumpulan dense unit berdimensi (k-1).