clusters.add(new SoftCluster(cluster.getCenter(), cluster.getId(), cluster.getMeasure())); } else if (valueClass.equals(SoftCluster.class)) { clusters.add(new SoftCluster(canopy.getCenter(), canopy.getId(), canopy.getMeasure())); } else { throw new IllegalStateException("Bad value class: " + valueClass);
clusters.add(new SoftCluster(cluster.getCenter(), cluster.getId(), cluster.getMeasure())); } else if (valueClass.equals(SoftCluster.class)) { clusters.add(new SoftCluster(canopy.getCenter(), canopy.getId(), canopy.getMeasure())); } else { throw new IllegalStateException("Bad value class: " + valueClass);
clusters.add(new SoftCluster(cluster.getCenter(), cluster.getId(), cluster.getMeasure())); } else if (valueClass.equals(SoftCluster.class)) { clusters.add(new SoftCluster(canopy.getCenter(), canopy.getId(), canopy.getMeasure())); } else { throw new IllegalStateException("Bad value class: " + valueClass);
int clusterId = 0; for (Vector v : randomPoints) { clusters.add(new SoftCluster(v, clusterId++, new CosineDistanceMeasure()));
public static void main(String[] args) { List<Vector> sampleData = new ArrayList<Vector>(); RandomPointsUtil.generateSamples(sampleData, 400, 1, 1, 3); RandomPointsUtil.generateSamples(sampleData, 300, 1, 0, 0.5); RandomPointsUtil.generateSamples(sampleData, 300, 0, 2, 0.1); int k = 3; List<Vector> randomPoints = RandomPointsUtil.chooseRandomPoints(sampleData, k); List<SoftCluster> clusters = new ArrayList<SoftCluster>(); int clusterId = 0; for (Vector v : randomPoints) { clusters.add(new SoftCluster(v, clusterId++, new EuclideanDistanceMeasure())); } List<List<SoftCluster>> finalClusters = FuzzyKMeansClusterer .clusterPoints(sampleData, clusters, new EuclideanDistanceMeasure(), 0.01, 3, 10); for (SoftCluster cluster : finalClusters.get(finalClusters.size() - 1)) { System.out.println("Fuzzy Cluster id: " + cluster.getId() + " center: " + cluster.getCenter().asFormatString()); } }
private static ClusterClassifier newSoftClusterClassifier() { List<Cluster> models = Lists.newArrayList(); DistanceMeasure measure = new ManhattanDistanceMeasure(); models.add(new SoftCluster(new DenseVector(2).assign(1), 0, measure)); models.add(new SoftCluster(new DenseVector(2), 1, measure)); models.add(new SoftCluster(new DenseVector(2).assign(-1), 2, measure)); return new ClusterClassifier(models, new FuzzyKMeansClusteringPolicy()); }
Vector vec = tweakValue(points.get(i).get()); SoftCluster cluster = new SoftCluster(vec, i, measure);
for (int i = 0; i < k + 1; i++) { Vector vec = tweakValue(points.get(i).get()); SoftCluster cluster = new SoftCluster(vec, i, measure);