Skip to content

Commit d93576c

Browse files
authored
Merge pull request #166 from EpistasisLab/doc_build
Latest and Legacy Docs
2 parents 9ca7800 + ed8669e commit d93576c

File tree

141 files changed

+4724
-18792
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

141 files changed

+4724
-18792
lines changed

.github/workflows/docs.yml

+22-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ jobs:
1717
with:
1818
python-version: '3.10'
1919

20+
- name: Cache dependencies
21+
uses: actions/cache@v3
22+
with:
23+
path: ~/.cache/pip
24+
key: ${{ runner.os }}-pip-${{ hashFiles('docs/requirements_docs.txt') }}
25+
restore-keys: |
26+
${{ runner.os }}-pip-
27+
2028
- name: Install dependencies
2129
run: |
2230
pip install --upgrade pip
@@ -41,6 +49,18 @@ jobs:
4149
run: |
4250
bash docs/scripts/build_mkdocs.sh
4351
44-
- name: Build and Deploy Docs
52+
- name: Build and Deploy Latest Docs
53+
run: |
54+
mike deploy --push --branch gh-pages latest
55+
56+
- name: Build and Deploy Archived Docs
57+
run: |
58+
mike deploy --config-file mkdocs_archived.yml --push --branch gh-pages archived
59+
60+
- name: Set Default Version
61+
run: |
62+
mike set-default latest --push --branch gh-pages
63+
64+
- name: Create alias for Latest Docs
4565
run: |
46-
mkdocs gh-deploy --force --clean --verbose
66+
mike alias latest stable --push --branch gh-pages

