[ 
https://issues.apache.org/jira/browse/SYSTEMML-987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Niketan Pansare updated SYSTEMML-987:
-------------------------------------
    Description: 
See 
https://apache.github.io/incubator-systemml/algorithms-classification.html#decision-trees
 for usage.

Since this is a starter task, I describe the steps to complete this task:
1. Implement a scala class (which inherits from BaseSystemMLClassifier) similar 
to 
https://github.com/apache/incubator-systemml/blob/master/src/main/scala/org/apache/sysml/api/ml/NaiveBayes.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 BaseSystemMLClassifier) with 
constructor similar to 
https://github.com/apache/incubator-systemml/blob/master/src/main/python/systemml/mllearn/estimators.py#L284
 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.

  was:
See 
https://apache.github.io/incubator-systemml/algorithms-classification.html#decision-trees
 for usage.

Since this is a starter task, I describe steps to complete this task:
1. Implement a scala class (which inherits from BaseSystemMLClassifier) similar 
to 
https://github.com/apache/incubator-systemml/blob/master/src/main/scala/org/apache/sysml/api/ml/NaiveBayes.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 BaseSystemMLClassifier) with 
constructor similar to 
https://github.com/apache/incubator-systemml/blob/master/src/main/python/systemml/mllearn/estimators.py#L284
 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.


> Add mllearn and scala wrappers for decision tree 
> -------------------------------------------------
>
>                 Key: SYSTEMML-987
>                 URL: https://issues.apache.org/jira/browse/SYSTEMML-987
>             Project: SystemML
>          Issue Type: Task
>          Components: APIs
>            Reporter: Niketan Pansare
>              Labels: Hacktoberfest, starter
>
> See 
> https://apache.github.io/incubator-systemml/algorithms-classification.html#decision-trees
>  for usage.
> Since this is a starter task, I describe the steps to complete this task:
> 1. Implement a scala class (which inherits from BaseSystemMLClassifier) 
> similar to 
> https://github.com/apache/incubator-systemml/blob/master/src/main/scala/org/apache/sysml/api/ml/NaiveBayes.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 BaseSystemMLClassifier) with 
> constructor similar to 
> https://github.com/apache/incubator-systemml/blob/master/src/main/python/systemml/mllearn/estimators.py#L284
>  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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to