Open PeterDSteinberg opened 7 years ago
@gbrener - In this PR, there are new modules in elm.pipeline.steps
that map to sklearn
subpackages, e.g an elm.pipeline.steps.linear_model
module that has a LinearRegression
wrapped for MLDataset
. Here's an example of AffinityPropagration wrapped. A design question:
Wrapped
and programmatically created all these wrapped classes rather than the new elm.pipeline.steps
modules. And with that approach elm.pipeline.steps.linear_model
was a Namespace
within the elm.pipeline.steps
module (having an attribute LinearRegression
). That approach had the problem described here on issue 224 where all the classes had the __name__
Wrapped
because Wrapped
was a class name used in the dynamic creation of wrapped classes. The good thing about the approach in master now with Wrapped
is that it is more succinct, but also it means we would need to programmatically create doc strings for LinearModel
as wrapped by elm.pipeline.steps.Wrapped
. Most of the file diff in this PR is related to changes in elm.pipeline.steps
. Do you think I should undo all the new modules in elm.pipeline.steps
and fix the repr of Wrapped
? See its current definition in master here - basically it delgates everything to a class given ._cls
which is a class and self
is passed into _cls
for many methods.
elm.pipeline.steps
subpackage for wrappedsklearn
transformers / estimators. This will help therepr
/str
and other__
private methods for the wrapped classes.