Anda di halaman 1dari 15

TUGAS BESAR SISTEM CERDAS PROJECT TEAM BASED CLO 3 LEARNING:

SELEKSI MODEL, DECISION TREE, KNN, NAÏVE BAYES

MK – SISTEM CERDAS

Salinan Pernyataan :

Tim Kami mengerjakan tugas ini dengan cara yang tidak melanggar aturan perkuliahan dan kode etik akademisi. Jika
melakukan plagiarism atau jenis pelanggaran lainnya, maka Tim kami bersedia diberi nilai E untuk Mata Kuliah ini

Nama Kontribusi
Nadya Putri Sinulingga (1303213056) Membantu program dan evaluasi hasil
Adinda Dwi Maharani (1303213084) Membantu program dan pemilihan metode
Devana Setyawati (1303210133) Membantu program dan presentasi
DAFTAR ISI

DAFTAR ISI .............................................................................................................................. 2


BAB I : PENDAHULUAN ........................................................................................................ 3
1.1 Latar Belakang ............................................................................................................ 3
1.2 Pemilihan Metode Learning ........................................................................................ 3
1.3 Isi Data ........................................................................................................................ 3
1.4 Penyelidikan Kualitas Data dan Pendekatan Pra-Pemrosesan Data............................ 4
BAB 2 : DASAR TEORI ........................................................................................................... 6
2.1 Decision Tree (DT) ..................................................................................................... 6
a. Definisi ........................................................................................................................ 6
b. Cara Kerja ................................................................................................................... 6
c. Implementasi ............................................................................................................... 7
d. Output yang diharapkan .............................................................................................. 7
e. Analisis Pemilihan Hyperparameter............................................................................ 7
f. Flowchart ..................................................................................................................... 7
g. Output yang dihasilkan................................................................................................ 8
2.2 K-Nearest Neighborsd (KNN) .................................................................................... 8
a. Definisi ........................................................................................................................ 8
b. Cara Kerja ................................................................................................................... 8
c. Implementasi ............................................................................................................... 9
d. Output yang diharapkan .............................................................................................. 9
e. Analisis Pemilihan Hyperparameter............................................................................ 9
f. Flowchart ..................................................................................................................... 9
g. Output yang dihasilkan.............................................................................................. 10
BAB III : EVALUASI HASIL DAN DISKUSI ....................................................................... 11
3.1 Hasil dan Pengukuran Performansi ................................................................................ 11
3.2 Pengukuran Performansi ................................................................................................ 11
3.3 Evaluasi dan Analisis ..................................................................................................... 11
BAB IV : KESIMPULAN DAN SARAN ............................................................................... 13
BAB V : DAFTAR PUSTAKA ................................................................................................ 15
BAB I : PENDAHULUAN

1.1 Latar Belakang

Terdapat dataset Arrhytmia yang berisi kasus detak jantung manusia yang tidak normal atau
bisa disebut dengan arrhymtia. Dataset tersebut mempresentasikan data yang memiliki 452
instance dengan 279 fitur dan 1 label kelas. Dengan mencakup fitur-fitur berbagai atribut
seperti durasi QRS, interval RR, lebar QRS, dan banyak lagi. Dengan mencakup 16 jenis
aritmia yang berbeda. Dataset ini disediakan oleh UCI Machine Learning Repository. Aritmia
adalah kondisi medis dimana detak jantung yang tidak teratur, terlalu cepat, atau terlalu lambat.
Dataset ini digunakan untuk membantu dokter spesialis jantung dalam menganalisa dan
memprediksi jenis aritmia berdasarkan atribut klinis. Dari data tersebut digunakan metode
pembelajaran Decision Tree (DT) dan K-Nearest Neighbors (KNN).

1.2 Pemilihan Metode Learning

Dalam menentukan metode pembelajaran untuk studi kasus ini, terdapat beberapa hal yang
perlu diidentifikasi yaitu karakteristik dataset, tujuan analisis, dan kemampuan model dalam
menyelesaikan studi kasus klasifikasi aritmia. Setelah mengidentifikasi metode berdasarkan
faktor-faktor tersebut, penulis menyimpulkan metode pembelajaran Decision Tree (DT) dan K-
Nearest Neighbors (KNN) merupakan metode pembelajaran yang sesuai dalam studi kasus ini.

