【问题标题】:weka DBSCAN clustering, how to get the core pointweka DBSCAN聚类,如何获取核心点
【发布时间】:2023-03-07 18:56:01
【问题描述】:

我正在使用DBSCAN对数据进行聚类,聚类后,对于每个聚类我想获取核心点的数据属性值,有没有办法做到这一点?

 private static void ClusteringDemo(String filename) throws Exception {
    ClusterEvaluation eval;
    Instances  data;
    DBSCAN cl;
    data = DataSource.read(filename);

    // manual call
    cl  = new DBSCAN();
    cl.setMinPoints(6);
    cl.setEpsilon(0.05);
    cl.buildClusterer(data);
    eval = new ClusterEvaluation();
    eval.setClusterer(cl);
    eval.evaluateClusterer(new Instances(data));
    System.out.println(eval.clusterResultsToString());

    //setup visualization
    PlotData2D predData = ClustererPanel.setUpVisualizableInstances(data, eval);
    VisualizePanel vp = new VisualizePanel();
    vp.addPlot(predData);

    // display data
    JFrame jf = new JFrame("Weka Clusterer Visualize: " + vp.getName());
    jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    jf.setSize(500, 400);
    jf.getContentPane().setLayout(new BorderLayout());
    jf.getContentPane().add(vp, BorderLayout.CENTER);
    jf.setVisible(true);
}

cl是DBSCAN类,我只实现可视化。谁能教教我如何获取核心点值?

【问题讨论】:

    标签: cluster-analysis data-mining dbscan


    【解决方案1】:

    没有所谓的“核心点值”。

    DBSCAN像 k-mean 那样使用聚类中心。

    Consider this DBSCAN image (Wikipedia)。红色集群的“核心点值”在哪里?

    簇可以是任意形状的,然后没有“中心”。事实上,所有点的平均值可能在集群之外。

    一个集群至少有一个核心点,但可能还有更多——所有这些都可以同时是核心点。因此,哪些点是核心点的信息不是很重要。如果我没记错的话,ELKI 可以选择公开这些信息,但默认情况下它会立即被丢弃。

    【讨论】:

      猜你喜欢
      • 2018-04-18
      • 2019-02-21
      • 2018-05-11
      • 2016-03-27
      • 2020-09-24
      • 2011-12-23
      • 2014-07-11
      • 2020-02-14
      • 2018-08-12
      相关资源
      最近更新 更多