MixtureClassifier

(Source code, png)

../../../_images/MixtureClassifier.png
class MixtureClassifier(*args)

Particular classifier based on a mixture distribution.

Parameters:
mixtDistMixture

A mixture distribution.

Methods

classify(*args)

Classify points according to the classifier.

getClassName()

Accessor to the object's name.

getDimension()

Accessor to the dimension.

getMixture()

Accessor to the mixture distribution.

getName()

Accessor to the object's name.

getNumberOfClasses()

Accessor to the number of classes.

grade(*args)

Grade points according to the classifier.

hasName()

Test if the object is named.

isParallel()

Accessor to the parallel flag.

setMixture(mixture)

Accessor to the mixture distribution.

setName(name)

Accessor to the object's name.

setParallel(flag)

Accessor to the parallel flag.

Notes

This implements a mixture classifier which is a particular classifier based on a mixture distribution:

p( \vect{x} ) = \sum_{i=1}^N w_i p_i ( \vect{x} )

The classifier proposes N classes. The rule to assign a point \vect{x} to a class i is defined as follows:

i = \argmax_k \log w_k p_k( \vect{x} )

See useful methods classify() and grade().

__init__(*args)
classify(*args)

Classify points according to the classifier.

Available usages:

classify(inputPoint)

classify(inputSample)

Parameters:
inputPointsequence of float

A point to classify.

inputSample2-d a sequence of float

A set of point to classify.

Notes

The classifier proposes N classes where N is the dimension of the mixture distribution mixtDist. The rule to assign a point \vect{x} to a class i is defined as follows:

i = \argmax_k \log w_k p_k( \vect{x} )

In the first usage, it returns an integer which corresponds to the class where inputPoint has been assigned.

In the second usage, it returns an Indices that collects the class of each point of inputSample.

getClassName()

Accessor to the object’s name.

Returns:
class_namestr

The object class name (object.__class__.__name__).

getDimension()

Accessor to the dimension.

Returns:
dimint

The dimension of the classifier.

getMixture()

Accessor to the mixture distribution.

Returns:
mixtDistMixture

The mixture distribution.

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getNumberOfClasses()

Accessor to the number of classes.

Returns:
n_classesint

The number of classes

grade(*args)

Grade points according to the classifier.

Available usages:

grade(inputPoint, k)

grade(inputSample, classList)

Parameters:
inputPointsequence of float

A point to grade.

inputSample2-d a sequence of float

A set of point to grade.

kint

The class number.

classListsequence of integer

The list of class number.

Notes

The grade of \vect{x} with respect to the class k is log w_k p_k ( \vect{x} ).

In the first usage, it returns a real value that grades inputPoint with respect to the class k. The larger, the better.

In the second usage, it returns a Point that collects the grades of the i^{th} element of inputSample with respect to the i^{th} class of classList.

hasName()

Test if the object is named.

Returns:
hasNamebool

True if the name is not empty.

isParallel()

Accessor to the parallel flag.

Returns:
flagbool

Logical value telling if the parallel mode has been activated.

setMixture(mixture)

Accessor to the mixture distribution.

Parameters:
mixtDistMixture

The mixture distribution.

setName(name)

Accessor to the object’s name.

Parameters:
namestr

The name of the object.

setParallel(flag)

Accessor to the parallel flag.

Parameters:
flagbool

Logical value telling if the classification and grading are done in parallel.

Examples using the class

Mixture of experts

Mixture of experts