从Sklearn LabelBinarizer获取功能名称

时间:2017-07-29 17:44:48

标签: python-3.x scikit-learn

文档和一些相关的帖子让我相信我应该能够从标签中获取功能名称scikit-learn的LabelBinarizer是一种热门编码。

我有一个定义如下的管道:

cat_pipeline = Pipeline([
        ('selector', DataFrameSelector(cat_attribs)),
        ('label_binarizer', LabelBinarizer()),
    ])

这很好用,(注意DataFrameSelector是一个自定义类),但是,似乎我可以像这样提取功能名称:

feature_names = cat_pipeline.named_steps['label_binarizer'].get_feature_names()

我也尝试用get_feature_names()代替get_support()无效。

当在一个热编码之前在管道外部使用LabelEncoder时,这是可能的,如下所示:

from sklearn.preprocessing import LabelEncoder

encoder = LabelEncoder()
housing_cat = housing["ocean_proximity"]
housing_cat_encoded = encoder.fit_transform(housing_cat)
housing_cat_encoded
print(encoder.classes_)

有关更多信息,请参阅我正在处理的笔记本:

https://github.com/ageron/handson-ml/blob/master/02_end_to_end_machine_learning_project.ipynb

0 个答案:

没有答案