Click or drag to resize
Accord.NET (logo)

HiddenMarkovClassifier Class

Discrete-density Hidden Markov Model Set for Sequence Classification.
Inheritance Hierarchy
SystemObject
  Accord.MachineLearningTransformBaseInt32, Int32
    Accord.MachineLearningClassifierBaseInt32, Int32
      Accord.MachineLearningMulticlassClassifierBaseInt32
        Accord.MachineLearningMulticlassScoreClassifierBaseInt32
          Accord.MachineLearningMulticlassLikelihoodClassifierBaseInt32
            Accord.Statistics.Models.MarkovBaseHiddenMarkovClassifierHiddenMarkovModel, GeneralDiscreteDistribution, Int32
              Accord.Statistics.Models.MarkovHiddenMarkovClassifier

Namespace:  Accord.Statistics.Models.Markov
Assembly:  Accord.Statistics (in Accord.Statistics.dll) Version: 3.8.0
Syntax
[SerializableAttribute]
public class HiddenMarkovClassifier : BaseHiddenMarkovClassifier<HiddenMarkovModel, GeneralDiscreteDistribution, int>, 
	IEnumerable, IHiddenMarkovClassifier
Request Example View Source

The HiddenMarkovClassifier type exposes the following members.

Constructors
  NameDescription
Public methodHiddenMarkovClassifier(Int32)
Creates a new Sequence Classifier with the given number of classes.
Public methodHiddenMarkovClassifier(Int32, ITopology, Int32)
Creates a new Sequence Classifier with the given number of classes.
Public methodHiddenMarkovClassifier(Int32, ITopology, Int32)
Creates a new Sequence Classifier with the given number of classes.
Public methodHiddenMarkovClassifier(Int32, Int32, Int32)
Creates a new Sequence Classifier with the given number of classes.
Public methodHiddenMarkovClassifier(Int32, ITopology, Int32, String)
Creates a new Sequence Classifier with the given number of classes.
Public methodHiddenMarkovClassifier(Int32, ITopology, Int32, String)
Creates a new Sequence Classifier with the given number of classes.
Public methodHiddenMarkovClassifier(Int32, Int32, Int32, String)
Creates a new Sequence Classifier with the given number of classes.
Top
Properties
  NameDescription
Public propertyClasses Obsolete.
Gets the number of classes which can be recognized by this classifier.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Public propertyItem
Gets the Hidden Markov Model implementation responsible for recognizing each of the classes given the desired class label.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Public propertyModels
Gets the collection of models specialized in each class of the sequence classification problem.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Public propertyNumberOfClasses
Gets the number of classes expected and recognized by the classifier.
(Inherited from ClassifierBaseTInput, TClasses.)
Public propertyNumberOfInputs
Gets the number of inputs accepted by the model.
(Inherited from TransformBaseTInput, TOutput.)
Public propertyNumberOfOutputs
Gets the number of outputs generated by the model.
(Inherited from TransformBaseTInput, TOutput.)
Public propertyNumberOfSymbols
Gets the number of symbols recognizable by the models.
Public propertyPriors
Gets the prior distribution assumed for the classes.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Public propertySensitivity
Gets or sets a value governing the rejection given by a threshold model (if present). Increasing this value will result in higher rejection rates. Default is 1.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Public propertySymbols Obsolete.
Obsolete. Please use NumberOfSymbols instead.
Public propertyThreshold
Gets or sets the threshold model.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Top
Methods
  NameDescription
