Я получил почти такие же хорошие результаты с простой кластеризацией K-средних, как и все остальное, и это определенно быстрее, чем большинство альтернатив. Я также получил хорошие результаты с парной агломерацией, но это немного медленнее. Для K-средних вы должны начать с некоторого предполагаемого количества кластеров, но вы можете настроить его алгоритмически по мере продвижения. Если вы найдете два кластера со средствами, которые находятся слишком близко друг к другу, вы уменьшите количество кластеров. Если вы обнаружите кластеры с слишком большим диапазоном вариаций, попробуйте больше кластеров. Я нашел, что sqrt (N) - разумная отправная точка - но я обычно начинаю с 10 ^ 7 документов, а не с 10 ^ 9. Для 10 ^ 9, возможно, имеет смысл несколько уменьшить это.
Однако, если бы это зависело от меня, я бы очень задумался о том, чтобы начать с уменьшения размерности с помощью чего-то вроде Landmark MDS, , а затем , выполняющего кластеризацию.