@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="Proceedings of the 20th International Conference on Scientific and Statistical Database Management (SSDBM), Hong Kong, China, 2008", url="http://dx.doi.org/10.1007/978-3-540-69497-7_27") public class WeightedCovarianceMatrixBuilder extends AbstractCovarianceMatrixBuilder
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
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 In: Proc. 20th Int. Conf. on Scientific and
Statistical Database Management (SSDBM), 2008, Hong Kong Lecture Notes in
Computer Science 5069, SpringerModifier and Type | Class and Description |
---|---|
static class |
WeightedCovarianceMatrixBuilder.Parameterizer
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
static OptionID |
WEIGHT_ID
Parameter to specify the weight function to use in weighted PCA, must
implement
WeightFunction
. |
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 |
---|---|
Matrix |
processIds(DBIDs ids,
Relation<? extends NumberVector> relation)
Weighted Covariance Matrix for a set of IDs.
|
Matrix |
processQueryResults(DoubleDBIDList results,
Relation<? extends NumberVector> database,
int k)
Compute Covariance Matrix for a QueryResult Collection.
|
processDatabase, processQueryResults
public static final OptionID WEIGHT_ID
WeightFunction
.
Key: -pca.weight
protected WeightFunction weightfunction
private PrimitiveDistanceFunction<? super NumberVector> weightDistance
public WeightedCovarianceMatrixBuilder(WeightFunction weightfunction)
weightfunction
- Weighting functionpublic Matrix processIds(DBIDs ids, Relation<? extends NumberVector> relation)
processIds
in interface CovarianceMatrixBuilder
processIds
in class AbstractCovarianceMatrixBuilder
ids
- Database ids to processrelation
- Relation to processpublic Matrix processQueryResults(DoubleDBIDList results, Relation<? extends NumberVector> database, int k)
processQueryResults
in interface CovarianceMatrixBuilder
processQueryResults
in class AbstractCovarianceMatrixBuilder
results
- a collection of QueryResultsdatabase
- the database usedk
- number of elements to processCopyright © 2015 ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München. License information.