Понимать атрибуты клиентов из кластеров kmeans - PullRequest
1 голос
/ 30 марта 2019

У меня есть набор данных о клиенте, содержащий около 20-25 атрибутов о клиенте, таких как:

  • age
  • sex_F
  • sex_M
  • num_purchases
  • loyalty_status_new
  • loyalty_status_intermediate
  • loyalty_status_advanced
  • ...

Я очистил свой набор данных, чтобы не иметь никакихнулевые значения и имеют однозначно закодированные категориальные переменные, а также в панду dataframe my_df.Я использовал kmeans scikit-learn для создания 2 кластеров в этом наборе данных, но я хотел бы понять, как определить, какие клиенты были кластеризованы в какие кластеры.

    scaler = StandardScaler()
    my_df_scaler = scaler.fit_transform(my_df)
    kmeans = KMeans(2)
    model = kmeans.fit(my_df_scaler)
    preds = model.predict(my_df_scaler)

В основном, я ищу некоторую помощь вполучать такие идеи, как:

  • Кластер 1 представляет людей с большими значениями для возраста и лояльности_status_new

Заранее спасибо!

1 Ответ

2 голосов
/ 30 марта 2019

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

Тем не менее, как я вижу ваши параметры, вы не должны использовать Gender_M и Gender_F, поскольку эти функции коррелируют (Gender_M = 1-Gender_F).

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

В любом случае вот несколько ссылок, которые должны помочь вам в вашей кластеризации: - принципы кластеризации rfm: https://towardsdatascience.com/apply-rfm-principles-to-cluster-customers-with-k-means-fef9bcc9ab16 - углубиться в понимание KMeans: https://towardsdatascience.com/k-means-clustering-8e1e64c1561c

...