Closed drewoldag closed 1 month ago
Before [c683c9b0] | After [20226e50] | Ratio | Benchmark (Parameter) |
---|---|---|---|
failed | 195M | n/a | benchmarks.peakmem_learn_loop('KNN') |
failed | 186M | n/a | benchmarks.peakmem_learn_loop('RandomForest') |
failed | 136±4ms | n/a | benchmarks.time_feature_creation |
failed | 149±2ms | n/a | benchmarks.time_learn_loop('KNN', 'RandomSampling') |
failed | 152±1ms | n/a | benchmarks.time_learn_loop('KNN', 'UncSampling') |
failed | 2.60±0s | n/a | benchmarks.time_learn_loop('RandomForest', 'RandomSampling') |
failed | 2.58±0.01s | n/a | benchmarks.time_learn_loop('RandomForest', 'UncSampling') |
Click here to view all benchmarks.
This PR touches a lot of files, but many of the changes will be something like "bazin" -> "Bazin". Because it touches a lot of files, I would recommend that this be a true "Pull request", and I would ask the reviewer to checkout this code branch and use it to run pre-existing notebooks or scripts to help confirm that everything is working.
I have added the tooling to make feature extractors pluggable - and I've updated all the places where I found
FEATURE_EXTRACTOR_MAPPING
dictionaries to use the dictionary that is now generated automatically when the various LightCurve subclasses are imported.An open question that I'll turn into issue and address is a separate PR is: what are methods that subclasses of
LightCurve
must implement? It seems like most of the existing subclasses implementfit
andfit_all
. But it's not clear if there are more. We should add stubs to the base class and raise aNotImplemented
exception for all the methods that a subclass must implement.