https://github.com/ai2es/miles-guess
Machine learning models for estimating aleatoric and epistemic uncertainty with evidential and ensemble methods.
https://github.com/ai2es/miles-guess
ai bayesian epistemic-uncertainty evidential-deep-learning machine-learning neural-networks uncertainty-quantification
Last synced: 6 months ago
JSON representation
Machine learning models for estimating aleatoric and epistemic uncertainty with evidential and ensemble methods.
- Host: GitHub
- URL: https://github.com/ai2es/miles-guess
- Owner: ai2es
- License: cc0-1.0
- Created: 2023-09-01T02:06:45.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-07-09T00:22:06.000Z (12 months ago)
- Last Synced: 2025-11-27T17:47:21.703Z (7 months ago)
- Topics: ai, bayesian, epistemic-uncertainty, evidential-deep-learning, machine-learning, neural-networks, uncertainty-quantification
- Language: Jupyter Notebook
- Homepage: https://miles-guess.readthedocs.io/en/latest/
- Size: 24 MB
- Stars: 29
- Watchers: 6
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# MILES-Guess
Generalized Uncertainty for Earth System Science (GUESS)
Developed by the Machine Ingetration and Learning for Earth Systems (MILES) group at the NSF National Center for Atmospheric Research (NCAR), Boulder CO, USA
## Contributors
* John Schreck
* David John Gagne
* Charlie Becker
* Gabrielle Gantos
* Dhamma Kimpara
* Thomas Martin
## Documentation
Full documentation is [here](https://miles-guess.readthedocs.io/en/latest/).
## Quick Setup
Install in your Python environment with the following command:
```bash
pip install miles-guess
```
If you want to install a particular backend (tensorflow, tensorflow_gpu, torch, jax):
```bash
pip install miles-guess[]
```
## Setup from Scratch
Install the Miniconda Python installer available
[here](https://docs.conda.io/en/latest/miniconda.html).
First clone the miles-guess repo from github.
```bash
git clone https://github.com/ai2es/miles-guess.git`
cd miles-guess
```
Create a conda environment for non-Casper/Derecho users:
```bash
mamba env create -f environment.yml`
conda activate guess`
```
Create a conda environment for Casper/Derecho users including Tensorflow 2.15 with GPU support.
```bash
mamba env create -f environment_gpu.yml`
conda activate guess
```
## Using miles-guess
The law of total variance for each model prediction target may be computed as
$$LoTV = E[\sigma^2] + Var[\mu]$$
which is the sum of aleatoric and epistemic contributions, respectively. The MILES-GUESS package contains options for using either Keras or PyTorch for computing quantites according to the LoTV as well as utilizing Dempster-Shafer theory uncertainty in the classifier case.
For detailed information about training with Keras, refer to [the Keras training details README](docs/source/keras.md). There three scripts for training three regression models, and one for training categorical models. The regression examples are trained on our surface layer ("SL") dataset for predicting latent heat and other quantities,
and the categorical example is trained on a precipitation dataset ("p-type").
For pyTorch, please visit the [the pyTorch training details README](docs/source/torch.md) where details on training scripts for both evidential standard classification tasks are detailed. Torch examples use the same datasets as the Keras models. The torch training code will also scale on GPUs, and is compatitible with DDP and FSDP.