Penggunaan Decision Tree (DT) dan K-Nearest Neighbors (KNN) berdasarkan prinsip
kerja yang dimiliki oleh kedua metode ini. Decision Tree (DT) cocok digunakan dalam meng-
intrepretasi aturan keputusan penting. Sedangkan, K-Nearest Neighbors (KNN) memiliki
prinsip kerja untuk mencari jarak terdekat antara data yang akan dievaluasi dengan k tetangga
dalam data pelatihan, oleh karena itu KNN menjadi pilihan yang baik jika tidak ada asumsi
distribusi data dan pola yang kompleks. Dalam prakteknya, direkomendasikan untuk
menggunakan kedua metode dan membandingkan performanya dalam hal matriks evaluasi
seperti akurasi, presisi, recall, dan F1-score.

1.3 Isi Data

Dataset Arrhytmia terdiri dari 452 sampel pasien yang masing-masing memiliki 279 atribut
numerik dan satu kolom target yang mencakup 16 kelas berbeda yang mewakili jenis-jenis
aritmia. Atribut tersebut mencakup informasi seperti QRS, interval RR, lebar QRS, dan banyak
lagi. Kolom target mendefinisikan jenis aritmia yang didiagnosis oleh pasien.
1.4 Penyelidikan Kualitas Data dan Pendekatan Pra-Pemrosesan Data

Penulis telah melakukan penyelidikan kualitas data dan menerapkan pendekatan pra-
pemrosesan untuk mengatasi masalah dalam menerapkan metode pembelajaran. Beberapa poin
penting yang diidentifikasi dalam penyelidikan kualitas data dan informasi pilihan pendekatan
data pra-pemrosesan data adalah :

1. Data Hilang : dataset ini mengandung nilai yang hilang yang dipresentasikan sebagai
‘?’ dalam dataset. Untuk mengatasi masalah ini, nilai yang hilang diganti dengan nilai
NaN (Not a Number) menggunakn fungsi replace().
2. Pengisian Data Hilang : setelah mengganti nilai yang hilang dengan NaN, digunakan
Simplelmputer dengan strategi ‘median’ untuk mengisi nilai yang hilang dengan nilai
yang paling sering muncul dalam setiap kolom. Hal ini dilakukan agar data yang
digunakan untuk pembelajaran model tidak mengandung nilai yang hilang.
3. Data Kategorikal : Dataset ini terdiri dari atribut numerik, sehingga tidak ada masalah
khusus yang berkaitan dengan kategorikal. Namun, jika ada atribut kategorikal maka
pendekatan tambahan seperti encode one-hot atau encode label mungkin diperlukan.

Beberapa plot/diagram yang dapat mewakili kumpulan data ini adalah sebagai berikut :

1. Histogram : Histogram dapat digunakan untuk melakukan analisis distribusi atribut


numerik dalam dataset, seperti penggunaan plot histogram dalam melihat banyaknya
value kosong pada nilai j.

gambar 1 Plot histogram


2. Diagram Pie : Diagram pie sering digunakan untuk menggambarkan komposisi atau
perbandingan antara bagian-bagian dari keseluruhan. Contohnya diagram pie yang
menunjukan banyak kelas pada dataset.

gambar 2 Diagram Pie


BAB 2 : DASAR TEORI

2.1 Decision Tree (DT)

a. Definisi

Decision Tree (DT) adalah salah satu algoritma pembelajaran mesin yang digunakan
untuk tugas klasifikasi dan regresi. Algoritma ini membangun model prediksi dalam
membentuk struktur pohon, di mana setiap simpul dalam pohon mewakili keputusan
berdasarkan fitur-fitur yang ada.

b. Cara Kerja

