/** * Excess of mass measure. * * @return Excess of mass */ public double totalStability() { double stability = excessOfMass(); double cstab = 0.; for(TempCluster child : children) { cstab += Math.abs(child.totalStability()); } return stability > cstab ? stability : -cstab; }
/** * Excess of mass measure. * * @return Excess of mass */ public double totalStability() { double stability = excessOfMass(); double cstab = 0.; for(TempCluster child : children) { cstab += Math.abs(child.totalStability()); } return stability > cstab ? stability : -cstab; }
/** * Excess of mass measure. * * @return Excess of mass */ public double totalStability() { double stability = excessOfMass(); double cstab = 0.; for(TempCluster child : children) { cstab += Math.abs(child.totalStability()); } return stability > cstab ? stability : -cstab; }
/** * Recursive flattening of clusters. * * @param clustering Output clustering * @param cur Current temporary cluster * @param clus Output cluster * @param flatten Flag to indicate everything below should be flattened. * @param hierarchical Hierarchical output */ private void collectChildren(Clustering<DendrogramModel> clustering, TempCluster cur, Cluster<DendrogramModel> clus, boolean flatten, boolean hierarchical) { for(TempCluster child : cur.children) { if(flatten || child.totalStability() < 0) { members.addDBIDs(child.members); collectChildren(clustering, child, clus, flatten, hierarchical); } else { child.finalizeCluster(clustering, clus, true, hierarchical); } } } }
/** * Recursive flattening of clusters. * * @param clustering Output clustering * @param cur Current temporary cluster * @param clus Output cluster * @param flatten Flag to indicate everything below should be flattened. */ private void collectChildren(TempCluster temp, Clustering<DendrogramModel> clustering, TempCluster cur, Cluster<DendrogramModel> clus, boolean flatten) { for(TempCluster child : cur.children) { if(flatten || child.totalStability() < 0) { temp.members.addDBIDs(child.members); collectChildren(temp, clustering, child, clus, flatten); } else { finalizeCluster(child, clustering, clus, true); } } } }
/** * Recursive flattening of clusters. * * @param clustering Output clustering * @param cur Current temporary cluster * @param clus Output cluster * @param flatten Flag to indicate everything below should be flattened. */ private void collectChildren(TempCluster temp, Clustering<DendrogramModel> clustering, TempCluster cur, Cluster<DendrogramModel> clus, boolean flatten) { for(TempCluster child : cur.children) { if(flatten || child.totalStability() < 0) { temp.members.addDBIDs(child.members); collectChildren(temp, clustering, child, clus, flatten); } else { finalizeCluster(child, clustering, clus, true); } } } }