Difference between revisions of "Meteos"
(→Meteos) |
(→Python Meteos Client) |
||
Line 23: | Line 23: | ||
{| border="1" cellpadding="2" | {| border="1" cellpadding="2" | ||
| Source code | | Source code | ||
− | | | + | | https://github.com/openstack/python-meteosclient |
|- | |- | ||
| Bug tracker | | Bug tracker |
Revision as of 06:03, 28 November 2016
Contents
Meteos (Machine Learning as a Service)
Meteos is Machine Learning as a Service (MLaaS) in Apache Spark.
Meteos allows users to analyze huge amount of data and predict a value by data mining and machine learning algorithms. Meteos create a workspace of Machine Learning via sahara spark plugin and manage some resources and jobs regarding Machine Learning.
Projects
Meteos
Source code | https://github.com/openstack/meteos |
Bug tracker | https://bugs.launchpad.net/meteos |
Feature tracker | https://blueprints.launchpad.net/meteos |
Python Meteos Client
Source code | https://github.com/openstack/python-meteosclient |
Bug tracker | https://bugs.launchpad.net/python-meteosclient |
Feature tracker | https://blueprints.launchpad.net/python-meteosclient |
Use Cases
Machine Learning consists of the following phases.
- Learning Phase - Analyze huge amounts of data and create a Prediction Model
- Prediction Phase - Predict a value according to the input value by using Prediction Model
Use Cases in Learning Phase
- Upload Raw Data - Upload a raw data to Object Stroage
- Parse Raw Data - Parse a raw data to enable MLlib (Apache Spark's scalable machine learning library) to handle it. Users are allowed to parse a parsed data again.
- Create Prediction Model - Create a Prediction Model by using MLlib.
Use Cases in Prediction Phase
- Predict - Input any value and retrieve predicted value.
Use Case (Predict sales using Meteos)
Archtecture (TBD)
Meteos consist of meteos-api service and meteos-engine service.
- meteos-api - web service which has REST interface.
- meteos-engine - service which manage Meteos resources.
Resource (TBD)
- Experiment Template - Template which define experiment (e.g. number of master/worker nodes, spark version, base VM image, flavor, network, ...)
- Experiment - a workspace of Machine Learning
- Data Set - a data parsed by user to create a Prediction Model
- Prediction Model - a model produced by data mining and machine learning algorithms
- Learning Job - a job which consists of input data, output data(predicted data), job status, job stdout/stderr.
API (TBD)
Experiment Template
- Create Experiment Template
- POST /v1/<tenant_id>/templates
- List Experiment Templates
- GET /v1/<tenant_id>/templates
- Show Experiment Template
- GET /v1/<tenant_id>/templates/<template_id>
- Update Experiment Template
- PUT /v1/<tenant_id>/templates
- Delete Experiment Template
- DELETE /v1/<tenant_id>/templates/<template_id>
Experiment
- Create Experiment
- POST /v1/<tenant_id>/experiments
- List Experiments
- GET /v1/<tenant_id>/experiments
- Show Experiment
- GET /v1/<tenant_id>/experiments/<experiment_id>
- Update Experiment
- PUT /v1/<tenant_id>/experiments
- Delete Experiment
- DELETE /v1/<tenant_id>/experiments/<experiment_id>
Data Set
- Create Data Set
- POST /v1/<tenant_id>/datasets
- List Data Sets
- GET /v1/<tenant_id>/datasets
- Show Data Sets
- GET /v1/<tenant_id>/datasets/<dataset_id>
- Update Data Set
- PUT /v1/<tenant_id>/datasets
- Delete Data Set
- DELETE /v1/<tenant_id>/datasets/<dataset_id>
Data Set Actions
- Export Data Set to Object Storage
- POST /v1/<tenant_id>/datasets/<dataset_id>/action
- BODY {"export"}
- POST /v1/<tenant_id>/datasets/<dataset_id>/action
Prediction Model
- Create Prediction Model
- POST /v1/<tenant_id>/models
- List Prediction Models
- GET /v1/<tenant_id>/models
- Show Model
- GET /v1/<tenant_id>/models/<moded_id>
- Update Model
- PUT /v1/<tenant_id>/models
- Delete Model
- DELETE /v1/<tenant_id>/models/<model_id>
Prediction Model Actions
- Export Prediction Model to Object Storage
- POST /v1/<tenant_id>/models/<model_id>/action
- BODY {"export"}
- POST /v1/<tenant_id>/models/<model_id>/action
Learning Job
- Create Learning Job
- POST /v1/<tenant_id>/jobs
- List Learning Jobs
- GET /v1/<tenant_id>/jobs
- Show Learning Job
- GET /v1/<tenant_id>/jobs/<job_id>
- Delete Learning Job
- DELETE/v1/<tenant_id>/jobs/<job_id>