@Reference(authors="F. B. Baker, and L. J. Hubert", title="Measuring the Power of Hierarchical Cluster Analysis", booktitle="Journal of the American Statistical Association, 70(349)", url="http://dx.doi.org/10.1080/01621459.1975.10480256") public class EvaluateConcordantPairs<O> extends Object implements Evaluator
F. B. Baker, and L. J. Hubert
Measuring the Power of Hierarchical Cluster Analysis
Journal of the American Statistical Association, 70(349)
F. J. Rohlf
Methods of comparing classifications
Annual Review of Ecology and Systematics
Modifier and Type | Class and Description |
---|---|
static class |
EvaluateConcordantPairs.Parameterizer<O>
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
private PrimitiveDistanceFunction<? super NumberVector> |
distanceFunction
Distance function to use.
|
private String |
key
Key for logging statistics.
|
private static Logging |
LOG
Logger for debug output.
|
private NoiseHandling |
noiseHandling
Option for noise handling.
|
Constructor and Description |
---|
EvaluateConcordantPairs(PrimitiveDistanceFunction<? super NumberVector> distance,
NoiseHandling noiseHandling)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
double |
computeTau(long c,
long d,
double m,
long wd,
long bd)
Compute the Tau correlation measure
|
protected double[] |
computeWithinDistances(Relation<? extends NumberVector> rel,
List<? extends Cluster<?>> clusters,
int withinPairs) |
protected int |
countTies(double[] withinDistances,
int[] withinTies)
Count (and annotate) the number of tied values.
|
double |
evaluateClustering(Database db,
Relation<? extends NumberVector> rel,
Clustering<?> c)
Evaluate a single clustering.
|
void |
processNewResult(ResultHierarchy hier,
Result result)
Process a result.
|
private static final Logging LOG
private NoiseHandling noiseHandling
private PrimitiveDistanceFunction<? super NumberVector> distanceFunction
private String key
public EvaluateConcordantPairs(PrimitiveDistanceFunction<? super NumberVector> distance, NoiseHandling noiseHandling)
distance
- Distance functionnoiseHandling
- Control noise handlingpublic double evaluateClustering(Database db, Relation<? extends NumberVector> rel, Clustering<?> c)
db
- Databaserel
- Data relationc
- Clusteringprotected int countTies(double[] withinDistances, int[] withinTies)
withinDistances
- Distances arraywithinTies
- Output array of tie counts.protected double[] computeWithinDistances(Relation<? extends NumberVector> rel, List<? extends Cluster<?>> clusters, int withinPairs)
@Reference(authors="F. J. Rohlf", title="Methods of comparing classifications", booktitle="Annual Review of Ecology and Systematics", url="http://dx.doi.org/10.1146/annurev.es.05.110174.000533") public double computeTau(long c, long d, double m, long wd, long bd)
c
- Concordant pairsd
- Discordant pairsm
- Total number of pairswd
- Number of within distancesbd
- Number of between distancespublic void processNewResult(ResultHierarchy hier, Result result)
ResultProcessor
processNewResult
in interface ResultProcessor
hier
- The base of the result tree.result
- Newly added result subtree.Copyright © 2015 ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München. License information.