Как использовать ELKI для DBSCAN с предварительно вычисленной матрицей расстояний

У меня есть предварительно вычисленная матрица расстояний для всех точек в моей базе данных. Я пытаюсь вызвать ELKI GUI с помощью следующей команды:

            /usr/share/java/elki.jar 
            -dbc.in xml_files.1000 
            -dbc.filter FixedDBIDsFilter 
            -dbc.startid 0 
            -algorithm clustering.DBSCAN 
            -algorithm.distancefunction external.FileBasedDoubleDistanceFunction 
            -distance.matrix Distance.txt 
            -dbscan.epsilon 1 
            -dbscan.minpts 10

Но я продолжаю получать следующее сообщение об ошибке:

Неверный формат параметра! Параметр "dbscan.epsilon" требует значения расстояния, но расстояние не было установлено!

Я не могу понять, что я делаю не так здесь...

1 ответ

Решение

Какую версию ELKI вы используете?

Это сообщение об ошибке обычно указывает на проблему с анализатором расстояния, используемым считывателем матрицы.

Поскольку ELKI поддерживает различные функции значений расстояния, DBSCAN не может анализировать параметр epsilon, пока не будет известен фактический тип значения расстояния (который обеспечит функцию анализа значения).

Любое более раннее сообщение об ошибке? Если у вас есть какая-либо более ранняя ошибка (включая пропущенные обязательные параметры), это не позволит DBSCAN проанализировать значение.

Попробуйте установить значение epsilon последним, а также попробуйте командную строку. В MiniGUI из-за пошагового задания параметров эти параметры динамического типа, к сожалению, могут быть нестабильными. Любой патч для улучшения обработки таких параметров приветствуется.

Другие вопросы по тегам