MulaiMulai sekarang secara gratis

DBSCAN

Dalam latihan ini, Anda akan mengeksplorasi penggunaan metode clustering berbasis kerapatan (DBSCAN) untuk mendeteksi kecurangan. Keunggulan DBSCAN adalah Anda tidak perlu menentukan jumlah cluster terlebih dahulu. Selain itu, DBSCAN dapat menangani data yang bentuknya tidak beraturan (misalnya non-konveks) jauh lebih baik dibandingkan K-means. Kali ini, Anda tidak akan mengambil pencilan dari cluster untuk digunakan sebagai indikasi kecurangan, melainkan mengambil cluster terkecil dalam data dan memberi label tersebut sebagai kecurangan. Anda kembali memiliki himpunan data yang telah diskalakan, yaitu X_scaled. Mari kita coba!

Latihan ini adalah bagian dari kursus

Deteksi Kecurangan di Python

Lihat Kursus

Petunjuk latihan

  • Impor DBSCAN.
  • Inisialisasi model DBSCAN dengan menetapkan jarak maksimum antar dua sampel sebesar 0.9 dan jumlah observasi minimum dalam cluster sebesar 10, lalu fit model ke data yang telah diskalakan.
  • Dapatkan label prediksi, yaitu nomor cluster yang diberikan pada suatu observasi.
  • Cetak jumlah cluster dan metrik kinerja lainnya.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Import DBSCAN
from sklearn.cluster import ____

# Initialize and fit the DBSCAN model
db = DBSCAN(eps=____, min_samples=____, n_jobs=-1).fit(____)

# Obtain the predicted labels and calculate number of clusters
pred_labels = ____.____
n_clusters = len(set(pred_labels)) - (1 if -1 in labels else 0)

# Print performance metrics for DBSCAN
print('Estimated number of clusters: %d' % ____)
print("Homogeneity: %0.3f" % homogeneity_score(labels, pred_labels))
print("Silhouette Coefficient: %0.3f" % silhouette_score(X_scaled, pred_labels))
Edit dan Jalankan Kode