Можно ли запустить алгоритм кластеризации с кусочными матрицами расстояний? - PullRequest
0 голосов
/ 28 октября 2018

У меня есть матрица расстояний / различий (30K строк, 30K столбцов), которая рассчитывается в цикле и сохраняется в ПЗУ.

Я бы хотела провести кластеризацию по матрице.Я импортирую и кластеризую его, как показано ниже:

Mydata<-read.csv("Mydata.csv")
Mydata<-as.dist(Mydata)
Results<-hclust(Mydata)

Но когда я конвертирую матрицу в dist объект, я получаю ошибку ограничения ОЗУ.Как я могу справиться с этим?Можно ли запустить алгоритм hclust в цикле / чанкинге?Я имею в виду, что я делю матрицу расстояний на куски и запускаю их в цикле?

1 Ответ

0 голосов
/ 03 ноября 2018

Вы можете попробовать следующее:

Mydata<-read.csv("Mydata.csv")
Mydata<-as.matrix(Mydata)
Mydata<-as.dist(Mydata)
Results<-hclust(Mydata)

Прочитайте следующее, чтобы отследить, что происходит в вашей сессии: http://adv -r.had.co.nz / memory.html

В целом это может быть полезно: https://cran.r -project.org / web / packages / fastcluster / А также этот вопрос: hclust () в R для больших наборов данных

Это также зависит от вашей ОС, но, возможно, вы можете изменить ограничение ОЗУ (или просто запустить этот код на чужом компьютере с большим объемом ОЗУ, сохранить объект с помощью saveRDS, а затем прочитать его на своем компьютере).используя readRDS).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...