Java 如何使用apache';s癌症聚集器

Java 如何使用apache';s癌症聚集器,java,matrix,cluster-analysis,Java,Matrix,Cluster Analysis,我有一个问题中提到的距离矩阵: 现在,我想使用apache中的DBSCANclusterer.java类在此矩阵上执行DBSCAN “群集”方法将点的集合作为输入。这些点的格式是什么 参考上述矩阵,我应该向集合参数添加什么 有人能粘贴一段代码吗?我想将距离指定为: A、 B:20 A、 C:20 . . 然后,当我完成聚类时,类似的样本应该聚集在一起。希望这有帮助 public class App { public static void main(String[] args) throw

我有一个问题中提到的距离矩阵:

现在,我想使用apache中的DBSCANclusterer.java类在此矩阵上执行DBSCAN

“群集”方法将点的集合作为输入。这些点的格式是什么

参考上述矩阵,我应该向集合参数添加什么

有人能粘贴一段代码吗?我想将距离指定为:

A、 B:20 A、 C:20 . .

然后,当我完成聚类时,类似的样本应该聚集在一起。

希望这有帮助

public class App {

public static void main(String[] args) throws FileNotFoundException, IOException {
    File[] files = getFiles("./files2/");

    DBSCANClusterer dbscan = new DBSCANClusterer(.05, 50);
    List<Cluster<DoublePoint>> cluster = dbscan.cluster(getGPS(files));

    for(Cluster<DoublePoint> c: cluster){
        System.out.println(c.getPoints().get(0));
    }                       
}

private static File[] getFiles(String args) {
    return new File(args).listFiles();
}

private static List<DoublePoint> getGPS(File[] files) throws FileNotFoundException, IOException {

    List<DoublePoint> points = new ArrayList<DoublePoint>();
    for (File f : files) {
        BufferedReader in = new BufferedReader(new FileReader(f));
        String line;

        while ((line = in.readLine()) != null) {
            try {
                double[] d = new double[2];
                d[0] = Double.parseDouble(line.split(",")[1]);
                d[1] = Double.parseDouble(line.split(",")[2]);
                points.add(new DoublePoint(d));
            } catch (ArrayIndexOutOfBoundsException e) {
            } catch(NumberFormatException e){
            }
        }
    }
    return points;
}
}

所有文件都位于名为files2的文件夹中,位置在getFiles方法中声明

那我该怎么办?另外,你能给我指出一个程序,它将上述矩阵作为输入并执行DBSCAN/层次聚类吗?我试着理解不同的程序。我经历了交叉验证和堆栈溢出。但它们都指向方法。我只想要一个程序,我可以提供上述矩阵并进行聚类。查找程序的问题与StackOverflow无关。这是一个编程网站。所以,要么你在谷歌上搜索更多(有可以读取外部距离矩阵的集群工具包),要么你自己尝试实现DBSCAN,这并不难……我这里的问题是一个编程问题。话虽如此,谢谢你的输入。你能告诉我文件的格式吗?文件中的数据应该是什么样子?Unixtimestamp、lat、lon
12-01-99 11:31:01 AM, -40.010, -70.020
12-01-99 11:32:01 AM, -41.010, -71.020
12-01-99 11:33:01 AM, -42.010, -72.020
12-01-99 11:34:01 AM, -43.010, -73.020
12-01-99 11:35:01 AM, -40.010, -74.020