Anda di halaman 1dari 13

LAPORAN TUGAS BESAR MACHINE LEARNING

K MEANS CLUSTERING

Disusun oleh:
Zendy Bramantia Alfareza 1301194145

PROGRAM STUDI INFORMATIKA


FAKULTAS INFORMATIKA
UNIVERSITAS TELKOM
2021
DAFTAR ISI

DAFTAR ISI........................................................................................................................................2
PENDAHULUAN................................................................................................................................3
1. Persoalan..................................................................................................................................3
PEMBAHASAN...................................................................................................................................4
1. Formulasi Masalah..................................................................................................................4
2. Eksplorasi dan Persiapan Data...............................................................................................4
3. Pemodelan................................................................................................................................6
4. Evaluasi....................................................................................................................................9
5. Eksperimen..............................................................................................................................9
PENUTUP..........................................................................................................................................10
DAFTAR PUSTAKA........................................................................................................................11
PENDAHULUAN

1. Persoalan
Setiap mahasiswa harus mengerjakan dua task (clustering dan classification)
terhadap dataset pada link gdrive:

https://drive.google.com/drive/folders/14QPe3o6LeSjfYj-kGhCZJM4pn-I55YsJ?
usp=sharing

Tugas clustering (unsupervised Learning) adalah mengelompokkan pelanggan


berdasarkan data pelanggan di dealer tanpa memperhatikan label kelas apakah
pelanggan tertarik untuk membeli kendaraan baru atau tidak. Tugas classification
(supervised learning) adalah memprediksi apakah pelanggan tertarik untuk membeli
kendaraan baru atau tidak berdasarkan data pelanggan di dealer.

2. Rumusan Masalah

Adapun rumusan masalah pada tugas ini adalah:


- Formulasi Masalah: jelaskan apa permasalahan yang akan diselesaikan.
- Eksplorasi dan Persiapan Data (termasuk data splitting): lakukan semua
teknik eksplorasi dan persiapan data yang menurut Anda perlu dilakukan.
Jelaskan mengapa perlu melakukan teknik tersebut, dan lakukan analisis
terhadap hasilnya.
- Pemodelan: bangunlah model menggunakan data hasil praproses 2.b, dan
lakukan proses training untuk mendapatkan hasil terbaik. Jelaskan secara
detail semua proses yang Anda lakukan dilengkapi dengan justifikasi dan
analisis hasilnya.
- Evaluasi: pilih metode evaluasi yang sesuai beserta justifikasinya. Lakukan
evaluasi terhadap model yang telah dihasilkan. Berikan analisis terhadap
hasil evaluasi.
- Eksperimen: lakukan berbagai eksperimen yang melibatkan tahapan
Eksplorasi dan Persiapan Data, Pemodelan, dan Evaluasi untuk mendapatkan
hasil terbaik. Laporkan semua Eksperimen yang Anda lakukan beserta
analisis hasil dan perbandingannya.
- Kesimpulan: berikan kesimpulan dari semua proses yang dijalankan beserta
hasil akhir dari berbagai eksperimen yang telah dilakukan.
PEMBAHASAN

1. Formulasi Masalah
a. Articulate Your Problem Clearly
Permasalahan yang akan saya selesaikan adalah, mengelompokkan pelanggan
berdasarkandata pelanggan di dealer tanpa memperhatikan label kelas apakah
pelanggan tertarik untuk membeli kendaraan baru atau tidak.

b. Identify Your Data Sources


Data yang saya dapatkan dari file kendaraan_train.csv adalah data set yang berisi
285831 baris data dan 12 kolom. Kolom-kolom pada data tersebut adalah id,
Jenis_Kelamin, Umur, SIM, Kode_Daerah, Sudah_Asuransi, Umur_Kendaraan,
Kendaraan_Rusak, Premi, Kanal_Penjualan, Lama_Berlangganan danTertarik.
Jumlah data yang Null pada dataset tersebut adalah 142916.
c. Identify Potential Learning Problems

Jika terdapat data baru, kita bisa mengidentifikasi apakah orang tersebut tertarik untuk
membeli kendaraan atau tidak, dengan menggunakan metode classification, yang akan
dikerjakan pada task selanjutnya.

d. Think About Potential Bias and Ethics

Saya berharap program yang telah saya buat dapat berguna bagi pemilik dataset untuk
mengelompokkan data customer, agar dapat mempermudah dalam mengetahui
customer yang minat untuk membeli mobilbaru atau tidak.

2. Eksplorasi dan Persiapan Data


a. Data Exploration / Understanding
Pada tahap ini saya melakukan import data file kendaraan_train.csv yang saya
simpan di google drive. Beberapa hal yang telah saya eksplorasi pada data
tersebut yakni:
- Jumlah record dari data tersebut adalah 285831, yang akan dikelompokkan
berdasarkan karakteristiknya.
- Terdapat data numerik dan kategorikal.
- Pada setiap kolom pada data tersebut terdapat data yang NaN kecuali pada data id
dan tertarik.
- Outlier terbanyak terletak pada kolom Premi

