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

Class OutputCodeClassifierScikitsLearnNode



(Error-Correcting) Output-Code multiclass strategy

This node has been automatically generated by wrapping the ``sklearn.multiclass.OutputCodeClassifier`` class
from the ``sklearn`` library.  The wrapped instance can be accessed
through the ``scikits_alg`` attribute.

Output-code based strategies consist in representing each class with a
binary code (an array of 0s and 1s). At fitting time, one binary
classifier per bit in the code book is fitted.  At prediction time, the
classifiers are used to project new points in the class space and the class
closest to the points is chosen. The main advantage of these strategies is
that the number of classifiers used can be controlled by the user, either
for compressing the model (0 < code_size < 1) or for making the model more
robust to errors (code_size > 1). See the documentation for more details.

Read more in the :ref:`User Guide <ecoc>`.

**Parameters**

estimator : estimator object
    An estimator object implementing `fit` and one of `decision_function`
    or `predict_proba`.

code_size : float
    Percentage of the number of classes to be used to create the code book.
    A number between 0 and 1 will require fewer classifiers than
    one-vs-the-rest. A number greater than 1 will require more classifiers
    than one-vs-the-rest.

random_state : numpy.RandomState, optional
    The generator used to initialize the codebook. Defaults to
    numpy.random.

n_jobs : int, optional, default: 1
    The number of jobs to use for the computation. If -1 all CPUs are used.
    If 1 is given, no parallel computing code is used at all, which is
    useful for debugging. For n_jobs below -1, (n_cpus + 1 + n_jobs) are
    used. Thus for n_jobs = -2, all CPUs but one are used.

**Attributes**

``estimators_`` : list of `int(n_classes * code_size)` estimators
    Estimators used for predictions.

``classes_`` : numpy array of shape [n_classes]
    Array containing labels.

``code_book_`` : numpy array of shape [n_classes, code_size]
    Binary array containing the code of each class.

**References**


.. [1] "Solving multiclass learning problems via error-correcting output
   codes",
   Dietterich T., Bakiri G.,
   Journal of Artificial Intelligence Research 2,
   1995.

.. [2] "The error coding method and PICTs",
   James G., Hastie T.,
   Journal of Computational and Graphical statistics 7,
   1998.

.. [3] "The Elements of Statistical Learning",
   Hastie T., Tibshirani R., Friedman J., page 606 (second-edition)
   2008.

Instance Methods [hide private]
 
__init__(self, input_dim=None, output_dim=None, dtype=None, **kwargs)
(Error-Correcting) Output-Code multiclass strategy
 
_get_supported_dtypes(self)
Return the list of dtypes supported by this node. The types can be specified in any format allowed by numpy.dtype.
 
_label(self, x)
 
_stop_training(self, **kwargs)
Transform the data and labels lists to array objects and reshape them.
 
label(self, x)
Predict multi-class targets using underlying estimators.
 
stop_training(self, **kwargs)
Fit underlying estimators.

Inherited from PreserveDimNode (private): _set_input_dim, _set_output_dim

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 ClassifierCumulator
 
_check_train_args(self, x, labels)
 
_train(self, x, labels)
Cumulate all input data in a one dimensional list.
 
train(self, x, labels)
Cumulate all input data in a one dimensional list.
    Inherited from ClassifierNode
 
_execute(self, x)
 
_prob(self, x, *args, **kargs)
 
execute(self, x)
Process the data contained in x.
 
prob(self, x, *args, **kwargs)
Predict probability for each possible outcome.
 
rank(self, x, threshold=None)
Returns ordered list with all labels ordered according to prob(x) (e.g., [[3 1 2], [2 1 3], ...]).
    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)
 
_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 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]
 
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, input_dim=None, output_dim=None, dtype=None, **kwargs)
(Constructor)

 

(Error-Correcting) Output-Code multiclass strategy

This node has been automatically generated by wrapping the ``sklearn.multiclass.OutputCodeClassifier`` class
from the ``sklearn`` library.  The wrapped instance can be accessed
through the ``scikits_alg`` attribute.

Output-code based strategies consist in representing each class with a
binary code (an array of 0s and 1s). At fitting time, one binary
classifier per bit in the code book is fitted.  At prediction time, the
classifiers are used to project new points in the class space and the class
closest to the points is chosen. The main advantage of these strategies is
that the number of classifiers used can be controlled by the user, either
for compressing the model (0 < code_size < 1) or for making the model more
robust to errors (code_size > 1). See the documentation for more details.

Read more in the :ref:`User Guide <ecoc>`.

**Parameters**

estimator : estimator object
    An estimator object implementing `fit` and one of `decision_function`
    or `predict_proba`.

code_size : float
    Percentage of the number of classes to be used to create the code book.
    A number between 0 and 1 will require fewer classifiers than
    one-vs-the-rest. A number greater than 1 will require more classifiers
    than one-vs-the-rest.

random_state : numpy.RandomState, optional
    The generator used to initialize the codebook. Defaults to
    numpy.random.

n_jobs : int, optional, default: 1
    The number of jobs to use for the computation. If -1 all CPUs are used.
    If 1 is given, no parallel computing code is used at all, which is
    useful for debugging. For n_jobs below -1, (n_cpus + 1 + n_jobs) are
    used. Thus for n_jobs = -2, all CPUs but one are used.

**Attributes**

``estimators_`` : list of `int(n_classes * code_size)` estimators
    Estimators used for predictions.

``classes_`` : numpy array of shape [n_classes]
    Array containing labels.

``code_book_`` : numpy array of shape [n_classes, code_size]
    Binary array containing the code of each class.

**References**


.. [1] "Solving multiclass learning problems via error-correcting output
   codes",
   Dietterich T., Bakiri G.,
   Journal of Artificial Intelligence Research 2,
   1995.

.. [2] "The error coding method and PICTs",
   James G., Hastie T.,
   Journal of Computational and Graphical statistics 7,
   1998.

.. [3] "The Elements of Statistical Learning",
   Hastie T., Tibshirani R., Friedman J., page 606 (second-edition)
   2008.

Overrides: object.__init__

_get_supported_dtypes(self)

 
Return the list of dtypes supported by this node. The types can be specified in any format allowed by numpy.dtype.
Overrides: Node._get_supported_dtypes

_label(self, x)

 
Overrides: ClassifierNode._label

_stop_training(self, **kwargs)

 
Transform the data and labels lists to array objects and reshape them.

Overrides: Node._stop_training

is_invertible()
Static Method

 
Return True if the node can be inverted, False otherwise.
Overrides: Node.is_invertible
(inherited documentation)

is_trainable()
Static Method

 
Return True if the node can be trained, False otherwise.
Overrides: Node.is_trainable

label(self, x)

 

Predict multi-class targets using underlying estimators.

This node has been automatically generated by wrapping the sklearn.multiclass.OutputCodeClassifier class from the sklearn library. The wrapped instance can be accessed through the scikits_alg attribute.

Parameters

X : (sparse) array-like, shape = [n_samples, n_features]
Data.

Returns

y : numpy array of shape [n_samples]
Predicted multi-class targets.
Overrides: ClassifierNode.label

stop_training(self, **kwargs)

 

Fit underlying estimators.

This node has been automatically generated by wrapping the sklearn.multiclass.OutputCodeClassifier class from the sklearn library. The wrapped instance can be accessed through the scikits_alg attribute.

Parameters

X : (sparse) array-like, shape = [n_samples, n_features]
Data.
y : numpy array of shape [n_samples]
Multi-class targets.

Returns

self

Overrides: Node.stop_training