dmdw association rule mining

24
1 Association Rule Mining Association rule mining adalah teknik mining untuk menemukan aturan assosiatif antara suatu kombinasi item. Penting tidaknya suatu aturan assosiatif dapat diketahui dengan dua parameter, support yaitu persentase kombinasi item tsb. dalam database dan confidence yaitu kuatnya hubungan antar item dalam aturan assosiatif. Algoritma yang paling populer dikenal sebagai Apriori dengan paradigma generate and test, yaitu pembuatan kandidat kombinasi item yang mungkin berdasar aturan tertentu lalu diuji apakah kombinasi item tersebut memenuhi syarat support minimum. Kombinasi item yang memenuhi syarat tsb. disebut frequent itemset, yang nantinya dipakai untuk membuat aturan-aturan yang memenuhi syarat confidence minimum. Algoritma baru yang lebih efisien bernama FP-Tree. Algoritma 1. Apriori Algoritma (paling populer dan paling awal) menggunakan prinsip Boolean untuk menggali association rules. Algoritma ini bekerja dengan prinsip generate and test, yaitu pembuatan kandidat kombinasi item yang memungkinkan, berdasar aturan tertentu lalu diuji apakah kombinasi item tersebut memenuhi syarat minimum support. Kombinasi item yang memenuhi syarat tersebut disebut frequent itemset, yang nantinya dipakai untuk

Upload: wahyusun

Post on 11-Nov-2015

223 views

Category:

Documents


2 download

DESCRIPTION

Algoritma

TRANSCRIPT

3

Association Rule MiningAssociation rule mining adalah teknik mining untuk menemukan aturan assosiatif antara suatu kombinasi item. Penting tidaknya suatu aturan assosiatif dapat diketahui dengan dua parameter, support yaitu persentase kombinasi item tsb. dalam database dan confidence yaitu kuatnya hubungan antar item dalam aturan assosiatif.

Algoritma yang paling populer dikenal sebagai Apriori dengan paradigma generate and test, yaitu pembuatan kandidat kombinasi item yang mungkin berdasar aturan tertentu lalu diuji apakah kombinasi item tersebut memenuhi syarat support minimum. Kombinasi item yang memenuhi syarat tsb. disebut frequent itemset, yang nantinya dipakai untuk membuat aturan-aturan yang memenuhi syarat confidence minimum. Algoritma baru yang lebih efisien bernama FP-Tree.

Algoritma1. AprioriAlgoritma (paling populer dan paling awal) menggunakan prinsip Boolean untuk menggali association rules. Algoritma ini bekerja dengan prinsip generate and test, yaitu pembuatan kandidat kombinasi item yang memungkinkan, berdasar aturan tertentu lalu diuji apakah kombinasi item tersebut memenuhi syarat minimum support. Kombinasi item yang memenuhi syarat tersebut disebut frequent itemset, yang nantinya dipakai untuk membuat aturan-aturan yang memenuhi syarat minimum confidence. [1] Prinsip dasar algoritma Apriori adalah dengan menemukan frequent itemset, dengan sifat bahwa setiap subset frequent itemset menjadi frequent itemset dan subset dari infrequent itemset juga menjadi infrequent itemset.Algoritma ini menunjukkan hasil yang cukup baik untuk digunakan dalam market-basket-data jika frequent patternnya berukuran pendek. Namun jika dataset yang digunakan memiliki itemset yang panjang seperti data telekomunikasi atau data sensus, kinerjanya turun drastis.

Ini karena :1. Algoritma harus melakukan scanning ke setiap data yang masuk sesuai dengan frequent pattern terpanjang. Proses ini mengakibatkan overhead I/O yang cukup tinggi karena harus mengakses disk tempat database disimpan secara berulangkali.2. Komputasi yang dibutuhkan cukup besar untuk mengecek kesamaan pola kandidat itemset dalam jumlah besar (mining pola frequent yang panjang), dengan rumus 2m (m = panjang dari frequent itemset terpanjang).

