com.rapidminer.operator.features.construction
Class FourierGenerator

java.lang.Object
  extended by com.rapidminer.operator.features.construction.ExampleSetBasedIndividualOperator
      extended by com.rapidminer.operator.features.construction.FourierGenerator
All Implemented Interfaces:
ExampleSetBasedPopulationOperator

public class FourierGenerator
extends ExampleSetBasedIndividualOperator

This PopulationOperator generates new attributes in an individual's example table. Each piecewise continous function can be synthesized with help of a Fourier synthesis, i.e. with a sum of trigonometric function with different frequencies and phases. This pop op searches for the best frequencies and construct the corresponding trigonometric functions as new attributes. For each attribute a of the individuals the following is done:

  1. The label is seen as function of the attribute a
  2. A fast fourier transform is performed to search the k biggest frequencies f_kin this attributes space (and their phase differences p_k).
  3. For each of these k frequencies a new attribute is generated: sin(f_k * a) + p_k.

Author:
Ingo Mierswa

Constructor Summary
FourierGenerator(int maxPeaks, int adaptionType, int attributesPerPeak, double epsilon, RandomGenerator random)
          Creates a new fourier generator.
 
Method Summary
 java.util.List<ExampleSetBasedIndividual> operate(ExampleSetBasedIndividual individual)
          Subclasses must implement this method providing a list of new individuals.
 boolean performOperation(int generation)
          The default implementation returns true for every generation.
 void setApplyInGeneration(int applyInGeneration)
           
 void setStartGenerations(int startGenerations)
           
 
Methods inherited from class com.rapidminer.operator.features.construction.ExampleSetBasedIndividualOperator
operate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FourierGenerator

public FourierGenerator(int maxPeaks,
                        int adaptionType,
                        int attributesPerPeak,
                        double epsilon,
                        RandomGenerator random)
Creates a new fourier generator.

Method Detail

setStartGenerations

public void setStartGenerations(int startGenerations)

setApplyInGeneration

public void setApplyInGeneration(int applyInGeneration)

performOperation

public boolean performOperation(int generation)
Description copied from class: ExampleSetBasedIndividualOperator
The default implementation returns true for every generation.

Specified by:
performOperation in interface ExampleSetBasedPopulationOperator
Overrides:
performOperation in class ExampleSetBasedIndividualOperator

operate

public java.util.List<ExampleSetBasedIndividual> operate(ExampleSetBasedIndividual individual)
                                                  throws java.lang.Exception
Description copied from class: ExampleSetBasedIndividualOperator
Subclasses must implement this method providing a list of new individuals. individual will be removed from the population so it might be useful to return a list of size 1 containing only the modified individual. If the original individual should also be part of the new population it must also be added to the result list.

Specified by:
operate in class ExampleSetBasedIndividualOperator
Throws:
java.lang.Exception


Copyright © 2001-2009 by Rapid-I