Modul Mahasiswa Week 2 - Classification
Modul Mahasiswa Week 2 - Classification
PRAKTIKUM WEEK-2
CLASSIFICATION ANALYSIS
WITH PYTHON
Social Computing & Big Data Analytics Laboratory Faculty of Economics & Business, Telkom University
2022
Matakuliah Big Data & Data Analytics - 2022
MODUL 2 : CLASSIFICATION ANALYSIS WITH PYTHON ............................................................................. 2
TUJUAN PRAKTIKUM 2..................................................................................................................................... 2
1. TIPE DATA YANG HARUS DIKETAHUI DALAM PEMROGRAMAN ................................................... 2
2. KLASIFIKASI ................................................................................................................................................. 2
3. TRAIN DATA DAN TEST DATA ................................................................................................................. 3
PRAKTIKUM KLASIFIKASI DENGAN MODEL DECISION TREE ................................................................... 4
A. Membuat Model Decision Tree ........................................................................................................................ 6
B. Evaluasi Model Decision Tree ......................................................................................................................... 7
PRAKTIKUM KLASIFIKASI DENGAN MODEL K-NEAREST NEIGHBOR..................................................... 8
A. Membuat model KNN ...................................................................................................................................... 8
B. Evaluasi model KNN........................................................................................................................................ 9
PRAKTIKUM KLASIFIKASI DENGAN MODEL NAÏVE BAIYES................................................................... 12
A. Membuat model Naïve Bayes ........................................................................................................................ 12
B. Evaluasi model Naïve Bayes .......................................................................................................................... 12
EVALUASI PERFORMA MODEL ........................................................................................................................ 14
Membandingkan ROC Curve masing-masing model .......................................................................................... 14
TUGAS .................................................................................................................................................................... 15
1
Matakuliah Big Data & Data Analytics - 2022
TUJUAN PRAKTIKUM 2
Pada praktikum ke 2 Mata Kuliah Big Data dan Data Analytics, kita akan menggunakan Google
Collaboration (online browser-based platform) dan bahasa pemrograman Python untuk praktek
mengenai Klasifikasi. (Decision tree, KNN, dan Naïve Bayes).
2. KLASIFIKASI
Klasifikasi adalah proses untuk menempatkan suatu objek ke dalam suatu kategori/kelas yang sudah
didefinisikan sebelumnya berdasarkan model tertentu. Klasifikasi dalam Data Miningadalah satu fungsi
yang berguna untuk mengelompokkan item-item di suatu dataset ke dalam beberapa kategori atau
target. Pengklasifikasian dapat digunakan untuk memprediksi suatu item di dataset masuk ke dalam
target kelas yang mana berdasarkan nilai atribut-atribut yang dimilikinya.
2
Matakuliah Big Data & Data Analytics - 2022
Model klasifikasi yang akan digunakan pada praktikum kali ini yaitu:
1. Decision Tree
2. K-Nearest Neighbor Classifier
3. Naïve Bayes
3
Matakuliah Big Data & Data Analytics - 2022
3. Ambil dan open dataset yang berisi Tabel credit_data (credit_data.csv). Cara untuk mengambil
data adalah mount drive terlebih dahulu.
4. Memuat dataset yang akan digunakan menggunakan library pandas dengan function read_csv
(karena file kita extensionnya csv)
8. Import module
9. Merubah data menjadi data kategorik. Encoding merupakan proses konversi informasi dari suatu
sumber (objek) menjadi data. OneHotEncoder digunakan ketika fiturnya nominal (tidak memiliki
urutan apapun), fitur kategorikal akan membuat variabel baru. Setiap kategori dipetakan dengan
variabel biner yang berisi 0 atau 1
5
Matakuliah Big Data & Data Analytics - 2022
11. Split data menjadi data training dan data testing, dalam praktikum kali ini proporsi Train Data dan
Test Data adalah 70:30. Setelah itu menampilkan data training dan testing
6
Matakuliah Big Data & Data Analytics - 2022
5. Import package visualisasi dan melihat visualisasi kurva ROC (Receiver Operating
Characteristic). ROC yaitu untuk mengukur kinerja algoritma.
Diskusi: Interpretasikan hasil model Decision Tree Anda dengan singkat dan padat
7
Matakuliah Big Data & Data Analytics - 2022
Pada tahapan kali ini untuk membuat prediksi KNN menggunakan Scikit-Learn. Tidak ada
patokan nilai ideal untuk k, namun pada perhitungan kali ini menggunakan k=50
Hasil array didapatkan dengan memprediksi data feature test sebanyak 180 data testing. Data –
data tersebut dikonversi menjadi biner 0 dan 1
8
Matakuliah Big Data & Data Analytics - 2022
Membuat model evaluasi dengan Confusion Matrix. CF dapat menunjukkan data berdasarkan
dimensinya seperti gambar dibawah ini
Scikit-plot adalah paket python yang dapat membantu memvisualisasikan data, model. Scikit-
plot adalah upaya sederhana untuk memberikan kesempatan untuk menghasilkan grafik dan plot
yang cepat dan indah dengan boilerplate sesedikit mungkin. Hasil dari code di atas sebagai
berikut:
9
Matakuliah Big Data & Data Analytics - 2022
● Precision merupakan rasio prediksi benar positif dibandingkan dengan keseluruhan hasil yang
diprediksi positif. Menunjukkan berapa persen orang yang mendapatkan pinjaman dari total
keseluruhan orang yang mendapatkan pinjaman.
Precision = (TP) / (TP+FP)
● Recall merupakan rasio prediksi benar positif dibandingkan dengan keseluruhan data yang
benar positif.
Recall = (TP) / (TP + FN)
● Cohen's Kappa Score Fungsi ini menghitung kappa Cohen, skor yang menyatakan tingkat
kesepakatan antara dua annotator pada masalah klasifikasi.
10
Matakuliah Big Data & Data Analytics - 2022
Semakin tinggi True Positive Rate dan semakin kecil False Positive Rate maka thresholdnya
semakin bagus.
Diskusi: Interpretasikan hasil model KNN Anda dengan singkat dan padat
11
Matakuliah Big Data & Data Analytics - 2022
Scikit plot digunakan untuk menampilkan confusion matrix. Pada confusion matrix memiliki 2
variabel, true class dan predicted class. Dimana “true class merepresentasikan hasil kenyataan dari
dataset” sedangkan “predicted class merepresentasikan hasil prediksi model naive bayes”.
12
Matakuliah Big Data & Data Analytics - 2022
3. Import package visualisasi dan melihat visualisasi kurva ROC (Receiver Operating
Characteristic). ROC yaitu untuk mengukur kinerja algoritma
Diskusi: Interpretasikan hasil model Naïve Bayes Anda dengan singkat dan padat
13
Matakuliah Big Data & Data Analytics - 2022
Analisis Hasil:
1. Dari 3 model yang telah dibuat diatas, mana model yang paling baik? Jelaskan!
2. Selain analisis data kredit, masalah bisnis apa saja yang dapat diselesaikan dengan metode
Machine Learning Klasifikasi?
14
TUGAS
1. Silahkan buat kelompok beranggotakan 3-4 orang.
2. Gunakan data yang sudah tersedia pada folder dropbox yang akan dibagikan. Kelompok
ganjil memakai dataset credit_1 dan kelompok genap memakai dataset credit_2
3. Pengumpulan maksimal 2 hari sebelum pelajaran Big Data minggu berikutnya.
4. Kelompok tercepat akan mendapat poin tambahan
5. Dilarang copy paste hasil pekerjaan kelompok lain
6. Tugas dikumpulkan melalui dropbox asisten lab masing-masing dengan format zip rar
(kumpulkan script.ipynb dan presentasi format pptx/ppsx/ pdf) dengan subjek file:
Kelas_Nama Anggota 1_ anggota 2_Pertemuan2
Deskripsi Tugas
Berdasarkan data yang telah diolah, Buat analisis model klasifikasi (Decision tree, K-NN, Naïve
bayes)
a. Pada Decision Tree: ceritakanlah hasilnya
b. Tunjukan Akurasi dari masing masing model klasifikasi
c. Bandingkan mana yang lebih baik, dengan menggunakan komparasi dengan memperlihatkan
gambar kurva ROC
Format Tugas
1. Creative Presentation
2. File Notebook Python (.ipynb)
a. Analisis Model (50%)
b. Kerapihan dalam menulis kode (30%)
c. Desain dan waktu pengumpulan tugas (20%)
15