From 97f16440280a40a49c4898a75942e374880bfca3 Mon Sep 17 00:00:00 2001
From: Benjamin Auder <benjamin.auder@somewhere>
Date: Fri, 9 Sep 2022 17:49:44 +0200
Subject: [PATCH] Update package to send on CRAN

---
 DESCRIPTION                                   |   9 +-
 LICENSE                                       |   2 +-
 NAMESPACE                                     |   3 -
 R/R6_Model.R                                  |   8 +-
 R/compareTo.R                                 |   8 +-
 agghoo.Rcheck/00_pkg_src/agghoo/DESCRIPTION   |  26 ++
 agghoo.Rcheck/00_pkg_src/agghoo/LICENSE       |   2 +
 agghoo.Rcheck/00_pkg_src/agghoo/NAMESPACE     |  13 +
 .../00_pkg_src/agghoo/R/A_NAMESPACE.R         |   7 +
 .../00_pkg_src/agghoo/R/R6_AgghooCV.R         | 115 ++++++++
 agghoo.Rcheck/00_pkg_src/agghoo/R/R6_Model.R  | 157 +++++++++++
 agghoo.Rcheck/00_pkg_src/agghoo/R/agghoo.R    |  58 ++++
 agghoo.Rcheck/00_pkg_src/agghoo/R/checks.R    | 102 ++++++++
 agghoo.Rcheck/00_pkg_src/agghoo/R/compareTo.R | 247 ++++++++++++++++++
 agghoo.Rcheck/00_pkg_src/agghoo/R/utils.R     |  30 +++
 agghoo.Rcheck/00_pkg_src/agghoo/README.md     |  15 ++
 agghoo.Rcheck/00_pkg_src/agghoo/TODO          |   2 +
 .../00_pkg_src/agghoo/example/example.R       |  43 +++
 agghoo.Rcheck/00_pkg_src/agghoo/test/TODO     |   1 +
 agghoo.Rcheck/00check.log                     |  52 ++++
 agghoo.Rcheck/00install.out                   |  12 +
 agghoo.Rcheck/Rdlatex.log                     |  22 ++
 agghoo.Rcheck/agghoo-manual.tex               |  44 ++++
 agghoo.Rcheck/agghoo/DESCRIPTION              |  27 ++
 agghoo.Rcheck/agghoo/LICENSE                  |   2 +
 agghoo.Rcheck/agghoo/Meta/Rd.rds              | Bin 0 -> 172 bytes
 agghoo.Rcheck/agghoo/Meta/features.rds        | Bin 0 -> 122 bytes
 agghoo.Rcheck/agghoo/Meta/hsearch.rds         | Bin 0 -> 198 bytes
 agghoo.Rcheck/agghoo/Meta/links.rds           | Bin 0 -> 46 bytes
 agghoo.Rcheck/agghoo/Meta/nsInfo.rds          | Bin 0 -> 292 bytes
 agghoo.Rcheck/agghoo/Meta/package.rds         | Bin 0 -> 1146 bytes
 agghoo.Rcheck/agghoo/NAMESPACE                |  13 +
 agghoo.Rcheck/agghoo/R/agghoo                 |  27 ++
 agghoo.Rcheck/agghoo/R/agghoo.rdb             | Bin 0 -> 90608 bytes
 agghoo.Rcheck/agghoo/R/agghoo.rdx             | Bin 0 -> 584 bytes
 agghoo.Rcheck/agghoo/help/AnIndex             |   0
 agghoo.Rcheck/agghoo/help/agghoo.rdb          |   0
 agghoo.Rcheck/agghoo/help/agghoo.rdx          | Bin 0 -> 125 bytes
 agghoo.Rcheck/agghoo/help/aliases.rds         | Bin 0 -> 69 bytes
 agghoo.Rcheck/agghoo/help/paths.rds           | Bin 0 -> 74 bytes
 agghoo.Rcheck/agghoo/html/00Index.html        |  24 ++
 agghoo.Rcheck/agghoo/html/R.css               | 120 +++++++++
 agghoo_0.1-0.tar.gz                           | Bin 0 -> 9062 bytes
 man/AgghooCV.Rd                               | 116 --------
 man/CVvoting_core.Rd                          |  12 -
 man/CVvoting_run.Rd                           |  13 -
 man/Model.Rd                                  | 109 --------
 man/agghoo.Rd                                 |  57 ----
 man/agghoo_run.Rd                             |  13 -
 man/compareMulti.Rd                           |  39 ---
 man/compareRange.Rd                           |  39 ---
 man/compareTo.Rd                              |  35 ---
 man/standardCV_core.Rd                        |  12 -
 man/standardCV_run.Rd                         |  21 --
 54 files changed, 1172 insertions(+), 485 deletions(-)
 create mode 100644 agghoo.Rcheck/00_pkg_src/agghoo/DESCRIPTION
 create mode 100644 agghoo.Rcheck/00_pkg_src/agghoo/LICENSE
 create mode 100644 agghoo.Rcheck/00_pkg_src/agghoo/NAMESPACE
 create mode 100644 agghoo.Rcheck/00_pkg_src/agghoo/R/A_NAMESPACE.R
 create mode 100644 agghoo.Rcheck/00_pkg_src/agghoo/R/R6_AgghooCV.R
 create mode 100644 agghoo.Rcheck/00_pkg_src/agghoo/R/R6_Model.R
 create mode 100644 agghoo.Rcheck/00_pkg_src/agghoo/R/agghoo.R
 create mode 100644 agghoo.Rcheck/00_pkg_src/agghoo/R/checks.R
 create mode 100644 agghoo.Rcheck/00_pkg_src/agghoo/R/compareTo.R
 create mode 100644 agghoo.Rcheck/00_pkg_src/agghoo/R/utils.R
 create mode 100644 agghoo.Rcheck/00_pkg_src/agghoo/README.md
 create mode 100644 agghoo.Rcheck/00_pkg_src/agghoo/TODO
 create mode 100644 agghoo.Rcheck/00_pkg_src/agghoo/example/example.R
 create mode 100644 agghoo.Rcheck/00_pkg_src/agghoo/test/TODO
 create mode 100644 agghoo.Rcheck/00check.log
 create mode 100644 agghoo.Rcheck/00install.out
 create mode 100644 agghoo.Rcheck/Rdlatex.log
 create mode 100644 agghoo.Rcheck/agghoo-manual.tex
 create mode 100644 agghoo.Rcheck/agghoo/DESCRIPTION
 create mode 100644 agghoo.Rcheck/agghoo/LICENSE
 create mode 100644 agghoo.Rcheck/agghoo/Meta/Rd.rds
 create mode 100644 agghoo.Rcheck/agghoo/Meta/features.rds
 create mode 100644 agghoo.Rcheck/agghoo/Meta/hsearch.rds
 create mode 100644 agghoo.Rcheck/agghoo/Meta/links.rds
 create mode 100644 agghoo.Rcheck/agghoo/Meta/nsInfo.rds
 create mode 100644 agghoo.Rcheck/agghoo/Meta/package.rds
 create mode 100644 agghoo.Rcheck/agghoo/NAMESPACE
 create mode 100644 agghoo.Rcheck/agghoo/R/agghoo
 create mode 100644 agghoo.Rcheck/agghoo/R/agghoo.rdb
 create mode 100644 agghoo.Rcheck/agghoo/R/agghoo.rdx
 create mode 100644 agghoo.Rcheck/agghoo/help/AnIndex
 create mode 100644 agghoo.Rcheck/agghoo/help/agghoo.rdb
 create mode 100644 agghoo.Rcheck/agghoo/help/agghoo.rdx
 create mode 100644 agghoo.Rcheck/agghoo/help/aliases.rds
 create mode 100644 agghoo.Rcheck/agghoo/help/paths.rds
 create mode 100644 agghoo.Rcheck/agghoo/html/00Index.html
 create mode 100644 agghoo.Rcheck/agghoo/html/R.css
 create mode 100644 agghoo_0.1-0.tar.gz
 delete mode 100644 man/AgghooCV.Rd
 delete mode 100644 man/CVvoting_core.Rd
 delete mode 100644 man/CVvoting_run.Rd
 delete mode 100644 man/Model.Rd
 delete mode 100644 man/agghoo.Rd
 delete mode 100644 man/agghoo_run.Rd
 delete mode 100644 man/compareMulti.Rd
 delete mode 100644 man/compareRange.Rd
 delete mode 100644 man/compareTo.Rd
 delete mode 100644 man/standardCV_core.Rd
 delete mode 100644 man/standardCV_run.Rd

diff --git a/DESCRIPTION b/DESCRIPTION
index 5e85d59..140abb3 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,6 +1,6 @@
 Package: agghoo
-Title: Aggregated Hold-out Cross Validation
-Date: 2021-06-05
+Title: Aggregated Hold-Out Cross Validation
+Date: 2022-08-30
 Version: 0.1-0
 Description: The 'agghoo' procedure is an alternative to usual cross-validation.
     Instead of choosing the best model trained on V subsamples, it determines
@@ -17,15 +17,16 @@ Maintainer: Benjamin Auder <benjamin.auder@universite-paris-saclay.fr>
 Depends:
     R (>= 3.5.0)
 Imports:
+    class,
+    parallel,
     R6,
     rpart,
-    randomForest,
     FNN
 Suggests:
     roxygen2
 URL: https://git.auder.net/?p=agghoo.git
 License: MIT + file LICENSE
-RoxygenNote: 7.1.1
+RoxygenNote: 7.2.1
 Collate: 
     'compareTo.R'
     'agghoo.R'
diff --git a/LICENSE b/LICENSE
index 6e92110..094ff81 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,2 +1,2 @@
-YEAR: 2021
+YEAR: 2021-2022
 COPYRIGHT HOLDER: Sylvain Arlot, Benjamin Auder, Melina Gallopin, Matthieu Lerasle, Guillaume Maillard
diff --git a/NAMESPACE b/NAMESPACE
index 74d8bd5..7bbddef 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -1,14 +1,11 @@
 # Generated by roxygen2: do not edit by hand
 
 export(AgghooCV)
-export(CVvoting_run)
 export(Model)
 export(agghoo)
-export(agghoo_run)
 export(compareMulti)
 export(compareRange)
 export(compareTo)
-export(standardCV_run)
 importFrom(FNN,knn.reg)
 importFrom(R6,R6Class)
 importFrom(class,knn)
