You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemds.apache.org by ba...@apache.org on 2021/09/14 12:40:03 UTC

[systemds] 03/03: [MINOR] PythonAPI update builtin algorithms

This is an automated email from the ASF dual-hosted git repository.

baunsgaard pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/systemds.git

commit a264691c9c98e48c59469740c599d08fa65ce034
Author: baunsgaard <ba...@tugraz.at>
AuthorDate: Tue Sep 14 14:39:38 2021 +0200

    [MINOR] PythonAPI update builtin algorithms
---
 .../python/systemds/operator/algorithm/__init__.py | 20 ++++++-
 .../systemds/operator/algorithm/builtin/bandit.py  | 27 ++++-----
 .../builtin/{winsorize.py => deepWalk.py}          | 28 ++++++---
 .../algorithm/builtin/{winsorize.py => ffTrain.py} | 29 +++++++--
 .../systemds/operator/algorithm/builtin/garch.py   | 70 ++++++++++++++++++++++
 .../builtin/{winsorize.py => lenetTrain.py}        | 17 ++++--
 .../builtin/{tomeklink.py => matrixProfile.py}     | 29 +++++----
 .../builtin/{tomeklink.py => selectByVarThresh.py} | 21 +++----
 .../algorithm/builtin/{winsorize.py => tSNE.py}    | 24 ++++++--
 .../operator/algorithm/builtin/tomeklink.py        |  2 +-
 .../operator/algorithm/builtin/winsorize.py        |  4 +-
 ...insorize.py => xgboostPredictClassification.py} | 18 ++++--
 .../{winsorize.py => xgboostPredictRegression.py}  | 19 ++++--
 13 files changed, 226 insertions(+), 82 deletions(-)

diff --git a/src/main/python/systemds/operator/algorithm/__init__.py b/src/main/python/systemds/operator/algorithm/__init__.py
index 377c248..ffe59b3 100644
--- a/src/main/python/systemds/operator/algorithm/__init__.py
+++ b/src/main/python/systemds/operator/algorithm/__init__.py
@@ -39,9 +39,12 @@ from .builtin.csplineDS import csplineDS
 from .builtin.cvlm import cvlm 
 from .builtin.dbscan import dbscan 
 from .builtin.decisionTree import decisionTree 
+from .builtin.deepWalk import deepWalk 
 from .builtin.discoverFD import discoverFD 
 from .builtin.dist import dist 
 from .builtin.executePipeline import executePipeline 
+from .builtin.ffTrain import ffTrain 
+from .builtin.garch import garch 
 from .builtin.gaussianClassifier import gaussianClassifier 
 from .builtin.getAccuracy import getAccuracy 
 from .builtin.glm import glm 
@@ -73,11 +76,13 @@ from .builtin.knnbf import knnbf
 from .builtin.l2svm import l2svm 
 from .builtin.l2svmPredict import l2svmPredict 
 from .builtin.lasso import lasso 
+from .builtin.lenetTrain import lenetTrain 
 from .builtin.lm import lm 
 from .builtin.lmCG import lmCG 
 from .builtin.lmDS import lmDS 
 from .builtin.lmPredict import lmPredict 
 from .builtin.logSumExp import logSumExp 
+from .builtin.matrixProfile import matrixProfile 
 from .builtin.msvm import msvm 
 from .builtin.msvmPredict import msvmPredict 
 from .builtin.multiLogReg import multiLogReg 
@@ -96,6 +101,7 @@ from .builtin.ppca import ppca
 from .builtin.randomForest import randomForest 
 from .builtin.scale import scale 
 from .builtin.scaleApply import scaleApply 
+from .builtin.selectByVarThresh import selectByVarThresh 
 from .builtin.sherlock import sherlock 
 from .builtin.sherlockPredict import sherlockPredict 
 from .builtin.shortestPath import shortestPath 
@@ -108,6 +114,7 @@ from .builtin.splitBalanced import splitBalanced
 from .builtin.stableMarriage import stableMarriage 
 from .builtin.statsNA import statsNA 
 from .builtin.steplm import steplm 
+from .builtin.tSNE import tSNE 
 from .builtin.toOneHot import toOneHot 
 from .builtin.tomeklink import tomeklink 
 from .builtin.univar import univar 
