Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sync to main #141

Merged
merged 97 commits into from
Jul 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
04886ad
new search space working with est
perib Mar 19, 2024
da1749e
edits
perib Mar 20, 2024
5b5b222
edits
perib Mar 22, 2024
a28b62f
tutorials fixes
perib Mar 27, 2024
974582c
edits to tutorials
perib Mar 27, 2024
496ad9b
Merge branch 'EpistasisLab:main' into new_search_space_def
perib Mar 27, 2024
ac0ba9d
Merge remote-tracking branch 'origin/dev' into new_search_space_def
perib Mar 27, 2024
22fd809
edit
perib Mar 27, 2024
68378bc
rng_ to rng
perib Mar 27, 2024
d5a27cc
Merge pull request #122 from perib/new_search_space_def
perib Mar 27, 2024
d806571
graph and tree random length initial pipeline
perib Mar 27, 2024
3e2a3c4
flatten pipelines to graph, graphpipe params
perib Mar 29, 2024
59dad61
flatten to graphpipeline, steadystate
perib Apr 10, 2024
d2dab4e
lots of edits to configuration spaces
perib Apr 18, 2024
a66ff10
edits
perib Apr 18, 2024
ca42398
edits
perib Apr 18, 2024
244e897
Merge pull request #123 from perib/new_search_space_def
perib Apr 18, 2024
a29a95d
fixes, passing tests
perib Apr 18, 2024
450a7e5
Merge pull request #124 from perib/new_search_space_def
perib Apr 18, 2024
ef42226
more fixes with search spaces - wrapper, make sure all supported modu…
perib Apr 18, 2024
b2a00ed
Merge pull request #126 from perib/new_search_space_def
perib Apr 18, 2024
d61cd29
added unique_id, fixed issue where graphpipeline not correctly identi…
perib Apr 19, 2024
5448a43
Merge pull request #127 from perib/new_search_space_def
perib Apr 19, 2024
18652bf
Merge pull request #125 from EpistasisLab/dev
jay-m-dev Apr 19, 2024
7de26d0
number of nodes on pipelines,gp, recursive + merge graphpipeline node…
perib Apr 19, 2024
05c9ee5
added GaussianProcessClassifier, test for merge duplicate nodes,
perib Apr 19, 2024
1710152
Merge pull request #128 from perib/new_search_space_def
perib Apr 19, 2024
3ce0584
cleanup
perib Apr 23, 2024
0d63172
updated dask version dependency
perib Apr 23, 2024
2b44d0e
complexity objective for more classifiers, added regressors
perib Apr 24, 2024
58ef5a3
bug fixes with configs and wrapper params
perib Apr 24, 2024
bee43d2
tpotclassifier and tpotregressor now use data size for search spaces
perib Apr 24, 2024
e17ed2c
typo
perib Apr 24, 2024
4578b4f
typo
perib Apr 24, 2024
7a9c535
bump version
perib Apr 24, 2024
0c2fffb
update version
perib Apr 24, 2024
bb8a919
Merge pull request #129 from perib/new_search_space_def
perib Apr 24, 2024
4fa02cf
fix num_nodes test, add update checker, setup.py change
perib Apr 24, 2024
743adf3
update setup.py
perib Apr 24, 2024
f5f466f
param_edits
perib Apr 24, 2024
79056bd
edit space
perib Apr 24, 2024
80525ce
optional inner classifiers/regressors
perib Apr 24, 2024
18346fc
edit
perib Apr 24, 2024
47b7fd0
edit version
perib Apr 24, 2024
8de41fb
Merge pull request #130 from perib/new_search_space_def
perib Apr 24, 2024
9b987e0
edit default space
perib Apr 25, 2024
dbba6ee
bug fixes, fixed unique_id type (non-iterable tuples), fixed graphpip…
perib May 3, 2024
3c6e8d2
make more mutation/cx functions available for gp
perib May 4, 2024
5b8f53f
fixed crossover between different node types causing a crash. now dif…
perib May 4, 2024
9338db7
unions, wrapping classifiers/regressors as transformers, multiple opt…
perib May 11, 2024
4cba717
functions to convert tpot1 config dicts to tpot2
perib May 15, 2024
d30c291
small note
perib May 15, 2024
8728fff
Merge pull request #131 from perib/new_search_space_def
perib May 15, 2024
1fecad6
bug fix
perib May 15, 2024
96e60d8
search_space fixes
perib May 16, 2024
0b1aa09
some bug fixes with configurations
perib May 16, 2024
2a3ee23
Merge pull request #132 from perib/new_search_space_def
perib May 16, 2024
5c634b3
remove hardcoded wrappers that are no longer needed
perib May 16, 2024
ecb4c10
Merge pull request #133 from perib/new_search_space_def
perib May 16, 2024
50fc0fe
passed rng to the sp generative functions, updated dynamic union to n…
perib May 16, 2024
3602956
map elites section functions
perib May 16, 2024
a007c13
import map elites selectors
perib May 16, 2024
bb94241
config updates
perib May 16, 2024
378149f
Merge pull request #134 from perib/new_search_space_def
perib May 17, 2024
935328f
Update _version.py
jay-m-dev May 17, 2024
d4102ec
Merge pull request #135 from EpistasisLab/jay-m-dev-patch-1
jay-m-dev May 17, 2024
445428c
gradientboosting invalid crossover parser fix
perib May 17, 2024
53c1019
one hot encoder no longer throws error by default on unknown categories
perib May 17, 2024
981d9d4
addded kbins dsitrcretizer with passthrough
perib May 18, 2024
ec9c3bb
make sure genetic feature selection always selects at least one column
perib May 18, 2024
ac79ed3
dyanmic_linear_fix
perib May 18, 2024
db0b132
fix bugs
perib May 20, 2024
8056594
catch dask error when closing, validation strategy now puts errors in…
perib May 23, 2024
fedc90d
Merge pull request #136 from perib/new_search_space_def
perib May 24, 2024
50d3eb2
removed a cx function in union pipeline so that we don't unintentiona…
perib Jun 7, 2024
326aae8
added skip
perib Jun 7, 2024
e69e8aa
imputer
perib Jun 14, 2024
5425ee4
added memory to sequential
perib Jun 14, 2024
bbef3e4
Merge pull request #137 from perib/new_search_space_def
perib Jun 19, 2024
64cfc2d
estimator with default search spaces. linear new default
perib Jun 29, 2024
9e7cef4
tutorials fixes
perib Jun 29, 2024
a1592e6
Merge pull request #138 from perib/new_search_space_def
perib Jun 29, 2024
102cdd5
removed unused files, passed rng into default_rng
perib Jul 9, 2024
2b59ec8
wrapper now crossover over hyperparametesr
perib Jul 9, 2024
1b63414
made naming clearer
perib Jul 9, 2024
e388651
wrapper for crossover functions so that subclasses can use crossover …
perib Jul 9, 2024
a250ed2
tpot estimator documentation edit
perib Jul 9, 2024
6905e6f
update documentation
perib Jul 9, 2024
f7b4b27
fixed imputation tutorial
perib Jul 9, 2024
76f76fa
fix
perib Jul 9, 2024
334ca58
wrap fix
perib Jul 9, 2024
8c0379c
added check for infinite max_eval_time_seconds
perib Jul 10, 2024
dc1fb8a
Print out package versions and make tests verbose
jay-m-dev Jul 10, 2024
76d3989
Pin numpy version
jay-m-dev Jul 10, 2024
93e709a
Merge pull request #139 from perib/new_search_space_def
jay-m-dev Jul 11, 2024
65b6760
Resolve version conflicts and test conflicts
jay-m-dev Jul 11, 2024
908eeca
Merge pull request #140 from EpistasisLab/search_space_api
jay-m-dev Jul 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ dask-worker-space/
target/
.venv/
build/*
*.egg
*.egg
*.coverage*
38 changes: 28 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,34 @@ conda create --name tpot2env python=3.10
conda activate tpot2env
```

### Packages Used

python version <3.12
numpy
scipy
scikit-learn
update_checker
tqdm
stopit
pandas
joblib
xgboost
matplotlib
traitlets
lightgbm
optuna
baikal
jupyter
networkx>
dask
distributed
dask-ml
dask-jobqueue
func_timeout
configspace

Many of the hyperparameter ranges used in our configspaces were adapted from either the original TPOT package or the AutoSklearn package.

### Note for M1 Mac or other Arm-based CPU users

You need to install the lightgbm package directly from conda using the following command before installing TPOT2.
Expand Down Expand Up @@ -159,16 +187,6 @@ Setting `verbose` to 5 can be helpful during debugging as it will print out the
We welcome you to check the existing issues for bugs or enhancements to work on. If you have an idea for an extension to TPOT2, please file a new issue so we can discuss it.


### Known issues
* TPOT2 uses the func_timeout package to terminate long running pipelines. The early termination signal may fail on particular estimators and cause TPOT2 to run for longer than intended. If you are using your own custom configuration dictionaries, and are noticing that TPOT2 is running for longer than intended, this may be the issue. We are currently looking into it. Sometimes restarting TPOT2 resolves the issue.
* Periodic checkpoint folder may not correctly resume if using budget and/or initial_population size.
* Population class is slow to add new individuals. The Population class needs to be updated to use a dictionary for storage rather than a pandas dataframe.
* Crossover may sometimes go over the size restrictions.
* Memory caching with GraphPipeline may miss some nodes where the ordering on inputs happens to be different between two nodes.




### Support for TPOT2

TPOT2 was developed in the [Artificial Intelligence Innovation (A2I) Lab](http://epistasis.org/) at Cedars-Sinai with funding from the [NIH](http://www.nih.gov/) under grants U01 AG066833 and R01 LM010098. We are incredibly grateful for the support of the NIH and the Cedars-Sinai during the development of this project.
Expand Down
Loading
Loading