ПочатиПочніть безкоштовно

Виявлення викидів

У наступних вправах ви використаєте алгоритм K-means для прогнозування шахрайства й порівняєте ці прогнози з фактичними мітками, що збережені, щоб перевірити результати на здоровий глузд.

Шахрайські транзакції зазвичай позначають як спостереження, що найдалі від центроїда кластера. Тут ви навчитеся, як це зробити, і як визначити порогове значення. У наступній вправі ви перевірите результати.

Доступні масштабовані спостереження X_scaled, а також мітки, збережені у змінній y.

Ця вправа є частиною курсу

Виявлення шахрайства в Python

Переглянути курс

Інструкції до вправи

  • Розбийте масштабовані дані та мітки y на тренувальну й тестову вибірки.
  • Визначте модель MiniBatch K-means з 3 кластерами та натренуйте її на тренувальних даних.
  • Отримайте кластерні передбачення для тестових даних і здобудьте центроїди кластерів.
  • Визначте межу між шахрайством і не шахрайством на рівні 95% розподілу відстаней і вище.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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
Редагувати та запускати код