Public methodCompute(Int32) Obsolete.
Computes the most likely class for a given sequence.
Public methodCompute(Int32, Double) Obsolete.
Computes the most likely class for a given sequence.
Public methodCompute(Int32, Double) Obsolete.
Computes the most likely class for a given sequence.
Public methodStatic memberCreateGeneric
Creates a new Sequence Classifier with the given number of classes.
Public methodStatic memberCreateGeneric2
Creates a new Sequence Classifier with the given number of classes.
Public methodDecide(TInput)
Computes class-label decisions for a given set of input vectors.
(Inherited from ClassifierBaseTInput, TClasses.)
Public methodDecide(TObservation)
Computes a class-label decision for a given input.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Public methodDecide(TInput, TClasses)
Computes a class-label decision for a given input.
(Inherited from ClassifierBaseTInput, TClasses.)
Public methodDecide(TInput, Boolean)
Computes class-label decisions for the given input.
(Inherited from MulticlassClassifierBaseTInput.)
Public methodDecide(TInput, Double)
Computes class-label decisions for the given input.
(Inherited from MulticlassClassifierBaseTInput.)
Public methodDecide(TInput, Int32)
Computes class-label decisions for the given input.
(Inherited from MulticlassClassifierBaseTInput.)
Public methodDecide(TInput, Double)
Computes a class-label decision for a given input.
(Inherited from MulticlassClassifierBaseTInput.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetEnumerator
Returns an enumerator that iterates through the models in the classifier.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodStatic memberLoad(Stream) Obsolete.
Loads a classifier from a stream.
Public methodStatic memberLoad(String) Obsolete.
Loads a classifier from a file.
Public methodStatic memberLoadTDistribution(Stream) Obsolete.
Loads a classifier from a stream.
Public methodStatic memberLoadTDistribution(String) Obsolete.
Loads a classifier from a file.
Public methodLogLikelihood(TInput)
Computes the log-likelihood that the given input vectors belongs to each of the possible classes.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihood(TObservation)
Computes the log-likelihood that the given input vector belongs to its decided class.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Public methodLogLikelihood(TInput, Int32)
Predicts a class label vector for the given input vector, returning the log-likelihood that the input vector belongs to its predicted class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihood(TInput, Double)
Computes the log-likelihood that the given input vectors belongs to each of the possible classes.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihood(TInput, Int32)
Computes the log-likelihood that the given input vector belongs to the specified classIndex.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihood(TInput, Int32)
Predicts a class label for each input vector, returning the log-likelihood that each vector belongs to its predicted class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihood(TObservation, Int32)
Computes the log-likelihood that the given input vector belongs to the specified classIndex.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Public methodLogLikelihood(TObservation, Int32)
Computes the log-likelihood that the given input vector belongs to its decided class.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Public methodLogLikelihood(Int32, Int32)
Computes the log-likelihood of a set of sequences belonging to their given respective classes according to this classifier.
Public methodLogLikelihood(TInput, Int32, Double)
Computes the log-likelihood that the given input vector belongs to the specified classIndex.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihood(TInput, Int32, Double)
Computes the log-likelihood that the given input vector belongs to the specified classIndex.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihood(TInput, Int32, Double)
Predicts a class label for each input vector, returning the log-likelihood that each vector belongs to its predicted class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihoods(TInput)
Computes the log-likelihood that the given input vector belongs to each of the possible classes.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihoods(TInput)
Computes the log-likelihood that the given input vectors belongs to each of the possible classes.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihoods(TInput, Double)
Computes the log-likelihood that the given input vector belongs to each of the possible classes.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihoods(TInput, Int32)
Predicts a class label vector for the given input vector, returning the log-likelihoods of the input vector belonging to each possible class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihoods(TInput, Double)
Computes the log-likelihood that the given input vector belongs to each of the possible classes.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihoods(TInput, Int32)
Computes the log-likelihood that the given input vector belongs to the specified classIndex.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihoods(TInput, Int32)
Predicts a class label vector for each input vector, returning the log-likelihoods of the input vector belonging to each possible class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihoods(TInput, Int32, Double)
Predicts a class label vector for the given input vector, returning the log-likelihoods of the input vector belonging to each possible class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihoods(TInput, Int32, Double)
Computes the log-likelihood that the given input vector belongs to the specified classIndex.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihoods(TInput, Int32, Double)
Predicts a class label vector for each input vector, returning the log-likelihoods of the input vector belonging to each possible class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodLogLikelihoods(TObservation, Int32, Double)
Predicts a class label vector for the given input vector, returning the log-likelihoods of the input vector belonging to each possible class.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodProbabilities(TInput)
Computes the probabilities that the given input vector belongs to each of the possible classes.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbabilities(TInput)
Computes the probabilities that the given input vector belongs to each of the possible classes.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbabilities(TInput, Double)
Computes the probabilities that the given input vector belongs to each of the possible classes.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbabilities(TInput, Int32)
Predicts a class label vector for the given input vector, returning the probabilities of the input vector belonging to each possible class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbabilities(TInput, Double)
Computes the probabilities that the given input vector belongs to each of the possible classes.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbabilities(TInput, Int32)
Predicts a class label vector for each input vector, returning the probabilities of the input vector belonging to each possible class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbabilities(TInput, Int32, Double)
Predicts a class label vector for the given input vector, returning the probabilities of the input vector belonging to each possible class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbabilities(TInput, Int32, Double)
Predicts a class label vector for each input vector, returning the probabilities of the input vector belonging to each possible class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbabilities(TObservation, Int32, Double)
Computes the probabilities that the given input vector belongs to each of the possible classes.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Public methodProbability(TInput)
Predicts a class label for the given input vector, returning the probability that the input vector belongs to its predicted class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbability(TObservation)
Computes the likelihood that the given input vector belongs to its decided class.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Public methodProbability(TInput, Int32)
Computes the probability that the given input vector belongs to the specified classIndex.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbability(TInput, Int32)
Predicts a class label for the given input vector, returning the probability that the input vector belongs to its predicted class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbability(TInput, Double)
Predicts a class label for the given input vector, returning the probability that the input vector belongs to its predicted class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbability(TInput, Int32)
Computes the probability that the given input vector belongs to the specified classIndex.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbability(TInput, Int32)
Computes the probability that the given input vector belongs to the specified classIndex.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbability(TInput, Int32)
Predicts a class label for each input vector, returning the probability that each vector belongs to its predicted class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbability(TObservation, Int32)
Computes the probability that the given input vector belongs to its decided class.
(Inherited from BaseHiddenMarkovClassifierTModel, TDistribution, TObservation.)
Public methodProbability(TInput, Int32, Double)
Computes the probability that the given input vector belongs to the specified classIndex.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbability(TInput, Int32, Double)
Computes the probability that the given input vector belongs to the specified classIndex.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodProbability(TInput, Int32, Double)
Predicts a class label for each input vector, returning the probability that each vector belongs to its predicted class.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodSave(Stream) Obsolete.
Saves the classifier to a stream.
Public methodSave(String) Obsolete.
Saves the classifier to a stream.
Public methodScore(TInput)
Computes a numerical score measuring the association between the given input vector and its most strongly associated class (as predicted by the classifier).
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScore(TInput)
Computes a numerical score measuring the association between the given input vector and its most strongly associated class (as predicted by the classifier).
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScore(TInput, Int32)
Computes a numerical score measuring the association between the given input vector and a given classIndex.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodScore(TInput, Int32)
Predicts a class label for the input vector, returning a numerical score measuring the strength of association of the input vector to its most strongly related class.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScore(TInput, Double)
Computes a numerical score measuring the association between the given input vector and its most strongly associated class (as predicted by the classifier).
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScore(TInput, Int32)
Computes a numerical score measuring the association between the given input vector and a given classIndex.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScore(TInput, Int32)
Computes a numerical score measuring the association between the given input vector and a given classIndex.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScore(TInput, Int32)
Predicts a class label for each input vector, returning a numerical score measuring the strength of association of the input vector to the most strongly related class.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScore(TInput, Int32, Double)
Computes a numerical score measuring the association between the given input vector and a given classIndex.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScore(TInput, Int32, Double)
Computes a numerical score measuring the association between the given input vector and a given classIndex.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScore(TInput, Int32, Double)
Predicts a class label for each input vector, returning a numerical score measuring the strength of association of the input vector to the most strongly related class.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScores(TInput)
Computes a numerical score measuring the association between the given input vector and each class.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScores(TInput)
Computes a numerical score measuring the association between the given input vector and each class.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScores(TInput, Double)
Computes a numerical score measuring the association between the given input vector and each class.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScores(TInput, Int32)
Predicts a class label vector for the given input vector, returning a numerical score measuring the strength of association of the input vector to each of the possible classes.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScores(TInput, Double)
Computes a numerical score measuring the association between the given input vector and each class.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScores(TInput, Int32)
Predicts a class label vector for each input vector, returning a numerical score measuring the strength of association of the input vector to each of the possible classes.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScores(TInput, Int32, Double)
Predicts a class label vector for the given input vector, returning a numerical score measuring the strength of association of the input vector to each of the possible classes.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodScores(TInput, Int32, Double)
Predicts a class label vector for each input vector, returning a numerical score measuring the strength of association of the input vector to each of the possible classes.
(Inherited from MulticlassScoreClassifierBaseTInput.)
Public methodToMulticlass
Views this instance as a multi-class generative classifier.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodToMultilabel
Views this instance as a multi-label generative classifier, giving access to more advanced methods, such as the prediction of one-hot vectors.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodTransform(TInput)
Applies the transformation to an input, producing an associated output.
(Inherited from ClassifierBaseTInput, TClasses.)
Public methodTransform(TInput)
Applies the transformation to a set of input vectors, producing an associated set of output vectors.
(Inherited from TransformBaseTInput, TOutput.)
Public methodTransform(TInput, TClasses)
Applies the transformation to an input, producing an associated output.
(Inherited from ClassifierBaseTInput, TClasses.)
Public methodTransform(TInput, Boolean)
Applies the transformation to an input, producing an associated output.
(Inherited from MulticlassClassifierBaseTInput.)
Public methodTransform(TInput, Int32)
Applies the transformation to an input, producing an associated output.
(Inherited from MulticlassClassifierBaseTInput.)
Public methodTransform(TInput, Boolean)
Applies the transformation to an input, producing an associated output.
(Inherited from MulticlassClassifierBaseTInput.)
Public methodTransform(TInput, Double)
Applies the transformation to an input, producing an associated output.
(Inherited from MulticlassClassifierBaseTInput.)
Public methodTransform(TInput, Int32)
Applies the transformation to an input, producing an associated output.
(Inherited from MulticlassClassifierBaseTInput.)
Public methodTransform(TInput, Double)
Applies the transformation to an input, producing an associated output.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Public methodTransform(TInput, Double)
Applies the transformation to an input, producing an associated output.
(Inherited from MulticlassLikelihoodClassifierBaseTInput.)
Top
Extension Methods
  NameDescription
Public Extension MethodHasMethod
Checks whether an object implements a method with the given name.
(Defined by ExtensionMethods.)
Public Extension MethodIsEqual
Compares two objects for equality, performing an elementwise comparison if the elements are vectors or matrices.
(Defined by Matrix.)
Public Extension MethodSetEqualsHiddenMarkovModel
Compares two enumerables for set equality. Two enumerables are set equal if they contain the same elements, but not necessarily in the same order.
(Defined by Matrix.)
Public Extension MethodTo(Type)Overloaded.
Converts an object into another type, irrespective of whether the conversion can be done at compile time or not. This can be used to convert generic types to numeric types during runtime.
(Defined by ExtensionMethods.)
Public Extension MethodToTOverloaded.
Converts an object into another type, irrespective of whether the conversion can be done at compile time or not. This can be used to convert generic types to numeric types during runtime.
(Defined by ExtensionMethods.)
Top
Remarks

This class uses a set of discrete hidden Markov models to classify sequences of integer symbols. Each model will try to learn and recognize each of the different output classes. For examples and details on how to learn such models, please take a look on the documentation for HiddenMarkovClassifierLearning.

For other type of sequences, such as discrete sequences (not necessarily symbols) or even continuous and multivariate variables, please see use the generic classifier counterpart HiddenMarkovClassifierTDistribution

Examples

Examples are available at the respective learning algorithm pages. For example, see HiddenMarkovClassifierLearning.

See Also