Jump to: navigation, search

Difference between revisions of "Meteos"

(Projects)
(Use Cases)
Line 36: Line 36:
 
Instructions for getting started with Meteos using Devstack are available at: [[Meteos/Devstack|Meteos on Devstack]]
 
Instructions for getting started with Meteos using Devstack are available at: [[Meteos/Devstack|Meteos on Devstack]]
  
== Use Cases ==
+
== Design & Use Cases ==
  
Machine Learning consists of the following phases.
+
* [[Meteos/Architecture| Meteos Architecture]]
  
* Learning Phase - Analyze huge amounts of data and create a Prediction Model
+
* [[Meteos/Usecases| Meteos Use Cases]]
* Prediction Phase - Predict a value according to the input value by using Prediction Model
 
  
=== Use Cases in Learning Phase ===
+
* [[Meteos/Resources| Meteos Resources]]
  
* Upload Raw Data - Upload a raw data to Object Stroage
+
* [[Meteos/Models| Meteos Prediction Models]]
* 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 ===
+
== API ==
  
* Predict - Input any value and retrieve predicted value.
+
* [[Meteos/API| Meteos API]]
  
==== [[Meteos/Usecase|Use Case (Predict sales using Meteos)]] ====
+
== Examples ==
 +
 
 +
* [[Meteos/ExampleLinear| Predict Sales by using LinearRegression Model]]
 +
 
 +
* [[Meteos/ExampleLogistic| Predict Victory or Defeat by using LogisticRegression Model]]
 +
 
 +
* [[Meteos/ExampleDecisionTree| Make a Decision by using DecisionTree Model]]
 +
 
 +
* [[Meteos/ExampleKmeans| Clustering User Preferences by using Kmeans Model]]
 +
 
 +
* [[Meteos/ExampleRecommend| Recommend Movie by using Recommendation Model]]
  
 
== Archtecture (TBD) ==  
 
== Archtecture (TBD) ==  

Revision as of 02:16, 29 November 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

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

Getting Started with Meteos

Instructions for getting started with Meteos using Devstack are available at: Meteos on Devstack

Design & Use Cases

API

Examples

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>