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


The following commit(s) were added to refs/heads/master by this push:
     new 5b22c42  [MINOR] Force ytest argument in lmPredict
5b22c42 is described below

commit 5b22c4246cb88d7e63e99d7e1a463a255c0bc666
Author: baunsgaard <[email protected]>
AuthorDate: Fri Apr 30 12:10:13 2021 +0200

    [MINOR] Force ytest argument in lmPredict
    
    This is not the ideal solution, but just to make the test pass the
    LMPredict now require ytest argument,
    The reason i simply because the python generators does not like default
    parameters on matrice arguments yet.
---
 docs/site/builtins-reference.md                                | 6 +++---
 scripts/builtin/cvlm.dml                                       | 2 +-
 scripts/builtin/hyperband.dml                                  | 2 +-
 scripts/builtin/mice.dml                                       | 2 +-
 scripts/builtin/outlierByArima.dml                             | 2 +-
 src/test/scripts/functions/builtin/lmpredict.dml               | 2 +-
 src/test/scripts/functions/lineage/LineageReuseAlg6.dml        | 2 +-
 src/test/scripts/functions/recompile/IPAFunctionArgsFor.dml    | 4 ++--
 src/test/scripts/functions/recompile/IPAFunctionArgsParfor.dml | 4 ++--
 9 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/docs/site/builtins-reference.md b/docs/site/builtins-reference.md
index e03f7b1..c3d21ca 100644
--- a/docs/site/builtins-reference.md
+++ b/docs/site/builtins-reference.md
@@ -824,7 +824,7 @@ The `lmPredict`-function predicts the class of a feature 
vector.
 ### Usage
 
 ```r
-lmPredict(X=X, B=w)
+lmPredict(X=X, B=w, ytest= Y)
 ```
 
 ### Arguments
@@ -833,7 +833,7 @@ lmPredict(X=X, B=w)
 | :------ | :------------- | -------- | :---------- |
 | X       | Matrix[Double] | required | Matrix of feature vector(s). |
 | B       | Matrix[Double] | required | 1-column matrix of weights. |
-| ytest   | Matrix[Double] | optional | Optional test labels, used only for 
verbose output. |
+| ytest   | Matrix[Double] | required | test labels, used only for verbose 
output. can be set to matrix(0,1,1) if verbose output is not wanted |
 | icpt    | Integer        | 0        | Intercept presence, shifting and 