.gitignore

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
*.pyc
22
.pytest_cache/
3-
TPOT2.egg-info
3+
TPOT.egg-info
4+
TPOT.egg-info
45
*.tar.gz
56
*.pkl
67
*.json
@@ -14,4 +15,6 @@ target/
1415
.venv/
1516
build/*
1617
*.egg
17-
*.coverage*
18+
*.coverage*
19+
docs/documentation/
20+
mkdocs.yml

README.md

+31-25
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
# TPOT2
1+
# TPOT
22

3-
![Tests](https://github.com/EpistasisLab/tpot2/actions/workflows/tests.yml/badge.svg)
4-
[![PyPI Downloads](https://img.shields.io/pypi/dm/tpot2?label=pypi%20downloads)](https://pypi.org/project/TPOT2)
5-
[![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/tpot2?label=conda%20downloads)](https://anaconda.org/conda-forge/tpot2)
3+
<center>
4+
<img src="https://raw.githubusercontent.com/EpistasisLab/tpot/master/images/tpot-logo.jpg" width=300 />
5+
</center>
6+
7+
<br>
8+
9+
![Tests](https://github.com/EpistasisLab/tpot/actions/workflows/tests.yml/badge.svg)
10+
[![PyPI Downloads](https://img.shields.io/pypi/dm/tpot?label=pypi%20downloads)](https://pypi.org/project/TPOT)
11+
[![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/tpot?label=conda%20downloads)](https://anaconda.org/conda-forge/tpot)
612

713
TPOT stands for Tree-based Pipeline Optimization Tool. TPOT is a Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming. Consider TPOT your Data Science Assistant.
814

@@ -33,8 +39,8 @@ The original version of TPOT was primarily developed at the University of Pennsy
3339

3440
## License
3541

36-
Please see the [repository license](https://github.com/EpistasisLab/tpot2/blob/main/LICENSE) for the licensing and usage information for TPOT2.
37-
Generally, we have licensed TPOT2 to make it as widely usable as possible.
42+
Please see the [repository license](https://github.com/EpistasisLab/tpot/blob/main/LICENSE) for the licensing and usage information for TPOT.
43+
Generally, we have licensed TPOT to make it as widely usable as possible.
3844

3945
TPOT is free software: you can redistribute it and/or modify
4046
it under the terms of the GNU Lesser General Public License as
@@ -51,23 +57,23 @@ License along with TPOT. If not, see <http://www.gnu.org/licenses/>.
5157

5258
## Documentation
5359

54-
[The documentation webpage can be found here.](https://epistasislab.github.io/tpot2/)
60+
[The documentation webpage can be found here.](https://epistasislab.github.io/tpot/)
5561

5662
We also recommend looking at the Tutorials folder for jupyter notebooks with examples and guides.
5763

5864
## Installation
5965

60-
TPOT2 requires a working installation of Python.
66+
TPOT requires a working installation of Python.
6167

6268
### Creating a conda environment (optional)
6369

64-
We recommend using conda environments for installing TPOT2, though it would work equally well if manually installed without it.
70+
We recommend using conda environments for installing TPOT, though it would work equally well if manually installed without it.
6571

6672
[More information on making anaconda environments found here.](https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html)
6773

6874
```
69-
conda create --name tpot2env python=3.10
70-
conda activate tpot2env
75+
conda create --name tpotenv python=3.10
76+
conda activate tpotenv
7177
```
7278

7379
### Packages Used
@@ -99,7 +105,7 @@ Many of the hyperparameter ranges used in our configspaces were adapted from eit
99105

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

102-
You need to install the lightgbm package directly from conda using the following command before installing TPOT2.
108+
You need to install the lightgbm package directly from conda using the following command before installing TPOT.
103109

104110
This is to ensure that you get the version that is compatible with your system.
105111

@@ -109,10 +115,10 @@ conda install --yes -c conda-forge 'lightgbm>=3.3.3'
109115

110116
### Installing Extra Features with pip
111117

112-
If you want to utilize the additional features provided by TPOT2 along with `scikit-learn` extensions, you can install them using `pip`. The command to install TPOT2 with these extra features is as follows:
118+
If you want to utilize the additional features provided by TPOT along with `scikit-learn` extensions, you can install them using `pip`. The command to install TPOT with these extra features is as follows:
113119

114120
```
115-
pip install tpot2[sklearnex]
121+
pip install tpot[sklearnex]
116122
```
117123

118124
Please note that while these extensions can speed up scikit-learn packages, there are some important considerations:
@@ -126,11 +132,11 @@ We recommend using Python 3.9 when installing these extra features, as it provid
126132

127133

128134
```
129-
pip install -e /path/to/tpot2repo
135+
pip install -e /path/to/tpotrepo
130136
```
131137

132-
If you downloaded with git pull, then the repository folder will be named TPOT2. (Note: this folder is the one that includes setup.py inside of it and not the folder of the same name inside it).
133-
If you downloaded as a zip, the folder may be called tpot2-main.
138+
If you downloaded with git pull, then the repository folder will be named TPOT. (Note: this folder is the one that includes setup.py inside of it and not the folder of the same name inside it).
139+
If you downloaded as a zip, the folder may be called tpot-main.
134140

135141

136142
## Usage
@@ -140,17 +146,17 @@ See the Tutorials Folder for more instructions and examples.
140146
### Best Practices
141147

142148
#### 1
143-
TPOT2 uses dask for parallel processing. When Python is parallelized, each module is imported within each processes. Therefore it is important to protect all code within a `if __name__ == "__main__"` when running TPOT2 from a script. This is not required when running TPOT2 from a notebook.
149+
TPOT uses dask for parallel processing. When Python is parallelized, each module is imported within each processes. Therefore it is important to protect all code within a `if __name__ == "__main__"` when running TPOT from a script. This is not required when running TPOT from a notebook.
144150

145151
For example:
146152

147153
```
148154
#my_analysis.py
149155
150-
import tpot2
156+
import tpot
151157
if __name__ == "__main__":
152158
X, y = load_my_data()
153-
est = tpot2.TPOTClassifier()
159+
est = tpot.TPOTClassifier()
154160
est.fit(X,y)
155161
#rest of analysis
156162
```
@@ -207,15 +213,15 @@ good_function = lambda est, a=a, b=b : new_objective(est=est, a=a, b=b)
207213

208214
### Tips
209215

210-
TPOT2 will not check if your data is correctly formatted. It will assume that you have passed in operators that can handle the type of data that was passed in. For instance, if you pass in a pandas dataframe with categorical features and missing data, then you should also include in your configuration operators that can handle those feautures of the data. Alternatively, if you pass in `preprocessing = True`, TPOT2 will impute missing values, one hot encode categorical features, then standardize the data. (Note that this is currently fitted and transformed on the entire training set before splitting for CV. Later there will be an option to apply per fold, and have the parameters be learnable.)
216+
TPOT will not check if your data is correctly formatted. It will assume that you have passed in operators that can handle the type of data that was passed in. For instance, if you pass in a pandas dataframe with categorical features and missing data, then you should also include in your configuration operators that can handle those feautures of the data. Alternatively, if you pass in `preprocessing = True`, TPOT will impute missing values, one hot encode categorical features, then standardize the data. (Note that this is currently fitted and transformed on the entire training set before splitting for CV. Later there will be an option to apply per fold, and have the parameters be learnable.)
211217

212218

213219
Setting `verbose` to 5 can be helpful during debugging as it will print out the error generated by failing pipelines.
214220

215221

216-
## Contributing to TPOT2
222+
## Contributing to TPOT
217223

218-
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.
224+
We welcome you to check the existing issues for bugs or enhancements to work on. If you have an idea for an extension to TPOT, please file a new issue so we can discuss it.
219225

220226
## Citing TPOT
221227

@@ -281,8 +287,8 @@ BibTeX entry:
281287
}
282288
```
283289

284-
### Support for TPOT2
290+
## Support for TPOT
285291

286-
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.
292+
TPOT 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.
287293

288294
The TPOT logo was designed by Todd Newmuis, who generously donated his time to the project.

0 commit comments

Comments
 (0)