aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGertjan van den Burg <gertjanvandenburg@gmail.com>2018-03-28 13:42:24 +0100
committerGertjan van den Burg <gertjanvandenburg@gmail.com>2018-03-28 13:42:24 +0100
commitae194ce592ece4e66b6ca7f3e1318ef7b9376dc3 (patch)
treeea10c1d9849bc1010680cce19654366018a26fff
parentAdd line stating refit is starting (diff)
downloadrgensvm-ae194ce592ece4e66b6ca7f3e1318ef7b9376dc3.tar.gz
rgensvm-ae194ce592ece4e66b6ca7f3e1318ef7b9376dc3.zip
Properly handle factors for string parameters in gridsearch
-rw-r--r--R/gensvm.grid.R6
-rw-r--r--R/print.gensvm.grid.R7
2 files changed, 10 insertions, 3 deletions
diff --git a/R/gensvm.grid.R b/R/gensvm.grid.R
index 92478c2..3dad021 100644
--- a/R/gensvm.grid.R
+++ b/R/gensvm.grid.R
@@ -463,7 +463,11 @@ gensvm.cv.results <- function(results, param.grid, cv.idx, y.true,
}
for (parname in names(param.grid)) {
- df[[sprintf("param.%s", parname)]][pidx] <- param[[parname]]
+ header <- sprintf("param.%s", parname)
+ val <- param[[parname]]
+ if (is.factor(val))
+ val <- levels(val)[val]
+ df[[header]][pidx] <- val
}
j <- 1
diff --git a/R/print.gensvm.grid.R b/R/print.gensvm.grid.R
index 558dbd8..5e4c5da 100644
--- a/R/print.gensvm.grid.R
+++ b/R/print.gensvm.grid.R
@@ -58,8 +58,11 @@ print.gensvm.grid <- function(grid, ...)
best <- grid$cv.results[grid$best.index, ]
cat("\tBest mean test score:", best$mean.test.score, "\n")
cat("\tBest mean fit time:", best$mean.fit.time, "\n")
- for (name in colnames(grid$best.params))
- cat("\tBest parameter", name, "=", grid$best.params[[name]], "\n")
+ for (name in colnames(grid$best.params)) {
+ val <- grid$best.params[[name]]
+ val <- if(is.factor(val)) levels(val)[val] else val
+ cat("\tBest parameter", name, "=", val, "\n")
+ }
}
invisible(grid)