som-7.2.0: Self-Organising Maps

Portabilityportable
Stabilityexperimental
Maintaineramy@nualeargais.ie
Safe HaskellSafe-Inferred

Data.Datamining.Clustering.Classifier

Description

Tools for identifying patterns in data.

Synopsis

Documentation

class Classifier c k p whereSource

A machine which learns to classify input patterns. Minimal complete definition: trainBatch, reportAndTrain.

Methods

toList :: c k p -> [(k, p)]Source

Returns a list of index/model pairs.

numModels :: c k p -> IntSource

Returns the number of models this classifier can learn.

models :: c k p -> [p]Source

Returns the current models of the classifier.

differences :: (Pattern p, v ~ Metric p) => c k p -> p -> [(k, v)]Source

differences c target returns the indices of all nodes in c, paired with the difference between target and the node's model.

classify :: (Pattern p, Ord v, v ~ Metric p) => c k p -> p -> kSource

classify c target returns the index of the node in c whose model best matches the target.

train :: (Ord v, v ~ Metric p) => c k p -> p -> c k pSource

train c target returns a modified copy of the classifier c that has partially learned the target.

trainBatch :: c k p -> [p] -> c k pSource

trainBatch c targets returns a modified copy of the classifier c that has partially learned the targets.

classifyAndTrain :: (Ord v, v ~ Metric p) => c k p -> p -> (k, c k p)Source

classifyAndTrain c target returns a tuple containing the index of the node in c whose model best matches the input target, and a modified copy of the classifier c that has partially learned the target. Invoking classifyAndTrain c p may be faster than invoking (p classify c, train c p), but they should give identical results.

diffAndTrain :: (Ord v, v ~ Metric p) => c k p -> p -> ([(k, v)], c k p)Source

diffAndTrain c target returns a tuple containing: 1. The indices of all nodes in c, paired with the difference between target and the node's model 2. A modified copy of the classifier c that has partially learned the target. Invoking diffAndTrain c p may be faster than invoking (p diff c, train c p), but they should give identical results.

reportAndTrain :: (Ord v, v ~ Metric p) => c k p -> p -> (k, [(k, v)], c k p)Source

reportAndTrain c f target returns a tuple containing: 1. The index of the node in c whose model best matches the input target 2. The indices of all nodes in c, paired with the difference between target and the node's model 3. A modified copy of the classifier c that has partially learned the target Invoking diffAndTrain c p may be faster than invoking (p diff c, train c p), but they should give identical results.

Instances

(GridMap gm p, ~ * k (Index (BaseGrid gm p)), Pattern p, FiniteGrid (gm p), GridMap gm (Metric p), ~ * k (Index (gm p)), ~ * k (Index (BaseGrid gm (Metric p))), Ord k, Ord (Metric p), Num (Metric p), Fractional (Metric p)) => Classifier (DSOM gm) k p 
(GridMap gm p, ~ * k (Index (BaseGrid gm p)), Pattern p, Grid (gm p), GridMap gm (Metric p), ~ * k (Index (gm p)), ~ * k (Index (BaseGrid gm (Metric p))), Ord (Metric p), LearningFunction f, ~ * (Metric p) (LearningRate f), Num (LearningRate f), Integral t) => Classifier (SOM f t gm) k p