Кластеризация, большой набор данных, изучение большого количества словарных слов - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь выполнить кластеризацию из большого набора данных dim: строк: 1,4 миллиона смещ_по_столбцы: 900

ожидаемое количество кластеров: 10 000 (10k)

Проблема: s ize моего набора данных 10Gb, и у меня RAM 16Gb . Я пытаюсь реализовать в Matlab. Для меня будет большой помощью, если кто-то может ответить на это.

P.S. До сих пор я пробовал с иерархической кластеризацией. в одной из статей они предложили перейти к « инкрементной предварительной кластеризации с фиксированным радиусом» . Но я не понял процедуру.

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

1 Ответ

0 голосов
/ 07 июля 2018

Используйте некоторый алгоритм, который не требует матрицу расстояний. Вместо этого выберите тот, который можно ускорить индексированием.

Anuthing с матрицей расстояния превысит вашу память. Но даже если этого не требуется (например, SLINK использует только O (n) памяти), это все равно может занять слишком много времени. Индексы могут сократить время выполнения до O (n log n), хотя в ваших данных индексы могут иметь проблемы.

Алгоритмы ускорения индекса, например: OPTICS, DBSCAN.

Только не используйте действительно плохие скрипты Matlab для этих алгоритмов.

...