aboutsummaryrefslogtreecommitdiff
path: root/R/print.gensvm.R
diff options
context:
space:
mode:
Diffstat (limited to 'R/print.gensvm.R')
-rw-r--r--R/print.gensvm.R74
1 files changed, 45 insertions, 29 deletions
diff --git a/R/print.gensvm.R b/R/print.gensvm.R
index 06a3649..119b264 100644
--- a/R/print.gensvm.R
+++ b/R/print.gensvm.R
@@ -2,13 +2,14 @@
#'
#' @description Prints a short description of the fitted GenSVM model
#'
-#' @param object A \code{gensvm} object to print
+#' @param fit A \code{gensvm} object to print
#' @param \dots further arguments are ignored
#'
-#' @return returns the object passed as input
+#' @return returns the object passed as input. This can be useful for chaining
+#' operations on a fit object.
#'
#' @author
-#' Gerrit J.J. van den Burg, Patrick J.F. Groenen
+#' Gerrit J.J. van den Burg, Patrick J.F. Groenen \cr
#' Maintainer: Gerrit J.J. van den Burg <gertjanvandenburg@gmail.com>
#'
#' @references
@@ -20,37 +21,52 @@
#' @export
#'
#' @examples
+#' x <- iris[, -5]
+#' y <- iris[, 5]
#'
+#' # fit and print the model
+#' fit <- gensvm(x, y)
+#' print(fit)
#'
-print.gensvm <- function(object, ...)
+#' # (advanced) use the fact that print returns the fitted model
+#' fit <- gensvm(x, y)
+#' predict(print(fit), x)
+#'
+print.gensvm <- function(fit, ...)
{
- cat("\nCall:\n")
- dput(object$call)
- cat("\nData:\n")
- cat("\tn.objects:", object$n.objects, "\n")
- cat("\tn.features:", object$n.features, "\n")
- cat("\tn.classes:", object$n.classes, "\n")
- cat("\tclasses:", object$classes, "\n")
+ cat("Data:\n")
+ cat("\tn.objects:", fit$n.objects, "\n")
+ cat("\tn.features:", fit$n.features, "\n")
+ cat("\tn.classes:", fit$n.classes, "\n")
+ if (is.factor(fit$classes))
+ cat("\tclasses:", levels(fit$classes), "\n")
+ else
+ cat("\tclasses:", fit$classes, "\n")
cat("Parameters:\n")
- cat("\tp:", object$p, "\n")
- cat("\tlambda:", object$lambda, "\n")
- cat("\tkappa:", object$kappa, "\n")
- cat("\tepsilon:", object$epsilon, "\n")
- cat("\tweights:", object$weights, "\n")
- cat("\tmax.iter:", object$max.iter, "\n")
- cat("\trandom.seed:", object$random.seed, "\n")
- cat("\tkernel:", object$kernel, "\n")
- if (object$kernel %in% c("poly", "rbf", "sigmoid")) {
- cat("\tkernel.eigen.cutoff:", object$kernel.eigen.cutoff, "\n")
- cat("\tgamma:", object$gamma, "\n")
+ cat("\tp:", fit$p, "\n")
+ cat("\tlambda:", fit$lambda, "\n")
+ cat("\tkappa:", fit$kappa, "\n")
+ cat("\tepsilon:", fit$epsilon, "\n")
+ cat("\tweights:", fit$weights, "\n")
+ cat("\tmax.iter:", fit$max.iter, "\n")
+ cat("\trandom.seed:", fit$random.seed, "\n")
+ if (is.factor(fit$kernel)) {
+ cat("\tkernel:", levels(fit$kernel)[as.numeric(fit$kernel)], "\n")
+ } else {
+ cat("\tkernel:", fit$kernel, "\n")
+ }
+ if (fit$kernel %in% c("poly", "rbf", "sigmoid")) {
+ cat("\tkernel.eigen.cutoff:", fit$kernel.eigen.cutoff, "\n")
+ cat("\tgamma:", fit$gamma, "\n")
}
- if (object$kernel %in% c("poly", "sigmoid"))
- cat("\tcoef:", object$coef, "\n")
- if (object$kernel == 'poly')
- cat("\tdegree:", object$degree, "\n")
+ if (fit$kernel %in% c("poly", "sigmoid"))
+ cat("\tcoef:", fit$coef, "\n")
+ if (fit$kernel == 'poly')
+ cat("\tdegree:", fit$degree, "\n")
cat("Results:\n")
- cat("\tn.iter:", object$n.iter, "\n")
- cat("\tn.support:", object$n.support, "\n")
+ cat("\ttime:", fit$training.time, "\n")
+ cat("\tn.iter:", fit$n.iter, "\n")
+ cat("\tn.support:", fit$n.support, "\n")
- invisible(object)
+ invisible(fit)
}