@Override public String toString() { Vector vector = getVector(); StringBuilder bldr = new StringBuilder("wt: ").append(getWeight()).append(' '); if (properties != null && !properties.isEmpty()) { for (Map.Entry<Text, Text> entry : properties.entrySet()) { bldr.append(entry.getKey().toString()).append(": ").append(entry.getValue().toString()).append(' '); } } bldr.append(" vec: ").append(vector == null ? "null" : AbstractCluster.formatVector(vector, null)); return bldr.toString(); }
@Override public String toString() { Vector vector = getVector(); StringBuilder bldr = new StringBuilder("wt: ").append(getWeight()).append(' '); if (properties != null && !properties.isEmpty()) { for (Map.Entry<Text, Text> entry : properties.entrySet()) { bldr.append(entry.getKey().toString()).append(": ").append(entry.getValue().toString()).append(' '); } } bldr.append(" vec: ").append(vector == null ? "null" : AbstractCluster.formatVector(vector, null)); return bldr.toString(); }
@Override public String toString() { Vector vector = getVector(); StringBuilder bldr = new StringBuilder("wt: ").append(getWeight()).append(' '); if (properties != null && !properties.isEmpty()) { for (Map.Entry<Text, Text> entry : properties.entrySet()) { bldr.append(entry.getKey().toString()).append(": ").append(entry.getValue().toString()).append(' '); } } bldr.append(" vec: ").append(vector == null ? "null" : AbstractCluster.formatVector(vector, null)); return bldr.toString(); }
private static void write(List<Cluster> clusterModels, SequenceFile.Writer writer, WeightedPropertyVectorWritable weightedPropertyVectorWritable, int maxValueIndex) throws IOException { Cluster cluster = clusterModels.get(maxValueIndex); DistanceMeasureCluster distanceMeasureCluster = (DistanceMeasureCluster) cluster; DistanceMeasure distanceMeasure = distanceMeasureCluster.getMeasure(); double distance = distanceMeasure.distance(cluster.getCenter(), weightedPropertyVectorWritable.getVector()); weightedPropertyVectorWritable.getProperties().put(new Text("distance"), new Text(Double.toString(distance))); writer.append(new IntWritable(cluster.getId()), weightedPropertyVectorWritable); }
private static void write(List<Cluster> clusterModels, SequenceFile.Writer writer, WeightedPropertyVectorWritable weightedPropertyVectorWritable, int maxValueIndex) throws IOException { Cluster cluster = clusterModels.get(maxValueIndex); DistanceMeasureCluster distanceMeasureCluster = (DistanceMeasureCluster) cluster; DistanceMeasure distanceMeasure = distanceMeasureCluster.getMeasure(); double distance = distanceMeasure.distance(cluster.getCenter(), weightedPropertyVectorWritable.getVector()); weightedPropertyVectorWritable.getProperties().put(new Text("distance"), new Text(Double.toString(distance))); writer.append(new IntWritable(cluster.getId()), weightedPropertyVectorWritable); }
private static void write(List<Cluster> clusterModels, SequenceFile.Writer writer, WeightedPropertyVectorWritable weightedPropertyVectorWritable, int maxValueIndex) throws IOException { Cluster cluster = clusterModels.get(maxValueIndex); DistanceMeasureCluster distanceMeasureCluster = (DistanceMeasureCluster) cluster; DistanceMeasure distanceMeasure = distanceMeasureCluster.getMeasure(); double distance = distanceMeasure.distance(cluster.getCenter(), weightedPropertyVectorWritable.getVector()); weightedPropertyVectorWritable.getProperties().put(new Text("distance"), new Text(Double.toString(distance))); writer.append(new IntWritable(cluster.getId()), weightedPropertyVectorWritable); }
private void collectVectorsForAssertion() throws IOException { Path[] partFilePaths = FileUtil.stat2Paths(fs .globStatus(classifiedOutputPath)); FileStatus[] listStatus = fs.listStatus(partFilePaths, PathFilters.partFilter()); for (FileStatus partFile : listStatus) { SequenceFile.Reader classifiedVectors = new SequenceFile.Reader(fs, partFile.getPath(), conf); Writable clusterIdAsKey = new IntWritable(); WeightedPropertyVectorWritable point = new WeightedPropertyVectorWritable(); while (classifiedVectors.next(clusterIdAsKey, point)) { collectVector(clusterIdAsKey.toString(), point.getVector()); } } }
List<WeightedPropertyVectorWritable> wpvList = collector.getValue(k); assertTrue("empty cluster!", !wpvList.isEmpty()); if (wpvList.get(0).getVector().get(0) <= 2.0) { for (WeightedPropertyVectorWritable wv : wpvList) { Vector v = wv.getVector(); int idx = v.maxValueIndex(); assertTrue("bad cluster!", v.get(idx) <= 2.0); } else { for (WeightedPropertyVectorWritable wv : wpvList) { Vector v = wv.getVector(); int idx = v.minValueIndex(); assertTrue("bad cluster!", v.get(idx) > 2.0);