Questions tagged «clustering»

聚类分析是根据数据的相互“相似性”将数据划分为对象子集的任务,而无需使用诸如类标签之类的现有知识。[群集标准错误和/或群集样本应被标记为此类;不要为它们使用“集群”标签。]

4
聚类相关矩阵
我有一个相关矩阵,该矩阵说明每个项目如何与另一个项目相关。因此,对于N个项目,我已经具有N * N个相关矩阵。使用此相关矩阵,如何将N个项目聚类在M个仓中,以便可以说第k个仓中的Nk个项目表现相同。请帮我。所有项目值都是分类的。 谢谢。请让我知道是否需要更多信息。我需要使用Python解决方案,但是任何将我推向要求的帮助都会有很大帮助。

5
是否有一个R函数可以计算余弦相似度矩阵?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为交叉验证的主题。 去年关闭。 我想通过基于余弦距离的行聚类制作一个热图。我正在使用R并heatmap.2()制作数字。我可以看到其中有一个dist参数,heatmap.2但是找不到用于生成余弦相异度矩阵的函数。内置dist函数不支持余弦距离,我还发现了一个arules带有dissimilarity()函数的包,但仅适用于二进制数据。


8
用R聚类混合数据
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我想知道是否可以在R中执行具有混合数据变量的数据聚类。换句话说,我有一个同时包含数值和分类变量的数据集,我正在寻找对其进行聚类的最佳方法。在SPSS中,我将使用两步式群集。我想知道是否可以在R中找到类似的技术。有人告诉我有关poLCA软件包的信息,但我不确定...


4
对于分类数据,是否存在没有变量相关的聚类?
当试图解释聚类分析时,人们常误认为该过程与变量是否相关有关。让人们摆脱困惑的一种方法是像这样的情节: 这清楚地显示了是否存在聚类问题和变量是否相关的问题之间的区别。但是,这仅说明了连续数据的区别。我在考虑具有分类数据的类比时遇到麻烦: ID property.A property.B 1 yes yes 2 yes yes 3 yes yes 4 yes yes 5 no no 6 no no 7 no no 8 no no 我们可以看到有两个清晰的集群:拥有属性A和B的人,以及没有财产的人。但是,如果我们查看变量(例如,使用卡方检验),则它们显然是相关的: tab # B # A yes no # yes 4 0 # no 0 4 chisq.test(tab) # X-squared = 4.5, …



3
为什么k-means的差异统计表明一个聚类,即使显然有两个?
我正在使用K-means对数据进行聚类,并且正在寻找一种建议“最佳”聚类编号的方法。间隙统计似乎是找到一个好的簇号的常用方法。 由于某种原因,它返回1作为最佳群集数,但是当我查看数据时,很明显有2个群集: 这就是我所说的R中的差距: gap <- clusGap(data, FUN=kmeans, K.max=10, B=500) with(gap, maxSE(Tab[,"gap"], Tab[,"SE.sim"], method="firstSEmax")) 结果集: > Number of clusters (method 'firstSEmax', SE.factor=1): 1 logW E.logW gap SE.sim [1,] 5.185578 5.085414 -0.1001632148 0.1102734 [2,] 4.438812 4.342562 -0.0962498606 0.1141643 [3,] 3.924028 3.884438 -0.0395891064 0.1231152 [4,] 3.564816 3.563931 -0.0008853886 0.1387907 [5,] 3.356504 3.327964 -0.0285393917 …

