ClassNamePrefixFeaturesOutMixin#
- class sklearn.base.ClassNamePrefixFeaturesOutMixin[source]#
Mixin class for transformers that generate their own names by prefixing.
This mixin is useful when the transformer needs to generate its own feature names out, such as
PCA
. For example, ifPCA
outputs 3 features, then the generated feature names out are:["pca0", "pca1", "pca2"]
.This mixin assumes that a
_n_features_out
attribute is defined when the transformer is fitted._n_features_out
is the number of output features that the transformer will return intransform
offit_transform
.Examples
>>> import numpy as np >>> from sklearn.base import ClassNamePrefixFeaturesOutMixin, BaseEstimator >>> class MyEstimator(ClassNamePrefixFeaturesOutMixin, BaseEstimator): ... def fit(self, X, y=None): ... self._n_features_out = X.shape[1] ... return self >>> X = np.array([[1, 2], [3, 4]]) >>> MyEstimator().fit(X).get_feature_names_out() array(['myestimator0', 'myestimator1'], dtype=object)
- get_feature_names_out(input_features=None)[source]#
Get output feature names for transformation.
The feature names out will prefixed by the lowercased class name. For example, if the transformer outputs 3 features, then the feature names out are:
["class_name0", "class_name1", "class_name2"]
.- Parameters:
- input_featuresarray-like of str or None, default=None
Only used to validate feature names with the names seen in
fit
.
- Returns:
- feature_names_outndarray of str objects
Transformed feature names.