2

我正在使用带有 8 GB RAM 机器(MacBook Pro)的 RStudio。我还在 AWS 中使用具有 15 GB RAM 的 RStudio Server。

两者似乎都无法以 800,000+ 条记录的数据大小完成 som()。100,000 条记录似乎也永无止境。

我想知道 R kohonen 包是否有实际的数据大小限制?随后,我应该如何处理此类大数据的 SOM?

更新:RStudio 服务器最终以错误结束:

矩阵中的错误(0,nd * ncodes,nmaps):无效的'nrow'值(太大或NA)另外:警告消息:In nd * ncodes:整数溢出产生的NA

那么限制是多少呢?

4

2 回答 2

2

我有同样的问题,原来我没有将一些数据转换为矩阵。

kohonen 包不能很好地处理数据帧。确保使用:

as.matrix(data)

例如

som_model <- som(data = as.matrix(trainingset), grid = som_grid, rlen=1000, alpha=c(0.05,0.01), 
             keep.data = TRUE,
             n.hood="circular" )
prediction <- predict(som_model, newdata = as.matrix(testset), trainX = as.matrix(trainingset), trainY=cl )
于 2015-06-17T21:24:14.913 回答
0

我没有使用“trainingset”作为trainX,而是回收了som_model的数据(因为keep.data = TRUE),所以当空间受限时,我不必为trainX保留额外的数据集。

prediction <- predict(som_model, newdata = as.matrix(testset), trainX = som_model$data, trainY=cl )
于 2016-04-11T23:40:29.023 回答