我已经能够使用Java代码将ELKI用于DBSCAN,与其他任何工具相比,它的速度都非常快。 直到现在我正在使用CSV文件并使用以下内容将其作为输入。
params.addParameter(FileBasedDatabaseConnection.Parameterizer.INPUT_ID,fileLocation)
我想知道如何将(lat,long,timestamp)数组作为输入而不是CSV文件传递。我无法理解。
答案 0 :(得分:3)
早上好。
这是课程ArrayAdapterDatabaseConnection
的用途。
DatabaseConnection dbc = new ArrayAdapterDatabaseConnection(...);
// Pass an instance, not a class, as parameter.
params.addParameter(
AbstractDatabase.Parameterizer.DATABASE_CONNECTION_ID, dbc);
或者,您可以实施自己的DatabaseConnection
或Parser
。
当考虑纬度,经度,时间戳时要注意距离和类型。不要在lat,long,timestamp上使用欧几里德距离;而是仔细构建一个特定领域的相似性度量。