From ae194ce592ece4e66b6ca7f3e1318ef7b9376dc3 Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Wed, 28 Mar 2018 13:42:24 +0100 Subject: Properly handle factors for string parameters in gridsearch --- R/gensvm.grid.R | 6 +++++- R/print.gensvm.grid.R | 7 +++++-- 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) -- cgit v1.2.3