Jump to: navigation, search

Difference between revisions of "Meteos"

(Projects)
(Hibana (Machine Learning as a Service))
Line 2: Line 2:
 
Hibana is Machine Learning as a Service (MLaaS) in Apache Spark.
 
Hibana is Machine Learning as a Service (MLaaS) in Apache Spark.
  
=== Projects ===
+
== Projects ==
  
==== Hibana ====
+
=== Hibana ===
  
 
{| border="1" cellpadding="2"
 
{| border="1" cellpadding="2"
Line 17: Line 17:
 
|}
 
|}
  
==== Python Hibana Client ====
+
=== Python Hibana Client ===
 
{| border="1" cellpadding="2"
 
{| border="1" cellpadding="2"
 
| Source code
 
| Source code
Line 29: Line 29:
 
|}
 
|}
  
=== Use Cases ===
+
== Use Cases ==
  
 
Machine Learning consists of the following phases.
 
Machine Learning consists of the following phases.
Line 36: Line 36:
 
* Prediction Phase - Predict a value according to the input value by using Prediction Model
 
* Prediction Phase - Predict a value according to the input value by using Prediction Model
  
==== Use Cases in Learning Phase ====
+
=== Use Cases in Learning Phase ===
  
 
* Upload Raw Data - Upload a raw data to Object Stroage
 
* Upload Raw Data - Upload a raw data to Object Stroage
Line 42: Line 42:
 
* 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. This Model supports model export to Predictive Model Markup Language (PMML).
  
==== Use Cases in Prediction Phase ====
+
=== Use Cases in Prediction Phase ===
  
 
* Predict - Input any value and retrieve predicted value.
 
* Predict - Input any value and retrieve predicted value.
  
  
=== Archtecture (TBD) ===  
+
== Archtecture (TBD) ==  
  
 
Hibana consist of hibana-api service and hibana-engine service.
 
Hibana consist of hibana-api service and hibana-engine service.
Line 57: Line 57:
 
[[File:Hibana-archtecture.png]]
 
[[File:Hibana-archtecture.png]]
  
=== Resource (TBD) ===
+
== Resource (TBD) ==
  
 
* Experiment - a workspace of Machine Learning
 
* Experiment - a workspace of Machine Learning
Line 67: Line 67:
 
* Learning Job - a job which consists of input data, output data(predicted data), job status, job stdout/stderr.
 
* Learning Job - a job which consists of input data, output data(predicted data), job status, job stdout/stderr.
  
=== API (TBD) ===  
+
== API (TBD) ==  
  
==== Experiment ====
+
=== Experiment ===
  
 
* Create Experiment
 
* Create Experiment
Line 86: Line 86:
 
** DELETE /v1/<tenant_id>/experiments/<experiment_id>  
 
** DELETE /v1/<tenant_id>/experiments/<experiment_id>  
  
==== Data Set ====
+
=== Data Set ===
  
 
* Create Data Set
 
* Create Data Set
Line 109: Line 109:
 
*** BODY {"export"}
 
*** BODY {"export"}
  
==== Prediction Model ====
+
=== Prediction Model ===
  
 
* Create Prediction Model
 
* Create Prediction Model
Line 132: Line 132:
 
*** BODY {"export"}
 
*** BODY {"export"}
  
==== Learning Job ====
+
=== Learning Job ===
  
 
* Create Learning Job
 
* Create Learning Job

Revision as of 02:05, 5 October 2016

Hibana (Machine Learning as a Service)

Hibana is Machine Learning as a Service (MLaaS) in Apache Spark.

Projects

Hibana

Source code Not Yet
Bug tracker https://bugs.launchpad.net/hibana
Feature tracker https://blueprints.launchpad.net/hibana

Python Hibana Client

Source code Not Yet
Bug tracker https://bugs.launchpad.net/python-hibanaclient
Feature tracker https://blueprints.launchpad.net/python-hibanaclient

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. This Model supports model export to Predictive Model Markup Language (PMML).

Use Cases in Prediction Phase

  • Predict - Input any value and retrieve predicted value.


Archtecture (TBD)

Hibana consist of hibana-api service and hibana-engine service.

  • hibana-api - web service which has REST interface.
  • hibana-engine - service which manage Hibana resources.

Hibana-archtecture.png

Resource (TBD)

  • 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

  • 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>