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)
我该如何解决?在线示例使用管道,我试图避免这种情况。