KMeans: извлечение параметров / правил, которые заполняют кластеры

#python #scikit-learn #k-means

#python #scikit-learn #k-означает

Вопрос:

Я создал 4-кластерную сегментацию клиентов k-means в scikit learn (Python). Идея заключается в том, что каждый месяц бизнес получает обзор изменений в размере наших клиентов в каждом кластере.

Мой вопрос в том, как сделать эти кластеры «долговечными». Если я перезапущу свой скрипт с обновленными данными, «границы» кластеров могут немного сместиться, но я хочу сохранить старые кластеры (даже если они немного хуже соответствуют данным).

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

Комментарии:

1. Что именно вы хотите сохранить? Способ, которым K Означает работу кластеров, будет меняться каждый раз, когда вы запускаете его на основе данных. Вы можете сохранить свои кластерные прогнозы для каждого элемента в ваших данных.

2. Допустим, у меня есть 2-мерные данные, где все, что ниже x = 0,1 и выше y = 0,9, помечается как кластер 1. Поступают новые данные, алгоритм переобучается, и теперь случай, превышающий 0,85, также помечается как кластер 1. Это я хочу предотвратить, я хочу сохранить старые правила, чтобы мне не приходилось постоянно исследовать «значение» кластера. Я принимаю потерю в качестве соответствия. Я также задавал этот вопрос где-то еще, и там мне посоветовали записать среднее значение каждого кластера и посмотреть, насколько новые случаи наиболее близки к этим средствам.

Ответ №1:

Получил ответ в другой теме:

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