Class CMIM

java.lang.Object
org.tribuo.classification.fs.CMIM
All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.config.Configurable, com.oracle.labs.mlrg.olcut.provenance.Provenancable<FeatureSelectorProvenance>, FeatureSelector<Label>

public final class CMIM extends Object implements FeatureSelector<Label>
Selects features according to the Conditional Mutual Information Maximisation algorithm.

Uses equal width binning for the feature values.

See:

 Fleuret F.
 "Fast Binary Feature Selection with Conditional Mutual Information"
 Journal of Machine Learning Research (JMLR), 2004, PDF.
 
  • Constructor Details

    • CMIM

      public CMIM(int k, int numBins, int numThreads)
      Constructs a CMIM feature selector that ranks the top k features.

      Continuous features are binned into numBins equal width bins.

      Parameters:
      numBins - The number of bins, must be greater than 1.
      k - The number of features to rank.
      numThreads - The number of computation threads to use.
  • Method Details

    • postConfig

      public void postConfig()
      Used by the OLCUT configuration system, and should not be called by external code.
      Specified by:
      postConfig in interface com.oracle.labs.mlrg.olcut.config.Configurable
    • isOrdered

      public boolean isOrdered()
      Description copied from interface: FeatureSelector
      Does this feature selection algorithm return an ordered feature set?
      Specified by:
      isOrdered in interface FeatureSelector<Label>
      Returns:
      True if the set is ordered.
    • select

      public SelectedFeatureSet select(Dataset<Label> dataset)
      Description copied from interface: FeatureSelector
      Selects features according to this selection algorithm from the specified dataset.
      Specified by:
      select in interface FeatureSelector<Label>
      Parameters:
      dataset - The dataset to use.
      Returns:
      A selected feature set.
    • getProvenance

      public FeatureSelectorProvenance getProvenance()
      Specified by:
      getProvenance in interface com.oracle.labs.mlrg.olcut.provenance.Provenancable<FeatureSelectorProvenance>