Class AbstractSupervisedProjectionVectorFilter<V extends elki.data.NumberVector>

  • Type Parameters:
    V - Vector type
    All Implemented Interfaces:
    elki.datasource.filter.ObjectFilter
    Direct Known Subclasses:
    LinearDiscriminantAnalysisFilter

    public abstract class AbstractSupervisedProjectionVectorFilter<V extends elki.data.NumberVector>
    extends java.lang.Object
    implements elki.datasource.filter.ObjectFilter
    Base class for supervised projection methods. TODO: re-add sampling.
    Since:
    0.6.0
    Author:
    Angela Peng, Erich Schubert
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int tdim
      The dimensionality to which the data should be reduced.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract double[][] computeProjectionMatrix​(java.util.List<V> vectorcolumn, java.util.List<? extends elki.data.ClassLabel> classcolumn, int dim)
      computes the projection matrix
      protected elki.data.type.SimpleTypeInformation<?> convertedType​(elki.data.type.SimpleTypeInformation<?> in, elki.data.NumberVector.Factory<V> factory)
      Get the output type from the input type after conversion.
      elki.datasource.bundle.MultipleObjectsBundle filter​(elki.datasource.bundle.MultipleObjectsBundle objects)  
      protected abstract elki.logging.Logging getLogger()
      Class logger.
      protected <O> java.util.Map<O,​it.unimi.dsi.fastutil.ints.IntList> partition​(java.util.List<? extends O> classcolumn)
      Partition the bundle based on the class label.
      • Methods inherited from class java.lang.Object

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

      • tdim

        protected int tdim
        The dimensionality to which the data should be reduced.
    • Constructor Detail

      • AbstractSupervisedProjectionVectorFilter

        public AbstractSupervisedProjectionVectorFilter​(int projdimension)
        Constructor.
        Parameters:
        projdimension - Projection dimensionality
    • Method Detail

      • filter

        public elki.datasource.bundle.MultipleObjectsBundle filter​(elki.datasource.bundle.MultipleObjectsBundle objects)
        Specified by:
        filter in interface elki.datasource.filter.ObjectFilter
      • convertedType

        protected elki.data.type.SimpleTypeInformation<?> convertedType​(elki.data.type.SimpleTypeInformation<?> in,
                                                                        elki.data.NumberVector.Factory<V> factory)
        Get the output type from the input type after conversion.
        Parameters:
        in - input type restriction
        factory - Vector factory
        Returns:
        output type restriction
      • getLogger

        protected abstract elki.logging.Logging getLogger()
        Class logger.
        Returns:
        Logger
      • computeProjectionMatrix

        protected abstract double[][] computeProjectionMatrix​(java.util.List<V> vectorcolumn,
                                                              java.util.List<? extends elki.data.ClassLabel> classcolumn,
                                                              int dim)
        computes the projection matrix
        Parameters:
        vectorcolumn - Vectors
        classcolumn - Class information
        dim - Dimensionality Dimensionality
        Returns:
        Projection matrix
      • partition

        protected <O> java.util.Map<O,​it.unimi.dsi.fastutil.ints.IntList> partition​(java.util.List<? extends O> classcolumn)
        Partition the bundle based on the class label.
        Parameters:
        classcolumn -
        Returns:
        Partitioned data set.