LSSTDESC / RESSPECT

The RESSPECT project is a result from an inter-collaboration agreement established between the Cosmostatistics Initiative (COIN) and the LSST Dark Energy Science Collaboration (DESC) with the goal of developing a recommendation system for telescope resource allocation able to optimize photometric supernova cosmology anaylsis.
MIT License
1 stars 0 forks source link

Scaffolding for pluggable feature extractors #61

Closed drewoldag closed 1 month ago

drewoldag commented 1 month ago

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 implement fit and fit_all. But it's not clear if there are more. We should add stubs to the base class and raise a NotImplemented exception for all the methods that a subclass must implement.

github-actions[bot] commented 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.