@Title(value="Weighted Covariance Matrix / PCA") @Description(value="A PCA modification by using weights while building the covariance matrix, to obtain more stable results") @Reference(authors="Hans-Peter Kriegel, Peer Kr\u00f6ger, Erich Schubert, Arthur Zimek", title="A General Framework for Increasing the Robustness of PCA-based Correlation Clustering Algorithms", booktitle="Proc. 20th Intl. Conf. on Scientific and Statistical Database Management (SSDBM)", url="https://doi.org/10.1007/978-3-540-69497-7_27", bibkey="DBLP:conf/ssdbm/KriegelKSZ08") public class WeightedCovarianceMatrixBuilder extends java.lang.Object implements CovarianceMatrixBuilder
CovarianceMatrixBuilder
with weights.
This builder uses a weight function to weight points differently during build a covariance matrix. Covariance can be canonically extended with weights, as shown in the article
Reference:
A General Framework for Increasing the Robustness of PCA-Based Correlation
Clustering Algorithms
Hans-Peter Kriegel and Peer Kröger and Erich Schubert and Arthur Zimek
Proc. 20th Int. Conf. on Scientific and Statistical Database Management
(SSDBM)
Modifier and Type | Class and Description |
---|---|
static class |
WeightedCovarianceMatrixBuilder.Parameterizer
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
private PrimitiveDistanceFunction<? super NumberVector> |
weightDistance
Holds the distance function used for weight calculation.
|
protected WeightFunction |
weightfunction
Holds the weight function.
|
Constructor and Description |
---|
WeightedCovarianceMatrixBuilder(WeightFunction weightfunction)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
double[][] |
processIds(DBIDs ids,
Relation<? extends NumberVector> relation)
Weighted Covariance Matrix for a set of IDs.
|
double[][] |
processQueryResults(DoubleDBIDList results,
Relation<? extends NumberVector> database,
int k)
Compute Covariance Matrix for a QueryResult Collection.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
processQueryResults, processRelation
protected WeightFunction weightfunction
private PrimitiveDistanceFunction<? super NumberVector> weightDistance
public WeightedCovarianceMatrixBuilder(WeightFunction weightfunction)
weightfunction
- Weighting functionpublic double[][] processIds(DBIDs ids, Relation<? extends NumberVector> relation)
processIds
in interface CovarianceMatrixBuilder
ids
- Database ids to processrelation
- Relation to processpublic double[][] processQueryResults(DoubleDBIDList results, Relation<? extends NumberVector> database, int k)
processQueryResults
in interface CovarianceMatrixBuilder
results
- a collection of QueryResultsdatabase
- the database usedk
- number of elements to processCopyright © 2019 ELKI Development Team. License information.