Class ClusterEvaluator<T extends Clusterable>
- java.lang.Object
-
- org.hipparchus.clustering.evaluation.ClusterEvaluator<T>
-
- Type Parameters:
T
- type of the clustered points
- Direct Known Subclasses:
SumOfClusterVariances
public abstract class ClusterEvaluator<T extends Clusterable> extends Object
Base class for cluster evaluation methods.
-
-
Constructor Summary
Constructors Constructor Description ClusterEvaluator()
Creates a new cluster evaluator with anEuclideanDistance
as distance measure.ClusterEvaluator(DistanceMeasure measure)
Creates a new cluster evaluator with the given distance measure.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected Clusterable
centroidOf(Cluster<T> cluster)
Computes the centroid for a cluster.protected double
distance(Clusterable p1, Clusterable p2)
Calculates the distance between twoClusterable
instances with the configuredDistanceMeasure
.boolean
isBetterScore(double score1, double score2)
Returns whether the first evaluation score is considered to be better than the second one by this evaluator.abstract double
score(List<? extends Cluster<T>> clusters)
Computes the evaluation score for the given list of clusters.
-
-
-
Constructor Detail
-
ClusterEvaluator
public ClusterEvaluator()
Creates a new cluster evaluator with anEuclideanDistance
as distance measure.
-
ClusterEvaluator
public ClusterEvaluator(DistanceMeasure measure)
Creates a new cluster evaluator with the given distance measure.- Parameters:
measure
- the distance measure to use
-
-
Method Detail
-
score
public abstract double score(List<? extends Cluster<T>> clusters)
Computes the evaluation score for the given list of clusters.- Parameters:
clusters
- the clusters to evaluate- Returns:
- the computed score
-
isBetterScore
public boolean isBetterScore(double score1, double score2)
Returns whether the first evaluation score is considered to be better than the second one by this evaluator.Specific implementations shall override this method if the returned scores do not follow the same ordering, i.e. smaller score is better.
- Parameters:
score1
- the first scorescore2
- the second score- Returns:
true
if the first score is considered to be better,false
otherwise
-
distance
protected double distance(Clusterable p1, Clusterable p2)
Calculates the distance between twoClusterable
instances with the configuredDistanceMeasure
.- Parameters:
p1
- the first clusterablep2
- the second clusterable- Returns:
- the distance between the two clusterables
-
centroidOf
protected Clusterable centroidOf(Cluster<T> cluster)
Computes the centroid for a cluster.- Parameters:
cluster
- the cluster- Returns:
- the computed centroid for the cluster,
or
null
if the cluster does not contain any points
-
-