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

Class OneVsRestClassifierScikitsLearnNode



One-vs-the-rest (OvR) multiclass/multilabel strategy

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

Also known as one-vs-all, this strategy consists in fitting one classifier
per class. For each classifier, the class is fitted against all the other
classes. In addition to its computational efficiency (only `n_classes`
classifiers are needed), one advantage of this approach is its
interpretability. Since each class is represented by one and one classifier
only, it is possible to gain knowledge about the class by inspecting its
corresponding classifier. This is the most commonly used strategy for
multiclass classification and is a fair default choice.

This strategy can also be used for multilabel learning, where a classifier
is used to predict multiple labels for instance, by fitting on a 2-d matrix
in which cell [i, j] is 1 if sample i has label j and 0 otherwise.

In the multilabel learning literature, OvR is also known as the binary
relevance method.

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

**Parameters**

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

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 `n_classes` estimators
    Estimators used for predictions.

``classes_`` : array, shape = [`n_classes`]
    Class labels.
``label_binarizer_`` : LabelBinarizer object
    Object used to transform multiclass labels to binary labels and
    vice-versa.
``multilabel_`` : boolean
    Whether a OneVsRestClassifier is a multilabel classifier.

Instance Methods [hide private]
 
__init__(self, input_dim=None, output_dim=None, dtype=None, **kwargs)
One-vs-the-rest (OvR) multiclass/multilabel 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)

 

One-vs-the-rest (OvR) multiclass/multilabel strategy

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

Also known as one-vs-all, this strategy consists in fitting one classifier
per class. For each classifier, the class is fitted against all the other
classes. In addition to its computational efficiency (only `n_classes`
classifiers are needed), one advantage of this approach is its
interpretability. Since each class is represented by one and one classifier
only, it is possible to gain knowledge about the class by inspecting its
corresponding classifier. This is the most commonly used strategy for
multiclass classification and is a fair default choice.

This strategy can also be used for multilabel learning, where a classifier
is used to predict multiple labels for instance, by fitting on a 2-d matrix
in which cell [i, j] is 1 if sample i has label j and 0 otherwise.

In the multilabel learning literature, OvR is also known as the binary
relevance method.

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

**Parameters**

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

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 `n_classes` estimators
    Estimators used for predictions.

``classes_`` : array, shape = [`n_classes`]
    Class labels.
``label_binarizer_`` : LabelBinarizer object
    Object used to transform multiclass labels to binary labels and
    vice-versa.
``multilabel_`` : boolean
    Whether a OneVsRestClassifier is a multilabel classifier.

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.OneVsRestClassifier 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 : (sparse) array-like, shape = [n_samples] or [n_samples, n_classes].
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.OneVsRestClassifier 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 : (sparse) array-like, shape = [n_samples] or [n_samples, n_classes]
Multi-class targets. An indicator matrix turns on multilabel classification.

Returns

self

Overrides: Node.stop_training