Setelah itu saya melakukan pencarian korelasi menggunakan heatmap. Data


yang memiliki korelasi terbesar adalah antara ‘Umur’ dan ‘Kanal_Penjualan’.

b. Data Cleansing
1) Handling Outlier
Dikarenakan terdapat banyak outlier pada kolom premi, maka akan saya
lakukan handling outlier untuk menghilangkan outlier tersebut. Teknik yang
saya gunakan adalah interquartile range pada Q1 dan Q3, dimana rumusnya
adalah:

2) Drop Unuse Column

Pada tahap ini saya melakukan drop pada kolom yang menurut saya tidak
tidak diperlukan. Contoh kolom yang akan di drop adalah kolom id, karena
kolom id hanyalah data yang digunakan untuk counter.

3) Fill Nan Data


Pada tahap ini, data yang kosong atau NaN akan diisi dengan rata-rata
kolom dari data tersebut.

c. Feature Enginering
Pada tahap ini, saya melakukan normalisasi data menggunakan metode Min-
Max normalization, yaitu mengubah skala data menjadi range 0 – 1, sehingga
tidak ada skala data yang mendominasi.
3. Pemodelan
Pada pembuatan program ini, saya menggunakan K-means clustering untuk
pemodelan, karena Metode ini relatif mudah untuk diimplementasikan dan
prosesnya relatif cepat. K-means adalah metode berbasis partisi atau centroid.
Metode ini baiknya digunakan untuk data berukuran kecil hingga sedang.

a. Tentukan nilai k dan kolom


Pada tahap pemodelan ini yang pertama saya lakukan adalah menentukan nilai k
dan kolom yang akan dilakukan clustering

b. Hitung Jarak
Fungsi ini melakukan perhitungan jarak seluruh data training dengan centroid.
Metode penghitungan jarak yang saya gunakan adalah Euclidean Distance.
Setelah itu fungsi ini mengembalikan variabel jarak yang nantinya akan
digunakan untuk menghitung centroid baru.

c. Euclidean

Fungsi ini digunakan untuk menghitung jarak data dengan seluruh centroid
menggunakan rumus perhitungan jarak euclidean distance.

d. Hitung Centroid Baru


Fungsi ini digunakan untuk menghitung centroid baru menggunakan data jarak
yang telah di kembalikan oleh fungsi hitung jarak. Cara kerja fungsi ini adalah
dengan menentukan cluster seluruh data berdasarkan nilai minimum dari jarak
yang telah ditentukan dan menyimpannya di list cluster. Setelah itu hitung rata-
rata dari setiap cluster menggunakan fungsi avg. Setelah seluruh cluster dihitung
rata-ratanya, maka akan disimpan di list centroid. List centroid inilah yang
menjadi centroid baru.

e. Avg
Fungsi ini digunakan untuk menghitung rata-rata setiap cluster.

f. K-Means
Fungsi ini digunakan untuk klasterisasi menggunakan metode K-Means. Fungsi
ini memanggil dataframe dfData dan k pada parameter. Cara kerja dari fungsi ini
adalah:
1) Melakukan random pada dfData untuk membuat centroid awal
2) Membuat looping yang akan berhenti ketika isi pada list centroid sama
dengan centroid awal.
3) Menghitung jarak menggunakan fungsi hitungJarak, dan akan
menyimpannya di list jarak.
4) Menghitung centroid baru dan menentukan cluster setiap data
menggunakan fungsi hitung centroid baru.
5) Membuat menghentikan looping apabila data pada centroid sama dengan
data pada centAwal.
g. Hasil Running Program
Setelah program dijalankan menggunakan k = 4 dan data yang digunakan adalah
umur dan kanal_penjualan, berikut ini adalah hasil dari scatter plot nya.
4. Evaluasi
Pada tahap evaluasi saya menggunakan elbow method. Elbow Method merupakan
suatu metode yang digunakan untuk menghasilkan informasi dalam menentukan
jumlah cluster terbaik dengan cara melihat persentase hasil perbandingan antara
jumlah cluster yang akan membentuk siku pada suatu titik. Untuk mendapatkan
perbandingannya adalah dengan menghitung SSE (Sum of Square Error) dari
masing-masing nilai cluster. Karena semakin besar jumlah cluster K maka nilai SSE
akan semakin kecil. Rumus SSE pada K-Means adalah.

Hasil elbow method pada data yang saya gunakan adalah:


5. Eksperimen
Pada tahap eksperimen saya mencoba menjalankan program menggunakan data
Umur dan Kode_Daerah, dan menggunakan jumlah k=4.

Berikut imi adalah scatter plot centroid dari program eksperimen:


PENUTUP
DAFTAR PUSTAKA

Anda mungkin juga menyukai