Package elki.datasource.filter.transform
Class LinearDiscriminantAnalysisFilter<V extends elki.data.NumberVector>
- java.lang.Object
-
- elki.datasource.filter.transform.AbstractSupervisedProjectionVectorFilter<V>
-
- elki.datasource.filter.transform.LinearDiscriminantAnalysisFilter<V>
-
- Type Parameters:
V- Vector type
- All Implemented Interfaces:
elki.datasource.filter.ObjectFilter
@Alias("lda") @Reference(authors="R. A. Fisher", title="The use of multiple measurements in taxonomic problems", booktitle="Annals of Eugenics 7.2", url="https://doi.org/10.1111/j.1469-1809.1936.tb02137.x", bibkey="doi:10.1111/j.1469-1809.1936.tb02137.x") public class LinearDiscriminantAnalysisFilter<V extends elki.data.NumberVector> extends AbstractSupervisedProjectionVectorFilter<V>Linear Discriminant Analysis (LDA) / Fisher's linear discriminant.Reference:
R. A. Fisher
The use of multiple measurements in taxonomic problems
Annals of Eugenics 7.2- Since:
- 0.6.0
- Author:
- Angela Peng, Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classLinearDiscriminantAnalysisFilter.Par<V extends elki.data.NumberVector>Parameterization class.
-
Field Summary
Fields Modifier and Type Field Description private static elki.logging.LoggingLOGClass logger.-
Fields inherited from class elki.datasource.filter.transform.AbstractSupervisedProjectionVectorFilter
tdim
-
-
Constructor Summary
Constructors Constructor Description LinearDiscriminantAnalysisFilter(int projdimension)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.List<elki.math.linearalgebra.Centroid>computeCentroids(int dim, java.util.List<V> vectorcolumn, java.util.List<elki.data.ClassLabel> keys, java.util.Map<elki.data.ClassLabel,it.unimi.dsi.fastutil.ints.IntList> classes)Compute the centroid for each class.protected double[][]computeProjectionMatrix(java.util.List<V> vectorcolumn, java.util.List<? extends elki.data.ClassLabel> classcolumn, int dim)computes the projection matrixprotected elki.logging.LogginggetLogger()Class logger.-
Methods inherited from class elki.datasource.filter.transform.AbstractSupervisedProjectionVectorFilter
convertedType, filter, partition
-
-
-
-
Method Detail
-
computeProjectionMatrix
protected double[][] computeProjectionMatrix(java.util.List<V> vectorcolumn, java.util.List<? extends elki.data.ClassLabel> classcolumn, int dim)
Description copied from class:AbstractSupervisedProjectionVectorFiltercomputes the projection matrix- Specified by:
computeProjectionMatrixin classAbstractSupervisedProjectionVectorFilter<V extends elki.data.NumberVector>- Parameters:
vectorcolumn- Vectorsclasscolumn- Class informationdim- Dimensionality Dimensionality- Returns:
- Projection matrix
-
computeCentroids
protected java.util.List<elki.math.linearalgebra.Centroid> computeCentroids(int dim, java.util.List<V> vectorcolumn, java.util.List<elki.data.ClassLabel> keys, java.util.Map<elki.data.ClassLabel,it.unimi.dsi.fastutil.ints.IntList> classes)Compute the centroid for each class.- Parameters:
dim- Dimensionalityvectorcolumn- Vector columnkeys- Key indexclasses- Classes- Returns:
- Centroids for each class.
-
getLogger
protected elki.logging.Logging getLogger()
Class logger.- Specified by:
getLoggerin classAbstractSupervisedProjectionVectorFilter<V extends elki.data.NumberVector>- Returns:
- Logger
-
-