We're planning a major release, Karoo 3.0, that will be pip-installable and include all the recent features - the new API, sklearn-compatibility, logical operators - and some additional items. The purpose of this issue is to determine which items to include, and track our progress toward the release.
Below is my first take:
Karoo 3.0 (include)
Karoo 3.N (later)
- Add
click for color in Interactive-mode menu.
- Remove
ast from the Tree.load process.
- Basic parsimony (T/F, choose shorter if equal fitness, add to
BaseGP.compare_fitness
- Finalize sklearn: pass
sklearn.utils.estimator_checks.check_estimator(BaseGP).
- Add support for
log and trigonometric funcs.
- Add simplifying support for operators not supported by
Sympy.
Tree.display support highlighting specific nodes
- Replace the current calls to log/pause/error with a 'hooks' system.
- Don't store
X and y in the model directly. (needs hooks)
- Make save/load population api more generic, move the
population_a.csv references to a dict/enum in karoo-gp.py. (needs hooks)
- Limit 'load' functionality in Interactive mode to certain stages
- Make it possible to save/reload and continue training from same point.
- Create more
GP classes: BinaryClassifierGP, EnsembleClassifierGP, BooleanGP, etc.
We're planning a major release, Karoo 3.0, that will be
pip-installable and include all the recent features - the new API, sklearn-compatibility, logical operators - and some additional items. The purpose of this issue is to determine which items to include, and track our progress toward the release.Below is my first take:
Karoo 3.0 (include)
sphinxfor readthedocs.io, including the content from the Karoo_GP_User_Guide.pdf updated to be currentKaroo 3.N (later)
clickfor color in Interactive-mode menu.astfrom theTree.loadprocess.BaseGP.compare_fitnesssklearn.utils.estimator_checks.check_estimator(BaseGP).logand trigonometric funcs.Sympy.Tree.displaysupport highlighting specific nodesXandyin the model directly. (needs hooks)population_a.csvreferences to a dict/enum inkaroo-gp.py. (needs hooks)GPclasses:BinaryClassifierGP,EnsembleClassifierGP,BooleanGP, etc.