标签: cluster-analysis

每组有多个观测值的马哈拉诺比斯距离

我想计算物种群体之间的马哈拉诺比斯距离,其中:

  • i) 有两个以上的类群(两个以上的物种)。
  • ii) 有多个变量(此类物种的特征)需要考虑。
  • iii)每组有多个观察值(在数据框中,这意味着每个物种有不止一行)。

我试图了解在这种条件下如何在 R 中运行mahalanobis函数。这个问题类似于:

超过 2 个组的 R 上的马哈拉诺比斯距离

但在那里,只使用了一个变量。如果有多个变量怎么办呢?

下面有一个示例,我相信它再现了我的实际数据。

Sp. X1  X2  X3
A   0.7 11  215
B   0.8 7   214
B   0.8 6.5 187
C   0.3 4   456
D   0.4 3   111
A   0.1 7   205
A   0.2 7   196
C   0.1 9.3 77
D   0.6 8   135
D   0.8 4   167
B   0.4 6   228
C   0.1 5   214
A   0.4 7   156
C   0.5 2   344
Run Code Online (Sandbox Code Playgroud)

Sp。= …

statistics r cluster-analysis similarity mahalanobis

1
推荐指数
1
解决办法
2581
查看次数

3D 点的聚类

我有一个 3 维空间中包含大约 2000 万个点 (x,y,z) 的大型数据集。我知道这些点组织在密集区域中,但这些区域的大小各不相同。我认为标准的无监督 3D 聚类应该可以解决我的问题。

由于我无法先验估计簇的数量,因此我尝试使用 k 范围较宽的 k 均值,但速度很慢,而且我必须估计每个 k 分区的重要性。基本上,我的问题是:如何将点中最重要的部分提取到簇中?

cluster-analysis hierarchical-clustering spatial

1
推荐指数
1
解决办法
1186
查看次数

使用 k 均值聚类时,我可以通过 calinski 和 hrabasz 验证来确定 k 吗?

我想使用 python 中 scikit 包中的 calinski 和 harabasz 验证自动选择 k(k 均值聚类)(metrics.calinski_harabaz_score)。

我循环遍历所有聚类范围以选择 calinski_harabaz_score 的最大值

    for kClusterCnt in range(2, 21) :
       value = metrics.calinski_harabaz_score(datasets.data, kmCls.labels_)
Run Code Online (Sandbox Code Playgroud)

仅使用该方法是否有任何缺陷或错误?

python cluster-analysis k-means scikit-learn

1
推荐指数
1
解决办法
6071
查看次数

使用 Spark 进行聚类的异常检测程序

我正在使用 Apache Spark 开展多个项目,并且一直停留在异常/离群值检测部分。

我使用聚类技术来查找异常,其想法是异常/离群值将形成自己的聚类,这意味着被视为异常的数据点实际上是聚类中心。如果与数据量相关的异常值很少,则此方法有效,但如果有很多异常值,则此方法不起作用。到目前为止,这是我的代码:https: //github.com/Guillermo19/MyTest/blob/3511d33f5c7336adef04f2f93a69f1af7865e066/anomalyDetection.java

我确信我的离群点成为聚类中心的想法是正确的,但这取决于生成的聚类数量,并且到目前为止数据本身和聚类数量之间没有任何关系,所以我找不到一个根据可能的异常值的数量来增加聚类的方法。

我可以在程序中修复/修改哪些内容才能使用聚类正确显示异常值?

或者如果我可以使用不同的方法解决这个问题请告诉我。我个人认为聚类是查找异常值最可行、最好的方法之一......

编辑:这是我迄今为止一直在工作的数据,以及预期的异常结果:

第一个文件:

Name    Size    Records
File1   1000    104370
File2   997     103121
File3   1500    109123
File4   2170    113888
File5   2000    111974
File6   1820    110666
File7   1200    106771
File8   1500    108991
File9   1000    104007
File10  1300    107037
File11  1900    111109
File12  1430    108051
File13  1780    110006
File14  2010    114449
File15  2017    114889
File16  800     88812 //possible outlier. My program does indeed show this
File17  1307    107098
File18  1519    109321
File19  1641    110777
File20 …
Run Code Online (Sandbox Code Playgroud)

cluster-analysis data-mining apache-spark