1. Memilih fitur : Decision Tree memilih fitur dari dataset yang paling informatif
untuk membagi data menjadi subset yang lebih kecil. Tujuan utamanya adalah
memilih fitur yang dapat memaksimalkan perbedaan antara kelas target yang
berbeda dalam subset tersebut. Ada beberapa metrik yang digunakan untuk memilih
fitur terbaik, seperti Information Gain, Gini Index, atau Chi-Squared.
2. Membagi Data : Setelah fitur terbaik dipilih, data dalam subset saat ini dibagi
berdasarkan nilai fitur tersebut. Setiap cabang di pohon keputusan mewakili
kemungkinan nilai fitur yang berbeda. Misalnya, jika fitur yang dipilih adalah
"umur" dengan nilai "muda" dan "tua", maka akan ada dua cabang yang terbentuk
di pohon keputusan.
3. Membangun Pohon : Langkah-langkah 1 dan 2 diulang secara rekursif untuk setiap
cabang baru yang terbentuk. Fitur terbaik berikutnya dipilih untuk setiap cabang
baru, dan data dipecah kembali berdasarkan fitur tersebut. Proses ini berlanjut
hingga kondisi berhenti tercapai, seperti mencapai tingkat maksimum kedalaman
pohon atau tidak ada lagi fitur yang tersedia untuk membagi data.
4. Menentukan Label: Setelah pohon keputusan dibangun, label (kelas target)
ditentukan untuk setiap daun (leaf) di pohon. Ini dilakukan dengan menghitung
frekuensi kelas target pada data pelatihan yang masuk ke setiap daun. Kelas
mayoritas pada setiap daun diberikan sebagai label untuk daun tersebut.
5. Prediksi: Untuk mengklasifikasikan atau melakukan regresi pada data baru,
Decision Tree melacak data melalui pohon berdasarkan fitur-fitur yang ada pada
data tersebut. Data akhirnya sampai pada salah satu daun di pohon, dan label pada
daun tersebut digunakan sebagai prediksi untuk data tersebut.
c. Implementasi

Implementasi algoritma Decision Tree dapat dilakukan dengan menggunakan algoritma


library scikit-learn di Pytho. Langkah-langkahnya adalah sebagai berikut :

1. Mengimpor DecisionTreeClassifier dari sklearn.tree.


2. Membuat objek DecisionTreeClassifier.
3. Melatih model pada data training menggunakan metode fit().
4. Menggunaan model yang dilatih untuk membuat prediksi pada data testing
menggunakan metode predict().

d. Output yang diharapkan

Hasil penggunaan algoritma Decision Tree diharapkan adalah model prediksi dalam
bentuk pohon keputusan yang dapat digunakan untuk membuat prediksi pada data baru.
Selain itu, hasilnya juga mencakup metrik evaluasi seperti akurasi yang menunjukkan
seberapa baik model dapat memprediksi label kelas dengan benar.

e. Analisis Pemilihan Hyperparameter

Beberapa hyperparameter yang dapat divariasikan dalam algoritma Decision Tree


antara lain:

• Criterion: Kriteria untuk mengukur kualitas split. Misalnya, 'gini' untuk Gini
Index atau 'entropy' untuk Entropy.
• Max_depth: Maksimum kedalaman pohon keputusan. Mengatur parameter ini
dapat menghindari overfitting atau underfitting.
• Min_samples_split: Jumlah minimum sampel yang diperlukan untuk
melakukan split pada node internal.
• Min_samples_leaf: Jumlah minimum sampel yang diperlukan pada daun akhir
dari pohon.

f. Flowchart

1. Input : Data training dan data testing


2. Proses : Membangun pohon keputusan dengan memilih atribut terbaik dan
membagi data menjadi subset yang lebih homogen.
3. Output : Model pohon keputusan yang dilatih dan dapat digunakan untuk prediksi
data baru
g. Output yang dihasilkan

Output yang dihasilkan yaitu 2 kelas, dengan tingkat akurasinya 0.7472527472527473

gambar 3 Akurasi dan laporan klasifikasi yang menunjukan performa model dalam memprediski label kelas

2.2 K-Nearest Neighborsd (KNN)

a. Definisi

KNN (K-Nearest Neighbors) adalah salah satu algoritma pembelajaran mesin yang
digunakan untuk tugas klasifikasi dan regresi. Algoritma ini bekerja dengan cara mencari
K titik data terdekat (tetangga terdekat) dari data baru yang akan diprediksi, dan
menggunakan mayoritas label tetangga terdekat untuk mengklasifikasikan atau
memprediksi data baru tersebut.

b. Cara Kerja

1. Pemilihan K: KNN memulai dengan memilih nilai K, yang merupakan jumlah


