Details
-
Task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
See https://apache.github.io/incubator-systemml/algorithms-regression.html#stepwise-generalized-linear-regression for usage.
Since this is a starter task, I describe the steps to complete this task:
1. Implement a scala class (which inherits from BaseSystemMLRegressor) similar to https://github.com/apache/incubator-systemml/blob/master/src/main/scala/org/apache/sysml/api/ml/LinearRegression.scala
2. Modify getTrainingScript and getPredictionScript to specify the parameters used. See the algorithm documentation for these parameters.
3. Ensure that you implement appropriate traits to accept hyperparameters (eg: HasLaplace, HasIcpt, HasRegParam, HasTol, etc). These traits are available at https://github.com/apache/incubator-systemml/blob/master/src/main/scala/org/apache/sysml/api/ml/BaseSystemMLClassifier.scala#L36
4. Implement a python class (that extends BaseSystemMLRegressor) with constructor similar to https://github.com/apache/incubator-systemml/blob/master/src/main/python/systemml/mllearn/estimators.py#L218 which essentially accepts the hyperparameters and invokes the scala side methods (example: self.estimator.setLaplace(laplace))
5. Update the algorithm documentation by specifying the usage as well as examples.