[ 
https://issues.apache.org/jira/browse/PIO-192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Takako Shimamoto updated PIO-192:
---------------------------------
    Description: 
h3. Summary
Enhance the pypio, which is the Python API for PIO.

h3. Goals
The limitations of the current Python support always force developers to have 
access to sbt. This enhancement will get rid of the build phase.

h3. Description
A Python engine has nothing to need. Developers can use the pypio module with 
jupyter notebook and Python code.

First, import the necessary modules.

{code:python}
import pypio
{code}

Once the module in imported, the first step is to initialize the pypio module.

{code:python}
# not create App
pypio.init()

# create App (pio app new BHPApp)
pypio.init('BHPApp')
{code}

Next, find data from the event store.

{code:python}
event_df = pypio.find_events('BHPApp')
{code}

And then, save the model.

{code:python}
# model is a PipelineModel, which is produced after a Pipeline’s fit() method 
runs
pipeline = Pipeline(...)
model = pipeline.fit(train_df)
engine_instance_id = pypio.save_model(model, ["prediction"])
{code}






  was:
h3. Summary
Enhance the pypio, which is the Python API for PIO.

h3. Goals
The limitations of the current Python support always force developers to have 
access to sbt. This enhancement will get rid of the build phase.

h3. Description
A Python engine template requires 3 files:

* Python code to specify for the --main-py-file option
* template.json
{code:json}
{"pio": {"version": { "min": "0.14.0-SNAPSHOT" }}}
{code}
* engine.json
{code:json}
{
  "id": "default",
  "description": "Default settings",
  "engineFactory": "org.apache.predictionio.e2.engine.PythonEngine",
  "algorithms": [
    {
      "name": "default",
      "params": {
        "name": "BHPApp"
      }
    }
  ],
  "serving": {
    "params": {
      "columns": ["prediction"]
    }
  }
}
{code}

h4. pypio module
Developers can use the pypio module with jupyter notebook and Python code.

First, import the necessary modules.

{code:python}
from pypio import pypio
{code}

Once the module in imported, the first step is to initialize the pypio module.

{code:python}
pypio.init()
{code}

Next, find data from the event store.

{code:python}
event_df = pypio.find('BHPApp')
{code}

And then, save the model.

{code:python}
# model is a PipelineModel, which is produced after a Pipeline’s fit() method 
runs
pipeline = Pipeline(...)
model = pipeline.fit(train_df)
pypio.save(model)
{code}



> Enhance PySpark support
> -----------------------
>
>                 Key: PIO-192
>                 URL: https://issues.apache.org/jira/browse/PIO-192
>             Project: PredictionIO
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.13.0
>            Reporter: Takako Shimamoto
>            Assignee: Takako Shimamoto
>            Priority: Major
>
> h3. Summary
> Enhance the pypio, which is the Python API for PIO.
> h3. Goals
> The limitations of the current Python support always force developers to have 
> access to sbt. This enhancement will get rid of the build phase.
> h3. Description
> A Python engine has nothing to need. Developers can use the pypio module with 
> jupyter notebook and Python code.
> First, import the necessary modules.
> {code:python}
> import pypio
> {code}
> Once the module in imported, the first step is to initialize the pypio module.
> {code:python}
> # not create App
> pypio.init()
> # create App (pio app new BHPApp)
> pypio.init('BHPApp')
> {code}
> Next, find data from the event store.
> {code:python}
> event_df = pypio.find_events('BHPApp')
> {code}
> And then, save the model.
> {code:python}
> # model is a PipelineModel, which is produced after a Pipeline’s fit() method 
> runs
> pipeline = Pipeline(...)
> model = pipeline.fit(train_df)
> engine_instance_id = pypio.save_model(model, ["prediction"])
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to