java.lang.Object
es.upm.fi.cig.multictbnc.experiments.implementationsexperiments.FeatureStreamExperiment

public class FeatureStreamExperiment extends Object
Represents an experiment for evaluating continuous-time Bayesian network classifiers on feature streams. This class facilitates conducting experiments on feature streams, handling various aspects such as the evolution of features over time and adapting models to these changes. This class is used to load data and execute the specified implementation of feature stream processing method.
  • Constructor Details

    • FeatureStreamExperiment

      public FeatureStreamExperiment()
  • Method Details

    • main

      public void main(Queue<String> args)
      The main method to execute the feature stream experiments.
      Parameters:
      args - queue of strings representing parameters needed for setting up and executing experiments.
    • setParametersExperiment

      public void setParametersExperiment(Queue<String> args)
      Sets up the parameters for a feature stream experiment using a queue of arguments. This method initializes the experiment with the necessary configurations required for its execution. Additionally, this method initializes the learning algorithms for both parameter and structure learning based on the specified parameters.

      The method processes the following parameters in sequence: 1. Path to data: extracts the path to the datasets, which includes an initial dataset and a feature stream folder. 2. Class variables: specifies the names of the class variables. 3. Time variable: specifies the name of the time variable. 4. Model validation: a boolean value indicating whether the models should be validated. 5. Processing method: determines the specific implementation of feature stream processing to be applied.

      After extracting these parameters, the method proceeds to define the parameter learning algorithms and the constraint-based learning algorithms, setting up the experiment for execution.

      Parameters:
      args - a queue of strings containing the parameters needed to configure the experiment
    • executeExperiment

      public MultiCTBNC<CPTNode,CIMNode> executeExperiment(String pathExperiment, String typeProcessing) throws IOException, ErroneousValueException, UnreadDatasetException
      Executes a single feature stream experiment for a specified path. It involves reading datasets, initializing a Multi-CTBNC and applying the feature stream processing.
      Parameters:
      pathExperiment - path to the experiment data, including training and streaming data
      typeProcessing - the type of feature stream processing to be applied
      Returns:
      the Multi-CTBNC resulting from the experiment
      Throws:
      IOException - if an error occurs in file reading
      UnreadDatasetException - if the dataset cannot be read
      ErroneousValueException - if there is an issue with the provided data or configuration settings
    • executeExperiment

      public MultiCTBNC<CPTNode,CIMNode> executeExperiment(String pathExperiment, String typeProcessing, double sigTimeTransitionHypFSSParam, double sigStateToStateTransitionHypFSSParam) throws UnreadDatasetException, IOException, ErroneousValueException
      Executes a single feature stream experiment. This method prepares the datasets for the experiment, initializes the model and then applies the specified feature stream processing.
      Parameters:
      pathExperiment - path to the experiment data, including training and streaming data
      typeProcessing - type of feature stream processing to be applied
      sigTimeTransitionHypFSSParam - significance level for time transition hypothesis
      sigStateToStateTransitionHypFSSParam - significance level for state-to-state transition hypothesis
      Returns:
      Multi-CTBNC resulting from the experiment
      Throws:
      UnreadDatasetException - if the dataset cannot be read
      IOException - if an error occurs in file reading
      ErroneousValueException - if there are erroneous values in the data