package edu.hawaii.jmotif.text.cluster;
import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map.Entry;
public class ClusterUtils {
private static final String CR = "\n";
private static final DecimalFormat df = new DecimalFormat("#0.00000");
public static String centroidsToString(LinkedHashMap<String, HashMap<String, Double>> centroids) {
StringBuffer res = new StringBuffer();
// header
//
for (Entry<String, HashMap<String, Double>> e : centroids.entrySet()) {
res.append("\"").append(e.getKey()).append("\",");
}
res.delete(res.length() - 1, res.length()).append(CR);
// iterate over words retrieving centroid values
//
for (String s : centroids.entrySet().iterator().next().getValue().keySet()) {
res.append("\"").append(s).append("\",");
for (Entry<String, HashMap<String, Double>> e : centroids.entrySet()) {
res.append(df.format(e.getValue().get(s))).append(",");
}
res.delete(res.length() - 1, res.length()).append(CR);
}
return res.toString();
}
}