Използване на функцията за претеглено евклидово разстояние за DBSCAN в ELKI

Експериментирам с ELKI (което е страхотно, между другото) и бих искал да опитам функцията за претеглено евклидово разстояние като метрика за алгоритъма DBSCAN.

Първо, не знам как работи, освен това.

Опитах няколко стойности за параметъра distance.weights. Ако вмъкна например 3,1 в неговото поле, ето какво получавам, след като натисна ENTER:

Екранна снимка

Все още мога да изпълня задачата, но не виждам разлика в резултатите, независимо от стойностите, които вмъквам.

Може ли някой да даде кратко обяснение за това как работи функцията и евентуално какво правя погрешно?

Благодаря предварително.


person BSheep    schedule 24.07.2017    source източник
comment
Тъй като 1*x=x, тегло 1 не променя нищо. Теглата са линейни коефициенти на мащабиране.   -  person Erich Schubert    schedule 24.07.2017
comment
Здравей Ерих! Беше само за илюстрация, но признавам, че беше лош пример. Редактирах и промених стойностите. Нормално ли е да получавам 1.0,0.0 след натискане на ENTER?   -  person BSheep    schedule 25.07.2017
comment
Ако въведете 1,0 тогава да. Стандартният двоен формататор ще форматира 1 като 1.0. Тегло 0 = игнорирайте тази колона. В зависимост от вашите данни, втората колона може просто да няма влияние, тогава промяната на теглото няма да промени резултата. Какви данни използвате?   -  person Erich Schubert    schedule 26.07.2017
comment
Всъщност в горния пример въведох 3,1. Моите данни имат две колони, x и y, представляващи координати в декартовата равнина.   -  person BSheep    schedule 31.07.2017
comment
Не трябва да превръща 3,1 в 1,0; вероятно е имало бъг преди година във функцията, преобразуваща това обратно в низ (имам неясен спомен за бъг „off-by-one“ в рядко използвания клас параметър с двоен списък). Но това вече не ми се случва във версията Git, моля, използвайте най-новия код вместо това.   -  person Erich Schubert    schedule 01.08.2017