DBSCAN
V tomto cvičení si vyzkoušíš detekci podvodů pomocí metody clusteringu založeného na hustotě (DBSCAN). Výhodou DBSCAN je, že nemusíš předem definovat počet clusterů. Navíc si DBSCAN poradí s neobvykle tvarovanými daty (tj. nekonvexními) mnohem lépe než K-means. Tentokrát nebudeme hledat odlehlé hodnoty v clusterech, ale zaměříme se na nejmenší clustery v datech a označíme je jako podvodné. K dispozici máš opět normalizovanou datovou sadu X_scaled. Pojďme to vyzkoušet!
Toto cvičení je součástí kurzu
Detekce podvodů v Pythonu
Pokyny k cvičení
- Naimportuj
DBSCAN. - Inicializuj model DBSCAN s maximální vzdáleností mezi dvěma vzorky 0.9 a minimálním počtem pozorování v clusteru 10, a natrénuj model na normalizovaných datech.
- Získej predikované labely — tedy čísla clusterů přiřazená jednotlivým pozorováním.
- Vypiš počet clusterů a ostatní metriky výkonu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))