(Python - sklearn) Cómo pasar parámetros a la clase ModelTransformer personalizada por gridsearchcv

A continuación se muestra mi canalización y parece que no puedo pasar los parámetros a mis modelos utilizando la clase ModelTransformer, que tomo del enlace (http://zacstewart.com/2014/08/05/pipelines-of-featureunions-of-pipelines.html)

El mensaje de error tiene sentido para mí, pero no sé cómo solucionarlo. ¿Algúna idea de cómo arreglar esto? Gracias.

# define a pipeline
pipeline = Pipeline([
('vect', DictVectorizer(sparse=False)),
('scale', preprocessing.MinMaxScaler()),
('ess', FeatureUnion(n_jobs=-1, 
                     transformer_list=[
     ('rfc', ModelTransformer(RandomForestClassifier(n_jobs=-1, random_state=1,  n_estimators=100))),
     ('svc', ModelTransformer(SVC(random_state=1))),],
                     transformer_weights=None)),
('es', EnsembleClassifier1()),
])

# define the parameters for the pipeline
parameters = {
'ess__rfc__n_estimators': (100, 200),
}

# ModelTransformer class. It takes it from the link
(http://zacstewart.com/2014/08/05/pipelines-of-featureunions-of-pipelines.html)
class ModelTransformer(TransformerMixin):
    def __init__(self, model):
        self.model = model
    def fit(self, *args, **kwargs):
        self.model.fit(*args, **kwargs)
        return self
    def transform(self, X, **transform_params):
        return DataFrame(self.model.predict(X))

grid_search = GridSearchCV(pipeline, parameters, n_jobs=-1, verbose=1, refit=True)

Mensaje de error: ValueError: parámetro no válido n_estimators para el estimador ModelTransformer.

Respuestas a la pregunta(1)

Su respuesta a la pregunta