Praktikum 3

Pembuatan Dataset Sintetis

Untuk mempelajari DBSCAN, kita akan membuat dataset sederhana berupa 3 klaster buatan menggunakan fungsi make_blobsarrow-up-right dari Scikit-Learn.

from sklearn.datasets import 
from sklearn.preprocessing import 

centers = [[1, 1], [-1, -1], [1, -1]]
X, labels_true = (
    n_samples=750, centers=centers, cluster_std=0.4, random_state=0
)

X = ().fit_transform(X)

Visualisasikan data yang dihasilkan dengan cara ini:

import matplotlib.pyplot as plt

(X[:, 0], X[:, 1])
()

Compute DBSCAN

Sekarang kita terapkan DBSCAN pada data tersebut.

Label yang ditetapkan oleh DBSCANarrow-up-right dapat diakses melalui atribut labels_. Titik data yang dianggap noise akan diberi label khusus.

  • eps=0.3 β†’ jarak maksimum antar titik untuk dianggap tetangga.

  • min_samples=10 β†’ jumlah minimum titik dalam radius eps agar dianggap area padat (core sample).

  • Label hasil klasterisasi tersedia di labels. Nilai -1 berarti titik tersebut dianggap noise atau outlier.

Evaluasi Kualitas Klasterisasi

Karena kita menggunakan dataset sintetis (make_blobs), kita tahu label aslinya (labels_true). Ini memungkinkan kita mengukur kualitas DBSCAN dengan berbagai metrik evaluasi.

  • Homogeneity β†’ apakah tiap klaster hanya berisi satu label asli.

  • Completeness β†’ apakah semua sampel dengan label asli yang sama masuk ke klaster yang sama.

  • V-measure β†’ rata-rata harmonik dari homogeneity dan completeness.

  • Adjusted Rand Index (ARI) β†’ kesesuaian antara klasterisasi dengan label asli.

  • Adjusted Mutual Information (AMI) β†’ kesamaan informasi antara klasterisasi dengan label asli.

  • Silhouette Coefficient β†’ seberapa baik data dikelompokkan (nilai mendekati 1 berarti bagus, mendekati 0 berarti berada di batas, negatif berarti salah klaster).

Visualisasi Hasil Klasterisasi

Kita akan memvisualisasikan hasil DBSCAN.

  • Core sample ditampilkan dengan titik besar.

  • Non-core sample ditampilkan dengan titik kecil.

  • Noise ditampilkan dengan warna hitam.

πŸ‘‰ Interpretasi visual:

  • Titik besar berwarna β†’ core samples dalam klaster.

  • Titik kecil berwarna β†’ non-core samples, tetap termasuk klaster.

  • Titik hitam β†’ noise/outlier.

Last updated