Skip to main content

Machine learning for streamflow prediction

Project description

mlstream

Machine learning for streamflow prediction.

Oxford English Dictionary:

maelstrom, n.   /ˈmeɪlˌstrɑm/

  1. A powerful whirlpool, originally (usually Maelstrom) one in the Arctic Ocean off the west coast of Norway, which was formerly supposed to suck in and destroy all vessels within a wide radius.
  2. Any state of turbulence or confusion; a swirling mass of small objects.

Usage

This project is still work in progress. The idea is to create an easy way of training machine learning streamflow models: Just provide your data, select a model (or provide your own), and get the predictions.

Training

exp = Experiment(data_path, is_train=True, run_dir=run_dir,
                 start_date='01012000', end_date='31122015',
                 basins=train_basin_ids, 
                 forcing_attributes=['precip', 'tmax', 'tmin'],
                 static_attributes=['area', 'regulation'])

exp.set_model(model)
exp.train()

Inference

run_dir = Path('./experiments')
exp = Experiment(data_path, is_train=False, 
                 run_dir=run_dir, 
                 basins=test_basin_ids,
                 start_date='01012016', end_date='31122018')
model.load(run_dir / 'model.pkl')
exp.set_model(model)  
results = exp.predict()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mlstream-0.1.tar.gz (19.8 kB view hashes)

Uploaded Source

Built Distribution

mlstream-0.1-py3-none-any.whl (27.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page