我正在使用带有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
那么限制是什么?
答案 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 )