K MEANS CLUSTERING
Disusun oleh:
Zendy Bramantia Alfareza 1301194145
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
2. Rumusan Masalah
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.
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.
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.
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:
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.
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.
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.
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.