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

Модель логистики eCommerce: анализ методом k-средних

Получив первое представление о результатах модели, вы можете углубить понимание закономерностей и взаимосвязей между результатами с помощью кластерного анализа.

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

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

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

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

  • Нормализуйте массив record_processes_np с помощью функции whiten, чтобы подготовить его к кластеризации методом k-средних.
  • Запустите метод k-средних на массиве 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()
Редактировать и запускать код