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

Метод ліктя

У попередній вправі ви реалізували MiniBatch K-means із 8 кластерами, не перевіривши, скільки кластерів насправді потрібно. Для нашого першого підходу до виявлення шахрайства важливо правильно визначити кількість кластерів, особливо якщо ви плануєте використовувати викиди цих кластерів як передбачення шахрайства. Щоб вирішити, скільки кластерів використовувати, застосуймо метод ліктя (Elbow method) і подивімося, якою має бути оптимальна кількість кластерів за цим підходом.

X_scaled знову доступний для використання, а MiniBatchKMeans імпортовано зі sklearn.

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

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

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

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

  • Визначте діапазон між 1 і 5 кластерами.
  • Запустіть MiniBatch K-means на всіх кластерах у цьому діапазоні, використавши спискове включення.
  • Навчіть кожну модель на масштабованих даних і отримайте оцінки зі масштабованих даних.
  • Побудуйте графік номерів кластерів та їхніх відповідних оцінок; виконання займе кілька секунд.

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

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

# Define the range of clusters to try
clustno = range(____, ____)

# Run MiniBatch Kmeans over the number of clusters
kmeans = [____(n_clusters=i, random_state=0) for ____ in ____]

# Obtain the score for each model
score = [kmeans[i].fit(____).score(____) for i in range(len(kmeans))]

# Plot the models and their respective score 
plt.plot(____, ____)
plt.xlabel('Number of Clusters')
plt.ylabel('Score')
plt.title('Elbow Curve')
plt.show()
Редагувати та запускати код