@Override public Distance calculateDistance(Collection<Distance> distances) { double sum = 0; double result; for (Distance dist : distances) { sum += dist.getDistance(); } if (distances.size() > 0) { result = sum / distances.size(); } else { result = 0.0; } return new Distance(result); } }
@Override public Distance calculateDistance(Collection<Distance> distances) { double sum = 0; double result; for (Distance dist : distances) { sum += dist.getDistance(); } if (distances.size() > 0) { result = sum / distances.size(); } else { result = 0.0; } return new Distance(result); } }
private List<Cluster> createClusters(String[] clusterNames, double[] weights) { List<Cluster> clusters = new ArrayList<Cluster>(); for (int i = 0; i < weights.length; i++) { Cluster cluster = new Cluster(clusterNames[i]); cluster.setDistance(new Distance(0.0, weights[i])); clusters.add(cluster); } return clusters; }
private List<Cluster> createClusters(String[] clusterNames, double[] weights) { List<Cluster> clusters = new ArrayList<Cluster>(); for (int i = 0; i < weights.length; i++) { Cluster cluster = new Cluster(clusterNames[i]); cluster.setDistance(new Distance(0.0, weights[i])); clusters.add(cluster); } return clusters; }
@Override public Distance calculateDistance(Collection<Distance> distances) { double min = Double.NaN; for (Distance dist : distances) { if (Double.isNaN(min) || dist.getDistance() < min) min = dist.getDistance(); } return new Distance(min); } }
@Override public Distance calculateDistance(Collection<Distance> distances) { double max = Double.NaN; for (Distance dist : distances) { if (Double.isNaN(max) || dist.getDistance() > max) max = dist.getDistance(); } return new Distance(max); } }
@Override public Distance calculateDistance(Collection<Distance> distances) { double max = Double.NaN; for (Distance dist : distances) { if (Double.isNaN(max) || dist.getDistance() > max) max = dist.getDistance(); } return new Distance(max); } }
@Override public Distance calculateDistance(Collection<Distance> distances) { double min = Double.NaN; for (Distance dist : distances) { if (Double.isNaN(min) || dist.getDistance() < min) min = dist.getDistance(); } return new Distance(min); } }
@Override public Distance calculateDistance(Collection<Distance> distances) { double sum = 0; double weightTotal = 0; for (Distance distance : distances) { weightTotal += distance.getWeight(); sum += distance.getDistance() * distance.getWeight(); } return new Distance(sum / weightTotal, weightTotal); } }
@Override public Distance calculateDistance(Collection<Distance> distances) { double sum = 0; double weightTotal = 0; for (Distance distance : distances) { weightTotal += distance.getWeight(); sum += distance.getDistance() * distance.getWeight(); } return new Distance(sum / weightTotal, weightTotal); } }
Double distVal = link1.getLinkageDistance(); Double weightVal = link1.getOtherCluster(iClust).getWeightValue(); distanceValues.add(new Distance(distVal, weightVal)); distances.remove(link1); Double distVal = link2.getLinkageDistance(); Double weightVal = link2.getOtherCluster(iClust).getWeightValue(); distanceValues.add(new Distance(distVal, weightVal)); distances.remove(link2);
Double distVal = link1.getLinkageDistance(); Double weightVal = link1.getOtherCluster(iClust).getWeightValue(); distanceValues.add(new Distance(distVal, weightVal)); distances.remove(link1); Double distVal = link2.getLinkageDistance(); Double weightVal = link2.getOtherCluster(iClust).getWeightValue(); distanceValues.add(new Distance(distVal, weightVal)); distances.remove(link2);
cluster.setDistance(new Distance(getLinkageDistance()));
cluster.setDistance(new Distance(getLinkageDistance()));