Я искал scipy и sklearn для алгоритмов кластеризации для конкретной проблемы, которую у меня есть. Мне нужно каким-то образом характеризовать популяцию N частиц в k группах, где k не обязательно известно, и в дополнение к этому не известны априорные длины связывания (аналогично этому question).Алгоритмы кластеризации Python
Я попытался kmeans, который хорошо работает, если вы знаете сколько кластеров вы хотите. Я пробовал dbscan, который плохо работает, если вы не tell это характерная шкала длины, на которой перестать искать (или начинать искать) кластеры. Проблема в том, что у меня есть потенциально тысячи этих кластеров частиц, и я не могу тратить время на то, чтобы рассказать алгоритмы kmeans/dbscan, из чего они должны уйти.
Вот пример того, что dbscan найти:
Вы можете видеть, что есть на самом деле два отдельных населения здесь, хотя регулировки коэффициента эпсилон (максимальное расстояние между соседними параметром кластеров.), Я просто не могу чтобы увидеть эти две популяции частиц.
Есть ли другие алгоритмы, которые будут работать здесь? Я ищу минимальную информацию заранее - другими словами, я бы хотел, чтобы алгоритм мог принимать «умные» решения о том, что может представлять собой отдельный кластер.
В зависимости от ядра Mean Shift вы можете немного ускорить его. Вот достойный пост, описывающий некоторые оптимизации, которые вы можете использовать, чтобы сделать средний сдвиг более масштабируемым. http://sociograph.blogspot.com/2011/11/accessible-introduction-to-mean-shift.html – mattnedrich
Спасибо за информацию - я проверю это. – astromax
MeanShift требует «пропускной способности» в качестве входного сигнала, не звучит как «NO a priori» для меня? –