rescaling of X ([Details](#icpt-argument))|
 | verbose | Boolean        | FALSE    | Print various statistics for 
evaluating accuracy. |
 
@@ -850,7 +850,7 @@ lmPredict(X=X, B=w)
 X = rand (rows = 50, cols = 10)
 y = X %*% rand(rows = ncol(X), cols = 1)
 w = lm(X = X, y = y)
-yp = lmPredict(X = X, B = w)
+yp = lmPredict(X = X, B = w, ytest=matrix(0,1,1))
 ```
 
 ## `mice`-Function
diff --git a/scripts/builtin/cvlm.dml b/scripts/builtin/cvlm.dml
index 4836d0b..f607e74 100644
--- a/scripts/builtin/cvlm.dml
+++ b/scripts/builtin/cvlm.dml
@@ -42,7 +42,7 @@ m_cvlm = function(Matrix[Double] X, Matrix[Double] y, Integer 
k, Integer icpt =
     }
 
     beta = lm(X=trainSet, y=trainRes, icpt=icpt, reg=reg);
-    pred = lmPredict(X=testSet, B=beta, icpt=icpt);
+    pred = lmPredict(X=testSet, B=beta, ytest=matrix(0,1,1), icpt=icpt);
     y_predict[testS:testE,] = pred;
     allbeta[i,] = t(beta);
   }
diff --git a/scripts/builtin/hyperband.dml b/scripts/builtin/hyperband.dml
index e394ccc..fd4754d 100644
--- a/scripts/builtin/hyperband.dml
+++ b/scripts/builtin/hyperband.dml
@@ -104,7 +104,7 @@ m_hyperband = function(Matrix[Double] X_train, 
Matrix[Double] y_train,
           tol=as.scalar(args[1]), reg=as.scalar(args[2]), maxi=r_i, 
verbose=FALSE));
         
         candidateWeights[curCandidate] = t(weights)
-        preds = lmPredict(X=X_val, B=weights);
+        preds = lmPredict(X=X_val, B=weights, ytest= matrix(0,1,1));
         scoreboard[curCandidate,1] = as.matrix(sum((y_val - preds)^2));
       }
       
diff --git a/scripts/builtin/mice.dml b/scripts/builtin/mice.dml
index 3372886..a5243c0 100644
--- a/scripts/builtin/mice.dml
+++ b/scripts/builtin/mice.dml
@@ -140,7 +140,7 @@ m_mice= function(Matrix[Double] X, Matrix[Double] cMask, 
Integer iter = 3,
         # learn a regression line
         beta = lm(X=train_X, y=train_Y, verbose=FALSE, icpt=1, reg = 1e-7, tol 
= 1e-7);
         # predicting missing values 
-        pred = lmPredict(X=test_X, B=beta, icpt=1)
+        pred = lmPredict(X=test_X, B=beta, ytest= matrix(0,1,1), icpt=1)
         # imputing missing column values (assumes Mask_Filled being 0/1-matrix)
         R = removeEmpty(target=Mask_Filled[, in_c] * seq(1,n), margin="rows");
         # TODO modify removeEmpty to return zero row and n columns
diff --git a/scripts/builtin/outlierByArima.dml 
b/scripts/builtin/outlierByArima.dml
index 114c28d..8c3ca3a 100644
--- a/scripts/builtin/outlierByArima.dml
+++ b/scripts/builtin/outlierByArima.dml
@@ -64,7 +64,7 @@ m_outlierByArima = function(Matrix[Double] X, Double k = 3, 
Integer repairMethod
 
   # TODO replace by ARIMA once fully supported, LM only emulated the AR part
   model = lm(X=features, y=X_adapted)
-  y_hat = lmPredict(X=features, B=model)
+  y_hat = lmPredict(X=features, B=model, ytest=matrix(0,1,1))
 
   upperBound = sd(X) + k * y_hat
   lowerBound = sd(X) - k * y_hat
diff --git a/src/test/scripts/functions/builtin/lmpredict.dml 
b/src/test/scripts/functions/builtin/lmpredict.dml
index 1b0c2ec..d99e7e2 100644
--- a/src/test/scripts/functions/builtin/lmpredict.dml
+++ b/src/test/scripts/functions/builtin/lmpredict.dml
@@ -23,5 +23,5 @@ X = read($1) # Training data
 y = read($2) # response values
 p = read($3) # random data to predict
 w = lmDS(X = X, y = y, icpt = 1, reg = 1e-12)
-p = lmPredict(X = X, B = w, icpt = 1)
+p = lmPredict(X = X, B = w, ytest=matrix(0,1,1), icpt = 1)
 write(p, $4)
diff --git a/src/test/scripts/functions/lineage/LineageReuseAlg6.dml 
b/src/test/scripts/functions/lineage/LineageReuseAlg6.dml
index 082580b..5dc64b0 100644
--- a/src/test/scripts/functions/lineage/LineageReuseAlg6.dml
+++ b/src/test/scripts/functions/lineage/LineageReuseAlg6.dml
@@ -89,7 +89,7 @@ Kc = floor(ncol(A) * 0.8);
 for (i in 1:10) {
   newA1 = PCA(A=A, K=Kc+i);
   beta1 = lm(X=newA1, y=y, icpt=1, reg=0.0001, verbose=FALSE);
-  y_predict1 = lmPredict(X=newA1, B=beta1, icpt=1);
+  y_predict1 = lmPredict(X=newA1, B=beta1, ytest=matrix(0,1,1), icpt=1);
   R2_ad1 = checkR2(newA1, y, y_predict1, beta1, 1);
   R[,i] = R2_ad1;
 }
diff --git a/src/test/scripts/functions/recompile/IPAFunctionArgsFor.dml 
b/src/test/scripts/functions/recompile/IPAFunctionArgsFor.dml
index 9b32d39..0570693 100644
--- a/src/test/scripts/functions/recompile/IPAFunctionArgsFor.dml
+++ b/src/test/scripts/functions/recompile/IPAFunctionArgsFor.dml
@@ -92,7 +92,7 @@ Kc = floor(ncol(A) * 0.8);
 for (i in 1:10) {
   newA1 = PCA(A=A, K=Kc+i);
   beta1 = lm(X=newA1, y=y, icpt=1, reg=0.0001, verbose=FALSE);
-  y_predict1 = lmPredict(X=newA1, B=beta1, icpt=1);
+  y_predict1 = lmPredict(X=newA1, B=beta1, ytest=matrix(0,1,1), icpt=1);
   R2_ad1 = checkR2(newA1, y, y_predict1, beta1, 1);
   R[,i] = R2_ad1;
 }
@@ -100,7 +100,7 @@ for (i in 1:10) {
 for (i in 1:10) {
   newA3 = PCA(A=A, K=Kc+5);
   beta3 = lm(X=newA3, y=y, icpt=1, reg=0.001*i, verbose=FALSE);
-  y_predict3 = lmPredict(X=newA3, B=beta3, icpt=1);
+  y_predict3 = lmPredict(X=newA3, B=beta3, ytest=matrix(0,1,1), icpt=1);
   R2_ad3 = checkR2(newA3, y, y_predict3, beta3, 1);
   R[,10+i] = R2_ad3;
 }
diff --git a/src/test/scripts/functions/recompile/IPAFunctionArgsParfor.dml 
b/src/test/scripts/functions/recompile/IPAFunctionArgsParfor.dml
index 415e72e..795f507 100644
--- a/src/test/scripts/functions/recompile/IPAFunctionArgsParfor.dml
+++ b/src/test/scripts/functions/recompile/IPAFunctionArgsParfor.dml
@@ -92,7 +92,7 @@ Kc = floor(ncol(A) * 0.8);
 for (i in 1:10) {
   newA1 = PCA(A=A, K=Kc+i);
   beta1 = lm(X=newA1, y=y, icpt=1, reg=0.0001, verbose=FALSE);
-  y_predict1 = lmPredict(X=newA1, B=beta1, icpt=1);
+  y_predict1 = lmPredict(X=newA1, B=beta1, ytest=matrix(0,1,1), icpt=1);
   R2_ad1 = checkR2(newA1, y, y_predict1, beta1, 1);
   R[,i] = R2_ad1;
 }
@@ -100,7 +100,7 @@ for (i in 1:10) {
 parfor (i in 1:10) {
   newA3 = PCA(A=A, K=Kc+5);
   beta3 = lm(X=newA3, y=y, icpt=1, reg=0.001*i, verbose=FALSE);
-  y_predict3 = lmPredict(X=newA3, B=beta3, icpt=1);
+  y_predict3 = lmPredict(X=newA3, B=beta3, ytest=matrix(0,1,1), icpt=1);
   R2_ad3 = checkR2(newA3, y, y_predict3, beta3, 1);
   R[,10+i] = R2_ad3;
 }

Reply via email to