}
final DataSet ds = DataSet.load(istream);
istream.close();
final List<BasicData> observations = ds.extractUnsupervisedLabeled(4);
final KMeans kmeans = new KMeans(3);
kmeans.initForgy(observations);
final int iterations = kmeans.iteration(1000);
System.out.println("Finished after " + iterations + " iterations.");
for (int i = 0; i < kmeans.getK(); i++) {
final Cluster cluster = kmeans.getClusters().get(i);
System.out.println("* * * Cluster #" + i);
for (final BasicData d : cluster.getObservations()) {
System.out.println(d.toString());
}
}