Example usage for org.apache.mahout.clustering AbstractCluster formatVector

List of usage examples for org.apache.mahout.clustering AbstractCluster formatVector

Introduction

In this page you can find the example usage for org.apache.mahout.clustering AbstractCluster formatVector.

Prototype

public static String formatVector(Vector v, String[] bindings) 

Source Link

Document

Return a human-readable formatted string representation of the vector, not intended to be complete nor usable as an input/output representation

Usage

From source file:DisplayClustering.java

License:Apache License

protected static List<Cluster> readClustersWritable(Path clustersIn) {
    List<Cluster> clusters = Lists.newArrayList();
    Configuration conf = new Configuration();
    for (ClusterWritable value : new SequenceFileDirValueIterable<ClusterWritable>(clustersIn, PathType.LIST,
            PathFilters.logsCRCFilter(), conf)) {
        Cluster cluster = value.getValue();
        log.info("Reading Cluster:{} center:{} numPoints:{} radius:{}", cluster.getId(),
                AbstractCluster.formatVector(cluster.getCenter(), null), cluster.getNumObservations(),
                AbstractCluster.formatVector(cluster.getRadius(), null));
        clusters.add(cluster);/*from  w  w  w.  j  a  v a 2s .  com*/
    }
    return clusters;
}

From source file:com.modofo.molo.cluster.DisplayClustering.java

License:Apache License

protected static List<Cluster> readClustersWritable(Path clustersIn) {
    List<Cluster> clusters = Lists.newArrayList();
    Configuration conf = new Configuration();
    for (ClusterWritable value : new SequenceFileDirValueIterable<ClusterWritable>(clustersIn, PathType.LIST,
            PathFilters.logsCRCFilter(), conf)) {
        Cluster cluster = value.getValue();
        log.info("Reading Cluster:{} center:{} numPoints:{} radius:{}",
                new Object[] { cluster.getId(), AbstractCluster.formatVector(cluster.getCenter(), null),
                        cluster.getNumObservations(),
                        AbstractCluster.formatVector(cluster.getRadius(), null) });
        clusters.add(cluster);//from  www.  j a v  a 2s.c om
    }
    return clusters;
}

From source file:edu.indiana.d2i.htrc.kmeans.MemCachedKMeansDriver.java

License:Apache License

private static Path buildClustersSeq(Configuration conf, Path input, Path clustersIn, Path output,
        DistanceMeasure measure, int maxIterations, String delta) throws IOException {

    KMeansClusterer clusterer = new KMeansClusterer(measure);
    Collection<Cluster> clusters = Lists.newArrayList();

    MemKMeansUtil.configureWithClusterInfo(conf, clustersIn, clusters);
    if (clusters.isEmpty()) {
        throw new IllegalStateException("Clusters is empty!");
    }/*from   www .  j  a  v a 2 s  .  c o m*/
    boolean converged = false;
    int iteration = 1;
    while (!converged && iteration <= maxIterations) {
        log.info("K-Means Iteration: {}", iteration);
        FileSystem fs = FileSystem.get(input.toUri(), conf);
        for (VectorWritable value : new SequenceFileDirValueIterable<VectorWritable>(input, PathType.LIST,
                PathFilters.logsCRCFilter(), conf)) {
            clusterer.addPointToNearestCluster(value.get(), clusters);
        }
        converged = clusterer.testConvergence(clusters, Double.parseDouble(delta));
        Path clustersOut = new Path(output, AbstractCluster.CLUSTERS_DIR + iteration);
        SequenceFile.Writer writer = new SequenceFile.Writer(fs, conf, new Path(clustersOut, "part-r-00000"),
                Text.class, Cluster.class);
        try {
            for (Cluster cluster : clusters) {
                if (log.isDebugEnabled()) {
                    log.debug("Writing Cluster:{} center:{} numPoints:{} radius:{} to: {}", new Object[] {
                            cluster.getId(), AbstractCluster.formatVector(cluster.getCenter(), null),
                            cluster.getNumPoints(), AbstractCluster.formatVector(cluster.getRadius(), null),
                            clustersOut.getName() });
                }
                writer.append(new Text(cluster.getIdentifier()), cluster);
            }
        } finally {
            Closeables.closeQuietly(writer);
        }
        clustersIn = clustersOut;
        iteration++;
    }
    Path finalClustersIn = new Path(output, AbstractCluster.CLUSTERS_DIR + (iteration - 1)
            + org.apache.mahout.clustering.Cluster.FINAL_ITERATION_SUFFIX);
    FileSystem.get(conf).rename(new Path(output, AbstractCluster.CLUSTERS_DIR + (iteration - 1)),
            finalClustersIn);
    return finalClustersIn;
}

From source file:io.github.thushear.display.DisplayClustering.java

License:Apache License

protected static List<Cluster> readClusters(Path clustersIn) {
    List<Cluster> clusters = new ArrayList<Cluster>();
    Configuration conf = new Configuration();
    for (Cluster value : new SequenceFileDirValueIterable<Cluster>(clustersIn, PathType.LIST,
            PathFilters.logsCRCFilter(), conf)) {
        log.info("Reading Cluster:{} center:{} numPoints:{} radius:{}",
                new Object[] { value.getId(), AbstractCluster.formatVector(value.getCenter(), null),
                        value.getNumPoints(), AbstractCluster.formatVector(value.getRadius(), null) });
        clusters.add(value);/*from ww w  . j  a  v  a 2s  .  com*/
    }
    return clusters;
}

From source file:sample.DisplayClustering.java

License:Apache License

protected static List<Cluster> readClustersWritable(Path clustersIn) {
    List<Cluster> clusters = new ArrayList<>();
    Configuration conf = new Configuration();
    for (ClusterWritable value : new SequenceFileDirValueIterable<ClusterWritable>(clustersIn, PathType.LIST,
            PathFilters.logsCRCFilter(), conf)) {
        Cluster cluster = value.getValue();
        System.out.println("Cluster: " + cluster.getId() + " "
                + AbstractCluster.formatVector(cluster.getCenter(), null) + " " + cluster.getNumObservations()
                + " " + AbstractCluster.formatVector(cluster.getRadius(), null));
        clusters.add(cluster);//from  www  .ja v  a 2s  .  c  om
    }
    return clusters;
}