ClassifierFunction

ClassifierFunction[]

represents a function generated by Classify that classifies data into classes.

Details and Options

  • ClassifierFunction works like Function.
  • ClassifierFunction[][data] attempts to classify data, returning the class in which data is considered most likely to be.
  • ClassifierFunction[][{data1,data2,}] attempts to classify all the datai.
  • ClassifierFunction[][data,prop] gives the specified property of the classification associated with data.
  • Possible properties applicable to all methods include:
  • "Decision"best class according to the probabilities and the utility function
    "TopProbabilities"probabilities for most likely classes
    "TopProbabilities"nprobabilities for the n most likely classes
    "Probability"classprobability for a specific class
    "Probabilities"association of probabilities for all possible classes
    "Properties"list of all properties available
  • ClassifierFunction[][data,,opts] specifies that the classifier should use the options opts when applied to data.
  • Possible options are:
  • ClassPriorsAutomaticexplicit prior probabilities for classes
    IndeterminateThresholdAutomaticbelow what probability to return Indeterminate
    PerformanceGoalAutomaticwhich aspect of performance to optimize
    TargetDevice"CPU"the target device on which to perform training
    UtilityFunctionAutomaticutility expressed as a function of actual and predicted class
  • A ClassifierFunction[] trained in an older version of the Wolfram Language will still work in the current version.
  • Classify[net] can be used to convert a NetChain or NetGraph representing a classifier into a ClassifierFunction[].
  • Classify[ClassifierFunction[],opts], can be used to update the values of PerformanceGoal, ClassPriors, IndeterminateThreshold, UtilityFunction or FeatureExtractor of the classifier.
  • In Classify[ClassifierFunction[],FeatureExtractorfe], the FeatureExtractorFunction[] fe will be prepended to the existing feature extractor.
  • Information[ClassifierFunction[]] generates an information panel about the classifier and its estimated performances.
  • Information[ClassifierFunction[],prop] can be used to obtain specific properties.
  • Information of a ClassifierFunction may include the following properties:
  • "Accuracy"estimated accuracy of the classifier
    "BatchEvaluationTime"marginal time to predict one example when a batch is given
    "Classes"list of classes that the classifier can return
    "ClassNumber"number of classes that the classifier can return
    "EvaluationTime"time needed to classify one example
    "ExampleNumber"number of training examples
    "FeatureTypes"feature types of the classfier input
    "FunctionMemory"memory needed to store the classifier
    "FunctionProperties"all classification properties available for this classifier
    "IndeterminateThreshold"value of IndeterminateThreshold used by the classifier
    "LearningCurve"performance as a function of the training set size
    "MaxTrainingMemory"maximum memory used during training
    "MeanCrossEntropy"estimated mean cross entropy of the classifier
    "Method"value of Method used by the classifier
    "MethodDescription"summary of the method
    "MethodOption"full method option to be reused in a new training
    "Properties"all information properties available for this classifier
    "TrainingTime"time used by Classify to generate the classifier
    "UtilityFunction"value of UtilityFunction used by the classifier
  • Information properties also include all method suboptions.

Examples

open allclose all

Basic Examples  (2)

Create a ClassifierFunction with Classify and a list of labeled examples:

Classify an unlabeled example with the ClassifierFunction:

Classify multiple examples:

Return the probabilities of the classes given the feature of an example:

Return the sorted probabilities of the most likely classes:

Return the probability of the most probable class:

Return the probability of a given class:

Plot the probability of class "B" as a function of the feature:

Generate a ClassifierFunction using multiple features:

Use the function on a new example:

Classify an example that has missing features:

Get the probabilities for the most probable classes:

Scope  (4)

Create a function classifying textual data:

Classify new examples:

Obtain information on the function:

Obtain the properties that can be used by this function:

Train a classifier function:

Generate a classifier measurements object of the function applied to a test set:

Get the accuracy from the function on the test set:

Visualize the confusion matrix:

Generate a classifier function whose input is an association:

Use the function on an example:

Classify examples containing missing features:

Train a classifier:

Store the ClassifierFunction[] into a file using the "WMLF" format:

Load the classifier from the file using Import:

Use the loaded classifier on new data:

Options  (4)

ClassPriors  (1)

Train a classifier on an imbalanced dataset:

The example 5False is classified as True:

Classify this example with a uniform prior over classes:

The class priors of a classifier can also be updated after training:

IndeterminateThreshold  (1)

Train a classifier:

Obtain class probabilities for an example:

The most probable class is chosen as the prediction:

No prediction is made if no class probabilities exceed a specified probability threshold:

Update the value of the threshold permanently:

TargetDevice  (1)

Train a classifier using a neural network:

Evaluate the resulting classifier on system's default GPU and look at its AbsoluteTiming:

Compare the previous timing with the one achieved by using the default CPU computation:

UtilityFunction  (1)

Train a classifier:

By default, the most probable class is predicted:

Specify a utility function that penalizes examples of class "yes" being misclassified as "no":

Update the value of the utility function permanently:

Introduced in 2014
 (10.0)
 |
Updated in 2017
 (11.1)
2018
 (11.3)
2019
 (12.0)