我有一个列有特定特征的个体的应急表。为了简单起见,让我们假设表中有单独的列,以及他们喜欢的食物类型:
| Pizza | Spinach | Cheese |
|-------|-------|---------|--------|
| Tom | 0 | 1 | 1 |
| Jerry | 1 | 0 | 0 |
| Marie | 0 | 0 | 1 |
| Alex | 1 | 0 | 1 |我想把有相似品味的人聚在一起。做这件事最好的方法是什么?分层聚类是否适合这类数据?K模式有用吗?
我还想知道哪种食物是最适合这些集群的分离器。通信分析能帮到我吗?
最后,我想知道哪些食物是相关的。我能用Spearman系数来处理这类数据吗?
发布于 2018-04-03 18:56:09
你可以使用潜在类模型(见Goodman,L.,1974 )。探索性潜结构分析使用可识别和不可识别的模型。Biometrika 61 (2),215-231)该方法通过多项分布的混合达到聚类的目的。
如果您想知道哪些食物是聚类的最佳分隔器,则可以检查每个组件的多项式分布参数。此外,您还可以使用模型估计同时执行变量选择。
这种方法(有和没有变量选择)是在R包VarSelLCM中实现的。下面是一个示例(考虑到数据存储在对象"x“中)。
library(VarSelLCM)
x <- as.data.frame(x)
for (j in 1:ncol(x)) x[,j] <- as.factor(x[,j])
# Clustering with variable selection and a number of cluster between 1 and 4
# Model selection is BIC (to use MICL, the option must be specified)
out <- VarSelCluster(x, 1:4, nbcores = 2)
# partition
out@partition@zMAP
# summary
summary(out)https://datascience.stackexchange.com/questions/29823
复制相似问题