Data Mining - Induksi Pohon Keputusan
Pohon keputusan adalah struktur yang mencakup simpul akar, cabang, dan simpul daun. Setiap simpul internal menunjukkan tes pada atribut, setiap cabang menunjukkan hasil tes, dan setiap simpul daun memegang label kelas. Node paling atas pada pohon adalah simpul akar.
Pohon keputusan berikut adalah untuk konsep buy_computer yang menunjukkan apakah pelanggan di sebuah perusahaan kemungkinan besar akan membeli komputer atau tidak. Setiap node internal mewakili tes pada suatu atribut. Setiap simpul daun mewakili sebuah kelas.
Manfaat memiliki pohon keputusan adalah sebagai berikut -
- Itu tidak membutuhkan pengetahuan domain apa pun.
- Mudah dimengerti.
- Langkah-langkah pembelajaran dan klasifikasi pohon keputusan sederhana dan cepat.
Algoritma Induksi Pohon Keputusan
Seorang peneliti mesin bernama J. Ross Quinlan pada tahun 1980 mengembangkan algoritma pohon keputusan yang dikenal sebagai ID3 (Iterative Dichotomiser). Kemudian ia mempresentasikan C4.5 yang merupakan penerus ID3. ID3 dan C4.5 mengadopsi pendekatan serakah. Dalam algoritma ini, tidak ada kemunduran; pepohonan dibangun dengan cara membagi-dan-menaklukkan rekursif atas-bawah.
Generating a decision tree form training tuples of data partition D
Algorithm : Generate_decision_tree
Input:
Data partition, D, which is a set of training tuples
and their associated class labels.
attribute_list, the set of candidate attributes.
Attribute selection method, a procedure to determine the
splitting criterion that best partitions that the data
tuples into individual classes. This criterion includes a
splitting_attribute and either a splitting point or splitting subset.
Output:
A Decision Tree
Method
create a node N;
if tuples in D are all of the same class, C then
return N as leaf node labeled with class C;
if attribute_list is empty then
return N as leaf node with labeled
with majority class in D;|| majority voting
apply attribute_selection_method(D, attribute_list)
to find the best splitting_criterion;
label node N with splitting_criterion;
if splitting_attribute is discrete-valued and
multiway splits allowed then // no restricted to binary trees
attribute_list = splitting attribute; // remove splitting attribute
for each outcome j of splitting criterion
// partition the tuples and grow subtrees for each partition
let Dj be the set of data tuples in D satisfying outcome j; // a partition
if Dj is empty then
attach a leaf labeled with the majority
class in D to node N;
else
attach the node returned by Generate
decision tree(Dj, attribute list) to node N;
end for
return N;
Pemangkasan Pohon
Pemangkasan pohon dilakukan untuk menghilangkan anomali dalam data pelatihan akibat noise atau outlier. Pohon yang dipangkas lebih kecil dan tidak terlalu rumit.
Pendekatan Pemangkasan Pohon
Ada dua pendekatan untuk memangkas pohon -
Pre-pruning - Pohon dipangkas dengan menghentikan pembangunannya lebih awal.
Post-pruning - Pendekatan ini menghilangkan sub-pohon dari pohon yang sudah dewasa.
Kompleksitas Biaya
Kompleksitas biaya diukur dengan dua parameter berikut -
- Jumlah daun di pohon, dan
- Tingkat kesalahan pohon.