НачатьНачать бесплатно

Определение оптимального числа кластеров

В этом упражнении вы используете метод «локтя», чтобы найти оптимальное число кластеров — то значение, при котором уменьшение суммы квадратов ошибок становится незначительным. Это важный шаг: он позволяет получить математическую оценку числа кластеров, с которой можно начать тестирование. Вы переберёте несколько значений k и для каждого из них запустите алгоритм KMeans, а затем построите график зависимости ошибок от k, чтобы найти «локоть» — точку, в которой снижение ошибок замедляется.

Модуль KMeans загружен из sklearn.cluster, библиотека seaborn — как sns, а модуль matplotlib.pyplot — как plt. Также загружен масштабированный набор данных wholesale_scaled_df в виде pandas DataFrame.

Это упражнение является частью курса

Машинное обучение для маркетинга на Python

Посмотреть курс

Инструкции к упражнению

  • Создайте пустой словарь sse.
  • Обучите алгоритм KMeans для значений k от 1 до 11 и сохраните ошибки в словаре sse.
  • Добавьте заголовок к графику.
  • Постройте точечный график, где по оси X отложены ключи, а по оси Y — значения, и отобразите его.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Create empty sse dictionary
sse = {}

# Fit KMeans algorithm on k values between 1 and 11
for k in ___(1, 11):
    kmeans = ___(n_clusters=___, random_state=333)
    kmeans.___(wholesale_scaled_df)
    sse[k] = kmeans.inertia_

# Add the title to the plot
plt.___('Elbow criterion method chart')

# Create and display a scatter plot
sns.pointplot(x=list(sse.___()), y=list(sse.___()))
plt.___()
Редактировать и запускать код