|Build Status| |Coverage Status| |PyPi version| [|License|] (http://www.apache.org/licenses/LICENSE-2.0) |DOI| [|Documentation|] (http://msmbuilder.org/osprey)
Project description
[] (http://www.apache.org/licenses/LICENSE-2.0) [] (http://msmbuilder.org/osprey)
Osprey is an easy-to-use tool for hyperparameter optimization for machine learning algorithms in python using scikit-learn (or using scikit-learn compatible APIs).
Each Osprey experiment combines an dataset, an estimator, a search space (and engine), cross validation and asynchronous serialization for distributed parallel optimization of model hyperparameters.
Documentation
For full documentation, please visit the Osprey homepage.
Installation
If you have an Anaconda Python distribution, installation is as easy as:
$ conda install -c omnia osprey
You can also install Osprey with pip:
$ pip install osprey
Alternatively, you can install directly from this GitHub repo:
$ git clone https://github.com/msmbuilder/osprey.git $ cd osprey && git checkout 1.1.0 $ python setup.py install
Example using MSMBuilder
Below is an example of an osprey config file to cross validate Markov state models based on varying the number of clusters and dihedral angles used in a model:
estimator:
eval_scope: msmbuilder
eval: |
Pipeline([
('featurizer', DihedralFeaturizer(types=['phi', 'psi'])),
('cluster', MiniBatchKMeans()),
('msm', MarkovStateModel(n_timescales=5, verbose=False)),
])
search_space:
cluster__n_clusters:
min: 10
max: 100
type: int
featurizer__types:
choices:
- ['phi', 'psi']
- ['phi', 'psi', 'chi1']
type: enum
cv: 5
dataset_loader:
name: mdtraj
params:
trajectories: ~/local/msmbuilder/Tutorial/XTC/*/*.xtc
topology: ~/local/msmbuilder/Tutorial/native.pdb
stride: 1
trials:
uri: sqlite:///osprey-trials.db
Then run osprey worker. You can run multiple parallel instances of osprey worker simultaneously on a cluster too.
$ osprey worker config.yaml ... ---------------------------------------------------------------------- Beginning iteration 1 / 1 ---------------------------------------------------------------------- History contains: 0 trials Choosing next hyperparameters with random... {'cluster__n_clusters': 20, 'featurizer__types': ['phi', 'psi']} Fitting 5 folds for each of 1 candidates, totalling 5 fits [Parallel(n_jobs=1)]: Done 1 jobs | elapsed: 0.3s [Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 1.8s finished --------------------------------- Success! Model score = 4.080646 (best score so far = 4.080646) --------------------------------- 1/1 models fit successfully. time: October 27, 2014 10:44 PM elapsed: 4 seconds. osprey worker exiting.
You can dump the database to JSON or CSV with osprey dump.
Dependencies
python>=2.7.11
six>=1.10.0
pyyaml>=3.11
numpy>=1.10.4
scipy>=0.17.0
scikit-learn>=0.17.0
sqlalchemy>=1.0.10
bokeh>=0.12.0
matplotlib>=1.5.0
pandas>=0.18.0
GPy (optional, required for gp strategy)
hyperopt (optional, required for hyperopt_tpe strategy)
nose (optional, for testing)
Contributing
In case you encounter any issues with this package, please consider submitting a ticket to the GitHub Issue Tracker. We also welcome any feature requests and highly encourage users to submit pull requests for bug fixes and improvements.
For more detailed information, please refer to our documentation.
Citing
If you use Osprey in your research, please cite:
@misc{osprey,
author = {Robert T. McGibbon and
Carlos X. Hernández and
Matthew P. Harrigan and
Steven Kearnes and
Mohammad M. Sultan and
Stanislaw Jastrzebski and
Brooke E. Husic and
Vijay S. Pande},
title = {Osprey 1.0.0},
month = jun,
year = 2016,
doi = {10.5281/zenodo.56251},
url = {http://dx.doi.org/10.5281/zenodo.56251}
}
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
File details
Details for the file osprey-1.1.0.tar.gz
.
File metadata
- Download URL: osprey-1.1.0.tar.gz
- Upload date:
- Size: 39.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fb0cd788550332a32bc929f8f70afbe4ac84872cc5542d75e8858ef4447a6ba |
|
MD5 | 04792f14dc8987df7a9de4b9001373f7 |
|
BLAKE2b-256 | 63acf472540e6eae60a6086829e5b17ea255227def0ccd17e015be39b49d307d |