View source: R/gensvm.maxabs.scale.R
| gensvm.maxabs.scale | R Documentation |
Scaling a dataset can greatly decrease the computation time of GenSVM. This function scales the data by dividing each column of a matrix by the maximum absolute value of that column. This preserves sparsity in the data while mapping each column to the interval [-1, 1].
Optionally a test dataset can be provided as well. In this case, the scaling
will be computed on the first argument (x) and applied to the test
dataset. Note that the return value is a list when this argument is
supplied.
gensvm.maxabs.scale(x, x.test = NULL)
x |
a matrix to scale |
x.test |
(optional) a test matrix to scale as well. |
if x.test=NULL a scaled matrix where the maximum value of the
columns is 1 and the minimum value of the columns isn't below -1. If x.test
is supplied, a list with elements x and x.test representing
the scaled datasets.
Gerrit J.J. van den Burg, Patrick J.F. Groenen
Maintainer: Gerrit J.J. van den Burg <gertjanvandenburg@gmail.com>
Van den Burg, G.J.J. and Groenen, P.J.F. (2016). GenSVM: A Generalized Multiclass Support Vector Machine, Journal of Machine Learning Research, 17(225):1–42. URL https://jmlr.org/papers/v17/14-526.html.
gensvm, gensvm.grid,
gensvm.train.test.split, gensvm-package
x <- iris[, -5] # check the min and max of the columns apply(x, 2, min) apply(x, 2, max) # scale the data x.scale <- gensvm.maxabs.scale(x) # check again (max should be 1.0, min shouldn't be below -1) apply(x.scale, 2, min) apply(x.scale, 2, max) # with a train and test dataset split <- gensvm.train.test.split(x) x.train <- split$x.train x.test <- split$x.test scaled <- gensvm.maxabs.scale(x.train, x.test) x.train.scl <- scaled$x x.test.scl <- scaled$x.test
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.