Я использую функцию Sklearn алгоритма сдвига средних значений для оценки необходимого количества кластеров моих функций дескриптора SIFT.
ms = MeanShift(bin_seeding = True)
ms.fit(X)
labels = ms.labels_
cluster_centers = ms.cluster_centers_
labels_unique = np.unique(labels)
estimated_K = len(labels_unique)
X имеет общее количество функций 80 000, каждая из которых имеет длину 128 (просеивание). Что занимает много времени с MS. Я всегда получаю это сообщение об ошибке после запуска MS:
No point was within bandwidth of any seed.
Try a different seeding strategy or increase the bandwidth (Means-Shift)
Я попытался оценить требуемую пропускную способность, используя sklearn.cluster.estimate_bandwidth, которая дает значение около 485, также я пытался не устанавливать какое-либо значение пропускной способности (по по умолчанию) и это тоже не сработало. Я пробовал и другие значения, такие как 15, 500, .. et c.
Я не могу понять причину этой ошибки, какую еще стратегию мне использовать для раздачи? Может ли нормализация данных (X) решить эту проблему?