小编use*_*789的帖子

我如何使用列转换器获取_feature_names

import numpy as np
import pandas as pd
from sklearn.preprocessing import OneHotEncoder,StandardScaler
from sklearn.compose import ColumnTransformer, make_column_transformer
from sklearn.linear_model import LinearRegression

df = pd.DataFrame({'brand'      : ['aaaa', 'asdfasdf', 'sadfds', 'NaN'],
                   'category'   : ['asdf','asfa','asdfas','as'], 
                   'num1'       : [1, 1, 0, 0] ,
                   'target'     : [0.2,0.11,1.34,1.123]})



train_continuous_cols = df.select_dtypes(include=["int64","float64"]).columns.tolist()
train_categorical_cols = df.select_dtypes(include=["object"]).columns.tolist()


preprocess = make_column_transformer( 
    (StandardScaler(),train_continuous_cols),
    (OneHotEncoder(), train_categorical_cols)
)
df= preprocess.fit_transform(df)
Run Code Online (Sandbox Code Playgroud)

只是想获取所有功能名称:

preprocess.get_feature_names()
Run Code Online (Sandbox Code Playgroud)

收到此错误:

Transformer standardscaler (type StandardScaler) does not provide get_feature_names
Run Code Online (Sandbox Code Playgroud)

我该如何解决?在线示例使用管道,我试图避免这种情况。

python scikit-learn

5
推荐指数
2
解决办法
862
查看次数

标签 统计

python ×1

scikit-learn ×1