Thank you very much for the clarifications. -----Original Message----- From: Theodore Vasiloudis [mailto:theodoros.vasilou...@gmail.com] Sent: Friday, September 18, 2015 2:33 PM To: dev@flink.apache.org Cc: Hanan Meyer Subject: Re: Flink ML linear regression issue
+1, having the convenient creation of pipelines for Java is more of a +long term project, but we should make it possible to manually create pipelines in Java. On Fri, Sep 18, 2015 at 11:15 AM, Till Rohrmann <till.rohrm...@gmail.com> wrote: > Hi Alexey and Hanan, > > one of FlinkML’s feature is the flexible pipelining mechanism. It > allows you to chain multiple transformers with a trailing predictor to > form a data analysis pipeline. In order to support multiple input > types, the actual program logic (matching for the type) is assembled > at compile time by the Scala compiler using implicits. That is also > the reason why you see in Java the fourth parameter fitOperation when > calling > multipleLinearRegression.fit() which in Scala is an implicit > parameter. In theory, it is possible to construct the pipelines > yourself in Java by assembling explicitly the respective implicit > operations. However, I would refrain from doing so, because it is error prone > and laborious. > > At the moment, I don’t really see an easy solution how to port the > pipelining mechanism to Java (8), because of the missing feature of > implicits. However, what we could do is to provide fit, predict and > transform method which can be used without the chaining support. Then > you lose the pipelining, but you can do it manually by calling the > methods (e.g. fit and transform) for each stage. We could add a thin > Java layer which calls the Scala methods with the correctly instantiated > operations. > > Cheers, > Till > > > On Thu, Sep 17, 2015 at 7:05 PM, Alexey Sapozhnikov > <ale...@scalabill.it> > wrote: > > > Hello everyone. > > > > Do you have a sample in Java how to implement Flink > > MultipleLinearRegression example? > > Scala is great, however we would like to see the exact example we > > could invoke it from Java if it is possible. > > Thanks and sorry for the interrupt. > > > > > > > > On Thu, Sep 17, 2015 at 4:27 PM, Hanan Meyer <ha...@scalabill.it> wrote: > > > > > Hi > > > > > > I'm using Flink ML 9.2.1 in order to perform a multiple linear > regression > > > with a csv data file. > > > > > > The Scala sample code for it is pretty straightforward: > > > val mlr = MultipleLinearRegression() > > > > > > val parameters = ParameterMap() > > > > > > parameters.add(MultipleLinearRegression.Stepsize, 2.0) > > > parameters.add(MultipleLinearRegression.Iterations, 10) > > > parameters.add(MultipleLinearRegression.ConvergenceThreshold, > > > 0.001) val inputDS = env.fromCollection(data) > > > > > > mlr.fit(inputDS, parameters) > > > > > > When I'm using Java(8) the fit method includes 3 parameters 1. > > > dataset 2.parameters 3. object which implements -fitOperation > > > interface > > > > > > multipleLinearRegression.fit(regressionDS, > > > parameters,fitOperation); > > > > > > Is there a need to implement the fitOperation interface which > > > have > been > > > already > > > implemented in Flinks ml source code. > > > > > > Another option is using MultipleLinearRegression.fitMLR() method > > > ,but I haven't found a way to pass the train dataset to it as a > > > parameter or > by > > > setter. > > > > > > I'll be more than happy if you could guide me how to implement it > > > in > Java > > > > > > Thanks > > > > > > Hanan Meyer > > > > > > > > > > > > > > > > > > > > > -- > > > > *Regards* > > > > *Alexey Sapozhnikov* > > CTO& Co-Founder > > Scalabillit Inc > > Aba Even 10-C, Herzelia, Israel > > M : +972-52-2363823 > > E : ale...@scalabill.it > > W : http://www.scalabill.it > > YT - https://youtu.be/9Rj309PTOFA > > Map:http://mapta.gs/Scalabillit > > Revolutionizing Proof-of-Concept > > >