Class LinearDiscriminantAnalysisFilter<V extends elki.data.NumberVector>

  • 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
    • 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 matrix
      protected elki.logging.Logging getLogger()
      Class logger.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOG

        private static final elki.logging.Logging LOG
        Class logger.
    • Constructor Detail

      • LinearDiscriminantAnalysisFilter

        public LinearDiscriminantAnalysisFilter​(int projdimension)
        Constructor.
        Parameters:
        projdimension - Projection dimensionality.
    • 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: AbstractSupervisedProjectionVectorFilter
        computes the projection matrix
        Specified by:
        computeProjectionMatrix in class AbstractSupervisedProjectionVectorFilter<V extends elki.data.NumberVector>
        Parameters:
        vectorcolumn - Vectors
        classcolumn - Class information
        dim - 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 - Dimensionality
        vectorcolumn - Vector column
        keys - Key index
        classes - Classes
        Returns:
        Centroids for each class.