类名前缀特征输出混合类#

class sklearn.base.ClassNamePrefixFeaturesOutMixin[source]#

用于生成其自身名称(通过添加前缀)的转换器的混合类。

当转换器需要自己生成特征名称时,此mixin很有用,例如PCA。例如,如果PCA输出3个特征,则生成的特征名称为:["pca0", "pca1", "pca2"]

此mixin假设在拟合转换器时定义了_n_features_out属性。_n_features_out是转换器将在transformfit_transform中返回的输出特征数量。

示例

>>> 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]#

获取转换后的输出特征名称。

输出的特征名称将以小写的类名作为前缀。例如,如果转换器输出3个特征,则输出的特征名称为:["class_name0", "class_name1", "class_name2"]

参数:
input_features字符串数组或None,默认为None

仅用于使用在fit中看到的名称验证特征名称。

返回:
feature_names_out字符串对象数组

转换后的特征名称。