R kohonen:最大数据量有多大?整数溢出错误

时间:2015-02-11 15:11:10

标签: r som

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

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

我想知道R kohonen包的实际数据大小限制是否存在? 接下来,我应该如何处理这些大数据的SOM?

更新: RStudio服务器终于完成了错误:

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

那么限制是什么?

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,原来我没有把一些数据转换成矩阵。

kohonen包不能很好地处理数据帧。一定要使用:

as.matrix(data)

e.g。

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 )

答案 1 :(得分:0)

而不是使用&#39; trainingset&#39;作为trainX,我回收som_model的数据(因为keep.data = TRUE),所以当空间受到约束时,我不必为trainX保留额外的数据集。

prediction <- predict(som_model, newdata = as.matrix(testset), trainX = som_model$data, trainY=cl )