All Implemented Interfaces:
OnlineFeatureSubsetSelection

public class ConInd extends StatisticalBasedFeatureSelection implements OnlineFeatureSubsetSelection
This class implements the ConInd online feature subset selection algorithm from Yu et al. 2018.
  • Constructor Details

    • ConInd

      public ConInd(List<String> nameClassVariables, ParameterLearningAlgorithm cimPLA, int maxSeparatingSizeRedundancyAnalysis, double sigTimeTransitionHyp, double sigStateToStateTransitionHyp)
      Constructs a ConInd object.
      Parameters:
      nameClassVariables - list of names of class variables
      cimPLA - parameter learning algorithm for CIM nodes
      maxSeparatingSizeRedundancyAnalysis - maximum size of separating sets in redundancy analysis
      sigTimeTransitionHyp - significance level for time transition hypothesis tests
      sigStateToStateTransitionHyp - significance level for state-to-state transition hypothesis tests
  • Method Details

    • execute

      public SubsetSelectedFeatures execute(String newVariable, Dataset dataBatch)
      Description copied from interface: OnlineFeatureSubsetSelection
      Executes the feature subset selection algorithm for a newly arrived feature variable in a given data batch. This method is designed to analyze the relevance and redundancy of a new variable in the context of the current feature subset and update it accordingly.
      Specified by:
      execute in interface OnlineFeatureSubsetSelection
      Parameters:
      newVariable - name of the new feature variable that is to be evaluated
      dataBatch - data batch containing the new variable along with existing features and class variables
      Returns:
      an instance of SubsetSelectedFeatureVariables, containing the subset of selected features
    • getLastExecutionYieldAnyChange

      public boolean getLastExecutionYieldAnyChange()
      Returns whether the last execution of the feature subset selection algorithm resulted in any changes.
      Specified by:
      getLastExecutionYieldAnyChange in interface OnlineFeatureSubsetSelection
      Returns:
      true if the last execution yielded a change, false otherwise
    • setCurrentFeatureVariables

      public void setCurrentFeatureVariables(List<String> nameFeatureVariables)
      Sets the current feature variables for the algorithm.
      Specified by:
      setCurrentFeatureVariables in interface OnlineFeatureSubsetSelection
      Parameters:
      nameFeatureVariables - list of names of current feature variables
    • featureSubsetSelectionGivenClassVariable

      protected List<CIMNode> featureSubsetSelectionGivenClassVariable(String nameNewFeatureVariable, Dataset dataBatch)
      Performs feature subset selection given a new feature variable.
      Parameters:
      nameNewFeatureVariable - the name of the new feature variable
      dataBatch - the dataset on which the selection is based
      Returns:
      a list of CIMNode objects representing the selected feature nodes