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

Class KMeansClassifier


Employs K-Means Clustering for a given number of centroids.
Instance Methods [hide private]
 
__init__(self, num_clusters, max_iter=10000, execute_method=None, input_dim=None, output_dim=None, dtype=None)
Initializes an object of type 'KMeansClassifier'
list
_label(self, x)
For a set of feature vectors x, this classifier returns a list of centroids.
 
_nearest_centroid_idx(self, data, centroids)
 
_stop_training(self)
 
_train(self, x)
list
label(self, x)
For a set of feature vectors x, this classifier returns a list of centroids.
 
stop_training(self)
Stop the training phase.
 
train(self, x)
Update the internal structures according to the input data x.

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 ClassifierNode
 
_execute(self, x)
 
_prob(self, x, *args, **kargs)
 
execute(self, x)
Process the data contained in x.
 
prob(self, x, *args, **kwargs)
This function does classification or regression on a test vector T given a model with probability information. This node has been automatically generated by wrapping the scikits.learn.svm.classes.SVC class from the sklearn library. The wrapped instance can be accessed through the scikits_alg attribute. Parameters
 
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 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_supported_dtypes(self)
Return the list of dtypes supported by this node.
 
_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, num_clusters, max_iter=10000, execute_method=None, input_dim=None, output_dim=None, dtype=None)
(Constructor)

 
Initializes an object of type 'KMeansClassifier'
Parameters:
  • num_clusters (int) - number of centroids to use = number of clusters
  • max_iter (int) - If the algorithm does not reach convergence (for some numerical reason), stop after max_iter iterations.
  • execute_method (str) - Set to string value 'label', 'rank', or 'prob' to force the corresponding classification method being used instead of the standard identity execution (which is used when execute_method has the default value None). This can be used when the node is last in a flow, the return value from Flow.execute will then consist of the classification results.
  • input_dim (int) - The input dimensionality.
  • output_dim (int) - The output dimensionality.
  • dtype (numpy.dtype or str) - The datatype.
Overrides: object.__init__

_label(self, x)

 
For a set of feature vectors x, this classifier returns a list of centroids.
Parameters:
  • x (numpy.ndarray) - A set of feature vectors
Returns: list
A list of centroids
Overrides: ClassifierNode._label

_nearest_centroid_idx(self, data, centroids)

 

_stop_training(self)

 
Overrides: Node._stop_training

_train(self, x)

 
Overrides: Node._train

label(self, x)

 
For a set of feature vectors x, this classifier returns a list of centroids.
Parameters:
  • x (numpy.ndarray) - A set of feature vectors
Returns: list
A list of centroids
Overrides: ClassifierNode.label

stop_training(self)

 

Stop the training phase.

By default, subclasses should overwrite _stop_training to implement this functionality. The docstring of the _stop_training method overwrites this docstring.

Overrides: Node.stop_training

train(self, x)

 

Update the internal structures according to the input data x.

x is a matrix having different variables on different columns and observations on the rows.

By default, subclasses should overwrite _train to implement their training phase. The docstring of the _train method overwrites this docstring.

Note: a subclass supporting multiple training phases should implement the same signature for all the training phases and document the meaning of the arguments in the _train method doc-string. Having consistent signatures is a requirement to use the node in a flow.

Overrides: Node.train