penjelasan algoritma decision tree

Penjelasan Algoritma Decision Tree

Posted by

Decision tree adalah salah satu algoritma populer yang digunakan untuk membangun model machine learning dalam bentuk struktur pohon. Algoritma ini termasuk ke dalam kategori supervised learning dan biasanya digunakan untuk masalah klasifikasi. Namun demikian, decision tree juga dapat digunakan untuk menangani masalah regresi.

Tujuan dari penggunaan decision tree adalah untuk membuat sebuah model yang dapat digunakan untuk memprediksi kelas atau nilai dari variabel target dengan mempelajari aturan pengambilan keputusan sederhana yang disimpulkan dari data sebelumnya.

Mari kita ambil contoh sederhana penggunaan decision tree. Misalnya Anda ingin menentukan apakah Anda akan pergi ke rumah teman atau tidak. Perhatikan gambar di bawah ini.

Dari contoh di atas, jika Anda memiliki keperluan di rumah teman Anda dan cuaca cerah, maka Anda akan pergi. Namun jika cuaca hujan, maka Anda tidak akan pergi. Jika Anda tidak memiliki keperluan (hanya ingin main) dan tidak ada tugas lain yang harus Anda kerjakan di rumah, Anda akan pergi. Namun, jika ada tugas lain di rumah yang harus dikerjakan, Anda tidak akan pergi.

Baca juga: 5 Perbedaan Klasifikasi dan Clustering

Dalam decision tree terdapat dua jenis node, yaitu decision node dan leaf node. Decision node mewakili fitur dari dataset dan digunakan untuk membuat keputusan. Leaf node adalah output dari keputusan tersebut dan tidak berisi cabang lebih lanjut.

Istilah-istilah penting terkait Decision Tree

Root node

Root node merupakan node yang paling tinggi di dalam struktur pohon dan tidak memiliki parent node. Node ini merupakan atribut global dan mewakili keseluruhan sampel. Root node bisa memiliki dua atau lebih sub-node dan ditentukan berdasarkan hasil dari Attribute Selection Measure (ASM).

Sub-tree / Branch

Sub-tree / Branch adalah sub-bagian atau cabang dari keseluruhan pohon. Struktur di dalam kotak pada gambar sebelumnya merupakan contoh dari sub-tree.

Baca juga: Cara Mengambil Nama Kolom di Dataframe

Decision node

Decision node merepresentasikan fitur-fitur atau atribut-atribut di dataset dan digunakan untuk membuat keputusan.

Leaf node

Leaf node merupakan output atau hasil dari keputusan yang tidak memiliki cabang lebih lanjut.

Parent and child node

Sebuah node yang memiliki cabang lagi disebut dengan parent node, sedangkan node cabang (sub-node) yang dimaksud disebut dengan child node dari parent node tersebut.

Pruning

Pruning dalam decision tree berarti menghapus sebuah sub-tree yang berlebihan dan tidak berguna dan menggantinya dengan leaf node. Teknik ini berfungsi untuk membantu mencegah overfitting pada data latih sehingga model bekerja dengan baik pada data baru (unseen data)

Information gain

Information gain dapat diartikan sebagai ukuran seberapa banyak sebuah fitur memberikan informasi tentang sebuah kelas/target. Ini merupakan salah satu metode Attribute Selection Measure (ASM) untuk menentukan seberapa baik sebuah fitur untuk dijadikan decision node.

Baca juga: Apa Itu Bias dan Variance di Machine Learning?

Entropy

Entropy adalah metrik teori informasi yang digunakan untuk mengukur ketidakmurnian (impurity) atau ketidakpastian (uncertainty) di dalam sebuah kelompok pengamatan. Entropy menentukan bagaimana decision tree membagi data.

Kelebihan Algoritma Decision Tree

Kepopuleran algoritma decision tree dalam membangun model machine learning adalah karena algoritma ini sederhana serta mudah dipahami, diinterpretasikan, dan divisualisasikan. Siapapun dapat memahami algoritma ini karena tidak memerlukan kemampuan analitis, matematis, maupun statistik.

Decision tree juga dapat menangani data numerik maupun data kategori dan merupakan algoritma non-parametric yang artinya tidak membutuhkan banyak parameter seperti algoritma-algoritma lainnya.

Selain itu, kelebihan lainnya adalah tidak membutuhkan banyak persiapan data, seperti cleaning data dan normalisasi data. Meskipun begitu, algoritma ini mampu bekerja dengan baik.

Kekurangan Algoritma Decision Tree

Selain beberapa kelebihan yang sudah dipaparkan di atas, algoritma decision tree juga memiliki beberapa kekurangan.

Kekurangan yang pertama adalah overfitting dimana model berusaha mempelajari seluruh detail di dalam data. Du acara yang dapat dilakukan yaitu dengan menetapkan batasan pada parameter model dan menerapkan pruning untuk memangkas model menjadi lebih sederhana.

Seperti yang kita tahu, decision tree mampu menangani data numerik maupun kategori. Meskipun begitu, saat menerapkan algoritma ini untuk data dengan nilai kontinu, mungkin akan menyebabkan hilangnya informasi karena decision tree perlu dibagi ke dalam kategori diskrit.

Jika Anda yang sedang belajar data science atau mengolah data dengan bahasa pemrograman Python namun masih suka bingung menulis kode Python-nya, kami telah menyusun Paket E-modul Data Science dengan Python yang didesain khusus untuk pemula dengan penjelasan bahasa Indonesia yang lengkap untuk setiap blok kode-nya. Dapatkan sekarang juga dengan klik di sini!

Itulah penjelasan singkat terkait algoritma decision tree, algoritma yang cukup populer serta mudah dipahami dan divisualisasikan. Semoga bermanfaat!

Referensi: Source 1 | Source 2