1
在稀疏数据矩阵上运行的聚类算法
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为交叉验证的主题。 5年前关闭。 我正在尝试编译以下群集算法列表: 在R中实施 对稀疏数据矩阵(不是(非)相似性矩阵)进行操作,例如由sparseMatrix函数创建的矩阵。 关于CV的其他几个问题都在讨论这个概念,但是这些问题都没有链接到可以直接在稀疏矩阵上运行的R包: 聚类大型稀疏数据集 聚类高维稀疏二进制数据 寻找稀疏和高维聚类实现 节省空间的集群 到目前为止,我已经在R中找到了一个可以聚类稀疏矩阵的函数: skmeans:球形kmeans 来自skmeans包。kmeans使用余弦距离。在dgTMatrix对象上操作。提供与遗传k均值算法,pclust,CLUTO,gmeans和kmndirs的接口。 例: library(Matrix) set.seed(42) nrow <- 1000 ncol <- 10000 i <- rep(1:nrow, sample(5:100, nrow, replace=TRUE)) nnz <- length(i) M1 <- sparseMatrix(i = i, j = sample(ncol, nnz, replace = TRUE), x = sample(0:1 , nnz, …
18 r  clustering  sparse 

4
真实数据中是否确实存在“维数诅咒”?
我了解什么是“维数的诅咒”,我做了一些高维优化问题,并且知道了指数可能性的挑战。 但是,我怀疑大多数现实数据中是否存在“维数的诅咒” (让我们暂时搁置图像或视频,我正在考虑诸如客户人口统计数据和购买行为数据之类的数据)。 我们可以收集具有数千个要素的数据,但是即使要素不可能完全跨越具有数千个维度的空间,这种可能性也很小。这就是为什么降维技术如此流行的原因。 换句话说,数据很可能不包含指数级的信息,即,许多要素高度相关,许多要素满足80-20条规则(许多实例具有相同的值)。 在这种情况下,我认为像KNN这样的方法仍然可以正常工作。(在大多数书中,“维数的诅咒”说维数> 10可能是有问题的。在他们的演示中,他们在所有维上使用均匀分布,而熵确实很高。我怀疑在现实世界中这种情况是否会发生。) 我对真实数据的个人经验是,“维数诅咒”不会过多地影响模板方法(例如KNN),并且在大多数情况下,约100维仍然有效。 这对其他人来说是真的吗?(我使用不同行业的真实数据工作了5年,从未见过书中所述的“所有距离对都具有相似的值”。)

2
聚类—克莱因伯格不可能定理的直觉
我一直在考虑写一篇有关Kleinberg(2002)的有趣分析的博客文章,该文章探讨了聚类的困难。克莱伯格(Kleinberg)概述了三个看似直观的聚类功能,然后证明不存在这种功能。有许多聚类算法可以满足这三个标准中的两个。但是,没有一个功能可以同时满足这三个条件。 简要和非正式地,他概述了三个愿望: Scale-Invariance:如果我们对数据进行转换以使所有内容在各个方向上均等地伸展,则聚类结果不应更改。 一致性:如果我们拉伸数据以使聚类之间的距离增加和/或聚类内的距离减小,则聚类结果不应更改。 丰富性:理论上,聚类函数应该能够产生任意的数据点分区/聚类(在不知道任何两点之间的成对距离的情况下) 问题: (1)是否有一个良好的直觉,几何图形可以显示这三个标准之间的不一致? (2)这是指本文的技术细节。您必须阅读上面的链接才能理解问题的这一部分。 在本文中,定理3.1的证明对于我而言有些困难。我被困在:“让是一个满足一致性的聚类函数。我们声称,对于中的任何分区,都存在正实数,从而该对是强制。”Γ &Element; 范围(˚F )一个&lt; b (一,b )ΓfffΓ∈Range(f)Γ∈Range(f)\Gamma \in \text{Range}(f)a&lt;ba&lt;ba < b(a,b)(a,b)(a, b)ΓΓ\Gamma 我不知道这是怎么回事...下面的分区不是(例如,群集之间的最小距离大于群集内的最大距离)的反例吗?a&gt;ba&gt;ba > b 编辑:这显然不是一个反例,我使自己感到困惑(请参阅答案)。 其他论文: Ackerman和Ben-David(2009)。聚类质量的度量:聚类的公理集 指出“一致性”公理的一些问题

9
兰德指数计算
我试图弄清楚如何计算群集算法的兰德指数,但我被困在如何计算真假阴性的问题上。 目前,我正在使用《信息检索入门》一书中的示例(Manning,Raghavan和Schütze,2009年)。在第359页,他们讨论了如何计算兰德指数。在此示例中,他们使用三个群集,并且这些群集包含以下对象。 a abbbbc 交流会 我替换了对象(原始符号改为字母,但是想法和计数保持不变)。我将给出书中确切的词,以查看他们在说什么: 我们首先计算TP + FP。这三个群集分别包含6、6和5个点,因此同一群集中的“阳性”或成对的文档总数为: TP + FP = ( 62)(62){6 \choose 2} + (62)(62){6 \choose 2} + (52)(52){5 \choose 2} = 15 + 15+ 10 = 40 其中,簇1中的a对,簇2中的b对,簇3中的c对以及簇3中的a对为正数: TP = (52)(52){5 \choose 2} + (42)(42){4 \choose 2} + (32)(32){3 \choose 2} + (22)(22){2 \choose 2} …
17 clustering 


8
聚类质量测度
我有一个输入参数为(聚类数)的聚类算法(不是k均值)。执行聚类后,我想对这种聚类的质量进行一些定量的衡量。聚类算法具有一个重要的特性。对于如果我将数据点之间没有任何明显区别地馈入该算法,结果我将得到一个包含数据点的群集和一个包含1个数据点的群集。显然这不是我想要的。因此,我想计算此质量度量以估计此聚类的合理性。理想情况下,我将能够比较不同k的度量。所以我将在k范围内运行聚类kkkk=2k=2k=2NNNN−1N−1N-1111kkkkkk并选择质量最好的一种。我该如何计算这种质量指标? 更新: 这是是不良聚类的示例。假设在形成等边三角形的平面上有3个点。将这些点分为2个群集显然比将它们分为1个或3个群集要差。(N−1,1)(N−1,1)(N-1, 1)
17 clustering 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.