java.lang.Object
es.upm.fi.cig.multictbnc.fss.StatisticalBasedFeatureSelection
es.upm.fi.cig.multictbnc.fss.ConInd
- 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 Summary
ConstructorDescriptionConInd
(List<String> nameClassVariables, ParameterLearningAlgorithm cimPLA, int maxSeparatingSizeRedundancyAnalysis, double sigTimeTransitionHyp, double sigStateToStateTransitionHyp) Constructs aConInd
object. -
Method Summary
Modifier and TypeMethodDescriptionExecutes the feature subset selection algorithm for a newly arrived feature variable in a given data batch.featureSubsetSelectionGivenClassVariable
(String nameNewFeatureVariable, Dataset dataBatch) Performs feature subset selection given a new feature variable.boolean
Returns whether the last execution of the feature subset selection algorithm resulted in any changes.void
setCurrentFeatureVariables
(List<String> nameFeatureVariables) Sets the current feature variables for the algorithm.Methods inherited from class es.upm.fi.cig.multictbnc.fss.StatisticalBasedFeatureSelection
conditionalIndependenceTest, redundancyAnalysis, redundancyAnalysis, redundancyAnalysis, redundancyAnalysis, redundancyAnalysis, setDataset, testNullStateToStateTransitionHypothesis, testNullTimeToTransitionHypothesis
-
Constructor Details
-
ConInd
public ConInd(List<String> nameClassVariables, ParameterLearningAlgorithm cimPLA, int maxSeparatingSizeRedundancyAnalysis, double sigTimeTransitionHyp, double sigStateToStateTransitionHyp) Constructs aConInd
object.- Parameters:
nameClassVariables
- list of names of class variablescimPLA
- parameter learning algorithm for CIM nodesmaxSeparatingSizeRedundancyAnalysis
- maximum size of separating sets in redundancy analysissigTimeTransitionHyp
- significance level for time transition hypothesis testssigStateToStateTransitionHyp
- significance level for state-to-state transition hypothesis tests
-
-
Method Details
-
execute
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 interfaceOnlineFeatureSubsetSelection
- Parameters:
newVariable
- name of the new feature variable that is to be evaluateddataBatch
- 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 interfaceOnlineFeatureSubsetSelection
- Returns:
- true if the last execution yielded a change, false otherwise
-
setCurrentFeatureVariables
Sets the current feature variables for the algorithm.- Specified by:
setCurrentFeatureVariables
in interfaceOnlineFeatureSubsetSelection
- 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 variabledataBatch
- the dataset on which the selection is based- Returns:
- a list of
CIMNode
objects representing the selected feature nodes
-