@Override public Model<VectorWritable> sampleFromPosterior() { return new DistanceMeasureCluster(getCenter(), getId(), measure); }
@Override public void readFields(DataInput in) throws IOException { super.readFields(in); this.converged = in.readBoolean(); }
@Override public void write(DataOutput out) throws IOException { super.write(out); out.writeBoolean(converged); }
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 ClusterClassifier newDMClassifier() { List<Cluster> models = Lists.newArrayList(); DistanceMeasure measure = new ManhattanDistanceMeasure(); models.add(new DistanceMeasureCluster(new DenseVector(2).assign(1), 0, measure)); models.add(new DistanceMeasureCluster(new DenseVector(2), 1, measure)); models.add(new DistanceMeasureCluster(new DenseVector(2).assign(-1), 2, measure)); return new ClusterClassifier(models, new KMeansClusteringPolicy()); }
@Override public double pdf(VectorWritable vw) { return 1 / (1 + measure.distance(vw.get(), getCenter())); }
@Override public String getIdentifier() { return "DMC:" + getId(); }
private void write(VectorWritable vw, Context context, int clusterIndex, double weight) throws IOException, InterruptedException { Cluster cluster = clusterModels.get(clusterIndex); clusterId.set(cluster.getId()); DistanceMeasureCluster distanceMeasureCluster = (DistanceMeasureCluster) cluster; DistanceMeasure distanceMeasure = distanceMeasureCluster.getMeasure(); double distance = distanceMeasure.distance(cluster.getCenter(), vw.get()); Map<Text, Text> props = Maps.newHashMap(); props.put(new Text("distance"), new Text(Double.toString(distance))); context.write(clusterId, new WeightedPropertyVectorWritable(weight, vw.get(), props)); }
@Override public double pdf(VectorWritable vw) { return 1 / (1 + measure.distance(vw.get(), getCenter())); }
@Override public String getIdentifier() { return "DMC:" + getId(); }
@Override public Model<VectorWritable> sampleFromPosterior() { return new DistanceMeasureCluster(getCenter(), getId(), measure); }
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); }
@Override public double pdf(VectorWritable vw) { return 1 / (1 + measure.distance(vw.get(), getCenter())); }
@Override public void write(DataOutput out) throws IOException { super.write(out); out.writeBoolean(converged); }
@Override public void readFields(DataInput in) throws IOException { super.readFields(in); this.converged = in.readBoolean(); }
@Override public String getIdentifier() { return "DMC:" + getId(); }
@Override public Model<VectorWritable> sampleFromPosterior() { return new DistanceMeasureCluster(getCenter(), getId(), measure); }
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); }
@Override public void write(DataOutput out) throws IOException { super.write(out); out.writeBoolean(converged); }
@Override public void readFields(DataInput in) throws IOException { super.readFields(in); this.converged = in.readBoolean(); }