我有一个包含客户列表及其产品首选项的数据集。基本上,它是一个简单的CSV,其中包含一个名为“CUSTOMER”的列和另外5个名为“PRODUCT_WANTED_A”,“PRODUCT_WANTED_B”的列等等。
我问过这些客户是否有兴趣了解特定产品的更多信息,答案可能只是YES或NO(数据集中为1或0)。可以下载数据集here。显然,根据这5列中的YES或NO的组合,会有许多不同兴趣的客户。
我的目标是了解哪些客户与其他客户相似。这将帮助我管理产品演示的议程,并且在每次会议中,我想了解最佳分组。我从这样的等级情节开始:
customer_list <- read.csv("customers_products_wanted.csv", sep=",", header = TRUE)
customer.hclust <- hclust(dist(customers_list))
plot(customer.hclust, customer_list$CUSTOMER)
library(rect.hclust)
rect.clust(customer.hplot,5)
这是我得到的情节,要求5个集群:
尝试相同,但有10个集群:
问题1:我知道这总是很难说,但是看一下图表和数据集,您对集团客户的“削减”是什么? 5? 10?
我正在审查结果,在同一组中,我将CUSTOMER112与1,0,1,0,1作为他们的偏好与CUSTOMER 110(1,1,1,1,1),CUSTOMER106(1 ,1,1,1,0)等。 “距离”可能是正确的,但在给定的组中,我的客户在他们的偏好中存在一些相关的差异。
问题2:我不知道是否完全忽略了聚类,我使用的代码甚至是数据集。根据您的经验,在这种情况下,您最佳聚类的方法是什么?
任何评论都将受到高度赞赏。如你所见,我做了一些努力,但仍有疑问。
非常感谢!
里卡多