Các phương pháp phân cụm khác để phát hiện gian lận

Phát hiện gian lận với Python

Charlotte Werger

Data Scientist

Có nhiều phương pháp phân cụm khác nhau

Phát hiện gian lận với Python

Và nhiều cách gắn cờ gian lận: dùng các cụm nhỏ nhất

Phát hiện gian lận với Python

Thực tế trông giống thế này hơn

Phát hiện gian lận với Python

DBSCAN so với K-means

  • Không cần định trước số cụm
  • Điều chỉnh khoảng cách tối đa giữa các điểm trong cụm
  • Đặt số mẫu tối thiểu trong cụm
  • Hiệu quả hơn với dữ liệu hình dạng lạ
  • Nhưng chi phí tính toán cao hơn
Phát hiện gian lận với Python

Triển khai DBSCAN

from sklearn.cluster import DBSCAN
db = DBSCAN(eps=0.5, min_samples=10, n_jobs=-1).fit(X_scaled)

# Get the cluster labels (aka numbers) pred_labels = db.labels_
# Count the total number of clusters n_clusters_ = len(set(pred_labels)) - (1 if -1 in pred_labels else 0) # Print model results print('Estimated number of clusters: %d' % n_clusters_)
Estimated number of clusters: 31
Phát hiện gian lận với Python

Kiểm tra kích thước các cụm

# Print model results
print("Silhouette Coefficient: %0.3f" % metrics.silhouette_score(X_scaled, pred_labels))
Silhouette Coefficient: 0.359
# Get sample counts in each cluster 
counts = np.bincount(pred_labels[pred_labels>=0])
print (counts)
[ 763  496  840  355 1086  676   63  306  560  134   28   18  262  128  332  22  
   22   13   31   38   36   28   14   12   30   10   11   10   21   10    5]
Phát hiện gian lận với Python

Ayo berlatih!

Phát hiện gian lận với Python

Preparing Video For Download...