Luthfi.A.Hasibuan 52240014

Data Science

Dosen Pengampu: Bakti Siregar, M.Sc., CDS

Institut Teknologi Sains Bandung ITSB


1 .Load Data


1.1 .Tabel Penjelasan Variabel Dataset


2 .Pra-Proses


2.1 .Penjelasan Output Tabel Summary Statistik


2.1.1 .Kesimpulan Umum dari Seluruh Tabel

  • Semua variabel menunjukkan distribusi yang miring ke kanan (right-skewed) → ditandai Mean > Median.

  • Ini berarti sebagian kecil pelanggan membeli dalam jumlah yang sangat besar, mempengaruhi rata-rata.

  • Produk dengan variasi pembelian terbesar: Fresh, Grocery, dan Milk.

  • Produk dengan pembelian lebih kecil dan stabil: Delicassen dan Detergents_Paper.

  • Potensi outlier sangat kuat di semua variabel karena selisih besar antara Median dan Max.


3 .Scaling


3.1 .interpretasi Output Scaling (Standardization)

Berikut interpretasi dari tabel scaling yang menampilkan Feature, Mean, dan SD:

3.2 1. Semua mean bernilai 0

Ini menunjukkan bahwa setiap variabel sudah melalui proses standardisasi (Z-score) menggunakan:

[ Z = ]

Artinya:

  • Nilai 0 menjadi pusat data baru.
  • Data tidak lagi berbasis nilai asli (Fresh ribuan, Milk ribuan, Delicassen ratusan).
  • Semua variabel “disetarakan” sehingga tidak ada variabel yang mendominasi hanya karena skala besar.

3.3 2. Semua SD bernilai 1

Standard deviation (SD) = 1 menandakan bahwa penyebaran setiap variabel sudah dinormalisasi:

  • Variabel dengan skala besar (Fresh, Grocery, Milk) mengecil secara proporsional.
  • Variabel kecil (Delicassen, Detergents_Paper) diperbesar secara proporsional.
  • Setelah scaling, seluruh variabel berada pada tingkat variansi yang setara.

Kondisi ini sangat penting untuk algoritma berbasis jarak seperti:

  • DBSCAN
  • OPTICS
  • HDBSCAN
  • PCA
  • kNN
  • k-means

Karena algoritma tersebut sangat sensitif terhadap skala.


3.4 3. Mengapa scaling penting dalam dataset ini?

Dataset kamu memiliki perbedaan skala yang ekstrem:

Variabel Skala Asli
Fresh bisa > 10.000
Milk / Grocery 5.000–8.000
Frozen ratusan–ribuan
Delicassen 50–2.000

Tanpa scaling:

  • Variabel Fresh & Grocery akan mendominasi perhitungan jarak.
  • Algoritma density-based bisa salah menentukan cluster.
  • PCA akan condong ke variabel besar saja.

Dengan scaling:

  • Semua variabel “setara” → clustering menjadi lebih akurat.

3.5 .Kesimpulan Interpretasi Scaling

  • Mean = 0 → seluruh variabel sudah dipusatkan.
  • SD = 1 → seluruh variabel memiliki penyebaran yang sama.
  • Data siap digunakan untuk DBSCAN, OPTICS, HDBSCAN, dan PCA tanpa bias skala.

4 .K-Distance

4.1 .Tabel Rumus k-Distance

Konsep Rumus / Definisi Keterangan
Jarak Euclidean (d(i,j)=) Digunakan setelah scaling (z-score)
Tetangga ke-k Urutkan semua jarak (d(i,j)) kecuali diri sendiri → ambil jarak ke-k Ini dikenal sebagai k-distance
k-Distance Vector (D_k(i) = i.) Satu nilai per data point
k-Distance Plot Plot (D_k(i)) yang telah diurutkan dari kecil → besar Dipakai untuk menentukan eps

4.1.1 .Cara Menghitung k-Distance

Langkah Nama Tahapan Rumus / Prosedur Output yang Dihasilkan
A Scaling Data (Standardisasi) [ z_i = ] Semua variabel diubah menjadi skala standar (mean = 0, sd = 1). Data versi standar (df_scaled).
B Hitung Jarak Euclidean antar titik [ d(i,j) = ] Hitung jarak semua pasangan titik (i,j). Distance matrix ukuran n × n.
C Ambil 4 Tetangga Terdekat Untuk setiap titik: urutkan jarak → ambil jarak ke-4 (k = 4).
Contoh: 0.21, 0.27, 0.39, 0.44 → k-distance = 0.44
1 nilai k-distance untuk tiap titik.
D Buat Vektor k-Distance Kumpulkan seluruh k-distance dari setiap titik. Jika ada 400 titik → 400 nilai. Vektor berisi k-distance seluruh titik.
E Urutkan k-Distance Urutkan k-distance dari kecil → besar sebagai kurva analisis. Kurva k-distance yang mulus.
F Cari Titik Elbow → eps Optimal Titik “siku” = saat kurva mulai naik tajam → batas cluster vs noise. Nilai eps terbaik untuk DBSCAN.

4.2 .Cara Membaca k-Distance Plot

Ketika gambar grafik:

  • Bagian awal grafik = jarak kecil → titik dalam cluster
  • Pada suatu titik grafik mendadak naik tajam
  • Itulah “sudut” (elbow) = nilai eps optimal

Contoh pola umum:

|        . . . . . . .  
|      .
|    .
|  .
| .
|____________________
          ↑
        elbow → eps

Semakin jelas “elbow”-nya, semakin bagus dataset untuk DBSCAN.


4.3 .k-Distance Plot


4.3.1 Tabel Interpretasi k-Distance Plot


4.3.2 Penjelasan Naratif k-Distance Plot


