+1 to Mike's comments below. Having the public API for invoking custom DML code from R be as close as possible to the Python and Java variants of MLContext is a good idea and would allow us to have an additional "R" tab in the MLContext online documentation. The code already checked into R4ML's sysml.bridge.R is pretty close already, it's just not a public API right now. And the existing algorithm wrappers do provide a more R-user-friendly way to call the pre-built algorithms, similar to the way that the existing mllearn API gives Python users a scipy-like experience.
Fred From: dusenberr...@gmail.com To: dev@systemml.apache.org Date: 09/22/2017 06:24 PM Subject: Re: [PROPOSAL] R4ML Integration with SystemML Adding an R interface to SystemML would be great. I would suggest, in agreement with others here, that the MLContext API be exposed in the R4ML package so that users *could* run arbitrary DML code from R. Past that, I wouldn't worry about making the rest exactly compatible with mllearn at this point. All languages, and their associated communities, have different approaches to libraries, so it would make sense that there may be pieces that are specific to a certain language. -Mike -- Mike Dusenberry GitHub: github.com/dusenberrymw LinkedIn: linkedin.com/in/mikedusenberry Sent from my iPhone. On Sep 22, 2017, at 3:47 PM, Deron Eriksson <deroneriks...@gmail.com> wrote: >> >>>> So I was thinking is it absolutely must have to sync between api? >> >> Soft-yes, we should try our best to do so. >> > > There are many benefits both for SystemML users and developers to having > the APIs be as consistent as possible. Based on user feedback, I know > Niketan and Glenn did a lot of work recently to make the Python MLContext > API much more consistent with the Java/Scala MLContext API. I think there > is an expectation from SystemML users that code that utilizes one API will > act in a similar fashion with as few modifications as possible if migrated > to a different language. > > As an example of a benefit to SystemML developers, if an R MLContext API is > consistent with the Scala and Python APIs, an R tab can be added to > https://urldefense.proofpoint.com/v2/url?u=http-3A__apache.github.io_systemml_spark-2Dmlcontext-2Dprogramming-2Dguide.html&d=DwIFAg&c=jf_iaSHvJObTbx-siA1ZOg&r=eZRX-H19YWkdiKk5tC6t8Pg1FXMvre9rPBYQXNUzLyc&m=W_mHjb7fdZHSdZ6roUwxKONu0GC00K9DVH5keJY5m_Y&s=vtamURDoh0pVrkaUcVqqtbLH7DWc6XDrh2-6oQHexwc&e= and > most of the MLContext documentation can be reused across the different > languages. This greatly simplifies the creation and maintenance of > documentation, which is very important with a project as large as SystemML. > In addition, consistency across MLContext APIs in different languages > simplifies code maintenance since a developer familiar with the API > features of one language can probably work without too much difficulty on > one of the other language APIs in the project. This would not be the case > if the APIs were significantly divergent. > > Deron