tetangga terdekat yang akan digunakan untuk memprediksi kelas atau nilai target
data baru. Nilai K ini harus ditentukan sebelumnya dan dapat mempengaruhi
performa prediksi.
2. Menghitung Jarak: Setelah K ditentukan, KNN menghitung jarak antara data baru
yang akan diprediksi dengan setiap titik data dalam dataset pelatihan. Jarak ini bisa
dihitung menggunakan metrik seperti Euclidean distance, Manhattan distance, atau
metrik jarak lainnya tergantung pada jenis data yang digunakan.
3. Menentukan Tetangga Terdekat: KNN memilih K titik data dengan jarak terdekat
dari data baru sebagai tetangga terdekat. Misalnya, jika K = 5, maka KNN akan
memilih 5 titik data terdekat yang memiliki jarak paling dekat dengan data baru.
4. Menentukan Label: Setelah tetangga terdekat ditentukan, KNN menggunakan
Menentukan Tetangga Terdekat: KNN memilih K titik data dengan jarak terdekat
dari data baru sebagai tetangga terdekat. Misalnya, jika K = 5, maka KNN akan
memilih 5 titik data terdekat yang memiliki jarak paling dekat dengan data baru.

c. Implementasi

Implementasi algoritma K-Nearest Neighbors dapat dilakukan dengan menggunakan


library scikit-learn di Python. Langkah-langkahnya adalah:

1. Mengimpor KNeighborsClassifier dari sklearn.neighbors.


2. Membuat objek KNeighborsClassifier dengan nilai k yang ditentukan.
3. Melatih model pada data training menggunakan metode fit().
4. Menggunakan model yang dilatih untuk membuat prediksi pada data testing
menggunakan metode predict()

d. Output yang diharapkan

Hasil penggunaan algoritma K-Nearest Neighbors diharapkan adalah model prediksi yang
dapat digunakan untuk membuat prediksi pada data baru. Selain itu, hasilnya juga mencakup
metrik evaluasi seperti akurasi yang menunjukkan seberapa baik model dapat memprediksi
label kelas dengan benar.

e. Analisis Pemilihan Hyperparameter

Beberapa hyperparameter yang dapat divariasikan dalam algoritma K-Nearest Neighbors


antara lain:

• n_neighbors: Jumlah tetangga terdekat yang akan digunakan dalam proses prediksi.
Menentukan Label: Setelah tetangga terdekat ditentukan, KNN menggunakan.
• weights: Metode penentuan bobot pada tetangga terdekat. Misalnya, 'uniform' untuk
memberikan bobot yang sama pada setiap tetangga atau 'distance' untuk
memberikan bobot berdasarkan jarak.
• algorithm: Algoritma yang digunakan untuk mencari tetangga terdekat. Misalnya,
'brute' untuk brute-force search atau 'kd_tree' untuk KD tree.
• p: Parameter untuk metode pengukuran jarak. Misalnya, p=1 untuk menggunakan
Manhattan distance atau p=2 untuk menggunakan Euclidean distance.

f. Flowchart

1. Input : Data training dan data testing.


2. Proses : Mencari k tetangga terdekat dari data baru berdasarkan jarak dalam ruang
fitur
3. Output : Model K-Nearest Neighbors yang dilatih dan dapat digunakan untuk
membuat prediksi pada data baru.

g. Output yang dihasilkan

gambar 4 menunjukan hasil model KNN


BAB III : EVALUASI HASIL DAN DISKUSI

3.1 Hasil dan Pengukuran Performansi

1. Algoritma Decision Tree (DT)


• Hasil Akurasi: 0.7472527472527473
• Laporan klasifikasi : menyajikan matrik evaluasi seperti precision, recall dan
f1-score pada setiap kelas.
2. Algoritma K-Nearest Neighbors (KNN)
• Hasil Akurasi : 0.8005540166204986
• Laporan klasifikasi : menyajikan matrik evaluasi precision, recall, f1-score dan
support.

3.2 Pengukuran Performansi

1. Akurasi : Mengukur sejauh mana model dapat memprediksi label kelas dengan benar.
Lebih tinggi nilai akurasi, lebih baik performansi model.
2. Precision: Mengukur sejauh mana prediksi positif yang benar. Precision yang tinggi
menunjukkan sedikitnya false positive.
3. Recall (Sensitivity): Mengukur sejauh mana kelas positif yang terdeteksi dengan benar.
Recall yang tinggi menunjukkan sedikitnya false negative.
4. F1-Score: Mengukur rata-rata harmonik antara precision dan recall. F1-score yang
tinggi menunjukkan keseimbangan yang baik antara precision dan recall.

