public class RSM extends FilterApproach
This java class is used to implement the random subspace method(RSM) method.
Author:
Sina Tabakhi
See Also:
  • Field Details

    • NUM_ITERATION

      private final int NUM_ITERATION
    • SIZE_SUB_SPACE

      private final int SIZE_SUB_SPACE
    • THRESHOLD_ELIMINATION

      private final int THRESHOLD_ELIMINATION
    • NAME_MULTI_APPROACH

      private final MultivariateMethodType NAME_MULTI_APPROACH
    • featureScore

      private int[] featureScore
  • Constructor Details

    • RSM

      public RSM(Object... arguments)
      Initializes the parameters
      Parameters:
      arguments - array of parameters contains (sizeSelectedFeatureSubset, numIter, size, threshold, nameApproach) in which sizeSelectedFeatureSubset is the number of selected features, numIter is the number of iteration in the RSM method, size is the size of the subspace, threshold is the number of selected features in each subspace, and nameApproach is the name of the multivariate approach used in the RSM
    • RSM

      public RSM(int sizeSelectedFeatureSubset, int numIter, int size, int threshold, MultivariateMethodType nameApproach)
      Initializes the parameters
      Parameters:
      sizeSelectedFeatureSubset - the number of selected features
      numIter - the number of iteration in the RSM method
      size - the size of the subspace
      threshold - the number of selected features in each subspace
      nameApproach - the name of the multivariate approach used in the RSM
  • Method Details

    • permutation

      private void permutation(int[] indexFeat, int seed)
      Permutes the index of features
      Parameters:
      indexFeat - the array of the index of features
      seed - determines the index of the seed
    • multivariateApproach

      private int[] multivariateApproach(double[][] data)
      Selects the top feature with size THRESHOLD_ELIMINATION by given method
      Parameters:
      data - the new dataset
      Returns:
      the top feature with size THRESHOLD_ELIMINATION
    • createNewDataset

      private double[][] createNewDataset(int[] index)
      Creates a new dataset based on the given indeces of the features
      Parameters:
      index - an array of the indeces of features
      Returns:
      a new dataset
    • evaluateFeatures

      public void evaluateFeatures()
      Starts the feature selection process by random subspace method(RSM)
      Specified by:
      evaluateFeatures in class FeatureSelection
    • validate

      public String validate()
      This method returns the potential errors in the input parameters.
      Overrides:
      validate in class FeatureSelection
      Returns:
      a string contains the information about incorrect parameters