4.3.2.1 .Versi Perhitungan Manual

Langkah Proses Hasil dari dataset kamu
1. Scaling data (Z-score) ( z= ) Semua variabel bernilai mean 0, SD 1
2. Hitung jarak Euclidean antar titik ( d(i,j)= ) Jarak berkisar antara 0.05 – 16
3. Ambil jarak tetangga ke-4 (k=4) Sort tiap baris, ambil jarak ke-4 Tercipta vektor k-distance
4. Urutkan k-distance sort semua nilai Grafik k-distance terbentuk
5. Identifikasi elbow Cari perubahan drastis Ditemukan di 1.2

4.3.2.2 Kesimpulan eps untuk DBSCAN



5 .Tuning DBSCAN


5.1 Interpretasi Tabel Tuning DBSCAN


5.2 Interpretasi Hasil Tuning DBSCAN


6 .DBSCAN Final

##    user  system elapsed 
##       0       0       0

6.1 .Interpretasi Hasil DBSCAN Final


7 OPTICS (Ordering Points To Identify the Clustering Structure)

OPTICS adalah pengembangan dari DBSCAN. Bedanya:

  • DBSCAN → langsung menghasilkan cluster berdasarkan eps & minPts.
  • OPTICS → membuat urutan titik (ordering) + nilai reachability-distance, sehingga kita bisa melihat struktur cluster di berbagai skala eps.

7.1 Penjelasan Konsep OPTICS


7.2 .Visual 3D


8 .HDBSCAN

## Waktu eksekusi HDBSCAN:
##    user  system elapsed 
##    0.00    0.00    0.02
## 
## Jumlah titik per cluster (noise = 0):
## 
##   0   1   2 
## 270 162   8


8.1 Analisis HDBSCAN pada Dataset Wholesale Customers

8.1.1 .Konsep Dasar HDBSCAN (Versi Mudah Dipahami)

HDBSCAN = Hierarchical Density-Based Spatial Clustering of Applications with Noise

Ide utamanya:

  • Temukan area data yang “padat”
  • Gabungkan area padat menjadi cluster
  • Bangun struktur hierarki (tree)
  • Pilih cluster paling stabil
  • Titik yang tidak stabil → noise (cluster 0)

8.1.2 .Rumus-Rumus Utama HDBSCAN

Komponen Rumus Matematis Makna / Penjelasan
1. Jarak Euclidean [ d(x,y)= ] Digunakan untuk mengukur jarak antar titik dalam ruang fitur. Ini merupakan dasar dari seluruh perhitungan HDBSCAN.
2. Core Distance [ (x)= d(x, ) ] (k = 5 pada dataset Anda) Core distance = jarak dari titik x ke tetangga ke-5 terdekat. Menggambarkan kepadatan lokal di sekitar titik tersebut.
3. Mutual Reachability Distance [ (a,b)= ((a), (b), d(a,b)) ] Jarak yang digunakan HDBSCAN untuk membangun minimum spanning tree (MST). Memperhalus jarak sehingga tidak terpengaruh outlier.
4. Cluster Stability [ (C)=_{x_i C} (i - {}) ] Mengukur seberapa stabil cluster saat hierarki dibangun. Cluster dengan stability tertinggi dipilih sebagai cluster final.
5. Membership Probability [ (x)= ] Memberikan probabilitas keanggotaan setiap titik. Bukan hard-cluster seperti DBSCAN. Semakin tinggi → semakin yakin titik itu masuk cluster.

8.1.3 Interpretasi Membership Probability HDBSCAN


8.2 Output HDBSCAN

8.2.1 Jumlah Cluster

Misalnya hasil kamu:

0 1 2 3
50 120 210 60

Interpretasi:

  • Cluster 1–3 adalah cluster valid
  • Cluster 0 adalah noise

8.3 .Interpretasi Tiap Cluster


8.4 Interpretasi Visualisasi PCA (PCA 2D + Membership)


8.5 .Rangkuman Tabel Interpretasi


8.6 .Kesimpulan HDBSCAN


9 .Visualisasi PCA


9.1 PCA & Visualisasi PCA – Interpretasi


9.1.1 .Rumus Matematis PCA

9.1.1.1 (1) Standarisasi Data

Karena kamu menggunakan:

df_scaled <- scale(df)

Maka:

\[ z_{ij} = \frac{x_{ij} - \mu_j}{\sigma_j} \]


##3# (2) Matriks Kovarian \[ \Sigma = \frac{1}{n-1} Z^T Z \]


9.1.1.2 (3) Eigen Decomposition

\[ \Sigma v = \lambda v \]

  • \(v\) = eigenvector ⇒ arah komponen utama
  • \(\lambda\) = eigenvalue ⇒ besarnya variasi yang dijelaskan

9.1.1.3 (4) PC Scores

\[ PC = Z \cdot V \]

Dan itulah yang kamu gunakan sebagai:

  • PC1 = pca$x[,1]
  • PC2 = pca$x[,2]

9.2 .Interpretasi Komponen PCA (Sangat Penting)


9.3 .Rangkuman Interpretasi dalam Tabel


9.4 .Kesimpulan PCA


10 . Evaluasi

Evaluasi Performa Algoritma Clustering
Struktur Cluster
Kualitas
Performa
Algoritma Jumlah Cluster Noise Points Silhouette Score Runtime (s)
DBSCAN 1 38 NA 0.00
OPTICS 4 1 -0.191 0.02
HDBSCAN 2 270 0.420 0.02
Keterangan: Nilai terbaik ditandai dengan warna: Silhouette (hijau), Runtime (oranye), Noise terendah (ungu)

10.1 .Visualisasi


10.2 .Evaluasi Performa Algoritma Clustering


11 .Kesipulan


12 .Refrensi