MAKALAH
KLASIFIKASI DECISION TREE
Oleh :
Agung Sulistyo (14.01.53.0027)
Indra Dwi Hariyanto (14.01.53.0049)
Tidy Yuniardi S (14.01.53.0003)
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS STIKUBANK (UNISBANK)
SEMARANG
2018
BAB I
PENDAHULUAN
LATAR BELAKANG
1.1.1 Klasifikasi
Klasifikasi adalah proses untuk menemukan model atau fungsi yang menjelaskan atau membedakan konsep atau kelas data, dengan tujuan untuk
dapat memperkirakan kelas dari suatu objek yang labelnya tidak diketahui. Model itu sendiri bisa berupa aturan "jika-maka", berupa decision tree, formula matematis atau neural network. Proses classification biasanya dibagi menjadi dua fase: learning dan test. Pada fase learning, sebagian data yang telah diketahui kelas datanya diumpankan
untuk membentuk model perkiraan. Kemudian pada fase test model yang sudah terbentuk diuji dengan sebagian data lainnya untuk mengetahui akurasi dari model tersebut. Bila akurasinya mencukupi model ini dapat dipakai untuk prediksi kelas data yang belum diketahui.
Proses klasifikasi didasarkan pada empat komponen dasar (Gorunescu, 2011) :
Kelas (class) atau label kelas yaitu variabel dependen dari model yang merupakan variabel kategori yang menjelaskan sebuah 'label' pada objek setelah proses klasifikasi. Contoh : loyalitas pelanggan (label : loyal / tidak loyal), kelas bintang (galaksi), dll.
Prediktor (predictor) atau atribut (attribute) yaitu variabel independen dari model yang diwakili oleh karakteristik (atribut) dari data yang akan diklasifikasikan dan berdasarkan klasifikasi yang dibuat. Contoh prediktor tersebut adalah: merokok, konsumsi alkohol, tekanan darah, frekuensi pembelian, status perkawinan, dan kecepatan angin, musim, dll.
Training set atau dataset latihan (training dataset) yaitu merupakan kumpulan data yang berisi nilai-nilai atau record untuk dua komponen sebelumnya (kelas dan prediktor / atribut) dapat berupa variabel kontinyu maupun kategoris, dan digunakan untuk 'pelatihan' atau pembangunan model untuk menyesuaikan dengan kelasnya berdasarkan prediktor yang tersedia. Contoh set tersebut adalah: kelompok pasien diidentifikasi pada kasus serangan jantung berdasarkan faktor-faktor yang mempengaruhinya, kelompok pelanggan dari supermarket, dll.
Dataset pengujian (testinging dataset) yaitu berisi data baru yang akan diklasifikasikan oleh model klasifikasi (classifier) dan untuk mengukur tingkat akurasi klasifikasi (kinerja model) sehingga performansi model klasifikasi dapat dievaluasi.
Model dalam klasifikasi antara lain yaitu (Bertalya, 2009) :
Pemodelan Deskriptif
Sebagai alat penggambaran yang bersifat menjelaskan untuk membedakan objek-objek dari kelas yang berbeda.
Pemodelan Prediktif
Pemodelan prediktif digunakan untuk memprediksi label kelas untuk record yang belum diketahui.
1.1.2 Algoritma Klasifikasi
Adapun salah satu cara untuk membagi atau mengklasifikasi algoritma yakni dengan memakai cara implementasi.
1. Iterasi atau rekursi
Algoritma rekursi adalah suatu algoritma yang akan memanggil dirinya sendiri secara berulang kali atau looping sehingga pada kondisi tertentu bisa tercapai. Rekursi termasuk suatu metode umum dalam pemrograman fungsional. Algoritma iteratif menggunakan konstruksi secara berulang seperti pada pengulangan dan biasanya ada struktur data tambahan. Beberapa permasalan secara alami bisa cocok dengan menggunakan 1 implementasi atau yang lainnya. Adapun contohnya: menara Hanoi yang dikenal dengan implementasi rekursif. Pada setiap versi rekursif memiliki kesamaan (bisa lebih atau kurang kompleks) dengan versi iteratif atau pun sebaliknya.
2. Logical
Algoritma bisa dilihat sebagai sebuah logika deduksi terkontrol. Pernyataan ini bisa diungkapkan sebagai algoritma = kontrol + logika. Komponen logika yang mengungkapkan aksioma bisa dipakai dalam komputasi serta komponen kontrol untuk menentukan cara-cara deduksi yang dipakai pada aksioma. Hal tersebut menjadi dasar dari pandangan pemrograman logika. Pada pemrograman, logika murni komponen kontrol adalah tetap serta algoritma yang ditentukan dengan memberikan komponen logikanya. Adaya tarik dari pendekatan logical yaitu semantik elegan, sebuah perubahan yang terdapat pada aksioma memiliki perubahan dalam algoritma.
3. Serial, Paralel atau terdistribusi.
Secara umum, suatu algoritma akan menjalankan satu perintah algoritma setiap waktu. Komputer tersebut bisa disebut dengan komputer serial. Rancangan algoritma yang dipakai bagi lingkungan tersebut adalah algoritma serial, terbalik dengan algoritma terdistribusi atau algoritma paralel. Algoritma paralel memakai arsitektur komputer yang dimana terdapat prosesor-prosesor bisa mengerjakan masalah di waktu yang sama. Sedangkan untuk algoritma terdistribusi memakai banyak mesin yang terkoneksi pada jaringan. Algoritma terdistribusi atau paralel akan membagi permasalahan ke banyak sub masalah simetris maupun asimetris dan mengumpulkan hasil yang diperoleh kembali. Konsumsi dari sumber pada algoritma tersebut tak hanya tersedia perputaran prosesor. Akan tetapi juga terdapat daya komunikasi antara prosesor. Algoritma pengurutan bisa diparalelkan secara efisien. Akan tetapi ada biaya komunikasi yang tergolong sangat mahal. Algoritma iteratif secara umum bisa kita paralelkan. AKan tetapi ada juga masalah yang tak ada di algoritma paralelnya disebut dengan permasalahan serial lahiriah.
4. Deterministik atau non-deterministik
Ada juga algoritma deterministik dan non deterministik. Algoritma deterministik bisa menyelesaikan masalah-masalah dengan keputusan tepat pada setiap langkah-langkah dari suatu algoritma. Algoritma non deterministik bisa menyelesaikan beberapa masalah lewat adanya penerkaan meskipun penerkaan tersebut pada umumnya lebih akurat dengan menggunakan heuristik.
5. Tepat atau prediksi.
Kalau terdapat banyak algoritma bisa sampai ke solusi yang tepat, terdapat juga algoritma prediksi yang mencari perkiraan terdekat dengan solusi yang sebenarnya. Perkiraan tersebut bisa menggunakan strategi deterministik atau acak. Algoritma yang seperti itu bisa memiliki nilai lebih untuk banyak permasalahan yang sulit.
6. Algoritma Quantum
Berjalan pada model realistik dari komputasi quantum. Istilah tersebut secara umum digunakan untuk algoritma yang pada dasarnya quantum atau menggunakan fitur-fitur penting dari komputasi kuantum seperti superposisi quantum atau belitan quantum.
1.1.3 Decision Tree
Decision tree adalah sebuah diagram alir yang berbentuk seperti struktur pohon yang mana setiap internal node menyatakan pengujian terhadap suatu atribut, setiap cabang menyatakan output dari pegujian tersebut dan leaf node menyatakan kelas–kelas atau distribusi kelas. Node yang paling atas disebut sebagai root node atau node akar. Sebuah root node akan memiliki beberapa edge keluar tetapi tidak memiliki edge masuk, internal node akan memiliki satu edge masuk dan beberapa edge keluar, sedangkan leaf node hanya akan memiliki satu edge masuk tanpa memiliki edge keluar. Decision tree digunakan untuk mengklasifikasikan suatu sampel data yang belum diketahui kelasnya ke dalam kelas–kelas yang sudah ada. Jalur pengujian data adalah pertama melalui root node dan terakhir adalah melalui leaf node yang akan menyimpulkan prediksi kelas bagi data tersebut. Atribut data harus berupa data kategorik, bila kontinu maka atribut harus didiskretisasi terlebih dahulu.
RUMUSAN MASALAH
Berdasarkan uraian pada latar belakang dapat dirumuskan permasalahannya yaitu bagaimana memahami konsep dan menerapkan salah satu algoritma klasifikasi yaitu decision tree.
BAB II
TINJAUAN PUSTAKA
KAJIAN DEDUKTIF
Asumsi Dalam Klasifikasi
Mengetahui Proses pembentukan Klasifikasi data mining
Secara sederhana ada 3 proses pemecahan masalah klasifikasi diantaranya:
Data historis atau data pengalaman
Data historis akan diproses menggunakan algoritma klasifikasi
Klassifikasi menghasilkan pengetahuan yang dipresentasikan dalam bentuk diagram pohon keputusan"decission tree"
Untuk memecahkan masalah klasifikasi data mining sedikitnya ada 6 algoritma klasifikasi data data mining diantaranya:
Algoritma CART (Classification and Regreesion Trees)
Algoritma mean vektor
Algoritma k-nearest neighbor
Algoritma ID3
Algoritma C4.5
Algoritma C5.0
Untuk mengevaluasi performansi sebuah model yang dibangun oleh algoritma klasifikasi, dapat dilakukan dengan menghitung jumlah dari testing record yang diprediksi secara benar (akurasi) dan salah (error rate) oleh model tersebut. Akurasi dan error rate didefinisikan sebagai berikut :
Model di klasifikasi dapat dikatakan baik untuk digunakan apabila mempunyai akurasi yang tinggi atau error rate yang rendah ketika model diterapkan pada testing set.
Klasifikasi Decision Tree
Konsep Decision Tree
Decision tree digunakan untuk mengklasifikasikan suatu sampel data yang belum diketahui kelasnya ke dalam kelas–kelas yang sudah ada. Jalur pengujian data adalah pertama melalui root node dan terakhir adalah melalui leaf node yang akan menyimpulkan prediksi kelas bagi data tersebut. Atribut data harus berupa data kategorik, bila kontinu maka atribut harus didiskretisasi terlebih dahulu.
Algoritma dalam Decision Tree
Ada banyak algoritma pada klasifikasi decision tree ini. Suatu algoritma biasanya dikembangkan untuk meningkatkan kinerja algoritma yang sudah ada. Penentuan algoritma yang terbaik dalam decision tree tentunya tidak bisa ditentukan secara mutlak tetapi sangat tergantung dengan karakteristik training set-nya. Beberapa algoritma decision tree yang cukup populer antara lain : ID3, C4.5, dan CART.
Konsep Data Dalam Decision Tree
Data dinyatakan dalam bentuk tabel dengan atribut dan record.
Atribut menyatakan suatu parameter yang dibuat sebagai kriteria dalam pembentukan tree. Misalkan untuk menentukan main tenis, kriteria yang diperhatikan adalah cuaca, angin dan temperatur. Salah satu atribut merupakan atribut yang menyatakan data solusi per-item data yang disebut dengan target atribut.
Atribut memiliki nilai-nilai yang dinamakan dengan instance. Misalkan atribut cuaca mempunyai instance berupa cerah, berawan dan hujan.
Customer Jumlah Beli Keadaan Barang Diskon
Cinta Banyak Tidak Cacat Tidak Diskon
Jojo Sedikit Cacat Diskon
Shinta Sedang Tidak Cacat Tidak Diskon
Lala Sedikit Cacat Diskon
Maya Banyak Cacat Diskon
Instance Label Kelas
Gambar 6. Contoh data untuk Decision Tree
Proses Dalam Decision Tree
a ) Proses Mengubah Data Menjadi Tree
Gambar 7. Mengubah Data Menjadi Tree
b ) Ukuran untuk Memilih Split Terbaik
Dalam membangun sebuah decision tree secara top-down (dari atas ke bawah), tahap awal yang dilakukan adalah mengevaluasi semua atribut yang ada menggunakan suatu ukuran statistik (yang banyak digunakan adalah information gain) untuk mengukur efektifitas suatu atribut dalam mengklasifikasikan suatu kumpulan sampel data. Atribut yang diletakkan pada root node adalah atribut yang memiliki information gain terbesar. Semua atribut adalah bersifat kategori yang bernilai diskrit. Atribut dengan nilai continuous harus didiskritkan (Zalilia, 2007). Terlebih dahulu kita harus mencari nilai informasi dari data yang merupakan nilai yang diperlukan untuk mengklasifikasikan keputusan akhir. Secara matematis dapat dirumuskan dengan:
c ) Entropy
Entropy (S) adalah jumlah bit yang diperkirakan dibutuhkan untuk dapat mengekstrak suatu kelas (+ atau -) dari sejumlah data acak pada ruang sample S.
Entropy bisa dikatakan sebagai kebutuhan bit untuk menyatakan suatu kelas. Semakin kecil nilai Entropy maka semakin baik untuk digunakan dalam mengekstraksi suatu kelas.
Entropi adalah suatu parameter untuk mengukur heterogenitas dari suatu data. Panjang kode untuk menyatakan informasi secara optimal adalah p2log bits untuk messages yang mempunyai probabilitas p.
Untuk menghitung information gain, terlebih dahulu kita harus memahami suatu ukuran lain yang disebut Entropy. Entropy biasa digunakan sebagai sautu parameter untuk mengukur heterogenitas (keberagaman) dari suatu kumpulan sampel data. Jika kumpulan sampel data semakin heterogen, maka semakin besar nilai entropy. Secara matematis, nilai entropy masing-masing instance dirumuskan sebagai berikut :
Keterangan :
S = ruang (data) sample yang digunakan untuk training.
P(+) = jumlah yang bersolusi positif (mendukung) pada data sample untuk kriteria tertentu.
P(-) = jumlah yang bersolusi negatif (tidak mendukung) pada data sample untuk kriteria tertentu.
Sedangkan untuk nilai entropy masing-masing atribut dirumuskan dengan:
Information Gain
Setelah mendapatkan nilai entropy untuk suatu kumpulan sampel data, maka dapat diukuer efektifitas suatu atribut dalam mengklasifikasikan data. Ukuran efektifitas ini disebut Information Gain. Secara matematis, information gain dari suatu atribut, dituliskan sebagai berikut:
Dengan kata lain, Gain (A) adalah reduksi yang diharapkan dalam entropy yang disebabkan oleh pengetahuan nilai pada atribut A. Algoritma menghitung information gain pada setiap atribut. Atribut dengan nilai gain terbesar dipilih sebagai tes atribut (simpul akar). Simpul A dibuat dan dilabelkan dengan atribut, cabang dibuat untuk setiap nilai atribut.
Klasifikasi pada umumnya digunakan untuk kasus-kasus pada kelas-kelas keputusan yang bernilai diskrit dengan keputusan seperti diterima = "ya" atau "tidak". Namun jika kita menemukan kasus yang mempunyai nilai keputusan kontinyu cara untuk menyelesaikannya adalah dengan mengubah nilai-nilai kontinyu menjadi nilai - nilai diskrit dengan cara mempartisi nilai kontinyu ke dalam interval-interval bernilai diskrit.
Tabel 1. Contoh Data penerimaan karyawan dengan atribut IPK bernilai kontinyu
Untuk menyelesaikannya kita misal atribut IPK kita ubah menjadi 3 nilai diskrit dengan membentuk interval "bagus"=[3,00-4,00], "cukup"=[2,75-3,00] lalu kembali dengan melanjutkan langkah-langkah selanjutnya.
Mengubah Tree Menjadi Rules
Tahap terakhir dalam algoritma decision tree adalah mengubah tree menjadi rules seperti pada gambar di bawah ini.
Gambar 8. Mengubah Tree Menjadi Rules
KAJIAN INDUKTIF
Supervised methods adalah metode yang berusaha untuk menemukan hubungan antara atribut input (variabel independen) dan atribut target / kelas (variabel dependen). Hubungan yang ditemukan diwakili dalam struktur yang disebut sebagai model. Biasanya model menggambarkan dan menjelaskan fenomena yang tersembunyi dalam dataset dan dapat digunakan untuk memprediksi nilai atribut target mengetahui nilai-nilai atribut masukan (Maimon, 2010).
Beberapa penelitian terkait decision tree learning diantaranya; penelitian yang dilakukan oleh Rong Cao dan Lizhen Xu menggunakan Algoritma C4.5 untuk menganalisa penjualan. Lee (2010) menggunakan algoritma ID3 untuk penentuan penerima beasiswa. Wibowo (2009) menggunakan algoritma ID3 untuk membantu dalam pengambilan keputusan pada penentuan MVP di sebuah pertandingan bola basket.
Salah satu jenis dari decision tree learning adalah algoritma ID3. Algoritma ID3 (Iterative Dichotomiser 3) merupakan algoritma decision tree learning (algoritma pembelajaran pohon keputusan) yang menggunakan strategi pencarian hill-climbing, yaitu dimulai dari pohon kosong, kemudian secara progresif berusaha menemukan sebuah pohon keputusan yang mengklasifikasikan sampel-sampel data secara akurat tanpa kesalahan. Pertumbuhan cabang-cabang pohon keputusan pada algoritma ID3 dilakukan sampai pohon tersebut mampu mengklasisifikasikan sampel data secara akurat dengan tingkat kebenaran 100 % sesuai dengan data latih (Suyanto, 2011). Adapun sample data yang digunakan oleh ID3 memiliki beberapa syarat menurut Setiawan (Setiawan, 2010), 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.
BAB III
METODE PENELITIAN
OBJEK PENELITIAN
METODE PENGUMPULAN DATA
Preprocessing Data
Tahap awal yang dilakukan sebelum proses klasifikasi adalah melakukan preprocessing data, terdapat beberapa langkah preprocessing data, yaitu :
Data Integrasi
Data Integrasi merupakan penggabungan data dari beberapa sumber. Dalam metode klasifikasi data integrase dilakukan dengan mengumpulkan beberapa data yang berasal dari beberapa departemen di sebuah perusahaan untuk mendapatkan satu database yang akan digunakan untuk pengolahan pada metode klasifikasi.
Data Cleaning
Data cleaning merupakan suatu pemrosesan terhadap data untuk menghilangkan noise dan penanganan terhadap missing value pada suatu record.
Data Diskretisasi
Data diskretisasi merupakan proses membuat kelas – kelas data (range) untuk parameter dalam melakukan transformasi untuk tahapan berikutnya.
Transformasi Data
Pada data dapat dilakukan generalisasi menjadi data dengan level yang lebih tinggi. Misalnya dengan melakukan diskretisasi terhadap atribut dengan nilai kontinyu. Pembelajaran terhadap data hasil generalisasi dapat mengurangi kompleksitas pembelajaran yang harus dilakukan karena ukuran data yang harus diproses lebih kecil.
Data Reduksi
Data reduksi merupakan proses mengurangi data atau variable yang tidak memiliki hubungan atau korelasi dengan tujuan penelitian. Dalam menggunakan metode klasifikasi, data reduksi dilakukan dengan melakukan uji independensi chi square untuk mengetahui ada tidaknya hubungan atribut dengan label kelas.
JENIS DATA
Konsep Data Dalam Decision Tree
Data dinyatakan dalam bentuk tabel dengan atribut dan record.
Atribut menyatakan suatu parameter yang dibuat sebagai kriteria dalam pembentukan tree. Misalkan untuk menentukan main tenis, kriteria yang diperhatikan adalah cuaca, angin dan temperatur. Salah satu atribut merupakan atribut yang menyatakan data solusi per-item data yang disebut dengan target atribut.
Atribut memiliki nilai-nilai yang dinamakan dengan instance. Misalkan atribut cuaca mempunyai instance berupa cerah, berawan dan hujan.
BAB IV
HASIL DAN PEMBAHASAN
IMPLEMENTASI
Install package – package yang dibutuhkan sesuai yang ada program
install.packages("party")
Jalankan juga library nya
library(party)
Gambar 1 (R Console)
# Print some records from data set readingSkills.
print(head(readingSkills))
# Create the input data frame.
input.dat <- readingSkills[c(1:105),]
# Give the chart file a name.
png(file = "decision_tree.png")
# Create the tree.
output.tree <- ctree(
nativeSpeaker ~ age + shoeSize + score,
data = input.dat)
Gambar 2 (R Console)
Script Program untuk menampilkan Grafik Emotion Categories (Gambar 6)
# Plot the tree.
plot(output.tree)
# Save the file.
dev.off()
Gambar 3 (R Graphics)
BAB V
KESIMPULAN DAN REKOMENDASI
5.1 KESIMPULAN
Penelitian menggunakan metode klasifikasi decision tree ini cukup efektif untuk mengklasifikasi data sesuai kebutuhan.
Dari pohon keputusan yang ditunjukkan di atas dapat kita simpulkan bahwa siapa saja yang nilai readingSkills kurang dari 38,3 dan usia lebih dari 6 bukanlah Pembicara asli / penutur asli ( bahasa itu ).
5.2 REKOMENDASI
Untuk perusahaan / instansi / komunitas yang ingin atau sedang mengklasifikasi kan data bisa menggunakan metode decision tree ini, karena untuk hasil cukup mudah dalam pengelompokkan data nya.
DAFTAR PUSTAKA
Lee, Michael. (2010). Perancangan Klasifikasi Penerimaan Beasiswa Menggunakan Algoritma ID3 (Iterative Dichtomizer Three). Salatiga: FTI UKSW.
Florin Gorunescu. 2011. Data Mining : Concept, Model and Techniques. Berlin : Springer.
https://www.researchgate.net/publication/315904431_DECISION_TREE_LEARNING_UNTUK_PENENTUAN_JALUR_KELULUSAN_MAHASISWA
https://www.scribd.com/document/339221215/Makala-Pohon-Keputusan
https://bigstonewlg.blogspot.co.id/2014/10/contoh-algoritma-klasifikasi-data-mining.html
https://www.researchgate.net/publication/267757302_Penerapan_Decision_Tree_untuk_Penentuan_Pola_Data_Penerimaan_Mahasiswa_Baru