Algoritma Apriori diberikan sebagai berikut : Algorithm: Apriori. Find frequent itemsets using an iterative level-wise approach based on candidate generation.Input: D, a database of transactions; min sup, the minimum support count threshold.Output: L, frequent itemsets in D.Method:(1) L1 = find frequent 1-itemsets(D); (2) for (k = 2;Lk-1 f;k++) f(3) Ck = apriori_gen(Lk-1);(4) for each transaction t D { // scan D for counts(5) Ct = subset(Ck, t); // get the subsets of t that are candidates(6) for each candidate c Ct(7) c.count++; (8) }(9) Lk = {c2 Ck |c:count min sup}(10) }(11) return L = kLk;

procedure apriori gen(Lk-1:frequent (k-1)-itemsets) (1) for each itemset l1 Lk-1(2) for each itemset l2 Lk-1(3) if (l1[1] = l2[1])^(l1[2] = l2[2])^... ^(l1[k-2] = l2[k-2])^(l1[k-1] < l2[k-1]) then {(4) c = |l1 , l2| ; // join step: generate candidates(5) if has infrequent subset(c, Lk-1) then(6) delete c; // prune step: remove unfruitful candidate(7) else add c to Ck; (8) }(9) return Ck;

procedure has infrequent subset(c: candidate k-itemset;Lk-1: frequent (k-1)-itemsets); // use prior knowledge(1) for each (k-1)-subset s of c(2) if s NOT Lk-1 then (3) return TRUE; (4) return FALSE;Kompleksitas AprioriKompleksitas Apriori [8] :N = jumlah transaksi dalam databaseT = transaksi terpanjangWaktu untuk pertama kali scan database O(TN) Waktu untuk connectingO(|Lk-1||Lk-1|) Waktu untuk pruning O(|Ck|),Waktu untuk menghitung supportO(N|Ck|).Total waktu dibutuhkan algoritma Apriori adalah O(TN) + (O(|Lk-1||Lk-1|) + O(|Ck|) + O((N|Ck|))(k>1)

2. Eclat (Equivalence Class Transformation)Algoritma Eclat, (salah satu algoritma dalam metode Association Rules), memiliki waktu pencarian frequent itemset yang lebih cepat dibanding Apriori dengan pendekatan teknik BDF (Breath Deep First).

Eclat hanya melakukan scan terhadap database sebanyak 3 (tiga) kali dengan mentransformasikan tabel sehingga dapat mengurangi proses yang terjadi di I/O.

Algoritmanya menggunakan layout data vertikal untuk mentransformasikan transaksi database dalam bentuk vertical TIDList dari itemset (list dari ID untuk semua transaksi yang berisi itemset). Frequent k-itemset kemudian di organisasikan dalam bentuk disjoint equivalence classes, sehingga candidate (k+1)-itemset dapat dibangkitkan dengan menggabungkan pasangan dari frequent k-itemset dari kelas yang sama. Support dari candidate itemset kemudian dihitung dengan melakukan proses intersect TIDlist dari component subset. Setiap proses kemudian melakukan mining terhadap frequent itemset yang dihasilkan dari generated equivalence classes, dengan melakukan scanning dan intersect local TIDlist.

Prinsip kerjanya berdasarkan Powerset (B) yang membentuk kisi kisi atau jaring untuk mewakili daftar transaksi, database direpresentasikan dalam bentuk vertikal untuk menyaring closed dan maximal itemset. Dalam implementasinya memakai prefix based equivalence classes, dan untuk merepresentasikan data digunakan representasi database vertikal dengan pendekatan bottom up.Tahapannya sebagai berikut :(1) Scan setiap transaksi di database, hitung frekuensi dari 1-itemset dan 2-itemset.(2) Semua itemset ditukar untuk mengetahui frekuensi dari 1-itemset and 2-itemset, dan cari frequent itemset diantaranya.

Algoritma Basic Eclat (Lars Schmidt, 2004) :input: alphabet A with ordering multiset T (A) of sets of items, minimum support value minsup N.output: set F of frequent itemsets and their support counts. F := {( , |T| )}.C := {( x, T ({x})) | x A}.C:= freq(C) := {(x, Tx) | (x, Tx) C,Tx| minsup}. F := {}.addFrequentSupersets(,C).

function addFrequentSupersets():input: frequent itemset p P(A) called prefix,incidence matrix C of frequent 1-item-extensions of p.output: add all frequent extensions of p to global variable F.for (x, Tx) C doq := p {x}.Cq := {(y, Tx Ty) | (y, Ty) C, y > x}. Cq := freq(Cq) := {(y, Ty) | (y, Ty) Cq,|Ty| minsup}.if Cq ; thenaddFrequentSupersets(q,Cq).end ifF := F {(q, |Tx|)}.end for

Kompleksitas EclatKompleksitas Eclat :N = jumlah transaksi dalam databaseT = transaksi terpanjangWaktu untuk pertama kali scan databaseO(TN)Waktu untuk membangun frequent k- itemsetO(|Lk-1||Lk-1|)Waktu untuk menghitung supportO(N|Ck|).Total waktu dibutuhkan algoritma Eclat adalah O(TN) + (O(|Lk-1||Lk-1|) + O((N|Ck|))(k>1)

3. FP-growthAlgoritma FP-Growth [13], termasuk sebagai salah satu algoritma yang efisien untuk mencari pola frequent pattern dengan pattern fragment growth. Tekniknya dengan menggunakan struktur extended prefix-tree untuk menyimpan informasi yang penting dan dikompresi tentang frequent patterns dengan nama frequent-pattern tree (FP-tree).

Dibanding Apriori dan Eclat, FP-Growth memiliki kinerja yang lebih baik, karena hanya melakukan dua kali scan terhadap database dan dapat diterapkan pada itemset berukuran besar. Beberapa penelitian menunjukkan algoritma ini lebih cepat dari Apriori, Eclat dan Relim.

Tahapan Algoritma FP-Growth :1. Scan database dan temukan item dengan frekuensi lebih besar atau sama dengan ambang T.2. Urutkan item dengan urutan menurun.3. Bangun tree di root.4. Scan database, untuk setiap sampel :a. Tambahkan item dari sampel ke pohon yang ada, hanya menggunakan frequent itemset (item yaitu ditemukan pada langkah 1)b. Ulangi langkah a. sampai semua sampel diproses.5. Hitung semua frequent itemset dengan memeriksa pohon : frequent itemset diwakili dalam path yang dibentuk dengan frekuensi T.

Algoritma FP-Growth:Algorithm: FP growth. Mine frequent itemsets using an FP- tree by pattern fragment growth.Input: D, a transaction database; min sup, the minimum support count threshold.Output: The complete set of frequent patterns.Method:1. The FP-tree is constructed in the following steps:a. Scan the transaction database D once. Collect F, the set of frequent items, and their support counts. Sort F in support count descending order as L, the list of frequent items.b. Create the root of an FP-tree, and label it as null. For each transaction Trans in D do the following. Select and sort the frequent items in Trans according to the order of L. Let the sorted frequent item list in Trans be [p|P], where p is the first element and P is the remaining list. Call insert tree([p|P], T), which is performed as follows. If T has a child N such that N.item-name=p.item-name, then increment Ns count by1; else create a new node N, and let its count be 1, its parent link be linked to T, and its node-link to the nodes with the same item-name via the node-link structure. If P is nonempty, call insert tree(P, N) recursively.2. The FP-tree is mined by calling FP growth(FP tree, null), which is implemented as follows.

procedure FP growth(Tree, )(1) if Tree contains a single path P then(2) for each combination (denoted as ) of the nodes in the path P(3) generate pattern with support count = minimum support count o f nodes in ;(4) else for each ai in the header of Tree {(5) generate pattern = ai [a with support count = ai.support_count;(6) construct s conditional pattern base and then s cnditional FP tree Tree; (7) if Tree then(8) call FP growth(Tree, ); }

Kompleksitas FP-GrowthKompleksitas FP-Growth:N = jumlah transaksi dalam databaseT = transaksi terpanjangWaktu untuk pertama kali scan database O(TN)Waktu untuk pembentukan tree O(TN)Waktu untuk mencari frequent tree O(N|Ck|).Total waktu dibutuhkan algoritma FP-Growth adalah O(2TN) + O((N|Ck|))(k>1)

4. AISFungsi Association Rules seringkali disebut dengan "market basket analysis", yang digunakan untuk menemukan relasi atau korelasi diantara himpunan item-item. Market Basket Analysis adalah Analisis dari kebiasaan membeli customer dengan mencari asosiasi dan korelasi antara item-item berbeda yang diletakkan customer dalam keranjang belanjaannya. Fungsi ini paling banyak digunakan untuk menganalisa data dalam rangka keperluan strategi pemasaran, desain katalog, dan proses pembuatan keputusan bisnis. Tipe association rule bisa dinyatakan sebagai misal : "70% dari orangorang yang membeli mie, juice dan saus akan membeli juga roti tawar".

Pada Association Rules dikenal Blok Sistem AR Mining, seperti gambar di bawah ini:

Dari bagan di atas terdapat suatu masalah pada bagian Large Itemset yaitu Bagaimana melakukan pencarian semua large itemsets secara efisien? Untuk memecahkan masalah tersebut perlu digunakan suatu Algoritma yang salah satu algoritma dinamakan Algoritma AIS.

Algoritma AIS akan digunakan untuk mencari itemset dari suatu database. Bentuk Algoritma AIS adalah :

Contoh Penerapan Algoritma AIS: Perhatikan bahwa: jika {modem, laptop} adalah sebuah large itemset, maka masing-masing {madem} dan {laptop} dapat dipastikan anggota large itemsets juga. Hal ini Berarti: Jika sebuah itemsets tidak large / tidak frequent, (seperti {pulsa}) maka tidaklah mungkin akan terdapat large itemset yang memuat pulsa seperti {pulsa, laptop}. Asumsikan bahwa itemsets dengan ukuran 1 (itemsets-1) berikut telah diketahui merupakan large itemsets dengan ukuran 1 (large itemsets-1): {Modem},{Laptop},{ Pulsa} Karena {cooling pad} bukan merupakan large itemsets-1 {cooling pad, pulsa} tidak mungkin akan menjadi large itemsets-2. Hanya jika {cooling pad} dan {pulsa} keduanya adalah large itemsets-1, maka {Cooling pad, Pulsa} bisa menjadi large itemsets-2. Sehingga logika kerjanya secara umum adalah:1. Dapatkan semua large itemsets-1.2. Untuk mendapatkan semua large itemsets-2, hitunglah frekuensi (counting) dari itemsets-2 yang mengandung 2 dari item-item berikut: Modem, Laptop, Pulsa

5. SETMSampling [Toivonen1996] mengurangi jumlah scan database untuk satu kasus terbaik dan dua di terburuk. Contoh yang dapat disimpan dalam memori utama pertama diambil dari database. Himpunan itemset besar dalam sampel ini kemudian ditemukan dari sampel ini dengan menggunakan algoritma tingkat-bijaksana seperti Apriori.

KlasifikasiKlasifikasi adalah sebuah proses untuk menemukan model yang menjelaskan atau membedakan konsep atau kelas data, dengan tujuan untuk dapat memperkirakan kelas dari suatu objek yang kelasnya tidak diketahui (Tan et all, 2004). Di dalam klasifikasi diberikan sejumlah record yang dinamakan training set, yang terdiri dari beberapa atribut, atribut dapat berupa kontinyu ataupun kategoris, salah satu atribut menunjukkan kelas untuk record.

Decision TreeSalah satu metoda Data Mining yang umum digunakan adalah decision tree. Decision tree adalah struktur flowchart yang menyerupai tree (pohon), dimana setiap simpul internal menandakan suatu tes pada atribut, setiap cabang merepresentasikan hasil tes, dan simpul daun merepresentasikan kelas atau distribusi kelas. Alur pada decision tree di telusuri dari simpul akar ke simpul daun yang memegang prediksi kelas untuk contoh tersebut. Decision tree mudah untuk dikonversi ke aturan klasifikasi (classification rules) (Zalilia, 2007).Konsep Decision TreeMengubah data menjadi pohon keputusan (decision tree) dan aturan-aturan keputusan(rule) (Basuki dkk, 2003).

DATA Decision Tree Rule

Gambar 3. Konsep Decision Tree

Algoritma/Metode pada Decision Tree1. Algoritma C4.5 Salah satu algoritma induksi pohon keputusan yaitu ID3 (Iterative Dichotomiser 3). ID3 dikembangkan oleh J. Ross Quinlan. Dalam prosedur algoritma ID3, input berupa sampel training, label training dan atribut. Algoritma C4.5 merupakan pengembangan dari ID3. Sedangkan pada perangkat lunak open source WEKA mempunyai versi sendiri C4.5 yang dikenal sebagai J48.

Algoritma C4.5Pohon dibangun dengan cara membagi data secara rekursif hingga tiap bagian terdiri dari data yang berasal dari kelas yang sama. Bentuk pemecahan (split) yang digunakan untuk membagi data tergantung dari jenis atribut yang digunakan dalam split. Algoritma C4.5 dapat menangani data numerik (kontinyu) dan diskret. Split untuk atribut numerik yaitu mengurutkan contoh berdasarkan atribut kontiyu A, kemudian membentuk minimum permulaan (threshold) M dari contoh-contoh yang ada dari kelas mayoritas pada setiap partisi yang bersebelahan, lalu menggabungkan partisi-partisi yang bersebelahan tersebut dengan kelas mayoritas yang sama. Split untuk atribut diskret A mempunyai bentuk value (A) X dimana X domain(A).Jika suatu set data mempunyai beberapa pengamatan dengan missing value yaitu record dengan beberapa nilai variabel tidak ada, Jika jumlah pengamatan terbatas maka atribut dengan missing value dapat diganti dengan nilai rata-rata dari variabel yang bersangkutan.[Santosa,2007]

2. Algoritma K-Means

K-Means merupakan metode klasterisasi yang paling terkenal dan banyak digunakan di berbagai bidang karena sederhana, mudah diimplementasikan, memiliki kemampuan untuk mengklaster data yang besar, mampu menangani data outlier, dan kompleksitas waktunya linear O(nKT) dengan n adalah jumlah dokumen, K adalah jumlah kluster, dan T adalah jumlah iterasi. K-means merupakan metode pengklasteran secara partitioning yang memisahkan data ke dalam kelompok yang berbeda. Dengan partitioning secara iteratif, KMeans mampu meminimalkan rata-rata jarak setiap data ke klasternya. Metode ini dikembangkan oleh Mac Queen pada tahun 1967.Dasar algoritma K-means adalah sebagai berikut :1. Tentukan nilai k sebagai jumlah klaster yang ingin dibentuk2. Bangkitkan k centroid (titik pusat klaster) awal secara random.3. Hitung jarak setiap data ke masing-masing centroid menggunakan rumus korelasi antar dua objek yaitu Euclidean Distance dan kesamaan Cosine.4. Kelompokkan setiap data berdasarkan jarak terdekat antara data dengan centroidnya.5. Tentukan posisi centroid baru ( k C ) dengan cara menghitung nilai rata-rata dari data-data yang ada pada centroid yang sama.

Dimana k n adalah jumlah dokumen dalam cluster k dan i d adalah dokumen dalam cluster k.6. Kembali ke langkah 3 jika posisi centroid baru dengan centroid lama tidak sama.Adapun karakteristik dari algoritma K-Means salah satunya adalah sangat sensitif dalam penentuan titik pusat awal klaster karena K-Means membangkitkan titik pusat klaster awal secara random. Pada saat pembangkitan awal titik pusat yang random tersebut mendekati solusi akhir pusat klaster, K-Means mempunyai posibilitas yang tinggi untuk menemukan titik pusat klaster yang tepat. Sebaliknya, jika awal titik pusat tersebut jauh dari solusi akhir pusat klaster, maka besar kemungkinan ini menyebabkan hasil pengklasteran yang tidak tepat. Akibatnya K-Means tidak menjamin hasil pengklasteran yang unik. Inilah yang menyebabkan metode K-Means sulit untuk mencapai optimum global, akan tetapi hanya minimum lokal. Selain itu, algoritma K-Means hanya bisa digunakan untuk data yang atributnya bernilai numeric.

3. Algoritma ID3ID3 (Iterative Dichotomiser Three) atau yang disebut juga dengan Induction of Decision Tree adalah suatu algoritma matematika yang digunakan untuk menghasilkan suatu pohon keputusan yang mampu mengklasifikasi suatu obyek. Pengertian laindari ID3 yaitu ID3 merupakan sebuah metode yang digunakan untuk membangkitkan pohon keputusan. ID3 diperkenalkan pertama kali oleh Ross Quinlan (1979). ID3 merepresentasi konsep-konsep dalam bentuk pohon keputusan. Aturan-aturan yang dihasilkan oleh ID3 mempunyai relasi yang hirarkis seperti suatu pohon (mempunyai akar, titik, cabang, dan daun). Beberapa peneliti menyebut struktur model yang dihasilkan ID3 sebagai pohon keputusan (decision tree) sementara peneliti yang lain menyebutnya pohon aturan (rule tree).Algoritma pada ID3 berbasis pada Occams 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 occams razor bersifat heuristik. Occams razor diformalisasi menggunakan konsep dari entropi informasi.

Algoritma ID3Input : sampel training, label training, atribut Membuat simpul akar untuk pohon yang dibuat Jika semua sampel positif, berhenti dengan suatu pohon dengan satu simpul akar, beri label (+) Jika semua sampel negatif, berhenti dengan suatu pohon dengan satu simpul akar beri label (-) Jika atribut kosong, berhenti dengan suatu pohon dengan satu simpul akar, dengan label sesuai nilai yang terbanyak yang ada pada label training Untuk yang lain, Mulai A atribut yang mengklasifikasikan sampel dengan hasil terbaik (berdasarkan gain ratio) Atribut keputusan untuk simpul akarA

Untuk setiap nilai, vi, yang mungkin untuk A, Tambahkan cabang di bawah akar yang berhubungan dengan A= vi Tentukan sampel Svi sebagai subset dari sampel yang mempunyai nilai vi untuk atribut A Jika sampel Svi kosong, Di bawah cabang tambahkan simpul daun dengan label = nilai yang terbanyak yang aa pada label training Yang lain, tambah cabang baru di bawah cabang yang sekarang C4.5 (sampel training, label training, atribut-[A]) Berhenti

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.1. Kelas yang sudah didefinisikan sebelumnya. Suatu atribut contoh harus sudah didefinisikan, karena mereka tidak dipelajari oleh ID3.1. Kelas-kelas yang diskrit. Kelas harus digambarkan dengan jelas. Kelas yang continue dipecah-pecah menjadi kategori-kategori yang relatif, misalnya saja metal dikategorikan menjadi hard, quite hard, flexible, soft, quite soft.1. Jumlah contoh (example) yang cukup. Karena pembangkitan induktif digunakan, maka dibutuhkan test case yang cukup untuk membedakan pola yang valid dari peluang suatu kejadian.

4. HUNT AlgorithmSalah satu algoritma yang digunakan untuk membangun decision tree yang berbasis algoritma induksi decision tree seperti ID3, C4.5 dan CART adalah algoritma Hunt. Pada algoritma HUNT decision tree tumbuh dalam struktur perulangan dengan membagi record pelatihan ke dalam bagian yang berurutan. T adalah record pelatihan yang berhubungan dengan simpul t dan C = {C1,C2,,Ct) adalah label kelas.

Metoda Hunt untuk membangun decision tree:Diberikan pelatihan kumpulan T dengan kelas C={C1,C2,Ct}Sebuah tree dibangun dengan melakukan pengujian sebagai berikut:T berisi satu atau lebih kelas yang sama CjSebuah simpul daun dibuat untuk T yang menotasikan kelas kepunyaan Cj.T tidak berisi kasus apapunSebuah simpul daun dibuat untuk T tetapi kelas yang dimilikinya harus dipilih dari luar sumber. T berisi kasus dengan kelas lebih dari SatuTemukan sebuah pengujian yang akan memecah T ke dalam kasus dengan satu kelas.

Pengujian ini berdasarkan nilai atribut tunggal, dan pilihan seperti itu menghasilkan satu atau keluaran {O1,O2,,On}Kumpulan T kemudian dipecah ke dalam bagian {T1,T2,,Tn} yang berakibat kumpulan Ti berisi semua kasus dalam T dengan keluaran Oi. Algoritma dikerjakan secara rekursif untuk semua bagian T

Dibawah ini adalah definisi perulangan pada algoritma HUNT

1. Jika semua record dalam decision tree mempunyai kelas yang sama Ct, maka t adalah simpul daun yang diberi label sebagai Ct.1. Jika decision tree terdiri dari record yang mempunyai lebih dari 1 kelas, hmaka sebuah kondisi tes atribut dipilih untuk membagi record kedalam bagian yang terkecil. Sebuah simpul anak dibuat untuk setiap hasil pada kondisi tes dan record pada T akan didistribusikan ke simpul anak berdasarkan hasil. Algoritma kemudian akan berulang pada setiap simpul anak.

Algoritma HUNT akan bekerja jika setiap kombinasi pada nilai atribut ada dalam data pelatihan dan setiap kombinasi memiliki label kelas yang unik.

5. Algoritma SLIQAlgoritma SLIQ ini dikembangkan oleh tim proyek IBMs Quest pada sekitar tahun 1996. Kemunculan algoritma ini merupakan jawaban dari kekurangan algoritma-algoritma sebelumya yang memiliki keterbatasan memori untuk dataset dalam jumlah yang besar.

Algoritma SLIQ menggunakan modifikasi dari tree classifier sehingga bisa dipakai juga untuk dataset yang besar. SLIQ bisa dipakai untuk atribut dengan tipe numerik dan kategorikal. Decision tree dalam SLIQ menggunakan teknik novel untuk mempersingkat learning time dengan tetap mempertahankan tingkat akurasi yang tinggi.

Selain itu SLIQ juga memungkinkan untuk dilakukan pada sistem dengan jumlah memori yang terbatas tanpa kehilangan performanya. Algoritma ini juga tidak mempunyai batasan jumlah training data atau jumlah atribut yang digunakan. Dengan demikian SLIQ mempunyai potensi menghasilkan klasifikasi yang lebih akurat pada training dataset yang lebih besar, yang tidak dapat dilakukan oleh algoritma-algoritma sebelumnya. Kesimpulannya, SLIQ bisa dieksekusi dengan lebih cepat dengan tree yang dihasilkan lebih kecil.

SLIQ menggunakan teknik pre-sorting di fase tree-growth untuk mengurangi cost evaluasi atribut numerik. Prosedur sorting ini diintegrasikan dengan strategi breadth-first tree growing untuk memungkinkan SLIQ melakukan klasifikasi pada dataset yang ada dalam disk. Selain itu SLIQ menggunakan algoritma fast subnetting untuk menentukan split point pada atribut kategorikal. SLIQ juga menggunakan algoritma baru tree-pruning yang berbasiskan pada prinsip Minimum Description Length.

Algoritma ini relatif mudah dan bisa menghasilkan tree yang kompak dan akurat. Kombinasi dari teknik-teknik di atas menyebabkan SLIQ mampu untuk menangani data sets yang besar dan mengklasifikasikan data sets yang memiliki banyak kelas, atribut, dan record.

6. Algoritma CARTMetode klasifikasi CART (Classification And Regression Trees) merupakan metode nonparametrik yang berguna untuk mendapatkan suatu kelompok data yang akurat sebagai penciri dari suatu pengklasifikasian.

Algoritma CART pertama kali digagas pada tahun 1984 oleh Leo Breiman, Jerome Friedman, Richard Olshen, Charles Stone (Larose, 2005).

Pada algoritma CART mencakup 3 bagian, yaitu :1. Mengkonstruksi pohon optimal2. Memilih ketepatan ukuran pohon 3. Mengklasifikasikan data baru menggunakan pohon yang telah dikonstruksi

Adapun Frekuensi Penggunaan Algoritma Decision Tree/Pohon Keputusan