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

Модель логістики eCommerce: аналіз k-means

Тепер, коли ви отримали перше уявлення про результати моделі, поглибте розуміння закономірностей та взаємозв'язків між результатами за допомогою кластерного аналізу.

Ви використаєте алгоритм k-means, щоб краще зрозуміти основні чинники поведінки моделі та згрупувати точки даних із подібними властивостями. Це допоможе виявити «вузькі місця» в реальній операційній діяльності e-commerce/логістики, яку відтворює ваша модель.

kmeans і whiten імпортовано з scipy.cluster.vq, а також matplotlib.pyplot as plt. Початковий і «вибілений» набори даних містять стовпці, перелічені нижче. Фіктивна змінна p визначає індекси цих процесів у наборах даних.

  • стовпець 1 (p=0): time_requests
  • стовпець 2 (p=1): time_packaging
  • стовпець 3 (p=2): time_shipping
  • стовпець 4 (p=3): sum/total time

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

Дискретно-подієве моделювання в Python

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

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

  • Виконайте whiten масиву record_processes_np, щоб підготувати його до кластеризації k-means.
  • Запустіть метод k-means для масиву whitened за допомогою пакета SciPy, налаштувавши пошук трьох кластерів.

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

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

# Whiten the record_processes_np array
whitened = ____(record_processes_np)

# Run the k-means method on whitened, using three clusters
codebook, distortion = ____(whitened, ____)

fig, axs = plt.subplots(3)
for p in range(3):
    axs[p].scatter(whitened[:, 3], whitened[:, p], marker=".", label=f"{process_names[p]}")
    axs[p].scatter(codebook[:, 3], codebook[:, p], label='Cluster Centroids')
    axs[p].legend(loc='center left', bbox_to_anchor=(1, 0.5))
    axs[p].set_ylabel(f'Process duration (days)')
    axs[p].set_xlabel('Total duration (days)')
plt.show()
Редагувати та запускати код