diff --git a/R/R6_Model.R b/R/R6_Model.R
index 1719666..d48825e 100644
--- a/R/R6_Model.R
+++ b/R/R6_Model.R
@@ -68,7 +68,7 @@ Model <- R6::R6Class("Model",
     getGmodel = function(family, task) {
       if (family == "tree") {
         function(dataHO, targetHO, param) {
-          require(rpart)
+          base::require(rpart)
           method <- ifelse(task == "classification", "class", "anova")
           if (is.null(colnames(dataHO)))
             colnames(dataHO) <- paste0("V", 1:ncol(dataHO))
@@ -98,13 +98,13 @@ Model <- R6::R6Class("Model",
       else if (family == "knn") {
         if (task == "classification") {
           function(dataHO, targetHO, param) {
-            require(class)
+            base::require(class)
             function(X) class::knn(dataHO, X, cl=targetHO, k=param)
           }
         }
         else {
           function(dataHO, targetHO, param) {
-            require(FNN)
+            base::require(FNN)
             function(X) FNN::knn.reg(dataHO, X, y=targetHO, k=param)$pred
           }
         }
@@ -114,7 +114,7 @@ Model <- R6::R6Class("Model",
     getParams = function(family, data, target, task) {
       if (family == "tree") {
         # Run rpart once to obtain a CV grid for parameter cp
-        require(rpart)
+        base::require(rpart)
         df <- data.frame(cbind(data, target=target))
         ctrl <- list(
           cp = 0,
diff --git a/R/compareTo.R b/R/compareTo.R
index 28cb711..fe5b24d 100644
--- a/R/compareTo.R
+++ b/R/compareTo.R
@@ -78,8 +78,6 @@ CVvoting_core <- function(data, target, task, gmodel, params, loss, CV) {
 #' Run and eval the standard cross-validation procedure.
 #' Parameters are rather explicit except "floss", which corresponds to the
 #' "final" loss function, applied to compute the error on testing dataset.
-#'
-#' @export
 standardCV_run <- function(
   dataTrain, dataTest, targetTrain, targetTest, floss, verbose, ...
 ) {
@@ -104,8 +102,6 @@ standardCV_run <- function(
 #' Run and eval the voting cross-validation procedure.
 #' Parameters are rather explicit except "floss", which corresponds to the
 #' "final" loss function, applied to compute the error on testing dataset.
-#'
-#' @export
 CVvoting_run <- function(
   dataTrain, dataTest, targetTrain, targetTest, floss, verbose, ...
 ) {
@@ -130,8 +126,6 @@ CVvoting_run <- function(
 #' Run and eval the agghoo procedure.
 #' Parameters are rather explicit except "floss", which corresponds to the
 #' "final" loss function, applied to compute the error on testing dataset.
-#'
-#' @export
 agghoo_run <- function(
   dataTrain, dataTest, targetTrain, targetTest, floss, verbose, ...
 ) {
@@ -209,7 +203,7 @@ compareTo <- function(
 compareMulti <- function(
   data, target, method_s, N=100, nc=NA, floss=NULL, verbose=TRUE, ...
 ) {
-  require(parallel)
+  base::require(parallel)
   if (is.na(nc))
     nc <- parallel::detectCores()
 
diff --git a/agghoo.Rcheck/00_pkg_src/agghoo/DESCRIPTION b/agghoo.Rcheck/00_pkg_src/agghoo/DESCRIPTION
new file mode 100644
index 0000000..21f9ca3
--- /dev/null
+++ b/agghoo.Rcheck/00_pkg_src/agghoo/DESCRIPTION
@@ -0,0 +1,26 @@
+Package: agghoo
+Title: Aggregated Hold-Out Cross Validation
+Date: 2022-08-30
+Version: 0.1-0
+Description: The 'agghoo' procedure is an alternative to usual cross-validation.
+    Instead of choosing the best model trained on V subsamples, it determines
+    a winner model for each subsample, and then aggregate the V outputs.
+    For the details, see "Aggregated hold-out" by Guillaume Maillard,
+    Sylvain Arlot, Matthieu Lerasle (2021) <arXiv:1909.04890>
+    published in Journal of Machine Learning Research 22(20):1--55.
+Author: Sylvain Arlot <sylvain.arlot@universite-paris-saclay.fr> [cph,ctb],
+    Benjamin Auder <benjamin.auder@universite-paris-saclay.fr> [aut,cre,cph],
+    Melina Gallopin <melina.gallopin@universite-paris-saclay.fr> [cph,ctb],
+    Matthieu Lerasle <matthieu.lerasle@universite-paris-saclay.fr> [cph,ctb],
+    Guillaume Maillard <guillaume.maillard@uni.lu> [cph,ctb]
+Maintainer: Benjamin Auder <benjamin.auder@universite-paris-saclay.fr>
+Depends: R (>= 3.5.0)
+Imports: class, parallel, R6, rpart, FNN
+Suggests: roxygen2
+URL: https://git.auder.net/?p=agghoo.git
+License: MIT + file LICENSE
+RoxygenNote: 7.2.1
+Collate: 'compareTo.R' 'agghoo.R' 'R6_AgghooCV.R' 'R6_Model.R'
+        'checks.R' 'utils.R' 'A_NAMESPACE.R'
+NeedsCompilation: no
+Packaged: 2022-09-09 15:45:56 UTC; auder
diff --git a/agghoo.Rcheck/00_pkg_src/agghoo/LICENSE b/agghoo.Rcheck/00_pkg_src/agghoo/LICENSE
new file mode 100644
index 0000000..094ff81
--- /dev/null
+++ b/agghoo.Rcheck/00_pkg_src/agghoo/LICENSE
@@ -0,0 +1,2 @@
+YEAR: 2021-2022
+COPYRIGHT HOLDER: Sylvain Arlot, Benjamin Auder, Melina Gallopin, Matthieu Lerasle, Guillaume Maillard
diff --git a/agghoo.Rcheck/00_pkg_src/agghoo/NAMESPACE b/agghoo.Rcheck/00_pkg_src/agghoo/NAMESPACE
new file mode 100644
index 0000000..7bbddef
--- /dev/null
+++ b/agghoo.Rcheck/00_pkg_src/agghoo/NAMESPACE
@@ -0,0 +1,13 @@
+# Generated by roxygen2: do not edit by hand
+
+export(AgghooCV)
+export(Model)
+export(agghoo)
+export(compareMulti)
+export(compareRange)
+export(compareTo)
+importFrom(FNN,knn.reg)
+importFrom(R6,R6Class)
+importFrom(class,knn)
+importFrom(rpart,rpart)
+importFrom(stats,ppr)
diff --git a/agghoo.Rcheck/00_pkg_src/agghoo/R/A_NAMESPACE.R b/agghoo.Rcheck/00_pkg_src/agghoo/R/A_NAMESPACE.R
new file mode 100644
index 0000000..0466833
--- /dev/null
+++ b/agghoo.Rcheck/00_pkg_src/agghoo/R/A_NAMESPACE.R
@@ -0,0 +1,7 @@
+#' @include utils.R
+#' @include checks.R
+#' @include R6_Model.R
+#' @include R6_AgghooCV.R
+#' @include agghoo.R
+#' @include compareTo.R
+NULL
diff --git a/agghoo.Rcheck/00_pkg_src/agghoo/R/R6_AgghooCV.R b/agghoo.Rcheck/00_pkg_src/agghoo/R/R6_AgghooCV.R
new file mode 100644
index 0000000..328c141
--- /dev/null
+++ b/agghoo.Rcheck/00_pkg_src/agghoo/R/R6_AgghooCV.R
@@ -0,0 +1,115 @@
+#' @title R6 class with agghoo functions fit() and predict().
+#'
+#' @description
+#' Class encapsulating the methods to run to obtain the best predictor
+#' from the list of models (see 'Model' class).
+#'
+#' @importFrom R6 R6Class
+#'
+#' @export
+AgghooCV <- R6::R6Class("AgghooCV",
+  public = list(
+    #' @description Create a new AgghooCV object.
+    #' @param data Matrix or data.frame
+    #' @param target Vector of targets (generally numeric or factor)
+    #' @param task "regression" or "classification".
+    #'             Default: classification if target not numeric.
+    #' @param gmodel Generic model returning a predictive function
+    #'               Default: tree if mixed data, knn/ppr otherwise.
+    #' @param loss Function assessing the error of a prediction
+    #'             Default: error rate or mean(abs(error)).
+    initialize = function(data, target, task, gmodel, loss) {
+      private$data <- data
+      private$target <- target
+      private$task <- task
+      private$gmodel <- gmodel
+      private$loss <- loss
+    },
+    #' @description Fit an agghoo model.
+    #' @param CV List describing cross-validation to run. Slots: \cr
+    #'          - type: 'vfold' or 'MC' for Monte-Carlo (default: MC) \cr
+    #'          - V: number of runs (default: 10) \cr
+    #'          - test_size: percentage of data in the test dataset, for MC
+    #'            (irrelevant for V-fold). Default: 0.2. \cr
+    #'          - shuffle: wether or not to shuffle data before V-fold.
+    #'            Irrelevant for Monte-Carlo; default: TRUE \cr
+    #'        Default (if NULL): type="MC", V=10, test_size=0.2
+    fit = function(CV = NULL) {
+      CV <- checkCV(CV)
+      n <- nrow(private$data)
+      shuffle_inds <- NULL
+      if (CV$type == "vfold" && CV$shuffle)
+        shuffle_inds <- sample(n, n)
+      # Result: list of V predictive models (+ parameters for info)
+      private$pmodels <- list()
+      for (v in seq_len(CV$V)) {
+        # Prepare train / test data and target, from full dataset.
+        # dataHO: "data Hold-Out" etc.
+        test_indices <- get_testIndices(n, CV, v, shuffle_inds)
+        d <- splitTrainTest(private$data, private$target, test_indices)
+        best_model <- NULL
+        best_error <- Inf
+        for (p in seq_len(private$gmodel$nmodels)) {
+          model_pred <- private$gmodel$get(d$dataTrain, d$targetTrain, p)
+          prediction <- model_pred(d$dataTest)
+          error <- private$loss(prediction, d$targetTest)
+          if (error <= best_error) {
+            newModel <- list(model=model_pred, param=private$gmodel$getParam(p))
+            if (error == best_error)
+              best_model[[length(best_model)+1]] <- newModel
+            else {
+              best_model <- list(newModel)
+              best_error <- error
+            }
+          }
+        }
+        # Choose a model at random in case of ex-aequos
+        private$pmodels[[v]] <- best_model[[ sample(length(best_model),1) ]]
+      }
+    },
+    #' @description Predict an agghoo model (after calling fit())
+    #' @param X Matrix or data.frame to predict
+    predict = function(X) {
+      if (!is.matrix(X) && !is.data.frame(X))
+        stop("X: matrix or data.frame")
+      if (!is.list(private$pmodels)) {
+        print("Please call $fit() method first")
+        return (invisible(NULL))
+      }
+      V <- length(private$pmodels)
+      oneLineX <- X[1,]
+      if (is.matrix(X))
+        # HACK: R behaves differently with data frames and matrices.
+        oneLineX <- t(as.matrix(oneLineX))
+      if (length(private$pmodels[[1]]$model(oneLineX)) >= 2)
+        # Soft classification:
+        return (Reduce("+", lapply(private$pmodels, function(m) m$model(X))) / V)
+      n <- nrow(X)
+      all_predictions <- as.data.frame(matrix(nrow=n, ncol=V))
+      for (v in 1:V)
+        all_predictions[,v] <- private$pmodels[[v]]$model(X)
+      if (private$task == "regression")
+        # Easy case: just average each row
+        return (rowMeans(all_predictions))
+      # "Hard" classification:
+      apply(all_predictions, 1, function(row) {
+        t <- table(row)
+        # Next lines in case of ties (broken at random)
+        tmax <- max(t)
+        sample( names(t)[which(t == tmax)], 1 )
+      })
+    },
+    #' @description Return the list of V best parameters (after calling fit())
+    getParams = function() {
+      lapply(private$pmodels, function(m) m$param)
+    }
+  ),
+  private = list(
+    data = NULL,
+    target = NULL,
+    task = NULL,
+    gmodel = NULL,
+    loss = NULL,
+    pmodels = NULL
+  )
+)
diff --git a/agghoo.Rcheck/00_pkg_src/agghoo/R/R6_Model.R b/agghoo.Rcheck/00_pkg_src/agghoo/R/R6_Model.R
new file mode 100644
index 0000000..d48825e
--- /dev/null
+++ b/agghoo.Rcheck/00_pkg_src/agghoo/R/R6_Model.R
@@ -0,0 +1,157 @@
+#' @title R6 class representing a (generic) model.
+#'
+#' @description
+#' "Model" class, containing a (generic) learning function, which from
+#' data + target [+ params] returns a prediction function X --> y.
+#' Parameters for cross-validation are either provided or estimated.
+#' Model family can be chosen among "tree", "ppr" and "knn" for now.
+#'
+#' @importFrom FNN knn.reg
+#' @importFrom class knn
+#' @importFrom stats ppr
+#' @importFrom rpart rpart
+#'
+#' @export
+Model <- R6::R6Class("Model",
+  public = list(
+    #' @field nmodels Number of parameters (= number of [predictive] models)
+    nmodels = NA,
+    #' @description Create a new generic model.
+    #' @param data Matrix or data.frame
+    #' @param target Vector of targets (generally numeric or factor)
+    #' @param task "regression" or "classification"
+    #' @param gmodel Generic model returning a predictive function; chosen
+    #'               automatically given data and target nature if not provided.
+    #' @param params List of parameters for cross-validation (each defining a model)
+    initialize = function(data, target, task, gmodel = NULL, params = NULL) {
+      if (is.null(gmodel)) {
+        # (Generic) model not provided
+        all_numeric <- is.numeric(as.matrix(data))
+        if (!all_numeric)
+          # At least one non-numeric column: use trees
+          gmodel = "tree"
+        else
+          # Numerical data
+          gmodel = ifelse(task == "regression", "ppr", "knn")
+      }
+      if (is.null(params))
+        # Here, gmodel is a string (= its family),
+        # because a custom model must be given with its parameters.
+        params <- as.list(private$getParams(gmodel, data, target, task))
+      private$params <- params
+      if (is.character(gmodel))
+        gmodel <- private$getGmodel(gmodel, task)
+      private$gmodel <- gmodel
+      self$nmodels <- length(private$params)
+    },
+    #' @description
+    #' Returns the model at index "index", trained on dataHO/targetHO.
+    #' @param dataHO Matrix or data.frame
+    #' @param targetHO Vector of targets (generally numeric or factor)
+    #' @param index Index of the model in 1...nmodels
+    get = function(dataHO, targetHO, index) {
+      private$gmodel(dataHO, targetHO, private$params[[index]])
+    },
+    #' @description
+    #' Returns the parameter at index "index".
+    #' @param index Index of the model in 1...nmodels
+    getParam = function(index) {
+      private$params[[index]]
+    }
+  ),
+  private = list(
+    # No need to expose model or parameters list
+    gmodel = NULL,
+    params = NULL,
+    # Main function: given a family, return a generic model, which in turn
+    # will output a predictive model from data + target + params.
+    getGmodel = function(family, task) {
+      if (family == "tree") {
+        function(dataHO, targetHO, param) {
+          base::require(rpart)
+          method <- ifelse(task == "classification", "class", "anova")
+          if (is.null(colnames(dataHO)))
+            colnames(dataHO) <- paste0("V", 1:ncol(dataHO))
+          df <- data.frame(cbind(dataHO, target=targetHO))
+          model <- rpart::rpart(target ~ ., df, method=method, control=list(cp=param))
+          if (task == "regression")
+            type <- "vector"
+          else {
+            if (is.null(dim(targetHO)))
+              type <- "class"
+            else
+              type <- "prob"
+          }
+          function(X) {
+            if (is.null(colnames(X)))
+              colnames(X) <- paste0("V", 1:ncol(X))
+            predict(model, as.data.frame(X), type=type)
+          }
+        }
+      }
+      else if (family == "ppr") {
+        function(dataHO, targetHO, param) {
+          model <- stats::ppr(dataHO, targetHO, nterms=param)
+          function(X) predict(model, X)
+        }
+      }
+      else if (family == "knn") {
+        if (task == "classification") {
+          function(dataHO, targetHO, param) {
+            base::require(class)
+            function(X) class::knn(dataHO, X, cl=targetHO, k=param)
+          }
+        }
+        else {
+          function(dataHO, targetHO, param) {
+            base::require(FNN)
+            function(X) FNN::knn.reg(dataHO, X, y=targetHO, k=param)$pred
+          }
+        }
+      }
+    },
+    # Return a default list of parameters, given a gmodel family
+    getParams = function(family, data, target, task) {
+      if (family == "tree") {
+        # Run rpart once to obtain a CV grid for parameter cp
+        base::require(rpart)
+        df <- data.frame(cbind(data, target=target))
+        ctrl <- list(
+          cp = 0,
+          minsplit = 2,
+          minbucket = 1,
+          xval = 0)
+        method <- ifelse(task == "classification", "class", "anova")
+        r <- rpart(target ~ ., df, method=method, control=ctrl)
+        cps <- r$cptable[-1,1]
+        if (length(cps) <= 1)
+          stop("No cross-validation possible: select another model")
+        if (length(cps) <= 11)
+          return (cps)
+        step <- (length(cps) - 1) / 10
+        cps[unique(round(seq(1, length(cps), step)))]
+      }
+      else if (family == "ppr")
+        # This is nterms in ppr() function
+        1:10
+      else if (family == "knn") {
+        n <- nrow(data)
+        # Choose ~10 NN values
+        K <- length(unique(target))
+        if (n <= 10)
+          return (1:(n-1))
+        sqrt_n <- sqrt(n)
+        step <- (2*sqrt_n - 1) / 10
+        grid <- unique(round(seq(1, 2*sqrt_n, step)))
+        if (K == 2) {
+          # Common binary classification case: odd number of neighbors
+          for (i in 2:11) {
+            if (grid[i] %% 2 == 0)
+              grid[i] <- grid[i] + 1 #arbitrary choice
+          }
+        }
+        grid
+      }
+    }
+  )
+)
diff --git a/agghoo.Rcheck/00_pkg_src/agghoo/R/agghoo.R b/agghoo.Rcheck/00_pkg_src/agghoo/R/agghoo.R
new file mode 100644
index 0000000..48ac741
--- /dev/null
+++ b/agghoo.Rcheck/00_pkg_src/agghoo/R/agghoo.R
@@ -0,0 +1,58 @@
+#' agghoo
+#'
+#' Run the (core) agghoo procedure.
+#' Arguments specify the list of models, their parameters and the
+#' cross-validation settings, among others.
+#'
+#' @param data Data frame or matrix containing the data in lines.
+#' @param target The target values to predict. Generally a vector,
+#'        but possibly a matrix in the case of "soft classification".
+#' @param task "classification" or "regression". Default:
+#'        regression if target is numerical, classification otherwise.
+#' @param gmodel A "generic model", which is a function returning a predict
+#'        function (taking X as only argument) from the tuple
+#'        (dataHO, targetHO, param), where 'HO' stands for 'Hold-Out',
+#'        referring to cross-validation. Cross-validation is run on an array
+#'        of 'param's. See params argument. Default: see R6::Model.
+#' @param params A list of parameters. Often, one list cell is just a
+#'        numerical value, but in general it could be of any type.
+#'        Default: see R6::Model.
+#' @param loss A function assessing the error of a prediction.
+#'        Arguments are y1 and y2 (comparing a prediction to known values).
+#'        loss(y1, y2) --> real number (error). Default: see R6::AgghooCV.
+#'
+#' @return
+#' An R6::AgghooCV object o. Then, call o$fit() and finally o$predict(newData)
+#'
+#' @examples
+#' # Regression:
+#' a_reg <- agghoo(iris[,-c(2,5)], iris[,2])
+#' a_reg$fit()
+#' pr <- a_reg$predict(iris[,-c(2,5)] + rnorm(450, sd=0.1))
+#' # Classification
+#' a_cla <- agghoo(iris[,-5], iris[,5])
+#' a_cla$fit()
+#' pc <- a_cla$predict(iris[,-5] + rnorm(600, sd=0.1))
+#'
+#' @seealso Function \code{\link{compareTo}}
+#'
+#' @references
+#' Guillaume Maillard, Sylvain Arlot, Matthieu Lerasle. "Aggregated hold-out".
+#' Journal of Machine Learning Research 22(20):1--55, 2021.
+#'
+#' @export
+agghoo <- function(
+  data, target, task = NULL, gmodel = NULL, params = NULL, loss = NULL
+) {
+	# Args check:
+  checkDaTa(data, target)
+  task <- checkTask(task, target)
+  modPar <- checkModPar(gmodel, params)
+  loss <- checkLoss(loss, task)
+
+  # Build Model object (= list of parameterized models)
+  model <- Model$new(data, target, task, modPar$gmodel, modPar$params)
+
+  # Return AgghooCV object, to run and predict
+  AgghooCV$new(data, target, task, model, loss)
+}
diff --git a/agghoo.Rcheck/00_pkg_src/agghoo/R/checks.R b/agghoo.Rcheck/00_pkg_src/agghoo/R/checks.R
new file mode 100644
index 0000000..a19d55f
--- /dev/null
+++ b/agghoo.Rcheck/00_pkg_src/agghoo/R/checks.R
@@ -0,0 +1,102 @@
+# Internal usage: check and fill arguments with default values.
+
+defaultLoss_classif <- function(y1, y2) {
+  if (is.null(dim(y1)))
+    # Standard case: "hard" classification
+    mean(y1 != y2)
+  else {
+    # "Soft" classification: predict() outputs a probability matrix
+    # In this case "target" could be in matrix form.
+    if (!is.null(dim(y2)))
+      mean(rowSums(abs(y1 - y2)))
+    else {
+      # Or not: y2 is a "factor".
+      y2 <- as.character(y2)
+      # NOTE: the user should provide target in matrix form because
+      # matching y2 with columns is rather inefficient!
+      names <- colnames(y1)
+      positions <- list()
+      for (idx in seq_along(names))
+        positions[[ names[idx] ]] <- idx
+      mean(vapply(
+        seq_along(y2),
+        function(idx) sum(abs(y1[idx,] - positions[[ y2[idx] ]])),
+        0))
+    }
+  }
+}
+
+defaultLoss_regress <- function(y1, y2) {
+  mean(abs(y1 - y2))
+}
+
+# TODO: allow strings like "MSE", "abs" etc
+checkLoss <- function(loss, task) {
+  if (!is.null(loss) && !is.function(loss))
+    stop("loss: function(y1, y2) --> Real")
+  if (is.null(loss)) {
+    loss <- if (task == "classification") {
+      defaultLoss_classif
+    } else {
+      defaultLoss_regress
+    }
+  }
+  loss
+}
+
+checkCV <- function(CV) {
+  if (is.null(CV))
+    CV <- list(type="MC", V=10, test_size=0.2, shuffle=TRUE)
+  else {
+    if (!is.list(CV))
+      stop("CV: list of type('MC'|'vfold'), V(integer, [test_size, shuffle]")
+    if (is.null(CV$type)) {
+      warning("CV$type not provided: set to MC")
+      CV$type <- "MC"
+    }
+    if (is.null(CV$V)) {
+      warning("CV$V not provided: set to 10")
+      CV$V <- 10
+    }
+    if (CV$type == "MC" && is.null(CV$test_size))
+      CV$test_size <- 0.2
+    if (CV$type == "vfold" && is.null(CV$shuffle))
+      CV$shuffle <- TRUE
+  }
+  CV
+}
+
+checkDaTa <- function(data, target) {
+  if (!is.data.frame(data) && !is.matrix(data))
+    stop("data: data.frame or matrix")
+  if (is.data.frame(target) || is.matrix(target)) {
+    if (!is.numeric(target))
+      stop("multi-columns target must be a probability matrix")
+    if (nrow(target) != nrow(data) || ncol(target) == 1)
+      stop("target probability matrix does not match data size")
+  }
+  else if (!is.numeric(target) && !is.factor(target) && !is.character(target))
+    stop("target: numeric, factor or character vector")
+}
+
+checkTask <- function(task, target) {
+  if (!is.null(task))
+    task <- match.arg(task, c("classification", "regression"))
+  ifelse(is.numeric(target), "regression", "classification")
+}
+
+checkModPar <- function(gmodel, params) {
+  if (is.character(gmodel))
+    gmodel <- match.arg(gmodel, c("knn", "ppr", "rf", "tree"))
+  else if (!is.null(gmodel) && !is.function(gmodel))
+    stop("gmodel: function(dataHO, targetHO, param) --> function(X) --> y")
+  if (is.numeric(params) || is.character(params))
+    params <- as.list(params)
+  if (!is.list(params) && !is.null(params))
+    stop("params: numerical, character, or list (passed to model)")
+  if (is.function(gmodel) && !is.list(params))
+    stop("params must be provided when using a custom model")
+  if (is.list(params) && is.null(gmodel))
+    stop("model (or family) must be provided when using custom params")
+  list(gmodel=gmodel, params=params)
+}
diff --git a/agghoo.Rcheck/00_pkg_src/agghoo/R/compareTo.R b/agghoo.Rcheck/00_pkg_src/agghoo/R/compareTo.R
new file mode 100644
index 0000000..fe5b24d
--- /dev/null
+++ b/agghoo.Rcheck/00_pkg_src/agghoo/R/compareTo.R
@@ -0,0 +1,247 @@
+#' standardCV_core
+#'
+#' Cross-validation method, added here as an example.
+#' Parameters are described in ?agghoo and ?AgghooCV
+standardCV_core <- function(data, target, task, gmodel, params, loss, CV) {
+  n <- nrow(data)
+  shuffle_inds <- NULL
+  if (CV$type == "vfold" && CV$shuffle)
+    shuffle_inds <- sample(n, n)
+  list_testinds <- list()
+  for (v in seq_len(CV$V))
+    list_testinds[[v]] <- get_testIndices(n, CV, v, shuffle_inds)
+  gmodel <- agghoo::Model$new(data, target, task, gmodel, params)
+  best_error <- Inf
+  best_p <- NULL
+  for (p in seq_len(gmodel$nmodels)) {
+    error <- Reduce('+', lapply(seq_len(CV$V), function(v) {
+      testIdx <- list_testinds[[v]]
+      d <- splitTrainTest(data, target, testIdx)
+      model_pred <- gmodel$get(d$dataTrain, d$targetTrain, p)
+      prediction <- model_pred(d$dataTest)
+      loss(prediction, d$targetTest)
+    }) )
+    if (error <= best_error) {
+      if (error == best_error)
+        best_p[[length(best_p)+1]] <- p
+      else {
+        best_p <- list(p)
+        best_error <- error
+      }
+    }
+  }
+  chosenP <- best_p[[ sample(length(best_p), 1) ]]
+  list(model=gmodel$get(data, target, chosenP), param=gmodel$getParam(chosenP))
+}
+
+#' CVvoting_core
+#'
+#' "voting" cross-validation method, added here as an example.
+#' Parameters are described in ?agghoo and ?AgghooCV
+CVvoting_core <- function(data, target, task, gmodel, params, loss, CV) {
+  CV <- checkCV(CV)
+  n <- nrow(data)
+  shuffle_inds <- NULL
+  if (CV$type == "vfold" && CV$shuffle)
+    shuffle_inds <- sample(n, n)
+  gmodel <- agghoo::Model$new(data, target, task, gmodel, params)
+  bestP <- rep(0, gmodel$nmodels)
+  for (v in seq_len(CV$V)) {
+    test_indices <- get_testIndices(n, CV, v, shuffle_inds)
+    d <- splitTrainTest(data, target, test_indices)
+    best_p <- NULL
+    best_error <- Inf
+    for (p in seq_len(gmodel$nmodels)) {
+      model_pred <- gmodel$get(d$dataTrain, d$targetTrain, p)
+      prediction <- model_pred(d$dataTest)
+      error <- loss(prediction, d$targetTest)
+      if (error <= best_error) {
+        if (error == best_error)
+          best_p[[length(best_p)+1]] <- p
+        else {
+          best_p <- list(p)
+          best_error <- error
+        }
+      }
+    }
+    for (p in best_p)
+      bestP[p] <- bestP[p] + 1
+  }
+  # Choose a param at random in case of ex-aequos:
+  maxP <- max(bestP)
+  chosenP <- sample(which(bestP == maxP), 1)
+  list(model=gmodel$get(data, target, chosenP), param=gmodel$getParam(chosenP))
+}
+
+#' standardCV_run
+#'
+#' Run and eval the standard cross-validation procedure.
+#' Parameters are rather explicit except "floss", which corresponds to the
+#' "final" loss function, applied to compute the error on testing dataset.
+standardCV_run <- function(
+  dataTrain, dataTest, targetTrain, targetTest, floss, verbose, ...
+) {
+  args <- list(...)
+  task <- checkTask(args$task, targetTrain)
+  modPar <- checkModPar(args$gmodel, args$params)
+  loss <- checkLoss(args$loss, task)
+  CV <- checkCV(args$CV)
+  s <- standardCV_core(
+    dataTrain, targetTrain, task, modPar$gmodel, modPar$params, loss, CV)
+  if (verbose)
+    print(paste( "Parameter:", s$param ))
+  p <- s$model(dataTest)
+  err <- floss(p, targetTest)
+  if (verbose)
+    print(paste("error CV:", err))
+  invisible(err)
+}
+
+#' CVvoting_run
+#'
+#' Run and eval the voting cross-validation procedure.
+#' Parameters are rather explicit except "floss", which corresponds to the
+#' "final" loss function, applied to compute the error on testing dataset.
+CVvoting_run <- function(
+  dataTrain, dataTest, targetTrain, targetTest, floss, verbose, ...
+) {
+  args <- list(...)
+  task <- checkTask(args$task, targetTrain)
+  modPar <- checkModPar(args$gmodel, args$params)
+  loss <- checkLoss(args$loss, task)
+  CV <- checkCV(args$CV)
+  s <- CVvoting_core(
+    dataTrain, targetTrain, task, modPar$gmodel, modPar$params, loss, CV)
+  if (verbose)
+    print(paste( "Parameter:", s$param ))
+  p <- s$model(dataTest)
+  err <- floss(p, targetTest)
+  if (verbose)
+    print(paste("error CV:", err))
+  invisible(err)
+}
+
+#' agghoo_run
+#'
+#' Run and eval the agghoo procedure.
+#' Parameters are rather explicit except "floss", which corresponds to the
+#' "final" loss function, applied to compute the error on testing dataset.
+agghoo_run <- function(
+  dataTrain, dataTest, targetTrain, targetTest, floss, verbose, ...
+) {
+  args <- list(...)
+  CV <- checkCV(args$CV)
+  # Must remove CV arg, or agghoo will complain "error: unused arg"
+  args$CV <- NULL
+  a <- do.call(agghoo, c(list(data=dataTrain, target=targetTrain), args))
+  a$fit(CV)
+  if (verbose) {
+    print("Parameters:")
+    print(unlist(a$getParams()))
+  }
+  pa <- a$predict(dataTest)
+  err <- floss(pa, targetTest)
+  if (verbose)
+    print(paste("error agghoo:", err))
+  invisible(err)
+}
+
+#' compareTo
+#'
+#' Compare a list of learning methods (or run only one), on data/target.
+#'
+#' @param data Data matrix or data.frame
+#' @param target Target vector (generally)
+#' @param method_s Either a single function, or a list
+#'                 (examples: agghoo_run, standardCV_run)
+#' @param rseed Seed of the random generator (-1 means "random seed")
+#' @param floss Loss function to compute the error on testing dataset.
+#' @param verbose TRUE to request methods to be verbose.
+#' @param ... arguments passed to method_s function(s)
+#'
+#' @export
+compareTo <- function(
+  data, target, method_s, rseed=-1, floss=NULL, verbose=TRUE, ...
+) {
+  if (rseed >= 0)
+    set.seed(rseed)
+  n <- nrow(data)
+  test_indices <- sample( n, round(n / ifelse(n >= 500, 10, 5)) )
+  d <- splitTrainTest(data, target, test_indices)
+
+  # Set error function to be used on model outputs (not in core method)
+  task <- checkTask(list(...)$task, target)
+  if (is.null(floss)) {
+    floss <- function(y1, y2) {
+      ifelse(task == "classification", mean(y1 != y2), mean(abs(y1 - y2)))
+    }
+  }
+
+  # Run (and compare) all methods:
+  runOne <- function(o) {
+    o(d$dataTrain, d$dataTest, d$targetTrain, d$targetTest, floss, verbose, ...)
+  }
+  errors <- c()
+  if (is.list(method_s))
+    errors <- sapply(method_s, runOne)
+  else if (is.function(method_s))
+    errors <- runOne(method_s)
+  invisible(errors)
+}
+
+#' compareMulti
+#'
+#' Run compareTo N times in parallel.
+#'
+#' @inheritParams compareTo
+#' @param N Number of calls to method(s)
+#' @param nc Number of cores. Set to parallel::detectCores() if undefined.
+#'           Set it to any value <=1 to say "no parallelism".
+#' @param verbose TRUE to print task numbers and "Errors:" in the end.
+#'
+#' @export
+compareMulti <- function(
+  data, target, method_s, N=100, nc=NA, floss=NULL, verbose=TRUE, ...
+) {
+  base::require(parallel)
+  if (is.na(nc))
+    nc <- parallel::detectCores()
+
+  # "One" comparison for each method in method_s (list)
+  compareOne <- function(n) {
+    if (verbose)
+      print(n)
+    compareTo(data, target, method_s, n, floss, verbose=FALSE, ...)
+  }
+
+  errors <- if (nc >= 2) {
+    parallel::mclapply(1:N, compareOne, mc.cores = nc)
+  } else {
+    lapply(1:N, compareOne)
+  }
+  if (verbose)
+    print("Errors:")
+  Reduce('+', errors) / N
+}
+
+#' compareRange
+#'
+#' Run compareMulti on several values of the parameter V.
+#'
+#' @inheritParams compareMulti
+#' @param V_range Values of V to be tested.
+#'
+#' @export
+compareRange <- function(
+  data, target, method_s, N=100, nc=NA, floss=NULL, V_range=c(10,15,20), ...
+) {
+  args <- list(...)
+  # Avoid warnings if V is left unspecified:
+  CV <- suppressWarnings( checkCV(args$CV) )
+  errors <- lapply(V_range, function(V) {
+    args$CV$V <- V
+    do.call(compareMulti, c(list(data=data, target=target, method_s=method_s,
+                                 N=N, nc=nc, floss=floss, verbose=F), args))
+  })
+  print(paste(V_range, errors))
+}
diff --git a/agghoo.Rcheck/00_pkg_src/agghoo/R/utils.R b/agghoo.Rcheck/00_pkg_src/agghoo/R/utils.R
new file mode 100644
index 0000000..823b123
--- /dev/null
+++ b/agghoo.Rcheck/00_pkg_src/agghoo/R/utils.R
@@ -0,0 +1,30 @@
+# Helper for cross-validation: return the next test indices.
+get_testIndices <- function(n, CV, v, shuffle_inds) {
+  if (CV$type == "vfold") {
+    # Slice indices (optionnally shuffled)
+    first_index = round((v-1) * n / CV$V) + 1
+    last_index = round(v * n / CV$V)
+    test_indices = first_index:last_index
+    if (!is.null(shuffle_inds))
+      test_indices <- shuffle_inds[test_indices]
+  }
+  else
+    # Monte-Carlo cross-validation
+    test_indices = sample(n, round(n * CV$test_size))
+  test_indices
+}
+
+# Helper which split data into training and testing parts.
+splitTrainTest <- function(data, target, testIdx) {
+  dataTrain <- data[-testIdx,]
+  targetTrain <- target[-testIdx]
+  dataTest <- data[testIdx,]
+  targetTest <- target[testIdx]
+  # [HACK] R will cast 1-dim matrices into vectors:
+  if (!is.matrix(dataTrain) && !is.data.frame(dataTrain))
+    dataTrain <- as.matrix(dataTrain)
+  if (!is.matrix(dataTest) && !is.data.frame(dataTest))
+    dataTest <- as.matrix(dataTest)
+  list(dataTrain=dataTrain, targetTrain=targetTrain,
+       dataTest=dataTest, targetTest=targetTest)
+}
diff --git a/agghoo.Rcheck/00_pkg_src/agghoo/README.md b/agghoo.Rcheck/00_pkg_src/agghoo/README.md
new file mode 100644
index 0000000..337abcb
--- /dev/null
+++ b/agghoo.Rcheck/00_pkg_src/agghoo/README.md
@@ -0,0 +1,15 @@
+# agghoo
+
+R package for model selection based on aggregation.
+Alternative to standard cross-validation.
+
+## Install the package
+
+From GitHub: `devtools::install_github("yagu0/agghoo")`
+
+Locally, in a terminal: `R CMD INSTALL .`
+
+## Use the package
+
+    library(agghoo)
+    ?agghoo
diff --git a/agghoo.Rcheck/00_pkg_src/agghoo/TODO b/agghoo.Rcheck/00_pkg_src/agghoo/TODO
new file mode 100644
index 0000000..f197d8a
--- /dev/null
+++ b/agghoo.Rcheck/00_pkg_src/agghoo/TODO
@@ -0,0 +1,2 @@
+Support des valeurs manquantes (cf. mlbench::Ozone dataset)
+Méthode pour données mixtes ? (que tree actuellement)
diff --git a/agghoo.Rcheck/00_pkg_src/agghoo/example/example.R b/agghoo.Rcheck/00_pkg_src/agghoo/example/example.R
new file mode 100644
index 0000000..7fae2ce
--- /dev/null
+++ b/agghoo.Rcheck/00_pkg_src/agghoo/example/example.R
@@ -0,0 +1,43 @@
+library(agghoo)
+
+data(iris) #already there
+library(mlbench)
+data(PimaIndiansDiabetes)
+
+# Run only agghoo on iris dataset (split into train/test, etc).
+# Default parameters: see ?agghoo and ?AgghooCV
+compareTo(iris[,-5], iris[,5], agghoo_run)
+
+# Run both agghoo and standard CV, specifiying some parameters.
+compareTo(iris[,-5], iris[,5], list(agghoo_run, standardCV_run), gmodel="tree")
+compareTo(iris[,-5], iris[,5], list(agghoo_run, standardCV_run),
+          gmodel="knn", params=c(3, 7, 13, 17, 23, 31),
+          CV = list(type="vfold", V=5, shuffle=T))
+
+# Run both agghoo and standard CV, averaging errors over N=10 runs
+# (possible for a single method but wouldn't make much sense...).
+compareMulti(PimaIndiansDiabetes[,-9], PimaIndiansDiabetes[,9],
+             list(agghoo_run, standardCV_run), N=10, gmodel="rf")
+
+# Compare several values of V
+compareRange(PimaIndiansDiabetes[,-9], PimaIndiansDiabetes[,9],
+             list(agghoo_run, standardCV_run), N=10, V_range=c(10, 20, 30))
+
+# For example to use average of squared differences.
+# Default is "mean(abs(y1 - y2))".
+loss2 <- function(y1, y2) mean((y1 - y2)^2)
+
+# In regression on artificial datasets (TODO: real data?)
+data <- mlbench.twonorm(300, 3)$x
+target <- rowSums(data)
+compareMulti(data, target, list(agghoo_run, standardCV_run),
+             N=10, gmodel="tree", params=c(1, 3, 5, 7, 9), loss=loss2,
+             CV = list(type="MC", V=12, test_size=0.3))
+
+compareMulti(data, target, list(agghoo_run, standardCV_run),
+             N=10, floss=loss2, CV = list(type="vfold", V=10, shuffle=F))
+
+# Random tests to check that method doesn't fail in 1D case
+M <- matrix(rnorm(200), ncol=2)
+compareTo(as.matrix(M[,-2]), M[,2], list(agghoo_run, standardCV_run), gmodel="knn")
+compareTo(as.matrix(M[,-2]), M[,2], list(agghoo_run, standardCV_run), gmodel="tree")
diff --git a/agghoo.Rcheck/00_pkg_src/agghoo/test/TODO b/agghoo.Rcheck/00_pkg_src/agghoo/test/TODO
new file mode 100644
index 0000000..50acca1
--- /dev/null
+++ b/agghoo.Rcheck/00_pkg_src/agghoo/test/TODO
@@ -0,0 +1 @@
+Some unit tests?
diff --git a/agghoo.Rcheck/00check.log b/agghoo.Rcheck/00check.log
new file mode 100644
index 0000000..684daae
--- /dev/null
+++ b/agghoo.Rcheck/00check.log
@@ -0,0 +1,52 @@
+* using log directory ‘/home/auder/repos/agghoo/agghoo.Rcheck’
+* using R version 4.2.1 (2022-06-23)
+* using platform: x86_64-pc-linux-gnu (64-bit)
+* using session charset: UTF-8
+* checking for file ‘agghoo/DESCRIPTION’ ... OK
+* this is package ‘agghoo’ version ‘0.1-0’
+* checking package namespace information ... OK
+* checking package dependencies ... OK
+* checking if this is a source package ... OK
+* checking if there is a namespace ... OK
+* checking for executable files ... OK
+* checking for hidden files and directories ... OK
+* checking for portable file names ... OK
+* checking for sufficient/correct file permissions ... OK
+* checking whether package ‘agghoo’ can be installed ... OK
+* checking installed package size ... OK
+* checking package directory ... OK
+* checking DESCRIPTION meta-information ... OK
+* checking top-level files ... OK
+* checking for left-over files ... OK
+* checking index information ... OK
+* checking package subdirectories ... OK
+* checking R files for non-ASCII characters ... OK
+* checking R files for syntax errors ... OK
+* checking whether the package can be loaded ... OK
+* checking whether the package can be loaded with stated dependencies ... OK
+* checking whether the package can be unloaded cleanly ... OK
+* checking whether the namespace can be loaded with stated dependencies ... OK
+* checking whether the namespace can be unloaded cleanly ... OK
+* checking loading without being on the library search path ... OK
+* checking dependencies in R code ... OK
+* checking S3 generic/method consistency ... OK
+* checking replacement functions ... OK
+* checking foreign function calls ... OK
+* checking R code for possible problems ... NOTE
+compareMulti: no visible binding for global variable ‘parallel’
+Undefined global functions or variables:
+  parallel
+* checking for missing documentation entries ... WARNING
+Undocumented code objects:
+  ‘AgghooCV’ ‘Model’ ‘agghoo’ ‘compareMulti’ ‘compareRange’ ‘compareTo’
+All user-level objects in a package should have documentation entries.
+See chapter ‘Writing R documentation files’ in the ‘Writing R
+Extensions’ manual.
+* checking examples ... NONE
+* checking PDF version of manual ... WARNING
+LaTeX errors when creating PDF version.
+This typically indicates Rd problems.
+* checking PDF version of manual without index ... ERROR
+Re-running with no redirection of stdout/stderr.
+* DONE
+Status: 1 ERROR, 2 WARNINGs, 1 NOTE
diff --git a/agghoo.Rcheck/00install.out b/agghoo.Rcheck/00install.out
new file mode 100644
index 0000000..4ec7d20
--- /dev/null
+++ b/agghoo.Rcheck/00install.out
@@ -0,0 +1,12 @@
+* installing *source* package ‘agghoo’ ...
+** using staged installation
+** R
+** byte-compile and prepare package for lazy loading
+** help
+No man pages found in package  ‘agghoo’ 
+*** installing help indices
+** building package indices
+** testing if installed package can be loaded from temporary location
+** testing if installed package can be loaded from final location
+** testing if installed package keeps a record of temporary installation path
+* DONE (agghoo)
diff --git a/agghoo.Rcheck/Rdlatex.log b/agghoo.Rcheck/Rdlatex.log
new file mode 100644
index 0000000..ed3d8b1
--- /dev/null
+++ b/agghoo.Rcheck/Rdlatex.log
@@ -0,0 +1,22 @@
+Hmm ... looks like a package
+Converting parsed Rd's to LaTeX Creating pdf output from LaTeX ...
+warning: kpathsea: configuration file texmf.cnf not found in these directories: /usr/bin:/usr/bin/share/texmf-local/web2c:/usr/bin/share/texmf-dist/web2c:/usr/bin/share/texmf/web2c:/usr/bin/texmf-local/web2c:/usr/bin/texmf-dist/web2c:/usr/bin/texmf/web2c:/usr:/usr/share/texmf-local/web2c:/usr/share/texmf-dist/web2c:/usr/share/texmf/web2c:/usr/texmf-local/web2c:/usr/texmf-dist/web2c:/usr/texmf/web2c://texmf-local/web2c:/://share/texmf-local/web2c://share/texmf-dist/web2c://share/texmf/web2c://texmf-local/web2c://texmf-dist/web2c://texmf/web2c.
+This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022/Arch Linux) (preloaded format=pdflatex)
+
+kpathsea: Running mktexfmt pdflatex.fmt
+mktexfmt: No such file or directory
+I can't find the format file `pdflatex.fmt'!
+Warning in file(con, "r") :
+  cannot open file 'Rd2.log': No such file or directory
+Error in file(con, "r") : cannot open the connection
+warning: kpathsea: configuration file texmf.cnf not found in these directories: /usr/bin:/usr/bin/share/texmf-local/web2c:/usr/bin/share/texmf-dist/web2c:/usr/bin/share/texmf/web2c:/usr/bin/texmf-local/web2c:/usr/bin/texmf-dist/web2c:/usr/bin/texmf/web2c:/usr:/usr/share/texmf-local/web2c:/usr/share/texmf-dist/web2c:/usr/share/texmf/web2c:/usr/texmf-local/web2c:/usr/texmf-dist/web2c:/usr/texmf/web2c://texmf-local/web2c:/://share/texmf-local/web2c://share/texmf-dist/web2c://share/texmf/web2c://texmf-local/web2c://texmf-dist/web2c://texmf/web2c.
+This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022/Arch Linux) (preloaded format=pdflatex)
+
+kpathsea: Running mktexfmt pdflatex.fmt
+mktexfmt: No such file or directory
+I can't find the format file `pdflatex.fmt'!
+Warning in file(con, "r") :
+  cannot open file 'Rd2.log': No such file or directory
+Error in file(con, "r") : cannot open the connection
+Error in running tools::texi2pdf()
+You may want to clean up by 'rm -Rf /tmp/RtmpIZpCnq/Rd2pdf1084ce20004'
diff --git a/agghoo.Rcheck/agghoo-manual.tex b/agghoo.Rcheck/agghoo-manual.tex
new file mode 100644
index 0000000..8a561f0
--- /dev/null
+++ b/agghoo.Rcheck/agghoo-manual.tex
@@ -0,0 +1,44 @@
+\nonstopmode{}
+\documentclass[letterpaper]{book}
+\usepackage[times,hyper]{Rd}
+\usepackage{makeidx}
+\usepackage[utf8]{inputenc} % @SET ENCODING@
+% \usepackage{graphicx} % @USE GRAPHICX@
+\makeindex{}
+\begin{document}
+\chapter*{}
+\begin{center}
+{\textbf{\huge Package `agghoo'}}
+\par\bigskip{\large \today}
+\end{center}
+\ifthenelse{\boolean{Rd@use@hyper}}{\hypersetup{pdftitle = {agghoo: Aggregated Hold-Out Cross Validation}}}{}
+\begin{description}
+\raggedright{}
+\item[Title]\AsIs{Aggregated Hold-Out Cross Validation}
+\item[Date]\AsIs{2022-08-30}
+\item[Version]\AsIs{0.1-0}
+\item[Description]\AsIs{The 'agghoo' procedure is an alternative to usual cross-validation.
+Instead of choosing the best model trained on V subsamples, it determines
+a winner model for each subsample, and then aggregate the V outputs.
+For the details, see ``Aggregated hold-out'' by Guillaume Maillard,
+Sylvain Arlot, Matthieu Lerasle (2021) <}\Rhref{https://arxiv.org/abs/1909.04890}{arXiv:1909.04890}\AsIs{>
+published in Journal of Machine Learning Research 22(20):1--55.}
+\item[Author]\AsIs{Sylvain Arlot }\email{sylvain.arlot@universite-paris-saclay.fr}\AsIs{ [cph,ctb],
+Benjamin Auder }\email{benjamin.auder@universite-paris-saclay.fr}\AsIs{ [aut,cre,cph],
+Melina Gallopin }\email{melina.gallopin@universite-paris-saclay.fr}\AsIs{ [cph,ctb],
+Matthieu Lerasle }\email{matthieu.lerasle@universite-paris-saclay.fr}\AsIs{ [cph,ctb],
+Guillaume Maillard }\email{guillaume.maillard@uni.lu}\AsIs{ [cph,ctb]}
+\item[Maintainer]\AsIs{Benjamin Auder }\email{benjamin.auder@universite-paris-saclay.fr}\AsIs{}
+\item[Depends]\AsIs{R (>= 3.5.0)}
+\item[Imports]\AsIs{class, parallel, R6, rpart, FNN}
+\item[Suggests]\AsIs{roxygen2}
+\item[URL]\AsIs{}\url{https://git.auder.net/?p=agghoo.git}\AsIs{}
+\item[License]\AsIs{MIT + file LICENSE}
+\item[RoxygenNote]\AsIs{7.2.1}
+\item[Collate]\AsIs{'compareTo.R' 'agghoo.R' 'R6_AgghooCV.R' 'R6_Model.R'
+'checks.R' 'utils.R' 'A_NAMESPACE.R'}
+\item[NeedsCompilation]\AsIs{no}
+\end{description}
+\Rdcontents{\R{} topics documented:}
+\printindex{}
+\end{document}
diff --git a/agghoo.Rcheck/agghoo/DESCRIPTION b/agghoo.Rcheck/agghoo/DESCRIPTION
new file mode 100644
index 0000000..cb86199
--- /dev/null
+++ b/agghoo.Rcheck/agghoo/DESCRIPTION
@@ -0,0 +1,27 @@
+Package: agghoo
+Title: Aggregated Hold-Out Cross Validation
+Date: 2022-08-30
+Version: 0.1-0
+Description: The 'agghoo' procedure is an alternative to usual cross-validation.
+    Instead of choosing the best model trained on V subsamples, it determines
+    a winner model for each subsample, and then aggregate the V outputs.
+    For the details, see "Aggregated hold-out" by Guillaume Maillard,
+    Sylvain Arlot, Matthieu Lerasle (2021) <arXiv:1909.04890>
+    published in Journal of Machine Learning Research 22(20):1--55.
+Author: Sylvain Arlot <sylvain.arlot@universite-paris-saclay.fr> [cph,ctb],
+    Benjamin Auder <benjamin.auder@universite-paris-saclay.fr> [aut,cre,cph],
+    Melina Gallopin <melina.gallopin@universite-paris-saclay.fr> [cph,ctb],
+    Matthieu Lerasle <matthieu.lerasle@universite-paris-saclay.fr> [cph,ctb],
+    Guillaume Maillard <guillaume.maillard@uni.lu> [cph,ctb]
+Maintainer: Benjamin Auder <benjamin.auder@universite-paris-saclay.fr>
+Depends: R (>= 3.5.0)
+Imports: class, parallel, R6, rpart, FNN
+Suggests: roxygen2
+URL: https://git.auder.net/?p=agghoo.git
+License: MIT + file LICENSE
+RoxygenNote: 7.2.1
+Collate: 'compareTo.R' 'agghoo.R' 'R6_AgghooCV.R' 'R6_Model.R'
+        'checks.R' 'utils.R' 'A_NAMESPACE.R'
+NeedsCompilation: no
+Packaged: 2022-09-09 15:45:56 UTC; auder
+Built: R 4.2.1; ; 2022-09-09 15:46:05 UTC; unix
diff --git a/agghoo.Rcheck/agghoo/LICENSE b/agghoo.Rcheck/agghoo/LICENSE
new file mode 100644
index 0000000..094ff81
--- /dev/null
+++ b/agghoo.Rcheck/agghoo/LICENSE
@@ -0,0 +1,2 @@
+YEAR: 2021-2022
+COPYRIGHT HOLDER: Sylvain Arlot, Benjamin Auder, Melina Gallopin, Matthieu Lerasle, Guillaume Maillard
diff --git a/agghoo.Rcheck/agghoo/Meta/Rd.rds b/agghoo.Rcheck/agghoo/Meta/Rd.rds
new file mode 100644
index 0000000000000000000000000000000000000000..f7bb5f4990633a93a5f17075e24bfb1a000bd418
GIT binary patch
literal 172
zcmV;d08{@TiwFP!000001B>8dU|?WoU}0ipU}gm}8CXL@+;lB~V!}WU2M`M|KmZ|H
z7(30v1SA+4SQt1#hUX>brWQjraX<xG+%j`gVQfF30vJ1_vH-?r4aqElE8=j?OU_Tp
z%u9#z*&TB-6N`c7LZzMa^O92wO5l9&)XMVwqLgBE$0X+@7Q-9^6XZ%sEJ@T$D*`zK
aRXJx-ez_jZ{k%|5{sRCte>5&Y0RRATz(IBZ

literal 0
HcmV?d00001

diff --git a/agghoo.Rcheck/agghoo/Meta/features.rds b/agghoo.Rcheck/agghoo/Meta/features.rds
new file mode 100644
index 0000000000000000000000000000000000000000..3dc8fb5868dfec4ce1938b295aab023f5412ad53
GIT binary patch
literal 122
zcmb2|=3oE==I#ec2?+^l35iK532CfGk`d0%cS>|6BxbZU%D5?rF<jQ+nd1<3R6|$w
ztj^5~PS?*|vI)GdqIogK{G^hp@AV4?Hx-Uv(l~qJ#)&zM8B&wvuI)K;=Sq@E^A6+B
ZUP0ZTgo?XtV;k<&Gwf?mwrK}i2>_w^F<}4z

literal 0
HcmV?d00001

diff --git a/agghoo.Rcheck/agghoo/Meta/hsearch.rds b/agghoo.Rcheck/agghoo/Meta/hsearch.rds
new file mode 100644
index 0000000000000000000000000000000000000000..051a2b789cfe3c545411daf730738338a16a6585
GIT binary patch
literal 198
zcmV;%06G63iwFP!000001B>8dU|?WoU}0ipU}gm}8CXL@+;lB~3}GN<VPIeqU;qOa
zCLqBG6yXGENXg6vQoKOS1d(Q7M^nN9RFapNn_3Jt3MBUrhy}oEA!^tI5|gtN(^Fww
zpUk9y#F7jsm&wxw%3|>Y8U$sthGdrHAUOF2naMC4UGtLjQ!?|?AvPg9obf-JYndV9
zO#iXCju~dSV@_sbF@|H{j;4++?B1!B<@rS^G`Gh&KQB48paicy03K1mH4Xv*04zaH
A_5c6?

literal 0
HcmV?d00001

diff --git a/agghoo.Rcheck/agghoo/Meta/links.rds b/agghoo.Rcheck/agghoo/Meta/links.rds
new file mode 100644
index 0000000000000000000000000000000000000000..ba5b13a936f0b276058438dfb3576bf247a49edd
GIT binary patch
literal 46
xcmb2|=3oE==I#ec2?+^l35iK532CfGk`d0%cS>{{co+rv8U8L~pC}Jh1^^V$3<m%J

literal 0
HcmV?d00001

diff --git a/agghoo.Rcheck/agghoo/Meta/nsInfo.rds b/agghoo.Rcheck/agghoo/Meta/nsInfo.rds
new file mode 100644
index 0000000000000000000000000000000000000000..ca0be5eb00d0762820a0bacb3a671d679e08fba0
GIT binary patch
literal 292
zcmV+<0o(o`iwFP!000001BFr1O2aS|y~~=-IwymDhrS5IR~hWBL+TV?;~KhPlaw?Q
z{dw`Oy)9j|_;9&7C+FnkCa;$OFouYYV9ap|{CT&zxd&iN1T(Bt=hPY20&4^j#3$os
zyA7!6yD_&;<^v9vu0lh)S{I_K1`K>pn`gNgGNgB<aDIsV(@}Zhe<hTqBWgm_#Y3JS
ztX;pfzQks-ATSa2CZVgn)tD%gW8qc6rNZQrxR|(|r7WO3_WR<WPC7<7V*N2PrLoOv
z?0O&TJCJcBv}~VX)_#oArFHl+1m$NRUN`VjcrTr4*?HrsKU4-}BK^T;9ohH;Wka4T
qmpx?=H_g6Gq29VX8R6B3OzqJt(;XT=-Dx@yC;tK8C;4gd0ssI!@{6$m

literal 0
HcmV?d00001

diff --git a/agghoo.Rcheck/agghoo/Meta/package.rds b/agghoo.Rcheck/agghoo/Meta/package.rds
new file mode 100644
index 0000000000000000000000000000000000000000..138494f16a0448baf20a0161477671c5e57085f3
GIT binary patch
literal 1146
zcmV-=1cmz_iwFP!000001Jzb-Pvb@qcHZuQYt?J-L%+47Yb8KUOp+rMLZHnBxTb=D
zoPbWPDzvc|XN&E%ylZ;-JN=<;$M$Ys4A%<2HA>{2@y;_d&&<x|{hDDIC8Jy{7^Mm>
zjmqWdq_&H?S17C)M)4&+KR3$8Dn6eP*PU>#q;I>f8&Q`?>cCIjb86?YgkHpjfGgrL
zhe*Z)wRf#qZ#HZ7-P)VF(p2hZqo#zypQ8zd^$dL-!id|{i6aV3011G2l12f--BFMn
zVi6M$?8H&+Zsy2b1N`&@At`Zy-++x+f(0%}#2!;2!RHS3Kt_ZG7%~sw3Pd~>#1B0x
zs=y>T6g~O)TBK+M{$N2sBV~ERBcQ~d%&n>zo|8DhAT=4OzboLe3}Y#>uujl2Q6oNK
z9{LiL!s`Y8CJBFN@*2idco#FzBe756j3lebsir8ysdtC5LpSoctl~>4Cyd5$N+TjX
z3L8jrV-q?gde83KjlKGwS>N8>s~@J;VLbMjn4mL+_?gGZsF(0`h8bbTh(e+u;me`|
zmzZX=iHMu+My=LrnW|Egr68aqGSMW7_+uPkjUvG$t%W3Fq9%y#k*RqT9m216IH}rl
z{9BgHTN?aM`~)a=km1f)$tFqUe@7y*tlAN+BBDY&qaF(gyd$2+Lj>*ksls%X;xUok
z<F(@}jp=2Y$DrLWCUjh_Gkv8?5KS*$uvW*U{dArb!Y3AN93H?Mvt`ydmF{cYBd`t8
z1PP*E6|9{qL?~ikoeTzQ+e*YgOkEl@mHf>_%22eowp=DN|7Jkt)(_!9c63eDtF2$0
z^+)g>+%V+twBI`(43G7}|K4nx4JG`tZgU^q(h)bUbv**orL}Y2O{LzImd}!7h{D>s
zJ)!okNcFMA6P2#I*Msia@$jPCJ4RV~C<c07eU;6iJ^VtW)!uHkTRU($>g_|CirTed
z!FCehKI}uzV5ePgWd_Ll2Lq=j?l0)H0^(DFi^YNY{DRoG#HD)Ah)GWi<s&@#df!!2
z!`ZZaaYTh3v2bC4KI_JE!gY{q*h_&-=9tzzKcXQG9HGU&AM!|Qab+00E{;GgmoBYS
zz4MgWG!QzH7gkpC0iOrg<JhA!@#TP0NA$34%v&7sD=Jq<C;Jw=T;k#{EJAXdl+~?L
zz~86owUg?MjKv(AX@e>@OWLz_Ev7i%{p-6Wx;_gt&v|u#CoE$2Or3_3B5F5APX6*E
z70+!e&+A|KTfHl*cLi(42hxLAhW|jlpPdioG^7jUlyWW*W?4}@Ja~Y=<X6e^NTMm~
zXo^pvW+@*{dO7K99Rm+_Pb_n)!utPbl4fA!0E~rqh52(Ssrjf}wk<3<zaQKK_A_6V
zkNDDu<G&m|9H^f8PqZ&uJ5RK%r1#4cjZ4X`^f+oO%XH<_pQp1F-lDr%Z|6H=Wj3gf
zhdrx*G3uY|J5!B4<;`-I#`3C`^^KYv+xa=28{?~|EV#wLXd|9GB$|p>>X0nlA8AAV
M0}F?|Gv^Bc0FpsElmGw#

literal 0
HcmV?d00001

diff --git a/agghoo.Rcheck/agghoo/NAMESPACE b/agghoo.Rcheck/agghoo/NAMESPACE
new file mode 100644
index 0000000..7bbddef
--- /dev/null
+++ b/agghoo.Rcheck/agghoo/NAMESPACE
@@ -0,0 +1,13 @@
+# Generated by roxygen2: do not edit by hand
+
+export(AgghooCV)
+export(Model)
+export(agghoo)
+export(compareMulti)
+export(compareRange)
+export(compareTo)
+importFrom(FNN,knn.reg)
+importFrom(R6,R6Class)
+importFrom(class,knn)
+importFrom(rpart,rpart)
+importFrom(stats,ppr)
diff --git a/agghoo.Rcheck/agghoo/R/agghoo b/agghoo.Rcheck/agghoo/R/agghoo
new file mode 100644
index 0000000..6686156
--- /dev/null
+++ b/agghoo.Rcheck/agghoo/R/agghoo
@@ -0,0 +1,27 @@
+#  File share/R/nspackloader.R
+#  Part of the R package, https://www.R-project.org
+#
+#  Copyright (C) 1995-2012 The R Core Team
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  A copy of the GNU General Public License is available at
+#  https://www.r-project.org/Licenses/
+
+local({
+    info <- loadingNamespaceInfo()
+    pkg <- info$pkgname
+    ns <- .getNamespace(as.name(pkg))
+    if (is.null(ns))
+        stop("cannot find namespace environment for ", pkg, domain = NA);
+    dbbase <- file.path(info$libname, pkg, "R", pkg)
+    lazyLoad(dbbase, ns, filter = function(n) n != ".__NAMESPACE__.")
+})
diff --git a/agghoo.Rcheck/agghoo/R/agghoo.rdb b/agghoo.Rcheck/agghoo/R/agghoo.rdb
new file mode 100644
index 0000000000000000000000000000000000000000..4f8b251a842c22a757535faacd31ef5b1015f09f
GIT binary patch
literal 90608
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
aa0Y%t;Mxul9!qc_;AlGH&(}Yxou|Jw3Vuxh

literal 0
HcmV?d00001

diff --git a/agghoo.Rcheck/agghoo/R/agghoo.rdx b/agghoo.Rcheck/agghoo/R/agghoo.rdx
new file mode 100644
index 0000000000000000000000000000000000000000..2ce7cb7bc036aa897360ddc2b81b777b706544be
GIT binary patch
literal 584
zcmV-O0=NAiiwFP!0000018tMfYZE~f$KNJtldS!rMDbXE97LqCHno=G!4Rv6O$lZV
z9+YL=oov>myJ2>diw8weL_sWqh=<}q@$AW)r=C10co47t8=}>>Ki^Jq+2PIS``*sH
zeQ)N53IKU1<P^wH;1njVYnSF%0CJVk5!u5yrg7x(eS&t0IDcUe`)F&#&wtDQtp$M6
zF7fLsK;do5%G^sSUYYxh<_qz$R~Ubf_yp!wctd>ZBl1z=(?8HG5HFU{|CD(71%UFM
zc*REl7V-IC$R~;G#{njv5nuj*{vG1=5w2GuZazlyhq(0+Yjl&i{S%;khxpc2T<;wY
ztPLnofO60jhi!5XC;P)@MB;2!*Ej0TwRWrCSkv`tEFVO<U2Af`=bE0zZVx#5rm90`
z^qIvsaJ^V7)h(;%x{XfE(~Zv9^=-$}4Ob*VQ>iFMPLfp9HTfWhNfxdWlNwPbxM=ja
z(N8xihj@``OcK^z&x?h9p@3Von2=&L=Jk`T40m(L1aFQ8zP(4g#vF^MA4Zy%<X16y
zm*Gdje!4MWo@aOe=Mvl!JWXlV;=b;4&%ffBw!ss5#v2Z7UlYuBG;}7xp3fYU3A543
z7IG#d2h{=Cjqg~I?u2p#2c3!Nd63~?zMZ*~pJe}`d4RiLGk5Ymz=21^+us20??h)z
z`5ParV$w<Oj8|9BNVF(XO`;`<&Puc_(YfevK@CrKIHU~nNxQ~O*ulX~Dy$0L<$^m@
Wb2aE_&>C(Ai~a)`@M(<31ONasbtioQ

literal 0
HcmV?d00001

diff --git a/agghoo.Rcheck/agghoo/help/AnIndex b/agghoo.Rcheck/agghoo/help/AnIndex
new file mode 100644
index 0000000..e69de29
diff --git a/agghoo.Rcheck/agghoo/help/agghoo.rdb b/agghoo.Rcheck/agghoo/help/agghoo.rdb
new file mode 100644
index 0000000..e69de29
diff --git a/agghoo.Rcheck/agghoo/help/agghoo.rdx b/agghoo.Rcheck/agghoo/help/agghoo.rdx
new file mode 100644
index 0000000000000000000000000000000000000000..c28f3f9dbb3f1f2ce024b914f82eddfa9c83ac95
GIT binary patch
literal 125
zcmb2|=3oE==I#ec2?+^l35iK532CfGk`d0%cS>|6BxbZ66cUi)h?vp9qRh<AtnLvQ
zmz0-fI6;wNV#<&9RTDniuaaRFk1&>4e8Sk7_lb_T&M6<CQ;bqvf)BL3e7$wO&U(9b
bs62lzCbCpaeEG5l9#)2}A658w0&N8VSwbii

literal 0
HcmV?d00001

diff --git a/agghoo.Rcheck/agghoo/help/aliases.rds b/agghoo.Rcheck/agghoo/help/aliases.rds
new file mode 100644
index 0000000000000000000000000000000000000000..291dab0b85a497640ea64a21b0976dbc6d94b588
GIT binary patch
literal 69
zcmb2|=3oE==I#ec2?+^l35iK532CfGk`d0%cS>|6BxbNk9B63e^e`~mU{KJc@>!@j
VxVw>Oh00-jhSvYPuR8#B0|3797FqxR

literal 0
HcmV?d00001

diff --git a/agghoo.Rcheck/agghoo/help/paths.rds b/agghoo.Rcheck/agghoo/help/paths.rds
new file mode 100644
index 0000000000000000000000000000000000000000..3d2b25ed84024ab015134d527d6c70aa1378febd
GIT binary patch
literal 74
zcmb2|=3oE==I#ec2?+^l35iK532CfGk`d0%cS>|6BxbNk9B63e^e`~mU{KJca@nZ6
a%e#RmZi51Iv#h{>W(MAADo<U2MgRaHi53?C

literal 0
HcmV?d00001

diff --git a/agghoo.Rcheck/agghoo/html/00Index.html b/agghoo.Rcheck/agghoo/html/00Index.html
new file mode 100644
index 0000000..84eed59
--- /dev/null
+++ b/agghoo.Rcheck/agghoo/html/00Index.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head><title>R: Aggregated Hold-Out Cross Validation</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+<link rel="stylesheet" type="text/css" href="R.css" />
+</head><body><div class="container">
+<h1> Aggregated Hold-Out Cross Validation
+<img class="toplogo" src="../../../doc/html/Rlogo.svg" alt="[R logo]" />
+</h1>
+<hr/>
+<div style="text-align: center;">
+<a href="../../../doc/html/packages.html"><img class="arrow" src="../../../doc/html/left.jpg" alt="[Up]" /></a>
+<a href="../../../doc/html/index.html"><img class="arrow" src="../../../doc/html/up.jpg" alt="[Top]" /></a>
+</div><h2>Documentation for package &lsquo;agghoo&rsquo; version 0.1-0</h2>
+
+<ul><li><a href="../DESCRIPTION">DESCRIPTION file</a>.</li>
+</ul>
+
+<h2>Help Pages</h2>
+
+
+There are no help pages in this package
+</div></body></html>
diff --git a/agghoo.Rcheck/agghoo/html/R.css b/agghoo.Rcheck/agghoo/html/R.css
new file mode 100644
index 0000000..2ef6cd6
--- /dev/null
+++ b/agghoo.Rcheck/agghoo/html/R.css
@@ -0,0 +1,120 @@
+@media screen {
+    .container {
+	padding-right: 10px;
+	padding-left: 10px;
+	margin-right: auto;
+	margin-left: auto;
+	max-width: 900px;
+    }
+}
+
+.rimage img { /* from knitr - for examples and demos */
+    width: 96%;
+    margin-left: 2%;
+} 	
+
+.katex { font-size: 1.1em; }
+
+code {
+    color: inherit;
+    background: inherit;
+}
+
+body {
+    line-height: 1.4;
+    background: white;
+    color: black;
+}
+
+a:link {
+    background: white;
+    color: blue;
+}
+
+a:visited {
+    background: white;
+    color: rgb(50%, 0%, 50%);
+}
+
+h1 {
+    background: white;
+    color: rgb(55%, 55%, 55%);
+    font-family: monospace;
+    font-size: 1.4em; /* x-large; */
+    text-align: center;
+}
+
+h2 {
+    background: white;
+    color: rgb(40%, 40%, 40%);
+    font-family: monospace;
+    font-size: 1.2em; /* large; */
+    text-align: center;
+}
+
+h3 {
+    background: white;
+    color: rgb(40%, 40%, 40%);
+    font-family: monospace;
+    font-size: 1.2em; /* large; */
+}
+
+h4 {
+    background: white;
+    color: rgb(40%, 40%, 40%);
+    font-family: monospace;
+    font-style: italic;
+    font-size: 1.2em; /* large; */
+}
+
+h5 {
+    background: white;
+    color: rgb(40%, 40%, 40%);
+    font-family: monospace;
+}
+
+h6 {
+    background: white;
+    color: rgb(40%, 40%, 40%);
+    font-family: monospace;
+    font-style: italic;
+}
+
+img.toplogo {
+    width: 4em;
+    vertical-align: middle;
+}
+
+img.arrow {
+    width: 30px;
+    height: 30px;
+    border: 0;
+}
+
+span.acronym {
+    font-size: small;
+}
+
+span.env {
+    font-family: monospace;
+}
+
+span.file {
+    font-family: monospace;
+}
+
+span.option{
+    font-family: monospace;
+}
+
+span.pkg {
+    font-weight: bold;
+}
+
+span.samp{
+    font-family: monospace;
+}
+
+div.vignettes a:hover {
+    background: rgb(85%, 85%, 85%);
+}
diff --git a/agghoo_0.1-0.tar.gz b/agghoo_0.1-0.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..719e7e903a3d6762991e700e8737c798eaa4be7c
GIT binary patch
literal 9062
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
YXC6KepNG%G=cn=cKdpDYGytdo00j-e3IG5A

literal 0
HcmV?d00001

diff --git a/man/AgghooCV.Rd b/man/AgghooCV.Rd
deleted file mode 100644
index 97d4c41..0000000
--- a/man/AgghooCV.Rd
+++ /dev/null
@@ -1,116 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/R6_AgghooCV.R
-\name{AgghooCV}
-\alias{AgghooCV}
-\title{R6 class with agghoo functions fit() and predict().}
-\description{
-Class encapsulating the methods to run to obtain the best predictor
-from the list of models (see 'Model' class).
-}
-\section{Methods}{
-\subsection{Public methods}{
-\itemize{
-\item \href{#method-new}{\code{AgghooCV$new()}}
-\item \href{#method-fit}{\code{AgghooCV$fit()}}
-\item \href{#method-predict}{\code{AgghooCV$predict()}}
-\item \href{#method-getParams}{\code{AgghooCV$getParams()}}
-\item \href{#method-clone}{\code{AgghooCV$clone()}}
-}
-}
-\if{html}{\out{<hr>}}
-\if{html}{\out{<a id="method-new"></a>}}
-\if{latex}{\out{\hypertarget{method-new}{}}}
-\subsection{Method \code{new()}}{
-Create a new AgghooCV object.
-\subsection{Usage}{
-\if{html}{\out{<div class="r">}}\preformatted{AgghooCV$new(data, target, task, gmodel, loss)}\if{html}{\out{</div>}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{<div class="arguments">}}
-\describe{
-\item{\code{data}}{Matrix or data.frame}
-
-\item{\code{target}}{Vector of targets (generally numeric or factor)}
-
-\item{\code{task}}{"regression" or "classification".
-Default: classification if target not numeric.}
-
-\item{\code{gmodel}}{Generic model returning a predictive function
-Default: tree if mixed data, knn/ppr otherwise.}
-
-\item{\code{loss}}{Function assessing the error of a prediction
-Default: error rate or mean(abs(error)).}
-}
-\if{html}{\out{</div>}}
-}
-}
-\if{html}{\out{<hr>}}
-\if{html}{\out{<a id="method-fit"></a>}}
-\if{latex}{\out{\hypertarget{method-fit}{}}}
-\subsection{Method \code{fit()}}{
-Fit an agghoo model.
-\subsection{Usage}{
-\if{html}{\out{<div class="r">}}\preformatted{AgghooCV$fit(CV = NULL)}\if{html}{\out{</div>}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{<div class="arguments">}}
-\describe{
-\item{\code{CV}}{List describing cross-validation to run. Slots: \cr
-  - type: 'vfold' or 'MC' for Monte-Carlo (default: MC) \cr
-  - V: number of runs (default: 10) \cr
-  - test_size: percentage of data in the test dataset, for MC
-    (irrelevant for V-fold). Default: 0.2. \cr
-  - shuffle: wether or not to shuffle data before V-fold.
-    Irrelevant for Monte-Carlo; default: TRUE \cr
-Default (if NULL): type="MC", V=10, test_size=0.2}
-}
-\if{html}{\out{</div>}}
-}
-}
-\if{html}{\out{<hr>}}
-\if{html}{\out{<a id="method-predict"></a>}}
-\if{latex}{\out{\hypertarget{method-predict}{}}}
-\subsection{Method \code{predict()}}{
-Predict an agghoo model (after calling fit())
-\subsection{Usage}{
-\if{html}{\out{<div class="r">}}\preformatted{AgghooCV$predict(X)}\if{html}{\out{</div>}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{<div class="arguments">}}
-\describe{
-\item{\code{X}}{Matrix or data.frame to predict}
-}
-\if{html}{\out{</div>}}
-}
-}
-\if{html}{\out{<hr>}}
-\if{html}{\out{<a id="method-getParams"></a>}}
-\if{latex}{\out{\hypertarget{method-getParams}{}}}
-\subsection{Method \code{getParams()}}{
-Return the list of V best parameters (after calling fit())
-\subsection{Usage}{
-\if{html}{\out{<div class="r">}}\preformatted{AgghooCV$getParams()}\if{html}{\out{</div>}}
-}
-
-}
-\if{html}{\out{<hr>}}
-\if{html}{\out{<a id="method-clone"></a>}}
-\if{latex}{\out{\hypertarget{method-clone}{}}}
-\subsection{Method \code{clone()}}{
-The objects of this class are cloneable with this method.
-\subsection{Usage}{
-\if{html}{\out{<div class="r">}}\preformatted{AgghooCV$clone(deep = FALSE)}\if{html}{\out{</div>}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{<div class="arguments">}}
-\describe{
-\item{\code{deep}}{Whether to make a deep clone.}
-}
-\if{html}{\out{</div>}}
-}
-}
-}
diff --git a/man/CVvoting_core.Rd b/man/CVvoting_core.Rd
deleted file mode 100644
index 2de00e0..0000000
--- a/man/CVvoting_core.Rd
+++ /dev/null
@@ -1,12 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/compareTo.R
-\name{CVvoting_core}
-\alias{CVvoting_core}
-\title{CVvoting_core}
-\usage{
-CVvoting_core(data, target, task, gmodel, params, loss, CV)
-}
-\description{
-"voting" cross-validation method, added here as an example.
-Parameters are described in ?agghoo and ?AgghooCV
-}
diff --git a/man/CVvoting_run.Rd b/man/CVvoting_run.Rd
deleted file mode 100644
index 9aad2fe..0000000
--- a/man/CVvoting_run.Rd
+++ /dev/null
@@ -1,13 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/compareTo.R
-\name{CVvoting_run}
-\alias{CVvoting_run}
-\title{CVvoting_run}
-\usage{
-CVvoting_run(dataTrain, dataTest, targetTrain, targetTest, floss, verbose, ...)
-}
-\description{
-Run and eval the voting cross-validation procedure.
-Parameters are rather explicit except "floss", which corresponds to the
-"final" loss function, applied to compute the error on testing dataset.
-}
diff --git a/man/Model.Rd b/man/Model.Rd
deleted file mode 100644
index 0e52101..0000000
--- a/man/Model.Rd
+++ /dev/null
@@ -1,109 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/R6_Model.R
-\name{Model}
-\alias{Model}
-\title{R6 class representing a (generic) model.}
-\description{
-"Model" class, containing a (generic) learning function, which from
-data + target [+ params] returns a prediction function X --> y.
-Parameters for cross-validation are either provided or estimated.
-Model family can be chosen among "tree", "ppr" and "knn" for now.
-}
-\section{Public fields}{
-\if{html}{\out{<div class="r6-fields">}}
-\describe{
-\item{\code{nmodels}}{Number of parameters (= number of [predictive] models)}
-}
-\if{html}{\out{</div>}}
-}
-\section{Methods}{
-\subsection{Public methods}{
-\itemize{
-\item \href{#method-new}{\code{Model$new()}}
-\item \href{#method-get}{\code{Model$get()}}
-\item \href{#method-getParam}{\code{Model$getParam()}}
-\item \href{#method-clone}{\code{Model$clone()}}
-}
-}
-\if{html}{\out{<hr>}}
-\if{html}{\out{<a id="method-new"></a>}}
-\if{latex}{\out{\hypertarget{method-new}{}}}
-\subsection{Method \code{new()}}{
-Create a new generic model.
-\subsection{Usage}{
-\if{html}{\out{<div class="r">}}\preformatted{Model$new(data, target, task, gmodel = NULL, params = NULL)}\if{html}{\out{</div>}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{<div class="arguments">}}
-\describe{
-\item{\code{data}}{Matrix or data.frame}
-
-\item{\code{target}}{Vector of targets (generally numeric or factor)}
-
-\item{\code{task}}{"regression" or "classification"}
-
-\item{\code{gmodel}}{Generic model returning a predictive function; chosen
-automatically given data and target nature if not provided.}
-
-\item{\code{params}}{List of parameters for cross-validation (each defining a model)}
-}
-\if{html}{\out{</div>}}
-}
-}
-\if{html}{\out{<hr>}}
-\if{html}{\out{<a id="method-get"></a>}}
-\if{latex}{\out{\hypertarget{method-get}{}}}
-\subsection{Method \code{get()}}{
-Returns the model at index "index", trained on dataHO/targetHO.
-\subsection{Usage}{
-\if{html}{\out{<div class="r">}}\preformatted{Model$get(dataHO, targetHO, index)}\if{html}{\out{</div>}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{<div class="arguments">}}
-\describe{
-\item{\code{dataHO}}{Matrix or data.frame}
-
-\item{\code{targetHO}}{Vector of targets (generally numeric or factor)}
-
-\item{\code{index}}{Index of the model in 1...nmodels}
-}
-\if{html}{\out{</div>}}
-}
-}
-\if{html}{\out{<hr>}}
-\if{html}{\out{<a id="method-getParam"></a>}}
-\if{latex}{\out{\hypertarget{method-getParam}{}}}
-\subsection{Method \code{getParam()}}{
-Returns the parameter at index "index".
-\subsection{Usage}{
-\if{html}{\out{<div class="r">}}\preformatted{Model$getParam(index)}\if{html}{\out{</div>}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{<div class="arguments">}}
-\describe{
-\item{\code{index}}{Index of the model in 1...nmodels}
-}
-\if{html}{\out{</div>}}
-}
-}
-\if{html}{\out{<hr>}}
-\if{html}{\out{<a id="method-clone"></a>}}
-\if{latex}{\out{\hypertarget{method-clone}{}}}
-\subsection{Method \code{clone()}}{
-The objects of this class are cloneable with this method.
-\subsection{Usage}{
-\if{html}{\out{<div class="r">}}\preformatted{Model$clone(deep = FALSE)}\if{html}{\out{</div>}}
-}
-
-\subsection{Arguments}{
-\if{html}{\out{<div class="arguments">}}
-\describe{
-\item{\code{deep}}{Whether to make a deep clone.}
-}
-\if{html}{\out{</div>}}
-}
-}
-}
diff --git a/man/agghoo.Rd b/man/agghoo.Rd
deleted file mode 100644
index 38730eb..0000000
--- a/man/agghoo.Rd
+++ /dev/null
@@ -1,57 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/agghoo.R
-\name{agghoo}
-\alias{agghoo}
-\title{agghoo}
-\usage{
-agghoo(data, target, task = NULL, gmodel = NULL, params = NULL, loss = NULL)
-}
-\arguments{
-\item{data}{Data frame or matrix containing the data in lines.}
-
-\item{target}{The target values to predict. Generally a vector,
-but possibly a matrix in the case of "soft classification".}
-
-\item{task}{"classification" or "regression". Default:
-regression if target is numerical, classification otherwise.}
-
-\item{gmodel}{A "generic model", which is a function returning a predict
-function (taking X as only argument) from the tuple
-(dataHO, targetHO, param), where 'HO' stands for 'Hold-Out',
-referring to cross-validation. Cross-validation is run on an array
-of 'param's. See params argument. Default: see R6::Model.}
-
-\item{params}{A list of parameters. Often, one list cell is just a
-numerical value, but in general it could be of any type.
-Default: see R6::Model.}
-
-\item{loss}{A function assessing the error of a prediction.
-Arguments are y1 and y2 (comparing a prediction to known values).
-loss(y1, y2) --> real number (error). Default: see R6::AgghooCV.}
-}
-\value{
-An R6::AgghooCV object o. Then, call o$fit() and finally o$predict(newData)
-}
-\description{
-Run the (core) agghoo procedure.
-Arguments specify the list of models, their parameters and the
-cross-validation settings, among others.
-}
-\examples{
-# Regression:
-a_reg <- agghoo(iris[,-c(2,5)], iris[,2])
-a_reg$fit()
-pr <- a_reg$predict(iris[,-c(2,5)] + rnorm(450, sd=0.1))
-# Classification
-a_cla <- agghoo(iris[,-5], iris[,5])
-a_cla$fit()
-pc <- a_cla$predict(iris[,-5] + rnorm(600, sd=0.1))
-
-}
-\references{
-Guillaume Maillard, Sylvain Arlot, Matthieu Lerasle. "Aggregated hold-out".
-Journal of Machine Learning Research 22(20):1--55, 2021.
-}
-\seealso{
-Function \code{\link{compareTo}}
-}
diff --git a/man/agghoo_run.Rd b/man/agghoo_run.Rd
deleted file mode 100644
index a4f565d..0000000
--- a/man/agghoo_run.Rd
+++ /dev/null
@@ -1,13 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/compareTo.R
-\name{agghoo_run}
-\alias{agghoo_run}
-\title{agghoo_run}
-\usage{
-agghoo_run(dataTrain, dataTest, targetTrain, targetTest, floss, verbose, ...)
-}
-\description{
-Run and eval the agghoo procedure.
-Parameters are rather explicit except "floss", which corresponds to the
-"final" loss function, applied to compute the error on testing dataset.
-}
diff --git a/man/compareMulti.Rd b/man/compareMulti.Rd
deleted file mode 100644
index 8bf537e..0000000
--- a/man/compareMulti.Rd
+++ /dev/null
@@ -1,39 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/compareTo.R
-\name{compareMulti}
-\alias{compareMulti}
-\title{compareMulti}
-\usage{
-compareMulti(
-  data,
-  target,
-  method_s,
-  N = 100,
-  nc = NA,
-  floss = NULL,
-  verbose = TRUE,
-  ...
-)
-}
-\arguments{
-\item{data}{Data matrix or data.frame}
-
-\item{target}{Target vector (generally)}
-
-\item{method_s}{Either a single function, or a list
-(examples: agghoo_run, standardCV_run)}
-
-\item{N}{Number of calls to method(s)}
-
-\item{nc}{Number of cores. Set to parallel::detectCores() if undefined.
-Set it to any value <=1 to say "no parallelism".}
-
-\item{floss}{Loss function to compute the error on testing dataset.}
-
-\item{verbose}{TRUE to print task numbers and "Errors:" in the end.}
-
-\item{...}{arguments passed to method_s function(s)}
-}
-\description{
-Run compareTo N times in parallel.
-}
diff --git a/man/compareRange.Rd b/man/compareRange.Rd
deleted file mode 100644
index c884e43..0000000
--- a/man/compareRange.Rd
+++ /dev/null
@@ -1,39 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/compareTo.R
-\name{compareRange}
-\alias{compareRange}
-\title{compareRange}
-\usage{
-compareRange(
-  data,
-  target,
-  method_s,
-  N = 100,
-  nc = NA,
-  floss = NULL,
-  V_range = c(10, 15, 20),
-  ...
-)
-}
-\arguments{
-\item{data}{Data matrix or data.frame}
-
-\item{target}{Target vector (generally)}
-
-\item{method_s}{Either a single function, or a list
-(examples: agghoo_run, standardCV_run)}
-
-\item{N}{Number of calls to method(s)}
-
-\item{nc}{Number of cores. Set to parallel::detectCores() if undefined.
-Set it to any value <=1 to say "no parallelism".}
-
-\item{floss}{Loss function to compute the error on testing dataset.}
-
-\item{V_range}{Values of V to be tested.}
-
-\item{...}{arguments passed to method_s function(s)}
-}
-\description{
-Run compareMulti on several values of the parameter V.
-}
diff --git a/man/compareTo.Rd b/man/compareTo.Rd
deleted file mode 100644
index d5c1ab4..0000000
--- a/man/compareTo.Rd
+++ /dev/null
@@ -1,35 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/compareTo.R
-\name{compareTo}
-\alias{compareTo}
-\title{compareTo}
-\usage{
-compareTo(
-  data,
-  target,
-  method_s,
-  rseed = -1,
-  floss = NULL,
-  verbose = TRUE,
-  ...
-)
-}
-\arguments{
-\item{data}{Data matrix or data.frame}
-
-\item{target}{Target vector (generally)}
-
-\item{method_s}{Either a single function, or a list
-(examples: agghoo_run, standardCV_run)}
-
-\item{rseed}{Seed of the random generator (-1 means "random seed")}
-
-\item{floss}{Loss function to compute the error on testing dataset.}
-
-\item{verbose}{TRUE to request methods to be verbose.}
-
-\item{...}{arguments passed to method_s function(s)}
-}
-\description{
-Compare a list of learning methods (or run only one), on data/target.
-}
diff --git a/man/standardCV_core.Rd b/man/standardCV_core.Rd
deleted file mode 100644
index 42ad88c..0000000
--- a/man/standardCV_core.Rd
+++ /dev/null
@@ -1,12 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/compareTo.R
-\name{standardCV_core}
-\alias{standardCV_core}
-\title{standardCV_core}
-\usage{
-standardCV_core(data, target, task, gmodel, params, loss, CV)
-}
-\description{
-Cross-validation method, added here as an example.
-Parameters are described in ?agghoo and ?AgghooCV
-}
diff --git a/man/standardCV_run.Rd b/man/standardCV_run.Rd
deleted file mode 100644
index 0937764..0000000
--- a/man/standardCV_run.Rd
+++ /dev/null
@@ -1,21 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/compareTo.R
-\name{standardCV_run}
-\alias{standardCV_run}
-\title{standardCV_run}
-\usage{
-standardCV_run(
-  dataTrain,
-  dataTest,
-  targetTrain,
-  targetTest,
-  floss,
-  verbose,
-  ...
-)
-}
-\description{
-Run and eval the standard cross-validation procedure.
-Parameters are rather explicit except "floss", which corresponds to the
-"final" loss function, applied to compute the error on testing dataset.
-}
-- 
2.44.0