【发布时间】: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
提前致谢!
【问题讨论】:
-
一种探索性的方法可能是从一个特征开始,看看你在那里找到了什么集群。然后扩展到两个或更多功能。
-
我宁愿不将标准化应用于一个热编码变量。总体而言,对于如何在此处进行聚类,您几乎没有语义意义。也可能是随机点的最近邻居。
标签: python pandas scikit-learn cluster-analysis k-means