【问题标题】:cluster analysis on a dataset which consist of categorical and continuous data?对包含分类数据和连续数据的数据集进行聚类分析?
【发布时间】:2018-12-26 12:42:49
【问题描述】:

我以前从未做过聚类分析,我整齐地按照一本关于如何在 R 中进行聚类分析的书的步骤进行操作。

R 中聚类分析实用指南:无监督机器学习:第 1 卷(多变量分析),Alboukadel Kassambara 先生

但是我遇到了一个问题,因为在书中数据标准化取代了数字变量,但是我有一个由 13 个变量组成的数据集,其中大多数是分类。我查阅了 google 和一些 stackoverflow 问题,但找不到明确的答案,即如何处理分类变量和连续变量组合的聚类分析。有些人提到层次聚类,而另一些人则鼓吹另一种算法,所以我有点不知所措应该将哪种算法应用于由分类变量和离散变量组成的数据集。

【问题讨论】:

  • 前段时间我遇到了同样的问题,所以我发现了函数kproto。你可能想看看它。
  • 请注意,我将此标记为迁移到 Cross Validated,即统计 SE 站点。您更有可能在那里找到有关要使用的算法的帮助,并且值得查看已经在集群中的帖子
  • @akash87 非常感谢您告诉我!试图安装包clustMixType',但是我收到以下错误,包''clustMixType'不可用(对于R版本3.4.0)你知道这个包需要哪个版本的Rstudio吗?
  • 我有3.4.4版
  • 没有终极的“一刀切”的解决方案。您应该尝试分层聚类和所有其他方法。

标签: r cluster-analysis


【解决方案1】:

聚类分析是关于距离的。

您可以通过几个步骤解决您的问题:

第 1 步:定义值之间的距离。

您可以使用cluster 包中的daisy() 快速获取距离指标。此函数适用于连续变量和分类变量的混合。

第 2 步:集群。

您可以对新形成的距离矩阵使用多种算法。层次聚类将提供可视化表示,您可能会发现它有助于确定您希望在分析中支持的聚类数量。

示例

示例数据:

a      b     c      d
frog   lamp  llama  7.8 
frog   onion cat    4.3
frog   lamp  soup   1.3
monkey onion  cat   8.1
dragon onion  llama  3.6

代码:

library(cluster)

#make the distance matrix
dist<-daisy(df)

#make a hierarchical cluster model
model<-hclust(dist)

#plotting the hierarchy
plot(model)

#cutting the tree at your decided level
clustmember<-cutree(model,3) 

#adding the cluster member as a column to your data
df1<-data.frame(df,cluster=clustmember)

结果:

a      b     c      d    cluster
frog   lamp  llama  7.8    1
frog   onion cat    4.3    2
frog   lamp  soup   1.3    1
monkey onion  cat   8.1    2
dragon onion  llama  3.6   3

【讨论】:

  • 非常感谢你的代码,但是我想知道一些东西:首先我想知道是否在菊花功能中,我应该添加 gower,因为根据菊花文档 gower 是专门为分类变量,此外,我想知道应该由谁来确定 clustmember 函数中的切割级别数
  • 当某些列不是数字时,会自动选择 Gower。将它添加到代码中没有害处,但没有必要。可以通过多种方式确定要使用的集群数量。聚类没有“正确”答案,只有一个你可以为之辩解的答案。该站点是关于层次聚类和选择多个聚类的方法的重要资源:uc-r.github.io/hc_clustering
  • 感谢链接,我有一个额外的问题,我在进行聚类之前,是否应该删除 Na 值?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-16
  • 2022-09-27
  • 2020-10-10
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多