Об этом сообщалось как об ошибке - [Wekalist] DBScan - Проблема / Ошибка с "clusterInstance ()" - Функция .
Я делаю кластеризацию с библиотекой DBScan. К сожалению это
Кажется, что есть ошибка в функции "clusterInstance ()".
функция не возвращает номер назначенного кластера, а только
возвращает номер кластера первого элемента базы данных (или
второй на второй звонок, третий на третий звонок и т. д.)
а НЕ назначенный экземпляр.
Это просто не может работать, потому что назначенная переменная никогда не используется в
функция.
Ответ гласит:
DBScan и Optics являются вкладом в Weka. Это, вероятно, лучше, если вы
свяжитесь с авторами, чтобы узнать, могут ли они предложить исправление ошибки. Код и
Информация о пакете (Weka 3.7) имеет контактную информацию:
http://weka.sourceforge.net/packageMetaData/optics_dbScan/index.html
Боюсь, я не знаком с алгоритмом DBScan, а код довольно старый (2004 год), возможно, вам повезет, и вы по-прежнему сможете связаться с авторами в LMU Munich.
Я нашел многочисленные копии этого с помощью Google Code Search и GitHub , но я не смог найти пример, где это было исправлено. Во время поиска я заметил несколько других реализаций DBScan, которые вы могли бы изучить, чтобы выяснить, как это можно исправить (например, DBSCAN ELKI )
Как я уже сказал, я незнаком с DBScan, но просмотр JavaDocs дал мне впечатление, что фактическая кластеризация вызывается путем вызова buildClusterer (экземпляры Instances) . Изучение исходного кода в методе buildClusterer , по-видимому, происходит гораздо больше, чем в методе clusterInstance . OPTICS.java также содержит метод clusterInstance, который просто вызывает исключение. Если вам повезло, возможно, вы можете обойтись без действующего метода clusterInstance .
Я нашел пример использования DBScan в Weka: DBSCANClustering.java