Я использую DBSCAN для кластеризации некоторых данных с помощью Scikit-Learn (Python 2.7):
from sklearn.cluster import DBSCAN
dbscan = DBSCAN(random_state=0)
dbscan.fit(X)
Однако я обнаружил, что не было встроенной функции (кроме «fit_predict»), которая могла бы назначать новые точки данных Y кластерам, идентифицированным в исходных данных, X. Метод K-средних имеет «прогноз» функции, но я хочу иметь возможность делать то же самое с DBSCAN. Что-то вроде этого:
dbscan.predict(X, Y)
Таким образом, плотность может быть выведена из X, но возвращаемые значения (назначения / метки кластера) предназначены только для Y. Насколько я могу судить, эта возможность доступна в R, поэтому я предполагаю, что она также каким-то образом доступна в Python. Я просто не могу найти для этого никакой документации.
Кроме того, я попытался найти причины, по которым DBSCAN нельзя использовать для маркировки новых данных, но я не нашел никаких оправданий.