projects the examples examplei to a lower-dimensional approximating manifold.


projects onto an approximating manifold in n-dimensional space.

Details and Options

  • DimensionReduce can be used on many types of data, including numerical, textual, sounds, and images, as well as combinations of these.
  • Each examplei can be a single data element, a list of data elements, an association of data elements, or a Dataset object.
  • DimensionReduce[examples] automatically chooses an appropriate dimension for the approximating manifold.
  • DimensionReduce[examples] is equivalent to DimensionReduce[examples,Automatic].
  • The following options can be given:
  • FeatureExtractorIdentityhow to extract features from which to learn
    FeatureNamesAutomaticnames to assign to elements of the examplei
    FeatureTypesAutomaticfeature types to assume for elements of the examplei
    MethodAutomaticwhich reduction algorithm to use
    PerformanceGoalAutomaticaspect of performance to optimize
    RandomSeeding1234what seeding of pseudorandom generators should be done internally
    TargetDevice"CPU"the target device on which to perform training
  • Possible settings for PerformanceGoal include:
  • "Quality"maximize reduction quality
    "Speed"maximize reduction speed
  • Possible settings for Method include:
  • Automaticautomatically chosen method
    "LatentSemanticAnalysis"latent semantic analysis method
    "Linear"automatically choose the best linear method
    "LowRankMatrixFactorization"use a low-rank matrix factorization algorithm
    "PrincipalComponentsAnalysis"principal components analysis method
    "TSNE"t-distributed stochastic neighbor embedding algorithm
    "AutoEncoder"use a trainable autoencoder
    "LLE"locally linear embedding
    "Isomap"isometric mapping
  • For Method"TSNE", the following suboptions are supported:
  • "Perplexity"Automaticperplexity value to be used
    "LinearPrereduction"Falsewhether to perform a light linear pre-reduction before running the t-SNE algorithm
  • Possible settings for RandomSeeding include:
  • Automaticautomatically reseed every time the function is called
    Inheriteduse externally seeded random numbers
    seeduse an explicit integer or strings as a seed
  • DimensionReduce[,FeatureExtractor"Minimal"] indicates that the internal preprocessing should be as simple as possible.


open all close all

Basic Examples  (2)

Reduce the dimension of vectors:

Click for copyable input
Click for copyable input

Specify that the target dimension should be 1:

Click for copyable input

Reduce the dimension of a mixed-type dataset:

Click for copyable input

Scope  (6)

Options  (6)

Applications  (1)

Introduced in 2015
Updated in 2018