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

Joseph K. Bradley updated SPARK-5981:
-------------------------------------
    Description: 
Currently, most Python models only have limited support for single-vector 
prediction.
E.g., one can call {code}model.predict(myFeatureVector){code} for a single 
instance, but that fails within a map for Python ML models and transformers 
which use JavaModelWrapper:
{code}
data.map(lambda features: model.predict(features))
{code}
This fails because JavaModelWrapper.call uses the SparkContext (within the 
transformation).  (It works for linear models, which do prediction within 
Python.)

Supporting prediction within a map would require storing the model and doing 
prediction/transformation within Python.


  was:
Many Python ML models and transformers use JavaModelWrapper to call methods in 
the JVM, such as predict() and transform().  It is common to write:
{code}
data.map(lambda features: model.predict(features))
{code}
This fails because JavaModelWrapper.call uses the SparkContext (within the 
transformation).

Note: It is possible to do a workaround using batch predict if 
models/transformers support it:
{code}
model.predict(data)
{code}

However, this is still a major problem.


> pyspark ML models should support predict/transform on vector within map
> -----------------------------------------------------------------------
>
>                 Key: SPARK-5981
>                 URL: https://issues.apache.org/jira/browse/SPARK-5981
>             Project: Spark
>          Issue Type: Improvement
>          Components: MLlib, PySpark
>    Affects Versions: 1.3.0
>            Reporter: Joseph K. Bradley
>
> Currently, most Python models only have limited support for single-vector 
> prediction.
> E.g., one can call {code}model.predict(myFeatureVector){code} for a single 
> instance, but that fails within a map for Python ML models and transformers 
> which use JavaModelWrapper:
> {code}
> data.map(lambda features: model.predict(features))
> {code}
> This fails because JavaModelWrapper.call uses the SparkContext (within the 
> transformation).  (It works for linear models, which do prediction within 
> Python.)
> Supporting prediction within a map would require storing the model and doing 
> prediction/transformation within Python.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to