1
推荐指数
1
解决办法
2127
查看次数

绘制 hclust() 的输出

我有一个 300x2 的数据矩阵,即 2 个变量的 300 个观察值。使用 R 中的 kmeans 函数,我可以按以下方式绘制生成的聚类:

data <- scale(data)
fit.kmeans <- kmeans(data, 3)
plot(data, col = fit.kmeans$cluster)
Run Code Online (Sandbox Code Playgroud)

这给出了原始数据的漂亮二维图,按簇着色。有没有使用 hclust 函数执行相同操作的简单方法?或者,是否有另一个函数可以让我实现不同的聚类方法并随后绘制结果聚类?提前致谢。

r cluster-analysis hierarchical-clustering

1
推荐指数
1
解决办法
7813
查看次数

使用 word2vec 和 Kmeans 进行聚类

我正在尝试使用 word2vec 和 Kmeans 进行聚类,但它不起作用。

这是我的部分数据:

demain fera chaud à paris pas marseille
mauvais exemple ce n est pas un cliché mais il faut comprendre pourquoi aussi
il y a plus de travail à Paris c est d ailleurs pour cette raison qu autant de gens",
mais s il y a plus de travail, il y a aussi plus de concurrence
s agglutinent autour de la capitale
Run Code Online (Sandbox Code Playgroud)

脚本:

import nltk
import pandas
import pprint
import numpy as np
import pandas …
Run Code Online (Sandbox Code Playgroud)

python cluster-analysis k-means python-3.x word2vec

1
推荐指数
1
解决办法
4405
查看次数

如何克服不定矩阵误差(NbClust)?

我在调用时收到以下错误NbClust()

NbClust(data = ds[, sapply(ds, is.numeric)], diss = NULL, distance = "euclidean", 中的错误:TSS矩阵不定,缺失值太多,无法计算索引。

ds <- ds[complete.cases(ds),]在运行 NbClust 之前调用过,因此没有缺失值。

知道这个错误背后是什么吗?

谢谢

cluster-analysis

1
推荐指数
1
解决办法
3024
查看次数

tslearn.clustering.TimeSeriesKMeans 与 sklearn.cluster.KMeans

如果我不使用 DTW 作为距离度量,那么 tslearn.clustering.TimeSeriesKMeans 和 sklearn.cluster.KMeans 是否相等?

如果不是,有人可以告诉我这两个软件包之间的主要区别是什么?

python cluster-analysis machine-learning time-series k-means

1
推荐指数
1
解决办法
3299
查看次数

在给定 x,y,z 坐标时使用 DBSCAN 算法使用 python 对 3D 点进行聚类

我试图在一些给定坐标的帮助下使用DBSCANpython 算法对一些 3D 点进行聚类。

例如:- 给定的坐标如下

  X      Y      Z

 [-37.530  3.109  -16.452]
 [40.247  5.483  -15.209]
 [-31.920 12.584  -12.916] 
 [-32.760 14.072  -13.749]
 [-37.100  1.953  -15.720] 
 [-32.143 12.990  -13.488]
 [-41.077  4.651  -15.651] 
 [-34.219 13.611  -13.090]
 [-33.117 15.875  -13.738]  e.t.c
Run Code Online (Sandbox Code Playgroud)

我对编程和搜索如何编写代码的示例脚本有点陌生。有人可以给出建议或例子吗?非常感谢。

python cluster-analysis machine-learning python-3.x dbscan

1
推荐指数
1
解决办法
2731
查看次数

大型有向图的社区检测

有向网络中的聚类和社区检测:调查中, Malliaros & Vazirgiannis (2013) 描述了许多用于有向图中聚类和社区检测的算法。我有一个相对较大的图,400.000 个节点,180.000.000 个边,正在寻找可以检测其中社区的软件,但是我研究过的网络分析程序( R 的igraph包)似乎没有任何功能能够检测大型有向网络中的簇的算法(igraph具有cluster_fast_greedy()cluster_louvain()但它们仅适用于无向图)。R 或 python 中是否有任何包可以做到这一点?

在一个非常大的图上的社区检测中提出了类似的问题,区别在于我需要 python 或 R 的包。

graph cluster-analysis directed-graph igraph

1
推荐指数
1
解决办法
4150
查看次数