TextFeaturizingEstimator Class


An estimator that turns a collection of text documents into numerical feature vectors. The feature vectors are normalized counts of word and/or character n-grams (based on the options supplied).

public sealed class TextFeaturizingEstimator : Microsoft.ML.IEstimator<Microsoft.ML.ITransformer>
type TextFeaturizingEstimator = class
    interface IEstimator<ITransformer>
Public NotInheritable Class TextFeaturizingEstimator
Implements IEstimator(Of ITransformer)


Estimator Characteristics

Does this estimator need to look at the data to train its parameters? Yes.
Input column data type text
Output column data type Vector of Single
Exportable to ONNX No

This estimator gives the user one-stop solution for doing:

By default the features are made of (word/character) n-grams/skip-grams​ and the number of features are equal to the vocabulary size found by analyzing the data. To output an additional column with the tokens generated, use OutputTokensColumnName. The number of features can also be specified by selecting the maximum number of n-gram to keep in the TextFeaturizingEstimator.Options, where the estimator can be further tuned.

Check the See Also section for links to usage examples.



Trains and returns a ITransformer.


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

See also