我有90000条客户细分记录,包括数字、标称和序数变量:
*houselhold_ID* ID for household
*quantity*: integer, number of products bought
*price*: values 1 to 3 with 1 for 0-5, 2 for 5-8 and 3 for 8-10
*product name*: nominal values 1 to 9 representing 9 different products like different kind of cheese...
*duration*: days from the current buy to the next buy.
*age*: catgeorical age groups: 1: 0-24 years, 2: 25-39 years, 3: 40-59 etc.
*salary*: 1: to 1499 2 : 1500 bis 2499 3 : 2500 bis 3499 4 : 3500 or more
*number_of_persons_household*: integer
*price_con*: price conscious: 1 to 4 for not price conscious
to very price conscious
*education*: 1 to 3 for lower education to high school/university.我已经做了异常点的检测,并删除了他们的小频率。大多数家庭有40次购买。
我想在R中进行聚类分析,以便在这些数据中找到模式。
我目前运行kmodes,并希望测试kproto。
但我的问题是:
有什么可能像Hopkin统计数据那样的聚类,比如数值吗?
如果我有两个以上的类,是否也有一种可视化?这样就可以将数据点可视化到组中。
也许有人有处理这类数据的经验。我对分析这些数据的提示和技巧持开放态度。
编辑:
下面是kmodes的肘形图,共有15次迭代和20000条记录,全部为90000次:

那么2或3个簇是好的吗?
EDIT2:
我现在在R中做了一个多因素分析,另外,我做了一些持续时间变量的工程。我将变量分为三组,分别按低、中、高时长的平均分位数和分位数划分。
library("FactoMineR")
library("factoextra")
res.mfa <- MFA(dat[1:20000,],
group = c(1, 1, 1, 1,1,1,1,1,1),
type = c("c", "n", "n", "n", "n","c","n","n","n"),
name.group = c("quantity","price","product",
"age","salary","persn","price_con","edu", "duration"),
graph = FALSE)我对每个变量都使用了一个组。结果似乎很糟糕。只有30%的方差可以用6个维度来解释?!这么糟?

有什么想法吗?
发布于 2017-11-19 23:14:13
尝试HAC与高尔的相似性。
这是一种非常启发式的方法--没有什么能使你免于加权变量--但值得一试。
https://datascience.stackexchange.com/questions/24923
复制相似问题