Share via


PrincipalComponentAnalyzer Class

Definition

PCA is a dimensionality-reduction transform which computes the projection of the feature vector onto a low-rank subspace.

public sealed class PrincipalComponentAnalyzer : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.PrincipalComponentAnalysisTransformer>
type PrincipalComponentAnalyzer = class
    interface IEstimator<PrincipalComponentAnalysisTransformer>
Public NotInheritable Class PrincipalComponentAnalyzer
Implements IEstimator(Of PrincipalComponentAnalysisTransformer)
Inheritance
PrincipalComponentAnalyzer
Implements

Remarks

Principle Component Analysis (PCA) is a dimensionality-reduction algorithm which computes the projection of the feature vector to onto a low-rank subspace. Its training is done using the technique described in the paper: Combining Structured and Unstructured Randomness in Large Scale PCA, and the paper Finding Structure with Randomness: Probabilistic Algorithms for Constructing Approximate Matrix Decompositions

For more information, see also:

Methods

Fit(IDataView)

Trains and returns a PrincipalComponentAnalysisTransformer.

GetOutputSchema(SchemaShape)

Returns the SchemaShape of the schema which will be produced by the transformer. Used for schema propagation and verification in a pipeline.

Extension Methods

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

Append a 'caching checkpoint' to the estimator chain. This will ensure that the downstream estimators will be trained against cached data. It is helpful to have a caching checkpoint before trainers that take multiple data passes.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

Given an estimator, return a wrapping object that will call a delegate once Fit(IDataView) is called. It is often important for an estimator to return information about what was fit, which is why the Fit(IDataView) method returns a specifically typed object, rather than just a general ITransformer. However, at the same time, IEstimator<TTransformer> are often formed into pipelines with many objects, so we may need to build a chain of estimators via EstimatorChain<TLastTransformer> where the estimator for which we want to get the transformer is buried somewhere in this chain. For that scenario, we can through this method attach a delegate that will be called once fit is called.

Applies to