더북(TheBook)

센트로이드 출력하기

이제 모델이 만들어졌으니 결과를 출력할 수 있다. 우선 각 클러스터 센트로이드 위치를 출력한다.


public void showCentroids(SimpleKMeans kMeans, Instances data) {
    Instances centroids = kMeans.getClusterCentroids();
    for (int i = 0; i < centroids.numInstances(); i++) {
        System.out.println("Centroid: " + i + ": " + centroids.instance(i));
    }
}

 

getClusterCentroids() 메서드는 인스턴스 집합을 반환한다. 이 집합을 순회하면서 각 인스턴스의 결과를 출력한다. 클러스터가 6개이므로(경험에 따른 법칙의 계산법으로 만든) 인스턴스도 6개가 출력되어야 한다.

 

클러스터 정보 출력

인스턴스가 어느 클러스터에 속하는지 보여주기 위해 showInstanceInCluster()는 k-means 모델과 인스턴스 집합을 받는다. 코드는 인스턴스 집합을 순회하여 모델을 기반으로 인스턴스가 어느 클러스터에 할당되었는지 출력한다.


public void showInstanceInCluster(SimpleKMeans kMeans, Instances data) {
    try {
        for (int i = 0; i < data.numInstances(); i++) {
            System.out.println(“Instance “ + i + ” is in cluster “
                    + kMeans.clusterInstance(data.instance(i)));
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.