"How to output the centroids of K-Means Clusters"

Legacy UserLegacy User MemberPosts:0Newbie
edited May 2019 inHelp
Hello,

I wanna get the output of the clusters' centroids through Java code. I have 10 clusters and about 10,000 attributes. So for each cluster, there should be a row with about 10,000 numbers.

Does anybody know how should I do that in Java? Which operator should I use?

thanks beforehand,

Qian
Tagged:

Answers

  • IngoRMIngoRM Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, Community Manager, RMResearcher, Member, University ProfessorPosts:1,751RM Founder
    Hi Qian,

    I am assuming that you are familiar with the general way how to use RapidMiner from your Java applications. If not, please read the written tutorial (available from our download page), especially the last two chapters and search in both forums for hints for integration.

    Let's say you managed to load your data set and have them stored in a ExampleSet object called "exampleSet". Then you should try something like

    ExampleSet exampleSet = null; // load your data here
    Operator kMeans = OperatorService.createOperator(KMeans.class);
    CentroidBasedClusterModel clusterModel = (CentroidBasedClusterModel) kMeans.apply(new IOContainer(exampleSet));

    for (int i = 0; i < clusterModel.getNumberOfClusters(); i++) {
    double[] location = clusterModel.getCentroid(i);
    // do whatever you want with the centroid
    }
    Hope that helps,
    Ingo
  • Legacy UserLegacy User MemberPosts:0Newbie
    非常感谢。这很有帮助。

Sign InorRegisterto comment.