Оптимизация маршрута с помощью K-Means кластеризации в Python и Excel
Использование Python в Excel для K-Means кластеризации открывает новые возможности для анализа и оптимизации данных, таких как сложные географические маршруты. Этот метод позволяет группировать схожие точки и строить эффективные пути.
Столкнувшись с задачей виртуального посещения 146 локаций, я обнаружил, что простой сортировки по координатам недостаточно — маршрут оказался неэффективным и составлял 124 000 миль.
Пошаговая инструкция по кластеризации K-Means в Excel
- Подготовьте данные: Убедитесь, что ваши географические координаты (широта и долгота) находятся в отдельных столбцах таблицы Excel.
- Запустите Python в Excel: Перейдите на вкладку «Формулы» и выберите «Вставить Python». В появившейся ячейке введите код для кластеризации.
from sklearn.cluster import KMeans import pandas as pd # df - ваш DataFrame с координатами kmeans = KMeans(n_clusters=6, random_state=0).fit(df[['Latitude', 'Longitude']]) df['Cluster'] = kmeans.labels_ - Экспериментируйте с количеством кластеров: Ключевой параметр —
n_clusters. Начните с пробного значения (например, 6), визуализируйте результат и корректируйте число для получения логичных групп.
Пример кода Python для K-Means кластеризации в Excel. - Получите и проанализируйте результат: После выполнения кода в DataFrame добавится столбец с номером кластера (от 0 до 5). Выведите обновлённый DataFrame в ячейку Excel, просто указав
df.
Локации, сгруппированные в шесть кластеров.
Исходный набор данных с добавленным столбцом номера кластера. - Оптимизируйте маршрут внутри кластеров: Используйте макрос или алгоритм (например, поиск ближайшего соседа) для построения оптимального пути внутри каждой группы, а затем соедините маршруты между кластерами.
Результат и ключевые советы
Применение этого подхода позволило сократить общий маршрут с 124 000 до 86 000 миль — значительная оптимизация для логистических задач.
Профессиональный совет: Хотя код можно писать и в строке формул, для работы с Python в Excel настоятельно рекомендуется использовать встроенный Python Editor — он предлагает подсветку синтаксиса, автодополнение и лучший обзор всего кода (см. «#66 Просмотр всего кода Python в редакторе»).
Заключение
K-Means кластеризация через Python в Excel — это мощный инструмент не только для анализа клиентов или сегментации рынка, но и для решения практических оптимизационных задач, таких как планирование маршрутов. Экспериментируйте с параметрами и визуализируйте результаты для достижения наилучшего эффекта.