代码
from numpy import log1p
from sklearn.preprocessing import Imputer
from sklearn.preprocessing import OneHotEncoder
from sklearn.preprocessing import FunctionTransformer
from sklearn.preprocessing import Binarizer
from sklearn.preprocessing import MinMaxScaler
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2
from sklearn.decomposition import PCA
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
step1 = ('Imputer',Imputer())
step2_1 = ('OneHotEncoder',OneHotEncoder(sparse=False))
step2_2 = ('Tolog',FunctionTransformer(log1p))
step2_3 = ('ToBinary',Binarizer())
step2 = ('FeatureUnionExt',FeatureUnionExt(transformer_list=[step2_1,step2_2,step2_3],idx_list=[[0], [1, 2, 3], [4]]))
step3 = ('MinMaxScaler',MinMaxScaler())
step4 = ('SelectKBest',SelectKBest(chi2,k=3))
step5 = ('PCA',PCA(n_components=2))
step6 = ('LogisticRegression',LogisticRegression(penalty='12'))
pipeline = Pipeline(steps=[step1, step2, step3, step4, step5, step6])
一些参考