cmaclell / concept_formation

Python implementations of TRESTLE, COBWEB/3, and COBWEB
MIT License
61 stars 18 forks source link

Preprocessor Pipelines can be broken by one-way preprocessors #12

Closed eharpste closed 8 years ago

eharpste commented 8 years ago

Some of the preprocessors are designed to be only one-way (e.g., ObjectVariablizer, NumericToNominal, and NominalToNumeric) this means that their undo functions raise UnImplmentedExceptions. A problem with this is if they are added to a Pipeline they will break the overall undo process. I would argue for changing their undo to just pass through the original object. Alternatively we could put special logic in the Pipeline to catch the exception.

eharpste commented 8 years ago

I'm thinking of handling this by introducing another base class preprocessor of a one-way preprocessor that just no-ops its undo function.

eharpste commented 8 years ago

Fixed previously