将Java数组作为ELKI DBSCAN的输入传递

时间:2014-05-30 12:51:36

标签: cluster-analysis data-mining dbscan elki

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

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

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

1 个答案:

答案 0 :(得分: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上使用欧几里德距离;而是仔细构建一个特定领域的相似性度量。