@@ -115,6 +122,8 @@ from .builtin.vectorToCsv import vectorToCsv
 from .builtin.winsorize import winsorize 
 from .builtin.xdummy1 import xdummy1 
 from .builtin.xdummy2 import xdummy2 
+from .builtin.xgboostPredictClassification import xgboostPredictClassification 
+from .builtin.xgboostPredictRegression import xgboostPredictRegression 
 
 __all__ = ['abstain',
  'als',
@@ -134,9 +143,12 @@ __all__ = ['abstain',
  'cvlm',
  'dbscan',
  'decisionTree',
+ 'deepWalk',
  'discoverFD',
  'dist',
  'executePipeline',
+ 'ffTrain',
+ 'garch',
  'gaussianClassifier',
  'getAccuracy',
  'glm',
@@ -168,11 +180,13 @@ __all__ = ['abstain',
  'l2svm',
  'l2svmPredict',
  'lasso',
+ 'lenetTrain',
  'lm',
  'lmCG',
  'lmDS',
  'lmPredict',
  'logSumExp',
+ 'matrixProfile',
  'msvm',
  'msvmPredict',
  'multiLogReg',
@@ -191,6 +205,7 @@ __all__ = ['abstain',
  'randomForest',
  'scale',
  'scaleApply',
+ 'selectByVarThresh',
  'sherlock',
  'sherlockPredict',
  'shortestPath',
@@ -203,10 +218,13 @@ __all__ = ['abstain',
  'stableMarriage',
  'statsNA',
  'steplm',
+ 'tSNE',
  'toOneHot',
  'tomeklink',
  'univar',
  'vectorToCsv',
  'winsorize',
  'xdummy1',
- 'xdummy2'] 
+ 'xdummy2',
+ 'xgboostPredictClassification',
+ 'xgboostPredictRegression'] 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/bandit.py b/src/main/python/systemds/operator/algorithm/builtin/bandit.py
index ff6b1c0..5cb87b5 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/bandit.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/bandit.py
@@ -31,27 +31,20 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 
 def bandit(X_train: Matrix,
            Y_train: Matrix,
+           X_test: Matrix,
+           Y_test: Matrix,
            metaList: Iterable,
-           targetList: Iterable,
+           evaluationFunc: str,
+           evalFunHp: Matrix,
            lp: Frame,
            primitives: Frame,
            param: Frame,
+           baseLineScore: float,
+           cv: bool,
            **kwargs: Dict[str, VALID_INPUT_TYPES]):
     
-    params_dict = {'X_train': X_train, 'Y_train': Y_train, 'metaList': metaList, 'targetList': targetList, 'lp': lp, 'primitives': primitives, 'param': param}
+    params_dict = {'X_train': X_train, 'Y_train': Y_train, 'X_test': X_test, 'Y_test': Y_test, 'metaList': metaList, 'evaluationFunc': evaluationFunc, 'evalFunHp': evalFunHp, 'lp': lp, 'primitives': primitives, 'param': param, 'baseLineScore': baseLineScore, 'cv': cv}
     params_dict.update(kwargs)
-    
-    vX_0 = Frame(X_train.sds_context, '')
-    vX_1 = Matrix(X_train.sds_context, '')
-    vX_2 = Matrix(X_train.sds_context, '')
-    vX_3 = Frame(X_train.sds_context, '')
-    output_nodes = [vX_0, vX_1, vX_2, vX_3, ]
-
-    op = MultiReturn(X_train.sds_context, 'bandit', output_nodes, named_input_nodes=params_dict)
-
-    vX_0._unnamed_input_nodes = [op]
-    vX_1._unnamed_input_nodes = [op]
-    vX_2._unnamed_input_nodes = [op]
-    vX_3._unnamed_input_nodes = [op]
-
-    return op
+    return Matrix(X_train.sds_context,
+        'bandit',
+        named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py b/src/main/python/systemds/operator/algorithm/builtin/deepWalk.py
similarity index 62%
copy from src/main/python/systemds/operator/algorithm/builtin/winsorize.py
copy to src/main/python/systemds/operator/algorithm/builtin/deepWalk.py
index 335d01b..59fdc63 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/deepWalk.py
@@ -20,7 +20,7 @@
 # -------------------------------------------------------------
 
 # Autogenerated By   : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/winsorize.dml
+# Autogenerated From : scripts/builtin/deepWalk.dml
 
 from typing import Dict, Iterable
 
@@ -29,10 +29,24 @@ from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
 
-def winsorize(X: Matrix,
-              verbose: bool):
-    
-    params_dict = {'X': X, 'verbose': verbose}
-    return Matrix(X.sds_context,
-        'winsorize',
+def deepWalk(Graph: Matrix,
+             w: int,
+             d: int,
+             gamma: int,
+             t: int,
+             **kwargs: Dict[str, VALID_INPUT_TYPES]):
+    """
+    :param Graph: adjacency matrix of a graph (n x n)
+    :param w: window size
+    :param d: embedding size
+    :param gamma: walks per vertex
+    :param t: walk length
+    :param alpha: learning rate
+    :param beta: factor for decreasing learning rate
+    :return: 'OperationNode' containing matrix of vertex/word representation (n x d) 
+    """
+    params_dict = {'Graph': Graph, 'w': w, 'd': d, 'gamma': gamma, 't': t}
+    params_dict.update(kwargs)
+    return Matrix(Graph.sds_context,
+        'deepWalk',
         named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py b/src/main/python/systemds/operator/algorithm/builtin/ffTrain.py
similarity index 55%
copy from src/main/python/systemds/operator/algorithm/builtin/winsorize.py
copy to src/main/python/systemds/operator/algorithm/builtin/ffTrain.py
index 335d01b..06a3176 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/ffTrain.py
@@ -20,7 +20,7 @@
 # -------------------------------------------------------------
 
 # Autogenerated By   : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/winsorize.dml
+# Autogenerated From : scripts/builtin/ffTrain.dml
 
 from typing import Dict, Iterable
 
@@ -29,10 +29,27 @@ from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
 
-def winsorize(X: Matrix,
-              verbose: bool):
-    
-    params_dict = {'X': X, 'verbose': verbose}
+def ffTrain(X: Matrix,
+            Y: Matrix,
+            out_activation: str,
+            loss_fcn: str,
+            **kwargs: Dict[str, VALID_INPUT_TYPES]):
+    """
+    :param batch_size: Batch size
+    :param epochs: Number of epochs
+    :param learning_rate: Learning rate
+    :param out_activation: User specified ouptut activation function. Possible values:
+    :param loss_fcn: User specified loss function. Possible values:
+    :param shuffle: Flag which indicates if dataset should be shuffled or not
+    :param validation_split: Fraction of training set used as validation set
+    :param seed: Seed for model initialization
+    :param verbose: Flag which indicates if function should print to stdout
+    :param Supported: by the model
+    :param Supported: by the model
+    :return: 'OperationNode' containing  
+    """
+    params_dict = {'X': X, 'Y': Y, 'out_activation': out_activation, 'loss_fcn': loss_fcn}
+    params_dict.update(kwargs)
     return Matrix(X.sds_context,
-        'winsorize',
+        'ffTrain',
         named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/garch.py b/src/main/python/systemds/operator/algorithm/builtin/garch.py
new file mode 100644
index 0000000..b0a8e7e
--- /dev/null
+++ b/src/main/python/systemds/operator/algorithm/builtin/garch.py
@@ -0,0 +1,70 @@
+# -------------------------------------------------------------
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+# -------------------------------------------------------------
+
+# Autogenerated By   : src/main/python/generator/generator.py
+# Autogenerated From : scripts/builtin/garch.dml
+
+from typing import Dict, Iterable
+
+from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
+from systemds.script_building.dag import OutputType
+from systemds.utils.consts import VALID_INPUT_TYPES
+
+
+def garch(X: Matrix,
+          kmax: int,
+          momentum: float,
+          start_stepsize: float,
+          end_stepsize: float,
+          start_vicinity: float,
+          end_vicinity: float,
+          sim_seed: int,
+          verbose: bool):
+    """
+    :param X: The input Matrix to apply Arima on.
+    :param kmax: Number of iterations
+    :param momentum: Momentum for momentum-gradient descent (set to 0 to deactivate)
+    :param start_stepsize: Initial gradient-descent stepsize
+    :param end_stepsize: gradient-descent stepsize at end (linear descent)
+    :param start_vicinity: proportion of randomness of restart-location for gradient descent at beginning
+    :param end_vicinity: same at end (linear decay)
+    :param sim_seed: seed for simulation of process on fitted coefficients
+    :param verbose: verbosity, comments during fitting
+    :return: 'OperationNode' containing simulated garch(1,1) process on fitted coefficients & variances of simulated fitted process & constant term of fitted process & 1-st arch-coefficient of fitted process & 1-st garch-coefficient of fitted process & drawbacks: slow convergence of optimization (sort of simulated annealing/gradient descent) 
+    """
+    params_dict = {'X': X, 'kmax': kmax, 'momentum': momentum, 'start_stepsize': start_stepsize, 'end_stepsize': end_stepsize, 'start_vicinity': start_vicinity, 'end_vicinity': end_vicinity, 'sim_seed': sim_seed, 'verbose': verbose}
+    
+    vX_0 = Matrix(X.sds_context, '')
+    vX_1 = Matrix(X.sds_context, '')
+    vX_2 = Scalar(X.sds_context, '')
+    vX_3 = Scalar(X.sds_context, '')
+    vX_4 = Scalar(X.sds_context, '')
+    output_nodes = [vX_0, vX_1, vX_2, vX_3, vX_4, ]
+
+    op = MultiReturn(X.sds_context, 'garch', output_nodes, named_input_nodes=params_dict)
+
+    vX_0._unnamed_input_nodes = [op]
+    vX_1._unnamed_input_nodes = [op]
+    vX_2._unnamed_input_nodes = [op]
+    vX_3._unnamed_input_nodes = [op]
+    vX_4._unnamed_input_nodes = [op]
+
+    return op
diff --git a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py b/src/main/python/systemds/operator/algorithm/builtin/lenetTrain.py
similarity index 74%
copy from src/main/python/systemds/operator/algorithm/builtin/winsorize.py
copy to src/main/python/systemds/operator/algorithm/builtin/lenetTrain.py
index 335d01b..87a28da 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/lenetTrain.py
@@ -20,7 +20,7 @@
 # -------------------------------------------------------------
 
 # Autogenerated By   : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/winsorize.dml
+# Autogenerated From : scripts/builtin/lenetTrain.dml
 
 from typing import Dict, Iterable
 
@@ -29,10 +29,17 @@ from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
 
-def winsorize(X: Matrix,
-              verbose: bool):
+def lenetTrain(X: Matrix,
+               Y: Matrix,
+               X_val: Matrix,
+               Y_val: Matrix,
+               C: int,
+               Hin: int,
+               Win: int,
+               **kwargs: Dict[str, VALID_INPUT_TYPES]):
     
-    params_dict = {'X': X, 'verbose': verbose}
+    params_dict = {'X': X, 'Y': Y, 'X_val': X_val, 'Y_val': Y_val, 'C': C, 'Hin': Hin, 'Win': Win}
+    params_dict.update(kwargs)
     return Matrix(X.sds_context,
-        'winsorize',
+        'lenetTrain',
         named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py b/src/main/python/systemds/operator/algorithm/builtin/matrixProfile.py
similarity index 63%
copy from src/main/python/systemds/operator/algorithm/builtin/tomeklink.py
copy to src/main/python/systemds/operator/algorithm/builtin/matrixProfile.py
index e2e020c..3472c40 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/matrixProfile.py
@@ -20,7 +20,7 @@
 # -------------------------------------------------------------
 
 # Autogenerated By   : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/tomeklink.dml
+# Autogenerated From : scripts/builtin/matrixProfile.dml
 
 from typing import Dict, Iterable
 
@@ -29,24 +29,27 @@ from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
 
-def tomeklink(X: Matrix,
-              y: Matrix):
+def matrixProfile(ts: Matrix,
+                  **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    :param X: Data Matrix (nxm)
-    :param y: Label Matrix (nx1)
-    :return: 'OperationNode' containing  
+    :param ts: Time series to profile
+    :param window_size: Sliding window size
+    :param sample_percent: Degree of approximation 
+    :param between: one (1 
+    :param computes: solution)
+    :param is_verbose: Print debug information
+    :return: 'OperationNode' containing the computed matrix profile & indices of least distances 
     """
-    params_dict = {'X': X, 'y': y}
+    params_dict = {'ts': ts}
+    params_dict.update(kwargs)
     
-    vX_0 = Matrix(X.sds_context, '')
-    vX_1 = Matrix(X.sds_context, '')
-    vX_2 = Matrix(X.sds_context, '')
-    output_nodes = [vX_0, vX_1, vX_2, ]
+    vX_0 = Matrix(ts.sds_context, '')
+    vX_1 = Matrix(ts.sds_context, '')
+    output_nodes = [vX_0, vX_1, ]
 
-    op = MultiReturn(X.sds_context, 'tomeklink', output_nodes, named_input_nodes=params_dict)
+    op = MultiReturn(ts.sds_context, 'matrixProfile', output_nodes, named_input_nodes=params_dict)
 
     vX_0._unnamed_input_nodes = [op]
     vX_1._unnamed_input_nodes = [op]
-    vX_2._unnamed_input_nodes = [op]
 
     return op
diff --git a/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py b/src/main/python/systemds/operator/algorithm/builtin/selectByVarThresh.py
similarity index 74%
copy from src/main/python/systemds/operator/algorithm/builtin/tomeklink.py
copy to src/main/python/systemds/operator/algorithm/builtin/selectByVarThresh.py
index e2e020c..7069e40 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/selectByVarThresh.py
@@ -20,7 +20,7 @@
 # -------------------------------------------------------------
 
 # Autogenerated By   : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/tomeklink.dml
+# Autogenerated From : scripts/builtin/selectByVarThresh.dml
 
 from typing import Dict, Iterable
 
@@ -29,24 +29,19 @@ from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
 
-def tomeklink(X: Matrix,
-              y: Matrix):
-    """
-    :param X: Data Matrix (nxm)
-    :param y: Label Matrix (nx1)
-    :return: 'OperationNode' containing  
-    """
-    params_dict = {'X': X, 'y': y}
+def selectByVarThresh(X: Matrix,
+                      **kwargs: Dict[str, VALID_INPUT_TYPES]):
+    
+    params_dict = {'X': X}
+    params_dict.update(kwargs)
     
     vX_0 = Matrix(X.sds_context, '')
     vX_1 = Matrix(X.sds_context, '')
-    vX_2 = Matrix(X.sds_context, '')
-    output_nodes = [vX_0, vX_1, vX_2, ]
+    output_nodes = [vX_0, vX_1, ]
 
-    op = MultiReturn(X.sds_context, 'tomeklink', output_nodes, named_input_nodes=params_dict)
+    op = MultiReturn(X.sds_context, 'selectByVarThresh', output_nodes, named_input_nodes=params_dict)
 
     vX_0._unnamed_input_nodes = [op]
     vX_1._unnamed_input_nodes = [op]
-    vX_2._unnamed_input_nodes = [op]
 
     return op
diff --git a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py b/src/main/python/systemds/operator/algorithm/builtin/tSNE.py
similarity index 65%
copy from src/main/python/systemds/operator/algorithm/builtin/winsorize.py
copy to src/main/python/systemds/operator/algorithm/builtin/tSNE.py
index 335d01b..ef5556d 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/tSNE.py
@@ -20,7 +20,7 @@
 # -------------------------------------------------------------
 
 # Autogenerated By   : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/winsorize.dml
+# Autogenerated From : scripts/builtin/tSNE.dml
 
 from typing import Dict, Iterable
 
@@ -29,10 +29,22 @@ from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
 
-def winsorize(X: Matrix,
-              verbose: bool):
-    
-    params_dict = {'X': X, 'verbose': verbose}
+def tSNE(X: Matrix,
+         **kwargs: Dict[str, VALID_INPUT_TYPES]):
+    """
+    :param X: Data Matrix of shape
+    :param reduced_dims: Output dimensionality
+    :param perplexity: Perplexity Parameter
+    :param lr: Learning rate
+    :param momentum: Momentum Parameter
+    :param max_iter: Number of iterations
+    :param seed: The seed used for initial values.
+    :param If: -1 random seeds are selected.
+    :param is_verbose: Print debug information
+    :return: 'OperationNode' containing data matrix of shape (number of data points, reduced_dims) 
+    """
+    params_dict = {'X': X}
+    params_dict.update(kwargs)
     return Matrix(X.sds_context,
-        'winsorize',
+        'tSNE',
         named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py b/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py
index e2e020c..dc80c67 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py
@@ -33,7 +33,7 @@ def tomeklink(X: Matrix,
               y: Matrix):
     """
     :param X: Data Matrix (nxm)
-    :param y: Label Matrix (nx1)
+    :param y: Label Matrix (nx1), greater than zero
     :return: 'OperationNode' containing  
     """
     params_dict = {'X': X, 'y': y}
diff --git a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py b/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
index 335d01b..1ce9192 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
@@ -30,9 +30,11 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 
 
 def winsorize(X: Matrix,
-              verbose: bool):
+              verbose: bool,
+              **kwargs: Dict[str, VALID_INPUT_TYPES]):
     
     params_dict = {'X': X, 'verbose': verbose}
+    params_dict.update(kwargs)
     return Matrix(X.sds_context,
         'winsorize',
         named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py b/src/main/python/systemds/operator/algorithm/builtin/xgboostPredictClassification.py
similarity index 67%
copy from src/main/python/systemds/operator/algorithm/builtin/winsorize.py
copy to src/main/python/systemds/operator/algorithm/builtin/xgboostPredictClassification.py
index 335d01b..4da8b77 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/xgboostPredictClassification.py
@@ -20,7 +20,7 @@
 # -------------------------------------------------------------
 
 # Autogenerated By   : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/winsorize.dml
+# Autogenerated From : scripts/builtin/xgboostPredictClassification.dml
 
 from typing import Dict, Iterable
 
@@ -29,10 +29,16 @@ from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
 
-def winsorize(X: Matrix,
-              verbose: bool):
-    
-    params_dict = {'X': X, 'verbose': verbose}
+def xgboostPredictClassification(X: Matrix,
+                                 M: Matrix,
+                                 learning_rate: float):
+    """
+    :param X: Matrix of feature vectors we want to predict (X_test)
+    :param M: The model created at xgboost
+    :param learning_rate: the learning rate used in the model
+    :return: 'OperationNode' containing the predictions of the samples using the given xgboost model. (y_prediction) 
+    """
+    params_dict = {'X': X, 'M': M, 'learning_rate': learning_rate}
     return Matrix(X.sds_context,
-        'winsorize',
+        'xgboostPredictClassification',
         named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py b/src/main/python/systemds/operator/algorithm/builtin/xgboostPredictRegression.py
similarity index 67%
copy from src/main/python/systemds/operator/algorithm/builtin/winsorize.py
copy to src/main/python/systemds/operator/algorithm/builtin/xgboostPredictRegression.py
index 335d01b..1b9e217 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/xgboostPredictRegression.py
@@ -20,7 +20,7 @@
 # -------------------------------------------------------------
 
 # Autogenerated By   : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/winsorize.dml
+# Autogenerated From : scripts/builtin/xgboostPredictRegression.dml
 
 from typing import Dict, Iterable
 
@@ -29,10 +29,17 @@ from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
 
-def winsorize(X: Matrix,
-              verbose: bool):
-    
-    params_dict = {'X': X, 'verbose': verbose}
+def xgboostPredictRegression(X: Matrix,
+                             M: Matrix,
+                             **kwargs: Dict[str, VALID_INPUT_TYPES]):
+    """
+    :param X: Matrix of feature vectors we want to predict (X_test)
+    :param M: The model created at xgboost
+    :param learning_rate: the learning rate used in the model
+    :return: 'OperationNode' containing the predictions of the samples using the given xgboost model. (y_prediction) 
+    """
+    params_dict = {'X': X, 'M': M}
+    params_dict.update(kwargs)
     return Matrix(X.sds_context,
-        'winsorize',
+        'xgboostPredictRegression',
         named_input_nodes=params_dict)