指定R中的簇数

时间:2016-10-31 08:45:29

标签: r cluster-analysis hierarchical-clustering hclust

R中是否有办法确定生成的集群数量而无需手动指定?

在对字母进行一些提取之后'从字符串值开始,我将带有30000个不同值的变量放入簇中,以确定哪些值应该被视为相同。因为有些值应该相同但空间,标点符号等不同。例如,

{{ form.non_field_errors }}

应归类为1

我制作了一个30000 x 30000矩阵,其中的元素是一个单词到另一个单词的距离。

'The From value must be smaller than the To value'

Kindly see the result dendogram

下面的代码是我用于较小数据的代码,但是,由于我无法检查由于大量输入而导致的情节,因此这不适用于此处。凌乱的树状图因此我无法检测到有多少簇被输出

Emilia Clarke
Emilia Clark e

我不知道要生成的集群数量。我依靠hclust本身的输出所以我没办法做cutree因为我需要指定参数k

#Get all letters from a string
 > extract_letters <- lapply(str_split(data01,""),function(x) names(table(x)))
#Get the distance of . I produced a 30000x30000 matrix
 > compute_dist  <- adist(extract_letters)
#Cluster
 > hc <- hclust(as.dist(compute_dist))
#Plot via dendogram
 > plot(hc)

1 个答案:

答案 0 :(得分:0)

已引入许多指数来确定集群数量。最常见的方法指标是差距指数,CH指数,DB指数,轮廓指数 这些索引中的大多数都试图最大化群集间变化,同时最小化群集内变化。

在NbClust包中引入了大约30个索引来确定分层和k-means聚类方法的簇数。您可以在NbClust包https://cran.r-project.org/web/packages/NbClust/NbClust.pdf上阅读更多