从 kmeans 聚类中了解客户属性
Posted
技术标签:
【中文标题】从 kmeans 聚类中了解客户属性【英文标题】:Understand customer attributes from kmeans clustering 【发布时间】:2019-08-21 08:40:44 【问题描述】:我有一个客户数据集,其中包含关于客户的大约 20-25 个属性,例如:
年龄 性别_F 性别_M 购买次数 loyalty_status_new loyalty_status_intermediate loyalty_status_advanced ...我已经清理了我的数据集,使其没有任何空值,并且在 pandas 数据框 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 组代表年龄和忠诚度值较大的人_status_new提前致谢!
【问题讨论】:
一种探索性的方法可能是从一个特征开始,看看你在那里找到了什么集群。然后扩展到两个或更多功能。 我宁愿不将标准化应用于一个热编码变量。总体而言,对于如何在此处进行聚类,您几乎没有语义意义。也可能是随机点的最近邻居。 【参考方案1】:如果您有每个客户的集群,您可以按集群计算每个参数的平均值,然后您就会得到答案。您可以更一般地检查每个集群中每个参数的分布,并在集群之间进行比较。
但是,我看到您的参数,您不应该使用 Gender_M 和 Gender_F,因为这些特征是相关的 (Gender_M=1-Gender_F)。
我还看到忠诚度状态新、中级和高级...如果这些参数是从连续变量计算的,您应该保留连续变量,而不是像这样使用三个相关变量。
无论如何,这里有一些链接可以帮助您进行集群: - 射频聚类原理:https://towardsdatascience.com/apply-rfm-principles-to-cluster-customers-with-k-means-fef9bcc9ab16 - 深入了解 KMeans:https://towardsdatascience.com/k-means-clustering-8e1e64c1561c
【讨论】:
以上是关于从 kmeans 聚类中了解客户属性的主要内容,如果未能解决你的问题,请参考以下文章