0% menganggap dokumen ini bermanfaat (0 suara)
161 tayangan

Modul Mahasiswa Week 2 - Classification

Kita akan mencoba beberapa nilai k dan melihat hasilnya. Misalnya k=3, 5, 7. Selanjutnya kita membuat model KNN dengan k=3 Kemudian kita dapat melihat prediksi model KNN dengan k=3 terhadap data testing. 8 Matakuliah Big Data & Data Analytics - 2022 B. Evaluasi model KNN 1. Confusion Matrix dengan k=3 2. Mencoba nilai k yang berbeda, misalnya k=5 3
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
161 tayangan

Modul Mahasiswa Week 2 - Classification

Kita akan mencoba beberapa nilai k dan melihat hasilnya. Misalnya k=3, 5, 7. Selanjutnya kita membuat model KNN dengan k=3 Kemudian kita dapat melihat prediksi model KNN dengan k=3 terhadap data testing. 8 Matakuliah Big Data & Data Analytics - 2022 B. Evaluasi model KNN 1. Confusion Matrix dengan k=3 2. Mencoba nilai k yang berbeda, misalnya k=5 3
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 16

(MODUL 2)

PRAKTIKUM WEEK-2
CLASSIFICATION ANALYSIS
WITH PYTHON

Big Data & Data Analytics

Updated Modul: 10 October 2022


By Team Teaching SCBD Laboratory 2022
(Rr Asmarani Rahmadina Ayuvinda, Siska Putri Denanti)
Chief of SCBD laboratory: Dr. Andry Alamsyah
Coordinator of Laboratory : Tri Widarmanti S.MB., MM

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

MODUL 2 : CLASSIFICATION ANALYSIS WITH PYTHON

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).

1. TIPE DATA YANG HARUS DIKETAHUI DALAM PEMROGRAMAN


Tipe Data Contoh Penjelasan
Boolean True atau False Menyatakan benar True yang bernilai 1,
atau salah False yang bernilai 0
String "Ini adalah kelas Big Data Teks yang merupakan gabungan huruf,
2021" angka, whitespace (spasi), dan berbagai
karakter
Integer -9,-100,98,1880, 4 Menyatakan bilangan bulat
Float 2.09, 3.33, -100.76 Menyatakan bilangan yang mempunyai
koma
List ['a,b,c', 123] Berurutan dan juga changeable ( bisa
diubah)
Tuple ('a, b, c'), 123) Berurutan dan juga unchangeable (tak
bisa diubah)
Dictionary {'kota': 'bandung', 'id':003} Setiap anggotanya tersusun atasdua
atribut yaitu key dan value.

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. TRAIN DATA DAN TEST DATA


Sebelum masuk ke modelling data dan analisis, dataset perlu dibagi menjadi 2 kategori:
1. Train Data digunakan untuk melatih algoritma. Proporsi lebih banyak daripada Test Data.
Semakin banyak data yang di training, kelak semakin bagus juga model yang dihasilkan.
2. Test Data dipakai untuk mengetahui performa algoritma yang sudah dilatih sebelumnya ketika
menemukan data baru yang belum pernah dilihat sebelumnya.

3
Matakuliah Big Data & Data Analytics - 2022

PRAKTIKUM KLASIFIKASI DENGAN MODEL DECISION


TREE
Praktikum kali ini akan menggunakan tools Google Colab. Google Colab adalah coding environment
bahasa pemrograman Python dengan format "notebook" yang bisa berbasis cloud dan gratis. Dataset yang
digunakan adalah riwayat kredit nasabah bank. Pada praktikum kali ini akan melakukan pengklasifikasian
dan memprediksi apakah riwayat kredit nasabah tergolong risiko tinggi (bad) dan rendah (good). Selain
itu, di akhir praktikum akan ada evaluasi model yang membandingkan 3 performa model yang dibuat.
1. Install library

2. Import library python yang akan digunakan

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)

5. Melihat informasi descriptive statistics


4
Matakuliah Big Data & Data Analytics - 2022

6. Menampilkan visualisasi dataset

7. Mencari dan menangani missing values (tahap preprocessing)

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

10. Memilih feature & target

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

A. Membuat Model Decision Tree


1. Import library yang akan digunakan untuk modelling

2. Modelling Decision Tree dan Predict Data

3. Menampilkan Visualisasi Decision Tree

6
Matakuliah Big Data & Data Analytics - 2022

B. Evaluasi Model Decision Tree


1. Confusion Matrix

2. !pip untuk install library ke runtime python nya

3. Import scikit plot untuk menampilkan visualisasi confusion matrix

4. Melihat nilai akurasi

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

PRAKTIKUM KLASIFIKASI DENGAN MODEL K-NEAREST


NEIGHBOR
KNN adalah algoritma yang berfungsi untuk melakukan klasifikasi suatu data berdasarkan data
pembelajaran (train data sets), yang diambil dari k tetangga terdekatnya (nearest neighbors). Dengan
k merupakan banyaknya tetangga terdekat.

A. Membuat model KNN


Selanjutnya kita akan membuat model KNN ini dimulai dari import modul menggunakan
KNeighborsClassifier

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

B. Evaluasi model KNN

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

Code diatas akan menghasilkan nilai :


● Accuracy menunjukkan berapa persen orang yang benar diprediksi mendapat pinjaman dan
tidak mendapatkan pinjaman dari total keseluruhan orang yang mengajukan pinjaman
Akurasi = (TP + TN ) / (TP+FP+FN+TN)

● 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)

● F1-Score merupakan perbandingan rata-rata presisi dan recall yang dibobotkan.


F1-Score = 2 * (Recall*Precission) / (Recall + Precision)

● 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

PRAKTIKUM KLASIFIKASI DENGAN MODEL NAÏVE


BAIYES
Pengklasifikasian Naïve Bayes adalah keluarga dari klasifikasi probabilistik sederhana yang
berdasarkan pada penerapan teorema Bayes dengan asumsi independensi yang kuat antara fitur.
Dengan Naive Bayes adalah teknik sederhana untuk membangun klasifikasi dengan model yang
menetapkan label kelas ke contoh masalah, direpresentasikan sebagai vektor nilai fitur, di mana
label kelas diambil dari beberapa himpunan hingga. Klasifikasi ini bertujuan untuk memecahkan
masalah klasifikasi pada kelas tertentu. Dimana pola tersebut dapat digunakan untuk
memperkirakan nasabah yang risiko kredit tinggi. Prediksi ini digunakan untuk membantu dalam
memprediksi apakah seseorang memiliki risiko kredit yang baik (tinggi) atau tidak (rendah).

A. Membuat model Naïve Bayes


Selanjutnya kita akan membuat model naive bayes ini dimulai dari import modul menggunakan
Gaussian NB, dimana Gaussian NB digunakan saat cara kerja Naive Bayes untuk fitur
berkelanjutan.

B. Evaluasi model Naïve Bayes


1. Seperti dalam KNN, cara evaluasi model dalam naive bayes juga hampir mirip. Confusion
matrix dalam model naïve bayes menghasilkan array 64, 25, 33 dan 58. Confusion matrix
dapat menunjukkan data berdasarkan dimensinya.

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

2. Melihat nilai akurasi

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

EVALUASI PERFORMA MODEL


Dengan membandingkan performansi antara model decision tree, knn dan naive bayes. untuk
melakukan perbandingan kita menggunakan fungsi print untuk accuracy, precision, recall and
F1-Score.

Membandingkan ROC Curve masing-masing model

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

Anda mungkin juga menyukai