package chap4.java.science.data; import weka.clusterers.SimpleKMeans; import weka.core.Instances; import weka.core.converters.ConverterUtils.DataSource; public class WekaClusterTest { Instances cpu = null; SimpleKMeans kmeans; public void loadArff(String arffInput){ DataSource source = null; try { source = new DataSource(arffInput); cpu = source.getDataSet(); } catch (Exception e1) { } } public void clusterData(){ kmeans = new SimpleKMeans(); kmeans.setSeed(10); try { kmeans.setPreserveInstancesOrder(true); kmeans.setNumClusters(10); kmeans.buildClusterer(cpu); int[] assignments = kmeans.getAssignments(); int i = 0; for(int clusterNum : assignments) { System.out.printf("Instance %d -> Cluster %d\n", i, clusterNum); i++; } } catch (Exception e1) { } } public static void main(String[] args) throws Exception{ WekaClusterTest test = new WekaClusterTest(); test.loadArff("C:\\Program Files\\Weka-3-6\\data\\cpu.arff"); test.clusterData(); } }