了解kmeans集群中的客户属性

时间:2019-03-30 17:10:38

标签: python pandas scikit-learn cluster-analysis k-means

我有一个客户数据集,其中包含约20-25个有关客户的属性,例如:

  • 年龄
  • gender_F
  • gender_M
  • num_purchases
  • loyalty_status_new
  • loyalty_status_intermediate
  • loyalty_status_advanced
  • ...

我已清理数据集,使其不包含任何空值,并且将一键编码的分类变量也纳入了熊猫数据框my_df中。我已经使用scikit-learn的kmeans在该数据集上创建了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组代表年龄和loyalty_status_new值较高的人

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您具有每个客户的聚类,则可以按聚类计算每个参数的平均值,您将得到答案。您可以更一般地检查每个参数在每个群集中的分布,并在群集之间进行比较。

但是,正如我所看到的,您不应该使用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