Začněte nyníZačněte zdarma

Detekce odlehlých hodnot

V následujících cvičeních použiješ algoritmus K-means k odhalování podvodů a porovnáš jeho předpovědi se skutečnými štítky, které jsou uložené – tím si ověříš správnost výsledků.

Podvodné transakce se typicky identifikují jako pozorování, která jsou nejdál od centroidu shluku. V tomto cvičení se naučíš, jak to provést a jak stanovit hranici rozhodování. V dalším cvičení pak výsledky zkontroluješ.

Máš k dispozici škálovaná pozorování X_scaled a štítky uložené v proměnné y.

Toto cvičení je součástí kurzu

Detekce podvodů v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Rozděl škálovaná data a štítky y na trénovací a testovací sadu.
  • Definuj model MiniBatch K-means se 3 shluky a natrénuj ho na trénovacích datech.
  • Získej předpovědi shluků z testovacích dat a zjisti centroidy shluků.
  • Nastav hranici mezi podvodnými a legitimními transakcemi na 95 % distribuce vzdáleností a výše.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Split the data into training and test set
X_train, X_test, y_train, y_test = ____(____, ____, test_size=0.3, random_state=0)

# Define K-means model 
kmeans = ____(n_clusters=____, random_state=42).fit(____)

# Obtain predictions and calculate distance from cluster centroid
X_test_clusters = ____.____(X_test)
X_test_clusters_centers = ____.____
dist = [np.linalg.norm(x-y) for x, y in zip(X_test, X_test_clusters_centers[X_test_clusters])]

# Create fraud predictions based on outliers on clusters 
km_y_pred = np.array(dist)
km_y_pred[dist >= np.percentile(dist, ____)] = 1
km_y_pred[dist < np.percentile(dist, ____)] = 0
Upravit a spustit kód