2

我已经能够使用 Java 代码将 ELKI 用于 DBSCAN,并且与任何其他工具相比,它的速度非常快。到目前为止,我正在使用 CSV 文件并使用以下内容作为输入。

params.addParameter(FileBasedDatabaseConnection.Parameterizer.INPUT_ID,fileLocation)

我想知道如何将 (lat,long,timestamp) 数组作为输入而不是 CSV 文件传递​​。我无法弄清楚。

4

1 回答 1

3

早上好。

这就是上课ArrayAdapterDatabaseConnection的目的。

DatabaseConnection dbc = new ArrayAdapterDatabaseConnection(...);

// Pass an instance, not a class, as parameter.
params.addParameter(
    AbstractDatabase.Parameterizer.DATABASE_CONNECTION_ID, dbc);

或者,您可以实现自己的DatabaseConnectionParser.

使用纬度、经度、时间戳时,请注意距离和类型。不要在 lat,long,timestamp 上使用欧几里得距离;而是仔细构建特定领域的相似性度量。

于 2014-06-02T07:07:11.420 回答