Closed
Description
The following code is (correctly) blocked by an Value error:
steps = [
('Imputer', sklearn.preprocessing.Imputer(strategy='median')),
('OneHotEncoder', sklearn.preprocessing.OneHotEncoder(sparse=False, handle_unknown='ignore')),
('steps', sklearn.ensemble.BaggingClassifier(base_estimator=sklearn.tree.DecisionTreeClassifier))
]
self.assertRaises(ValueError, sklearn.pipeline.Pipeline, steps=steps)
(because 'steps' tuple name shadows the official steps parameter)
Same as this one:
transformer_list = [
('transformer_list', sklearn.preprocessing.Imputer(strategy='median')),
('OneHotEncoder', sklearn.preprocessing.OneHotEncoder(sparse=False, handle_unknown='ignore'))
]
self.assertRaises(ValueError, sklearn.pipeline.FeatureUnion, transformer_list=transformer_list)
(tuple name 'transformer_list' shadows parameter name)
However, this one does not get blocked:
clf1 = sklearn.ensemble.VotingClassifier(
estimators=[('estimators', sklearn.ensemble.RandomForestClassifier()),
('whatevs', sklearn.ensemble.ExtraTreesClassifier())])
Even though analogous to the prior cases the tuple name 'estimators' shadows the parameter name estimators.
Metadata
Metadata
Assignees
Labels
No labels