Метод локтя
В предыдущем упражнении вы применили MiniBatch K-means с 8 кластерами, не проверяя, какое количество кластеров является оптимальным. При первом подходе к обнаружению мошенничества важно правильно выбрать число кластеров — особенно если вы планируете использовать выбросы этих кластеров в качестве признаков мошенничества. Чтобы определить подходящее количество кластеров, воспользуемся методом локтя и посмотрим, какое число кластеров он рекомендует.
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()