gpt4 book ai didi

java - 在 K-Mean Java 程序中检索每个簇的质心位置

转载 作者:行者123 更新时间:2023-11-30 07:33:19 25 4
gpt4 key购买 nike

我有一个 Java 程序,它使用我从 here 中找到的 K-Means 算法将坐标聚类为 2 组。 。我已成功获取每个组中的聚类元素,但我不确定如何检索每个聚类的质心位置。

这是我的程序:

import java.util.List;
import com.aliasi.util.Arrays;
import java.util.ArrayList;

public class PrgMain {
public static List cent = new ArrayList();

public static void main (String args[]){
List<DataPoint> dataPoints = new ArrayList<DataPoint>();
dataPoints.add(new DataPoint(22,21,"p53"));
dataPoints.add(new DataPoint(19,20,"bcl2"));
dataPoints.add(new DataPoint(18,22,"fas"));
dataPoints.add(new DataPoint(1,3,"amylase"));
dataPoints.add(new DataPoint(2,2,"maltase"));

JCA jca = new JCA(2,1000,dataPoints);
jca.startAnalysis();
int i = 0;
Centroid cen = null;

for (List<DataPoint> tempV : jca.getClusterOutput()){
System.out.println("-----------Cluster"+(i+1)+"---------");
for (DataPoint dpTemp : tempV){
System.out.println(dpTemp.getObjName()+
"["+dpTemp.getX()+"," +dpTemp.getY()+"]");
cen = new Centroid(dpTemp.getX(), dpTemp.getY());
}
i++;
System.out.println("Centroid for cluster "+ (i)+": ");
// Here's where I want to retrieve the centroid:
System.out.println(cen.getCx()+", "+ cen.getCy());
}
}
}

有没有办法可以在聚类后检索质心位置?

最佳答案

基于代码here您可以通过这种方式访问​​质心 i :

cen = jca.getCluster[i].getCentroid(); 

然后打印坐标:

System.out.println(cen.getCx()+", "+ cen.getCy());

关于java - 在 K-Mean Java 程序中检索每个簇的质心位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35748074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com