pretab.transformers.LanguageEmbeddingTransformer

class pretab.transformers.LanguageEmbeddingTransformer(model_name='paraphrase-MiniLM-L3-v2', model=None)[source]

Bases: TransformerMixin, BaseEstimator

Encode categorical text features into embeddings using a pre-trained language model.

Each text value is mapped to a dense embedding vector produced by a SentenceTransformer model, allowing free-text categorical columns to be used by downstream numerical models.

Parameters:
  • model_name (str, default="paraphrase-MiniLM-L3-v2") – Name of the SentenceTransformer model to load when model is None.

  • model (object, optional) – A preloaded SentenceTransformer model instance. When provided, model_name is ignored.

Variables:
  • model (object) – The SentenceTransformer model used to compute embeddings, resolved during fit from model or by loading model_name.

  • n_features_in (int) – Number of input features seen during fit.

Notes

Requires the optional sentence-transformers dependency. Install it with pip install sentence-transformers or pass a preloaded model.

Examples

>>> from pretab.transformers import LanguageEmbeddingTransformer
>>> transformer = LanguageEmbeddingTransformer()
>>> embeddings = transformer.fit_transform([["red"], ["blue"], ["green"]])
>>> embeddings.shape[0]
3
__init__(model_name='paraphrase-MiniLM-L3-v2', model=None)[source]

Store parameters only; the embedding model is loaded lazily in fit.

Methods

__init__([model_name, model])

Store parameters only; the embedding model is loaded lazily in fit.

fit(X[, y])

Load the embedding model and record the number of input features.

fit_transform(X[, y])

Fit to data, then transform it.

get_metadata_routing()

Get metadata routing of this object.

get_params([deep])

Get parameters for this estimator.

set_output(*[, transform])

Set output container.

set_params(**params)

Set the parameters of this estimator.

transform(X)

Transform text features into numerical embeddings.

fit(X, y=None)[source]

Load the embedding model and record the number of input features.

Parameters:
  • X (array-like) – Input categorical text features.

  • y (Ignored) – Not used, present for API consistency by convention.

Returns:

self (object) – Fitted transformer.

transform(X)[source]

Transform text features into numerical embeddings.

Each column is encoded independently and the resulting embeddings are concatenated horizontally, so the output always has one row per input sample regardless of the number of text columns.

Parameters:

X (array-like) – A 1D or 2D array-like of categorical text features.

Returns:

embeddings (ndarray of shape (n_samples, n_features * embedding_dim)) – The concatenated embeddings for each text input.