8000 Fallback to fit followed by transform if fit_transform is unavailable · satra/scikit-learn@58070a2 · GitHub
[go: up one dir, main page]

Skip to content

Commit 58070a2

Browse files
committed
Fallback to fit followed by transform if fit_transform is unavailable
1 parent 2d0525b commit 58070a2

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

sklearn/pipeline.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -214,9 +214,16 @@ def _fit_transform_one(transformer, name, X, y, transformer_weights,
214214
**fit_params):
215215
if transformer_weights is not None and name in transformer_weights:
216216
# if we have a weight for this transformer, muliply output
217-
return (transformer.fit_transform(X, y, **fit_params)
218-
* transformer_weights[name])
219-
return transformer.fit_transform(X, y, **fit_params)
217+
if hasattr(transformer, 'fit_transform'):
218+
return (transformer.fit_transform(X, y, **fit_params)
219+
* transformer_weights[name])
220+
else:
221+
return (transformer.fit(X, y, **fit_params).transform(X)
222+
* transformer_weights[name])
223+
if hasattr(transformer, 'fit_transform'):
224+
return transformer.fit_transform(X, y, **fit_params)
225+
else:
226+
return transformer.fit(X, y, **fit_params).transform(X)
220227

221228

222229
class FeatureUnion(BaseEstimator, TransformerMixin):
@@ -275,7 +282,7 @@ def fit(self, X, y=None):
275282

276283
def fit_transform(self, X, y=None, **fit_params):
277284
"""Fit all tranformers using X, transform the data and concatenate
278-
results. Valid only if all transformers implement fit_transform.
285+
results.
279286
280287
Parameters
281288
----------

0 commit comments

Comments
 (0)
0