ClassNamePrefixFeaturesOutMixin#
- class sklearn.base.ClassNamePrefixFeaturesOutMixin#
Mixin类用于通过前缀生成自己的名称的转换器。
当转换器需要生成自己的特征名称时,这个mixin非常有用,例如:class:
~sklearn.decomposition.PCA
。例如,如果:class:~sklearn.decomposition.PCA
输出3个特征,那么生成的特征名称是:["pca0", "pca1", "pca2"]
。这个mixin假设在转换器拟合时定义了一个
_n_features_out
属性。_n_features_out
是转换器将在transform
或fit_transform
中返回的输出特征的数量。Examples
>>> import numpy as np >>> from sklearn.base import ClassNamePrefixFeaturesOutMixin >>> class MyEstimator(ClassNamePrefixFeaturesOutMixin): ... 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)#
获取转换后的输出特征名称。
输出特征名称将以小写的类名作为前缀。例如,如果转换器输出3个特征,那么输出特征名称将是:
["class_name0", "class_name1", "class_name2"]
。- Parameters:
- input_features类似数组的对象或None,默认为None
仅用于验证特征名称与
fit
中看到的名称。
- Returns:
- feature_names_outndarray of str对象
转换后的特征名称。