【发布时间】:2014-07-02 19:00:33
【问题描述】:
这是previous question 的后续内容,我们在其中评论说,使用欧几里得距离和经纬度坐标不会产生正确的结果。 我在文档中读到ELKI enables geographic data,即它的距离函数,存在于各种聚类算法中。 在 ELKI 的用户界面中,我可以看到有一些选项可以将默认距离函数 (euclidian) 替换为更合适的函数。我还看到,在这种情况下,您需要提供一个数据,这是有道理的,因为您必须告诉 ELKI 数据是如何投影的。 我在 UI 中的选项是使用“geo.LngLatDistanceFunction”,因为我使用的是 (x,y) 坐标并使用“WGS84SpheroidEarthModel”,因为数据位于 epsg:4326 中。 我正在尝试在 Java 中相应地对我的算法进行参数化,但我不知道该怎么做: 如果我像这样初始化我的参数:
ListParameterization params2 = new ListParameterization();
params2.addParameter(de.lmu.ifi.dbs.elki.algorithm.clustering.DBSCAN.Parameterizer.MINPTS_ID, minPoints);
params2.addParameter(de.lmu.ifi.dbs.elki.algorithm.clustering.DBSCAN.Parameterizer.EPSILON_ID, epsilon);
我可以这样设置距离函数吗?
params2.addParameter(de.lmu.ifi.dbs.elki.algorithm.DistanceBasedAlgorithm.DISTANCE_FUNCTION_ID,
de.lmu.ifi.dbs.elki.distance.distancefunction.geo.LngLatDistanceFunction.class);
geo.model 呢? (我不知道这个)
【问题讨论】:
标签: cluster-analysis data-mining geo dbscan elki