Как распараллелить функцию дианы, чтобы сделать разделительную кластеризацию в R? - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть категориальные данные, которые я хотел бы сгруппировать, сначала сгенерировав матрицу различий с использованием метрики gower; затем делим кластеризацию с помощью функции diana. Тем не менее, мои данные - это фрейм данных с 19528x72 элементами. Таким образом, когда я генерирую матрицу различий, она имеет 190661628 элементов, что довольно много. Я запустил функцию

divisive.clust <- diana(as.matrix(gower_dist), diss = TRUE, keep.diss = TRUE)

, но она работала несколько дней и все еще работала. Даже попытка keep.diss = FALSE не помогла.

Мой вопрос; мы можем запустить эту функцию параллельно? Я думал реализовать распараллеливание внутри функции, но базовый код слишком сложен, и я не увидел в коде l oop. Даже если нет способа распараллелить эту функцию, существует ли какой-либо другой метод для создания разделяющей кластеризации с использованием матрицы различий или функции, имеющей встроенный параметр gower metri c?

Моя система является рабочая станция с 32-ядерным процессором, и я использую linux.

Заранее спасибо

...