Class RandomSubsetProjectionFamily

  • All Implemented Interfaces:
    RandomProjectionFamily

    @Reference(authors="L. Breiman",
               title="Bagging predictors",
               booktitle="Machine learning 24.2",
               url="https://doi.org/10.1007/BF00058655",
               bibkey="DBLP:journals/ml/Breiman96b")
    public class RandomSubsetProjectionFamily
    extends AbstractRandomProjectionFamily
    Random projection family based on selecting random features.

    The basic idea of using this for data mining should probably be attributed to L. Breiman, who used it to improve the performance of predictors in an ensemble.

    Reference:

    L. Breiman
    Bagging predictors
    Machine learning 24.2

    Since:
    0.6.0
    Author:
    Erich Schubert
    • Constructor Detail

      • RandomSubsetProjectionFamily

        public RandomSubsetProjectionFamily​(RandomFactory random)
        Constructor.
        Parameters:
        random - Random generator.
    • Method Detail

      • generateProjection

        public RandomProjectionFamily.Projection generateProjection​(int idim,
                                                                    int odim)
        Description copied from interface: RandomProjectionFamily
        Generate a projection matrix for the given dimensionalities.
        Parameters:
        idim - Input Dimensionality
        odim - Output Dimensionality
        Returns:
        Projection matrix
      • randomPermutation

        public static int[] randomPermutation​(int[] out,
                                              java.util.Random random)
        Perform a random permutation of the array, in-place. Knuth / Fisher-Yates style shuffle TODO: move to shared code.
        Parameters:
        out - Existing output array
        random - Random generator.
        Returns:
        Same array.
      • sequence

        private static int[] sequence​(int e)
        Generate the integer sequence 0 .. e-1

        TODO: move to shared code.

        Parameters:
        e - End (exclusive)
        Returns:
        End