3.3 Evaluasi dan Analisis

Dari hasil yang diperoleh, dapat dilihat bahwa algoritma K-Nearest Neighbors memiliki
akurasi yang lebih tinggi dibandingkan dengan algoritma Decision Tree Hal ini menunjukkan
bahwa K-Nearest Neighbors memberikan performansi yang lebih baik dalam memprediksi
label kelas.

Melihat hasil Classification Report dari algoritma Decision Tree, dapat dilihat bahwa
performansi untuk masing-masing kelas memiliki variasi. Beberapa kelas memiliki precision
dan recall yang tinggi, sedangkan kelas lain memiliki nilai yang lebih rendah. Hal ini
menunjukkan bahwa model K-Nearest Neighbors lebih baik dalam memprediksi beberapa
kelas daripada yang lain.
Dalam hal algoritma K-Nearest Neighbors, menggunakan variasi nilai k dalam k-fold cross-
validation menghasilkan rata-rata akurasi sebesar (0.8005540166204986).
BAB IV : KESIMPULAN DAN SARAN

4.1 Kesimpulan

Berdasarkan hasil penelitian yang telah dilakukan pedulis dengan membandingkan metode
pembelajaran Decision Tree (DT) dan K-Nearest Neighbors (KNN) menggunakan dataset
arrhytmia. Hasil evaluasi menunjukan bahwa algoritma K-Nearest Neighbors. memberikan
akurasi yang lebih tinggi dibandingkan dengan algoritma Decision Tree. Meskipun demikian,
hasil akurasi pada penelitian ini bisa bervariasi tergantung pada dataset yang digunakan dan
pengaturan hyperparameter yang dipilih.

Berdasarkan hasil analisis penulis, algoritma Decision Tree mampu memprediksi beberapa
kelas dengan cukup baik, namun performansinya bervariasi untuk kelas yang lain. Hal ini
menunjukan adanya potensi untuk meningkatkan performansi model dengan pengaturan
hyperparameter yang lebih baik atau menggunakan algoritma ensemble seperti random forest.

Sedangkan, algoritma K-Nearest Neighbor pemilihan nilai k yang lebih optimal untuk
menghasilkan performansi yang lebih baik. Dalam penelitian ini, kami menggunakan variasi
nilai k dalam k-fold cross-validation untuk mengvaluasi performansi. Oleh karena itu K-
Nearest Neighbor lebih unggul dalam pengunaannya.

4.2 Saran

Berdasarkan hasil penelitian yang telah dilakukan penulis terdapat beberapa saran yang
bisa dilakukan untuk meningkatkan performa penggunaan metode pembelajaran yaitu pada
metode pembelajaran Decision Tree, disarankan untuk melakukan penyetelan hyperparameter
yang lebih baik. Sedangkan pada metode pembelajaran K-Nearest Neighbors disarankan untuk
menemukan nilai k yang lebih baik dan optimal untuk meningkatkan performansi.

4.3 Lampiran
- Slide Presentasi :
https://www.canva.com/design/DAFk31OkAeE/NcUQkCnNzQqNvruCT8zlZw/edit?
utm_content=DAFk31OkAeE&utm_campaign=designshare&utm_medium=link2&ut
m_source=sharebutton
- Video Presentasi :
https://drive.google.com/drive/folders/10O6yRJ4wZn0g9CI889WnYqTdP_hK-
9rh?usp=sharing
- Google Collab :
https://colab.research.google.com/drive/1Z8wGuAljVGYrXBftUtSLZ_ayY-cvr-
I_?usp=sharing
BAB V : DAFTAR PUSTAKA

[1] Video youtube – Dr Edwin Budi Setiawan (Exploratory Data Analysis (EDA)) :
https://youtu.be/E3n1h9sNAJ0
[2] X. Wu et al., Top 10 algorithms in data mining, vol.14, no. 1. 2008.
[3] Breiman, L., Friedman, J., Olshen, R., & Stone, C. (1984). Classification and regression
trees. CRC press.
[4] Alpaydin, E. (2010). Introduction to machine learning (2nd ed.). MIT Press. (Chapter 5:
k-Nearest Neighbors)
[5] Video youtube – Normalized Nerd (Decision Tree Classification in Python (from
scratch!)) : https://youtu.be/sgQAhG5Q7iY

Anda mungkin juga menyukai