You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@spark.apache.org by Yanbo Liang <ya...@gmail.com> on 2014/09/13 11:12:21 UTC

[mllib] LogisticRegressionWithLBFGS interface is not consistent with LogisticRegressionWithSGD

Hi All,

I found that LogisticRegressionWithLBFGS interface is not consistent
with LogisticRegressionWithSGD in master and 1.1 release.

https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/classification/LogisticRegression.scala#L199

In the above code snippet, users can only construct a
LogisticRegressionWithLBFGS without any user specified parameters.
Although users can specific training parameters calling corresponding
function of class LBFGS.
But this behave different with LogisticRegressionWithSGD.
Could anyone can tell me why we did not refactor the code to keep
consistent interface?

Thank you
Yanbo

Re: [mllib] LogisticRegressionWithLBFGS interface is not consistent with LogisticRegressionWithSGD

Posted by Yanbo Liang <ya...@gmail.com>.
I also found
https://github.com/apache/spark/commit/8f6e2e9df41e7de22b1d1cbd524e20881f861dd0
had resolve this issue but it seems that right code snippet not occurs in
master or 1.1 release.

2014-09-13 17:12 GMT+08:00 Yanbo Liang <ya...@gmail.com>:

> Hi All,
>
> I found that LogisticRegressionWithLBFGS interface is not consistent
> with LogisticRegressionWithSGD in master and 1.1 release.
>
>
> https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/classification/LogisticRegression.scala#L199
>
> In the above code snippet, users can only construct a
> LogisticRegressionWithLBFGS without any user specified parameters.
> Although users can specific training parameters calling corresponding
> function of class LBFGS.
> But this behave different with LogisticRegressionWithSGD.
> Could anyone can tell me why we did not refactor the code to keep
> consistent interface?
>
> Thank you
> Yanbo
>
>
>

Re: [mllib] LogisticRegressionWithLBFGS interface is not consistent with LogisticRegressionWithSGD

Posted by Yanbo Liang <ya...@gmail.com>.
I also found
https://github.com/apache/spark/commit/8f6e2e9df41e7de22b1d1cbd524e20881f861dd0
had resolve this issue but it seems that right code snippet not occurs in
master or 1.1 release.

2014-09-13 17:12 GMT+08:00 Yanbo Liang <ya...@gmail.com>:

> Hi All,
>
> I found that LogisticRegressionWithLBFGS interface is not consistent
> with LogisticRegressionWithSGD in master and 1.1 release.
>
>
> https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/classification/LogisticRegression.scala#L199
>
> In the above code snippet, users can only construct a
> LogisticRegressionWithLBFGS without any user specified parameters.
> Although users can specific training parameters calling corresponding
> function of class LBFGS.
> But this behave different with LogisticRegressionWithSGD.
> Could anyone can tell me why we did not refactor the code to keep
> consistent interface?
>
> Thank you
> Yanbo
>
>
>

Re: [mllib] LogisticRegressionWithLBFGS interface is not consistent with LogisticRegressionWithSGD

Posted by DB Tsai <db...@dbtsai.com>.
Hi Yanbo,

We made the change here
https://github.com/apache/spark/commit/5d25c0b74f6397d78164b96afb8b8cbb1b15cfbd

Those apis to set the parameters are very difficult to maintain, so we
decide not to provide them. In next release, Spark 1.2, we will have a
better api design for parameter setting.

Sincerely,

DB Tsai
-------------------------------------------------------
My Blog: https://www.dbtsai.com
LinkedIn: https://www.linkedin.com/in/dbtsai


On Sat, Sep 13, 2014 at 2:12 AM, Yanbo Liang <ya...@gmail.com> wrote:
> Hi All,
>
> I found that LogisticRegressionWithLBFGS interface is not consistent with
> LogisticRegressionWithSGD in master and 1.1 release.
>
> https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/classification/LogisticRegression.scala#L199
>
> In the above code snippet, users can only construct a
> LogisticRegressionWithLBFGS without any user specified parameters.
> Although users can specific training parameters calling corresponding
> function of class LBFGS.
> But this behave different with LogisticRegressionWithSGD.
> Could anyone can tell me why we did not refactor the code to keep consistent
> interface?
>
> Thank you
> Yanbo
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@spark.apache.org
For additional commands, e-mail: dev-help@spark.apache.org


Re: [mllib] LogisticRegressionWithLBFGS interface is not consistent with LogisticRegressionWithSGD

Posted by DB Tsai <db...@dbtsai.com>.
Hi Yanbo,

We made the change here
https://github.com/apache/spark/commit/5d25c0b74f6397d78164b96afb8b8cbb1b15cfbd

Those apis to set the parameters are very difficult to maintain, so we
decide not to provide them. In next release, Spark 1.2, we will have a
better api design for parameter setting.

Sincerely,

DB Tsai
-------------------------------------------------------
My Blog: https://www.dbtsai.com
LinkedIn: https://www.linkedin.com/in/dbtsai


On Sat, Sep 13, 2014 at 2:12 AM, Yanbo Liang <ya...@gmail.com> wrote:
> Hi All,
>
> I found that LogisticRegressionWithLBFGS interface is not consistent with
> LogisticRegressionWithSGD in master and 1.1 release.
>
> https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/classification/LogisticRegression.scala#L199
>
> In the above code snippet, users can only construct a
> LogisticRegressionWithLBFGS without any user specified parameters.
> Although users can specific training parameters calling corresponding
> function of class LBFGS.
> But this behave different with LogisticRegressionWithSGD.
> Could anyone can tell me why we did not refactor the code to keep consistent
> interface?
>
> Thank you
> Yanbo
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@spark.apache.org
For additional commands, e-mail: user-help@spark.apache.org