Package mdp :: Package nodes :: Class AdaptiveCutoffNode
[hide private]
[frames] | no frames]

Class AdaptiveCutoffNode


Node which uses the data history during training to learn cutoff values.

As opposed to the simple CutoffNode, a different cutoff value is learned for each data coordinate. For example if an upper cutoff fraction of 0.05 is specified, then the upper cutoff bound is set so that the upper 5% of the training data would have been clipped (in each dimension). The cutoff bounds are then applied during execution. This node also works as a HistogramNode, so the histogram data is stored.

When stop_training is called the cutoff values for each coordinate are calculated based on the collected histogram data.

Instance Methods [hide private]
 
__init__(self, lower_cutoff_fraction=None, upper_cutoff_fraction=None, hist_fraction=1.0, hist_filename=None, input_dim=None, output_dim=None, dtype=None)
Initializes an object of type 'AdaptiveCutoffNode'.
numpy.ndarray
_execute(self, x)
Return the clipped data.
list
_get_supported_dtypes(self)
Return the data types supported by this node.
 
_stop_training(self)
Calculate the cutoff bounds based on collected histogram data.
numpy.ndarray
execute(self, x)
Return the clipped data.
 
stop_training(self)
Calculate the cutoff bounds based on collected histogram data.

Inherited from unreachable.newobject: __long__, __native__, __nonzero__, __unicode__, next

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

    Inherited from HistogramNode
 
_train(self, x)
Store the history data.
 
train(self, x)
Store the history data.
    Inherited from PreserveDimNode
 
_set_input_dim(self, n)
 
_set_output_dim(self, n)
    Inherited from Node
 
__add__(self, other)
 
__call__(self, x, *args, **kwargs)
Calling an instance of Node is equivalent to calling its execute method.
 
__repr__(self)
repr(x)
 
__str__(self)
str(x)
 
_check_input(self, x)
 
_check_output(self, y)
 
_check_train_args(self, x, *args, **kwargs)
 
_get_train_seq(self)
 
_if_training_stop_training(self)
 
_inverse(self, x)
 
_pre_execution_checks(self, x)
This method contains all pre-execution checks.
 
_pre_inversion_checks(self, y)
This method contains all pre-inversion checks.
 
_refcast(self, x)
Helper function to cast arrays to the internal dtype.
 
_set_dtype(self, t)
 
copy(self, protocol=None)
Return a deep copy of the node.
 
get_current_train_phase(self)
Return the index of the current training phase.
 
get_dtype(self)
Return dtype.
 
get_input_dim(self)
Return input dimensions.
 
get_output_dim(self)
Return output dimensions.
 
get_remaining_train_phase(self)
Return the number of training phases still to accomplish.
 
get_supported_dtypes(self)
Return dtypes supported by the node as a list of numpy.dtype objects.
 
has_multiple_training_phases(self)
Return True if the node has multiple training phases.
 
inverse(self, y, *args, **kwargs)
Invert y.
 
is_training(self)
Return True if the node is in the training phase, False otherwise.
 
save(self, filename, protocol=-1)
Save a pickled serialization of the node to filename. If filename is None, return a string.
 
set_dtype(self, t)
Set internal structures' dtype.
 
set_input_dim(self, n)
Set input dimensions.
 
set_output_dim(self, n)
Set output dimensions.
Static Methods [hide private]
    Inherited from Node
 
is_invertible()
Return True if the node can be inverted, False otherwise.
 
is_trainable()
Return True if the node can be trained, False otherwise.
Properties [hide private]

Inherited from object: __class__

    Inherited from Node
  _train_seq
List of tuples:
  dtype
dtype
  input_dim
Input dimensions
  output_dim
Output dimensions
  supported_dtypes
Supported dtypes
Method Details [hide private]

__init__(self, lower_cutoff_fraction=None, upper_cutoff_fraction=None, hist_fraction=1.0, hist_filename=None, input_dim=None, output_dim=None, dtype=None)
(Constructor)

 
Initializes an object of type 'AdaptiveCutoffNode'.
Parameters:
  • lower_cutoff_fraction (float) - Fraction of data that will be cut off after the training phase (assuming the data distribution does not change). If set to None (default value) no cutoff is performed.
  • upper_cutoff_fraction (float) - Works like lower_cutoff_fraction.
  • hist_fraction (float) - Defines the fraction of the data that is stored for the histogram.
  • hist_filename (str) - Filename for the file to which the data history will be pickled after training. The data is pickled when stop_training is called and data_hist is then cleared (to free memory). If filename is None (default value) then data_hist is not cleared and can be directly used after training.
  • input_dim (int) - The input dimensionality.
  • output_dim (int) - The output dimensionality.
  • dtype (numpy.dtype or str) - The datatype.
Overrides: object.__init__

_execute(self, x)

 
Return the clipped data.
Parameters:
  • x (numpy.ndarray) - Data to clip.
Returns: numpy.ndarray
The clipped data.
Overrides: Node._execute

_get_supported_dtypes(self)

 
Return the data types supported by this node.
Returns: list
The list of numpy.dtypes that this node supports.
Overrides: Node._get_supported_dtypes

_stop_training(self)

 
Calculate the cutoff bounds based on collected histogram data.
Overrides: Node._stop_training

execute(self, x)

 
Return the clipped data.
Parameters:
  • x (numpy.ndarray) - Data to clip.
Returns: numpy.ndarray
The clipped data.
Overrides: Node.execute

stop_training(self)

 
Calculate the cutoff bounds based on collected histogram data.
Overrides: Node.stop_training