[ 
https://issues.apache.org/jira/browse/SPARK-2495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14063762#comment-14063762
 ] 

Alexander Albul commented on SPARK-2495:
----------------------------------------

Yes, i can work on it, but first i need to understand what is the reason of 
making constructors *private*.

I can propose approach with some utility object that we can use to create 
different models:

ModelLoader.loadLogisticRegression(weights: Vector, intercept: Double): 
LogisticRegressionModel

alternatively, we can put method "load" into *LogisticRegressionWithSGD* for 
example, but i do not like this approach because we can load models that are 
trained without SGD as well so it is not directly related.

But first of all, if they are private by mistake, we can just open 
constructors. WDYT?

> Ability to re-create ML models
> ------------------------------
>
>                 Key: SPARK-2495
>                 URL: https://issues.apache.org/jira/browse/SPARK-2495
>             Project: Spark
>          Issue Type: Improvement
>          Components: MLlib
>    Affects Versions: 1.0.1
>            Reporter: Alexander Albul
>
> Hi everyone.
> Previously (prior to Spark 1.0) we was working with MLib like this:
> 1) Calculate model (costly operation)
> 2) Take model and collect it's fields like weights, intercept e.t.c.
> 3) Store model somewhere in our format
> 4) Do predictions by loading model attributes, creating new model and 
> predicting using it.
> Now i see that model's constructors have *private* modifier and cannot be 
> created from outside.
> If you want to hide implementation details and keep this constructor as 
> "developer api", why not to create at least method, which will take weights, 
> intercept (for example) an materialize that model?
> A good example of model that i am talking about is: *LinearRegressionModel*
> I know that *LinearRegressionWithSGD* class have *createModel* method but the 
> problem is that it have *protected* modifier as well.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to