Jump to: navigation, search

Difference between revisions of "Meteos"

(Meteos (Machine Learning as a Service))
(Use Cases in Learning Phase)
Line 26: Line 26:
 
* Upload Raw Data - Upload a raw data to Object Stroage
 
* 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.
 
* 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. This Model supports model export to Predictive Model Markup Language (PMML).
+
* Create Prediction Model - Create a Prediction Model by using MLlib.
  
 
=== Use Cases in Prediction Phase ===
 
=== Use Cases in Prediction Phase ===

Revision as of 01:31, 20 October 2016

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

TBD

Python Meteos Client

TBD

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.


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.

Meteos-architecture.png

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"}

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"}

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>