使用 Hopkins Statistics 评估数据集的聚类性

Assessing clusterability of a dataset with Hopkins Statistics

我想用霍普金斯统计评估我的超过 80.000 个变量的数据集的聚类能力。我从 n= 80.000 开始。由于 n 显然太高,我将其减少到 10。但仍然收到相同的错误消息:

错误:无法分配大小为 2511.3 Gb 的向量

clustab <- get_clust_tendency(WKA_ohneJB, 10, graph = TRUE, gradient = list(low = "red", + mid = "white", high = "blue"))

除了解决这个问题,我还有一个问题:你能取的最大数(n)是多少?

3。导入 csv 文件

WKA_ohneJB <- read.csv("WKA_ohneJB.csv", header=TRUE, sep = ";", stringsAsFactors = FALSE)

4。验证结构

str(WKA_ohneJB)

5。列 BASKETS_NZ

的描述性统计

均值(WKA_ohneJB["BASKETS_NZ"]) # 1.023035

中位数(WKA_ohneJB["BASKETS_NZ"]) # 1

var(WKA_ohneJB["BASKETS_NZ"]) # 0.06871633

sd(WKA_ohneJB["BASKETS_NZ"]) # 0.262138

范围 (WKA_ohneJB["BASKETS_NZ"]) # 0 49

历史 (WKA_ohneJB["BASKETS_NZ"])

6。摘要描述统计

总结(WKA_ohneJB)

7。评估数据集的聚类性

clustab <- get_clust_tendency(WKA_ohneJB, 10, graph = TRUE, gradient = list(low = "red", 中 = "white", 高 = "blue"))

WKA_ohneJB$hopkins_stat

您收到的错误表示获取内存失败(更多信息请参见 memory limits in R)。

要增加分配给 R 的内存量,您可以使用 memory.limit

memory.limit(size = NA)

如文档中所述,大小

numeric. If NA report the memory limit, otherwise request a new limit, in Mb. Only values of up to 4095 are allowed on 32-bit R builds, but see ‘Details’.

阅读详情

If 32-bit R is run on most 64-bit versions of Windows the maximum value of obtainable memory is just under 4Gb. For a 64-bit versions of R under 64-bit Windows the limit is currently 8Tb.

或者直接使用

memory.size(max = TRUE)

(如果为 TRUE,则报告从 OS 获得的最大内存量)

因此,如果您有 64 位 Windows10,增加分配的内存应该可以解决您的问题。